suche Tuts zu PHP und SESSION

HammerHe@rt

Erfahrenes Mitglied
möchte in meiner neuen site (so eine art store für items in d2)
session benutzen
hab gehört damit kann man user identifizieren usw.

wo kann ich infos dazu bekommen bzw. beispielcode usw

thx
 
Hi ein paar worte ueber Session

Die Sessionfunktion bietet die Möglichkeit Variablenwerte zeitlich begrenzt für die dauer einer Sitzung auf dem Webserver zwischenzuspeichern ähnlich den Cookies auf einer Workstation.
Eine Session ist hierbei immer die Dauer einer Sitzung vom ersten aufruf der Seite, mit session_start() eine Session_id gespeichert in der Konstanten SID, beim PHP Interpreter anfordert. Nun liegt es an dir die Varianlen die beim Aufruf anderer Seiten gespeichert sein müssen, mit session_register() zu registrieren. Der Interpreter braucht pro Aufruf mit session_register() nur einmal und überwacht die Veränderrung dieser Variable im Programm und schreibt diese Änderrungen auch automatisch in eine Sessiondatei mit dem Namen sess_SID.
Der Ablageort (Pfad) und andere Einstellungen stehen in der PHP.ini datei.

Wird eine neue Seite aufgerufen genügt der einmalige Aufruf von session_start() und die gespeicherte Variablen stehen dem Programm mit sofort mit dem letzten Wert des vorherlaufenden Scriptes zur verfügung. Wurde eine gleichnamige Variable vor dem aufruf mit Session_start() schon verwendet wird der inhalt überschrieben. Deshalb stehen die Aufrufe der Sessionfunktionen zumeist gleich am anfang des Scriptes.
Wichtig ist wieder ähnlich den Cookies das vor aufruf d er Sessionfunktion keine ausgabe an den browser getätigt wird.



session_destroy() - Diese Funktion beendet eine Session und löscht all
session_encode() - Diese Funktion liefert eine Liste der mit session_
session_get_cookie_params() - Mit dieser Funktion liest man die Einstellungen de
session_id() - Erstellt den Wert aktueller Session. Derselbe Wert
session_is_registered() - Diese Funktion prüft, ob eine Variable deklariert
session_module_name() - Gibt eine Einstellung von SESSIONS, in der steht,
session_name() - Die Funktion session_name() enthält den Namen der
session_register() - Diese Funktion schreibt und regestriert eine neue
session_save_path() - Mit diesem Befehl ermittelt man den Pfad, in dem S
session_set_cookie_params() - Setzt Parameter für ein Cookie. $ordner und $host
session_start() - Mit diesem Befehl startet man eine neue Session od
session_unregister() - Diese Funktion entfernt eine Variable mit dem Name
session_unset() - Löscht den Inhalt aller Variablen, die in der gült



session_start()

Beschreibung:
Mit diesem Befehl startet man eine neue Session oder ?bernimmt bereits vorhandene. session_start() gibt immer True zur?ck beim Erfolg. Die Ausgabe der erzeugten UIN erfolgt ?ber die Funktion session_id().

Beispiel:
<?php
echo session_start();
?>
Ausgabe: 1




session_register("name")

Beschreibung:
Diese Funktion schreibt und regestriert eine neue Variable. Dabei wird der Funktion nur der Variablenname ?vergeben. Die Inhaltzuweisung erfolg vor der Funktion. Beim erfolg wird true zur?ckgegeben.

Der Zugriff auf die Inhalte der gespeicherten Daten erfolgt ?ber die Funktion session_encode()

Beispiel:
<?php
session_start();
$name = "PHP Forum";
echo (session_register("name")) ? "Alles Roger" : "Fehler";
?>
Ausgabe: Alles Roger



session_name()

Beschreibung:
Die Funktion session_name() enth?lt den Namen der globalen Variable, die den Wert einer Session hat.

Beispiel:
<?php
session_start();
echo session_name();
?>
Ausgabe: PHPSESSID




session_id(["eigenesession"])

Beschreibung:
Erstellt den Wert aktueller Session. Derselbe Wert steht in einer globalen Variable, die von dem Server festgelegt ist. Den Namen dieser Variable ermittelt man mit der Funktion session_name(). Standardm??ig hei?t die Variable PHPSESSID. session_id() wird nur ein mal benutzt, um eine Session zu initialisieren. AUf weiteren Seiten verwendet man session_start(), um den User seiner Session zuzuweisen.

Beispiel:
<?php
session_start();
echo session_id()." | ";
echo $PHPSESSID;
?>

Ausgabe: 13a99f8c9c64a0c | 13a99f8c9c64a0c



session_unregister("name")

Beschreibung:
Diese Funktion entfernt eine Variable mit dem Namen "name" aus der Liste einer Session.

Beispiel:
<?php
session_start();
$name = "PHP Forum";
session_register("name");
echo (session_unregister("!gleb")) ? "Entfernt" : "Fehler";
?>
Ausgabe: Entfernt


session_save_path()

Beschreibung:
Mit diesem Befehl ermittelt man den Pfad, in dem Sessions gespeichert werden.

Beispiel:
<?php
session_start();
echo session_save_path();
?>

Ausgabe: /winnt/temp

Naja ist hoffentlich ein anfang ... den rest findest du wie alles andere auch auf http://www.php.net



greetz holyfly
 
jooo fett

danke erstmal
hat mich sehr geholfen

nur versteh ich immer noch nicht inwieweit sessions nützlich sein sollen bei useridentifiezierung (login/logoff)
bzw. wie das gehen soll *g*
ich schau mich mal auf php.net um vielleicht find ich da ja was
 
naja die identifizierung machste besser mit cookies und manuellen login. Jedoch nach der identifizierung kannste anhand sessions dem user als eingelogt identfizieren.
 
hmmm

mit cookies wollt ich halt grade nicht arbeiten
hmm ich schreib ma was wie ich denke....kannst ja ma sagen ob das so funzen würde *G*

also ich mach ne session für jeden nutzer
der kann sich einloggen (per form)
daraufhin ruft sich die site selber (wobei überprüft wird ob das formular mit den logindaten gesendet wurde)
so es wird also versucht sich anzumelden...
dann überprüft er die eingegebenen daten mit denen in der user-db

wenn die übereinstimmen dann setze ich einfach eine sessionvariable
zum bsp: $auth=true

d.h. also die authentifizierung war ok

und somit kann ich mich auf jeder site oder bei jedem bereich der geschützt sein soll auf diese variable berufen ????
d.h. somit überprüfen ob sich jemand erfolgreich eingeloggt hat ?

so ok? alles verstanden ? *fg *
 
klar kannste das so machen :)

Ueberpruefste einfach Name und Passwort und setzte dein Var auth auf true die du dann in der session speicherst.
Ich denke mal es geht dir um sicherheitsaspekte wenn du nicht mit cookies arbeiten willst? denn somit k;nntest du dem user die logineingabe abnehmen und somit schneller zugriff zu erstatten.
 
Zurück