hallo,
ich schreib es mal hier rein weil ich sicher Anfänger fehler mache.
Aber ich habe mal gelesen und selber bemerkt das man wenn man anständig seine Frage stellt und das Problem anständig erklärt das einem auch gern geholfen wird. Vorallem brauch man sich nicht zu Entschuldigen das man nen Kacknoob ist.. so wie ich mich gerade fühle. Naja egal ich werde mal versuchen das Problem zu schildern.
Habe jetzt 3 Tage dran gesessen und bin nicht weitergekommen.. jetzt frage ich euch.
ich habe testdatein erstellt um zu sehen ob die SESSION-Funktionen gehen.
Das ist di indextest.php
Zitat:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unbenanntes Dokument</title>
</head>
<body>
<form method="GET" action="main1.php">
<p><input type="text" name="name" size="20"></p>
<p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>
</body>
</html>
|
main1.php
Zitat:
<?php
session_save_path("./save");
session_start();
session_register("name");
echo $name;
?>
<p><a href="main2.php">Ausgabe</a></p>
|
main2.php
Zitat:
<?php
session_start();
?>
<p>PAGE2:------>Im Formular wurde <b><?php echo $name ?></b> eingegeben!!</p>
<p><a href="main3.php">Logout</a></p>
|
main3.php
Zitat:
<?php
session_start();
session_unregister("name");
?>
<p>Sie sind jetzt ausgeloggt!!</p>
|
das geht auch soweit alles.. was mir nur aufgefallen ist das beim ersten mal nichts geht und wenn ich das Formular ein zweites mal aufrufe dan geht es..
ok das war´s mir wert es mal mit mein Projekt zu versuchen und zu übertragen.
mein Aufabau ist wie folgt:
index.php
(dort include ich die anderen php datein)
setze also alles zusammen..
header, linkeleiste,main, rechteleiste und den fuss..
in der header stehen links wie news, reviews, login usw. hier übergeben ich immer eine kategorie welche in der main ausgewertet wird...
default ist sie auf news gesetzt...
klicke ich im header auf login wird die kat. auf login gesetzt und in der main.php erscheint das loginformular...
soweit sollte alles noch klar sein..
jetzt melde ich mich an mit dem code...
PHP-Code:
<?php
if($LOGINID=="1")
{
echo "<table width=630 height=117 border=0 cellpadding=0 cellspacing=0>";
echo "<tr></tr><tr><td width=170> </td><td class=u3>";
echo "<form method=post target=_self>";
echo "<form action=\index.php\ method=\post\>";
echo " <input type=text name=USER />";
echo " <input type=password name=PASS />";
echo " <input type=hidden name=LOGINID value=0>";
echo " <input type=submit name=SEND value=Send />";
echo "</form>";
echo "</td></tr>";
echo "</table>";
}
else if($_REQUEST["USER"] != null && $_REQUEST["PASS"] != null)
{
echo strip_tags(SID);
$resultlogin = mysql_query("SELECT user,id FROM user WHERE user='$USER' AND pw='$PASS'");
$LOGINIDENT = mysql_fetch_array($resultlogin);
if($LOGINIDENT != null)
{
$_SESSION['USER'] = $LOGINIDENT["user"];
echo "Willkommen " . $_SESSION['USER'] . "<br>";
echo "Login erfolgreich";
}
else
{
echo "Login fehlgeschlagen";
}
}
?>
als test lasse ich mit
Zitat:
echo "Willkommen " . $_SESSION['USER'] . "<br>";
|
mit den user ausgeben... das geht auch noch alles...
Klicke ich jetzt aber auf News im header, bekommt die Kategorie den wert news, er baut die Seite neu auf und dann sehe ich nichts mehr von user.
in der news gebe ich mir als test auch den user mit
Zitat:
echo "Wenn SESSION übertragen dann muß der User folgen. <br>";
echo "Hallo: " . $_SESSION['USER'] . ",";
|
und das ist genau das Problem ich denke das er die Index.php komplett neu läd und somit die Session nicht übergeben wird.
hier nochmal ein paar infos am rande...
ein link in der header.php
Zitat:
<td width="40">
<a href="inc/main.php?CAT=news"><img src="gfx/buttons/news.png" width="40" height="15" align="right" border="0" alt="gfx/default.gif" /></a>
</td>
|
teil von der main.php
Zitat:
if($_SESSION["USER"] != null)
{
echo "<table width=630 height=117 border=0 cellpadding=0 cellspacing=0>";
echo "<tr></tr><tr><td width=170> </td><td class=u3>";
echo "ja es geht";
echo "Hallo du bist der " . $_SESSION['USER'] . ",";
echo "sid".$SID;
echo "</td></tr>";
echo "</table>";
}
else {
switch ($CAT) {
case news:
echo "<table width=630 height=117 border=0 cellpadding=0 cellspacing=0>";
echo "<tr></tr><tr><td width=170> </td><td class=u3>";
echo "Wenn SESSION übertragen dann muß der User folgen. <br>";
echo "Hallo: " . $_SESSION['USER'] . ",";
echo "</td></tr>";
echo "</table>";
include "inc/mainnews.php";
break;
case impressum:
include "inc/mainimp.php";
break;
}
}
|
in der index.php habe ich nur den aufruf
danke .. ich hoffe den langen text ließt wer und kann mir helfen.. sry schon mal für RS ;)