Session Login
Session erzeugen
Hier wird eine PHP Session erzeugt. Das PHP Session Script muss am Dateianfang stehen, vor allem Anderen, noch bevor ein Header gesendet wurde, also bevor der Browser irgend etwas ausgeben konnte, und sei es auch nur ein Leerschlag.
Login fehlgeschlagenZutritt verweigert, die Sitzung findet ohne Sie statt!
Zurück
session_start(), $_SESSION[]
<?php
$_POST ["Kennwort"];
if ($Kennwort == "Wolkenbruch"){
$SessionName=htmlspecialchars($_POST["SessionName"], ENT_QUOTES);
session_start(); // Session wird eröffnet
$_SESSION['SessionName']=$SessionName; // erst damit wird der Datensatz einer Session angelegt
$txt_login = "<strong>Die Session wurde gestartet</strong>";
$txt_id= "Die Session-ID ist: ",session_id(),"<br />\n"; // wurde automatisch erzeugt
$txt_name= "Der Session-NAME ist: $SessionName<br /><br />\n"; // vom Formular
$txt_link_weiter= "<a href=\"session_weiter.php\">Weiter</a>";
} else {
$txt_login = "<strong>Login fehlgeschlagen</strong>";
$txt_verweigert= "Zutritt verweigert, die Sitzung findet ohne Sie statt! <br /><br />\n";
$txt_link_back= "<a href=\"session_form.php\">Zurück</a>";
}
?>
Erkläuterungen zur PHP Session
- Nach dem das Kennwort geholt, überprüft und für TRUE befunden wurde, wird auch noch der SessionName geholt.
- Durch die Funktion 'session_start();' wird die Session jetzt angelegt (wie ein Cookie, noch vor jeglicher Ausgabe im Browser, weshalb die späteren Ausgaben vorerst als Variablen angelegt werden). Es wird dabei vom System eine zufällige Session-ID vergeben, die ich später anzeigen lasse (was man normalerweise sicher nicht täte).
- Dann wird durch $_SESSION['SessionName'] die Variable 'SessionName' gespeichert und der Session Datensatz angelegt. Diese Variable steht, solange die Session dauert, ab jetzt auch in anderen Scripts auf anderen Seiten zur Verfügung.
- Dann lege ich noch einen Link an, um die Seite zur Demonstration obiger Behauptung zu wechseln.
Zu guter Letzt noch ein Echo und ein Link für den Fall von falscher Kennworteingabe.
Veraltet: session_register(), session_is_registered() und session_unregister() waren Session-Funktionen vor PHP 4.1, veraltet ab PHP 5 und nicht mehr gültig ab PHP 6