Tom: session_start

Beitrag lesen

Hello Matthias,

Du übergibst die Variablen per Post und machst eine Datenbank abfrage. Existieren die übertragenen Werte in der entsprechenden Spalte der DB, dann wird eine session gestartet und in dieser wird die $eingeloggt = true gestetzt. Existieren die Werte nicht wird die Variable auf = false gesetzt und die session_destroy.

Wenn die Session sowieso zerstört wird, braucht man auch nicht mehr false reinzuschreiben...

Wenn die Variable true ist, dann noch session_register den Benutzernamen.

Wenn der Benutzer authentifiziert wurde, dann kann man mit

$_SESSION['username'] = $_POST['username'];

z.B. noch den Benutzernamen in die Session schreiben.
session_register() sollte man aber nicht mehr benutzen, wenn die PHP-Version >= 4.1.x ist.

Dann schreibst du eine if-Schleife, wenn $eingeloggt = true gehe weiter auf die eigentliche Seite, wenn false gehe zurück und wirf eine error message aus.

If-Schleifen gibt es nicht, aber if-Bedingungen und if-else- oder if-elseif-else-Verzweigungen. Aber das meintest Du bestimmt ;-)

Der Ordnung halber benötigt man dann noch eine Funktion, die in jedem Script gleich nach Session_Start() aufgerufen wird und den Bentuzer identifiziert. Die Rechte sollte man immer frisch aus der Datenbank holen, damit durchgeführte Änderungen bereits beim nächsten Request des Users effektiv werden.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen