Ich habe eine einfache Anmeldeseite erstellt, um auf eine Anwendung zuzugreifen. Die Anmeldung funktioniert manchmal gut, aber von Zeit zu Zeit habe ich Schwierigkeiten, mich beim System anzumelden, da die Sitzungsdaten auf der letzten Seite verloren gehen.PHP Session Variable wird zwischen den Seiten verloren.
Die Dateien, die ich habe, sind 1) login.php, mit Login-Name und Passwort-Feld.
2) loginprocess.php - Welche Verbindung zur Datenbank herstellen wird, um zu prüfen, ob dort Benutzername und Kennwort vorhanden sind, nach denen eine Sitzung erstellt wird.
3) listing.php - Welches ist die letzte Seite, wenn die Anmeldung erfolgreich ist.
Die Seite loginprocess.php erstellt eine Sitzungsvariable, wenn Benutzername und Kennwort in der Datenbank vorhanden sind. Es wird dann auf die letzte Seite umgeleitet.
$selectstring = "SELECT * FROM logintable WHERE username='".$loginname."' AND password='".$pass."'";
$result = mysql_query($selectstring);
//IF YES THEN GO TO MAIN
if(mysql_num_rows($result) > 0)
while($row = mysql_fetch_array($result))
{
//CREATE SESSION
session_start();
// Set session variables
$_SESSION["loginname"]= $loginname;
header("Location: listing.php");
exit;
}
else {
echo "ERROR";
header("Location: login.php?message=error");
exit;
}
Am oberen Ende der letzten Seite, listing.php, werde ich ein Skript, das, wenn Session-Variable leer ist umleitet.
session_start();
if (!isset($_SESSION['loginname']) && empty($_SESSION['loginname'])) {
header("Location: login.php");
}
Bin ich session_start() einfügen; zu spät auf loginprocess.php?
Warum _session_start(); _ mehrmals? – C2486
Bitte schreiben 'session_start();' am oberen Rand der Seite nicht in Ihrem while-Schleife – Saty
entfernen _echo "ERROR"; _ von anderen Teil – C2486