session
-
Hi!
Irgendwie will bei mir die Übergabe der Variablen in einer Session nicht funktionieren...
In einem Testscript hab ich folgenden \1://1.Datei <?PHP if(session_start())echo "Session wurde erstellt!<br>"; $_SESSION['id'] = 'hallo'; echo '<br><a href="next.php">weiter---></a>'; ?> //2.Datei <? session_start(); echo $_GET['id']; echo $id; ?>
So, das funktioniert auch ohne Probs, aber ich hab ein Login-Script geschrieben und das sieht dann so aus:
//Login <?php session_start(); $db = mysql_connect(); $sql="SELECT passwort, name, stat FROM user WHERE id='$id';"; $res=mysql_query($sql, $db); if($user = mysql_fetch_row($res)) { mysql_query($add, $db); $_SESSION['id']; echo 'Sie sind eingeloggt!<br><br>'; echo '<a href="forum2.php">Zum Forum</a>'; } //Im Forum <?php session_start(); echo $_GET['id']; $db = mysql_connect(); $sql="SELECT name FROM user WHERE id='$id'"; $res=mysql_query($sql, $db); $user = mysql_fetch_row($res); print ("Sie sind als $user[0] eingeloggt!"); ?>
Und das funktioniert nicht... ist in dem Script ein fehler?
-
$id wurde nicht initialisiert
btw: woher nimmst du die ID? di wird doch wohl nicht per GET/POST übergeben, oder?
$_SESSION['id'];
das macht garnix. es liefert dir den Wert von id, welchen du aber nicht verwendest...
-
Doch, die wird per: <form method="post" action="login.php"> übergeben. Wie würdst du das denn machen?
-
Was machst du, wenn jemand die ID vom Admin übergibt?
-
$_SESSION['id'] = "54";
Hier wird eine Sessionvariable angelegt und ein Wert reingeschrieben.
Nach
session_start()steht in
$_SESSION['id']
"54" drin.
Wenn man Register_Globals auf OFF hat werden die Sessionvariablen nicht automatisch angelegt. Somit ist auch ID nicht vorhanden.
Da es Standardm. OFF ist verwende immer $_SESSION['id']
-
Ahso! Also nachdem ich die ID zum zugehörigen Member aus der DB geholt hab muss ich die mit $_SESSION['id'] = $login->id anlegen?
Edit---> Ok, das funktioniert jetzt! thx