SESSION verschwindet

lifehunter

Erfahrenes Mitglied
hallo,
ich habe folgendes Problem. Ich habe den funktionierenden Login von meiner Alten Seite genommen und versucht diesen in meine neue Seite einzubinden.
Ich habe den Teil wo man sein Passwort und Nick eingeben muss
Code:
<form class="login" action='login.php' method='get'>
<input style="margin-top: 5px" onClick='eraseform();' type='text' name='nick' maxlength='20' size='14' value='Username'><br>
<input style="margin-top: 5px" onClick='eraseform();' type='password' name='psw' maxlength='20' size='14' value='Passwort'><br>
<input style="margin-top: 5px" type='submit' value='login'></form>

Die Datei login.php sieht so aus:
PHP:
<?php // Session starten
session_start ();
$sql = "SELECT ID, nick FROM userdaten WHERE ".
"(nick like '".$_REQUEST["nick"]."') AND (psw = '".md5 ($_REQUEST["psw"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["ID"] = $data["ID"];
$_SESSION["Nick"] = $data["nick"];
header ("Location: ../index.php");}
else
{header ("Location: ../index.php?fehler=1");}?>
Wenn ich nun wieder auf die Startseite komme (index.php) sollte man eigentlich mit dem Nick begrüßt werden und der Teil zum einloggen sollte weg sein. Aber weder nmoch ist der Fall.
Ich habe auf der Seite Login geguckt und gesehen das die Var. $_SESSION["ID"] und $_SESSION["Nick"] verfügbar sind.

Nach längeren suchen habe ich gesehen das ich auf die Startseite an den anfang noch ein
PHP:
session_start ();
packen muss. aber es klappt immer ncoh nciht. Hat jemand ne Idee warum nicht?
 
Es wird wahrscheinlich nicht daran liegen, da ja sonst eine Fehlermeldung kommen müsste, aber was passiert, wenn du statt $_REQUEST mal $_GET nimmst?
 
also auf der login.php seite sind die sessions variablen noch verfügbar, aber nach der weiterleitung nciht mehr. das ist mein problem
 
Mach doch das Eingabefeld von der Existenz der $_SESSION-Variablen abhängig, also etwa
PHP:
if(!(isset($_SESSION['nick']) && isset($_SESSION['pwd']))) {

// Loginteil

}
else {
// Begrüssungsteil
}

Bei $_Sessions in der Form müssen Cookies aktiviert sein, ansonsten musst du zusätzlich die session_id an die links anhängen
 
Zuletzt bearbeitet:
lifehunter hat gesagt.:
hallo,
Nach längeren suchen habe ich gesehen das ich auf die Startseite an den anfang noch ein
PHP:
session_start ();
packen muss. aber es klappt immer ncoh nciht. Hat jemand ne Idee warum nicht?

Du hast das Session_start in jedem php script drin ?
 
hab das in der index seite eingearbeitet damit is es überall verfügbar.
also ich habe es jetzt duch zufall hin bekommen. was der fehler war hab ich nmoch nciht geguckt aber ich werd jetzt ma gucken was ich da genau falsch gemacht habe
trotzdem danke!
 
Zurück