Christian Seiler: Session / Cookies

Beitrag lesen

Hallo Marko,

hab mir jetzt bisschen Sessions angeschaut bei Selfphp,

IMHO ist SELFPHP für "Anfänger" ungeeignet, benutze lieber das offizielle Handbuch. (http://www.php3.de/manual/de/)

nur steht da nicht:
-Ob beim session_register() die Variablen Seitenübergreifend/langzeitig gespeichert werden

*autsch* Ab PHP 4.1 kannst Du session_register vergessen, nimm' lieber $_SESSION (s.u.) Prinzipiell ist session_register, um Deine Frage zu beantworten, genau dazu gedacht.

-wie ich gespeicherte Variablen wieder auslese

Also: Du speicherst Daten in der Session, indem Du das superglobale Array $_SESSION verwendest. Du kannst also mit

$_SESSION['benutzername'] = 'hans';

den Benutzernamen in der Session speichern. Mit isset($_SESSION['benutzername']) prüfst Du nach, ob die Session-Variable benutzername existiert:

if (isset($_SESSION['benutzername'])) {
  // existiert
} else {
  // existiert nicht
}

Den Wert einer Session-Variable kannst Du ganz einfach auslesen:

echo $_SESSION['benutzername'];

(statt echo kannst Du natürlich alles mögliche mit anstellen)

Das alles gilt, wie gesagt, erst für PHP 4.1. Mit globalen Variablen und session_register/session_unregister/session_is_registered zu arbeiten (was in PHP 4.0 üblich war), sollte der Vergangenheit angehören, daher mach' es gleich "richtig"[tm], das ist sogar einfacher als das andere.

-auch auf "anderen" Seiten (denk mal, geschieht automatisch, belehr(t) mich wenns anders sein sollte).

Alle Seiten, bei denen am Anfang (d.h. _vor_ jeglicher Ausgabe des Scripts und _vor_ jeglicher Benutzung von $_SESSION) session_start() aufgerufen wird, stehen Session-Variablen zur Verfügung. Umgekehrt: sobald session_start() aufgerufen wurde, kannst Du die Session-Variablen verwenden.

Tut mir Leid, leider nicht, aber will eh nichts über Datenbank machen im Moment. Trotzdem Danke

Du brauchst auch keine Datenbank dazu, Du kannst auch den Benutzernamen fest einkodieren oder eine Textdatei nehmen.

Grüße,

Christian

--
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.