Problem mit Sessions

UnoDosTres

Erfahrenes Mitglied
Hallo zusammen,

habe ein komisches Problem mit Sessions. Irgendwo ist ein Fehler aber ich finde ihn nicht.

Ich will einen Admin-Login mit Session realisieren.

Nachdem man sich eingeloggt hat wird die Session gestartet:

PHP:
$password = "panda"; // Hier bitte das gewünschte Kennwort angeben
session_start();
session_register("SESSION_Passwort");
$_SESSION_Passwort=$password;

Inerhalb dieser Datei wird die Session auch richtig erkannt.
Hier befindet sich ein Formular. Dessen Daten dann in eine
Datenbank geschrieben werden. Als Ziel des Formular ist die
Datei admin_write.php angegeben.

In der admin_write.php starte ich die Session so:
PHP:
session_start();

Zur Sicherheit muss dann natürlich getestet werden ob die "Adminsession" aktiv ist:
Das mache ich so:
PHP:
$password = "panda"; // Hier bitte das gewünschte Kennwort angeben

# Prüfen ob 'Adminsession' vorhanden ist:
if($_SESSION_Passwort==$password)
{
# Daten in die DB speichern:
......
......
}
									
else # ungültige Adminsession:
{
									echo "<center><br><strong><font color=\"#000000\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">FEHLER:\n";
									echo "!-Session ist korrupt-! AP-Fehler 01<br>\n";
									echo "<br>\n";
									}

Das Problem ist das er mir immer den Bereich der "ungültigen Adminsession" angibt.
Wieso? Ich finde den Fehler nicht.
 
Du greifst falsch auf die Session zu.

ersetze das
PHP:
session_register("SESSION_Passwort");
$_SESSION_Passwort=$password;

durch
PHP:
$_SESSION['passwort'] = $password;

Abklärung dann durch
PHP:
if($_SESSION['passwort'] == $password)
Sei aber vorsichtig, du mischt gerade Englisch und Deutsch.
passwort, password, usw.
 
Zuletzt bearbeitet:
PHP:
if($_SESSION['passwort'] == $password;)

Klappt irgendwie nicht. Kann es sein das das Semikolon in deinem Beispiel falsch ist?
Aber klappt auch ohne Semikolon nicht.
 
UnoDosTres hat gesagt.:
PHP:
if($_SESSION['passwort'] == $password;)

Klappt irgendwie nicht. Kann es sein das das Semikolon in deinem Beispiel falsch ist?
Aber klappt auch ohne Semikolon nicht.
Das ist natürlich reingerutscht, Entschuldigung.
Korrekt ist:
PHP:
if($_SESSION['passwort'] == $password)
 
Zurück