Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Session-Management via PHP
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 



 

Session-Funktionen in PHP




Natürlich stellt Ihnen PHP eine Reihe von Funktionen zur Verfügung, welche speziell auf das Session-Management abgestimmt sind. In folgenden Tabelle haben wir die wichtigsten für Sie zusammengefasst:


Funktione Bedeutung
session_start() Initialisiert bzw. startet eine Session.
session_cache_expire() Liefert die aktuelle Cache-Verfallszeit.
session_cache_limiter() Liefert die aktuelle Cacheverwaltung oder setzt die aktuelle Cacheverwaltung.
session_decode() Dekodiert die Daten einer Session aus einer Zeichenkette.
session_destroy() Beendet eine Session und entfernt sämtliche Sessiondaten.
session_encode() Kodiert die Daten der aktuellen Session als Zeichenkette.
session_get_cookie_params() Liefert die Session-Cookie Parameter.
session_id() Liefert die aktuelle Session-ID oder öffnet die Session mit einer übergebenen ID.
session_is_registered() Überprüft, ob eine globale Variable in einer Session registriert ist.
session_module_name() Liefert das Session-Modul oder setzt das aktuelle Session-Modul.
session_name() Liefert den Namen der aktuellen Session oder startet eine neue Session unter dem angegeben Namen.
session_regenerate_id() Ersetzt die aktuelle Session-ID durch eine neu erzeugte.
session_register() Registriert eine oder mehrere globale Variablen in der aktuellen Session.
session_save_path() Liefert den aktuellen Speicherpfad der Session oder setzt den aktuellen Speicherpfad der Session.
session_set_cookie_params() Setzt die Session-Cookie Parameter.
session_set_save_handler() Setzt benutzerdefinierte Session-Speicherfunktionen.
session_unregister() Hebt die Registrierung einer globalen Variablen in der aktuellen Session auf und löscht diese dadurch.
session_unset() Löscht sämtliche Session-Variablen.
session_write_close Speichert die Session-Daten und beendet die Session.



Einsatz von session_start()

Mit Hilfe der Funktion session_start() sind Sie in der Lage eine Session zu erzeugen oder Sie können die aktuelle Session wieder aufnehmen, die auf der Session-ID basiert, welche mit einer Anfrage, z.B. durch GET, POST oder ein Cookie, übermittelt wurde.


Beispiel - start.php



<?php

// Session Starten
session_start();

echo 
'Willkommen auf Seite 1';

// Session Variablen setzen
$_SESSION['vorname'] = 'Caroline';
$_SESSION['alter'] = 25;
$_SESSION['zeit'] = time();

echo 
'<br><a href="seite2.php">Weiter</a><br>';

?>




Beispiel - seite2.php



<?php

session_start
();

echo 
'Willkommen auf Seite 2<br>';

echo 
$_SESSION['vorname']."<br>";
echo 
$_SESSION['alter']."<br>";   
echo 
date('d.m.Y H:i:s'$_SESSION['zeit'])."<br>";

echo 
'<br><a href="start.php">Zum Anfang</a>';
?>




Ausgabe



Willkommen auf Seite 2
Caroline
25
27.01.2004 22:06:04



Sie können die Session-ID auch explizit mit Hilfe der Konstanten SID übergeben.


echo '<br><a href="seite2.php?' . SID . '">Seite 2</a>';



Nach dem Aufruf von start.php enthält automatisch auch die zweite Seite, seite2.php, die Session-Daten.

Hinweis: Bei Verwendung Cookie-basierter Sessions müssen Sie session_start() aufrufen, bevor irgend etwas an den Browser geschickt wird.


Achtung: Ab PHP 4.3.3 resultiert der Aufruf von session_start(), nachdem die Session schon gestartet wurde, in einem Fehler der Stufe E_NOTICE. Der zweite Session-Start wird in diesem Fall einfach ignoriert.



Einsatz von session_destroy()

Mit Hilfe der Funktion session_destroy() sind Sie in der Lage sämtliche auf die aktuelle Session bezogenen Daten zu löschen. Hierbei sollten Sie auf die beiden folgenden Methoden zurückgreifen:


Beispiel - Löschen einer Session



<?php

// Initialisierung der Session.
session_start();
// Löschen aller Session-Variablen.
session_unset();
// Zum Schluß, löschen der Session.
session_destroy();

?>




Löschen einer Session mit $_SESSION



<?php

// Initialisierung der Session.
session_start();
// Löschen aller Session-Variablen.
$_SESSION = array();
// Zum Schluß, löschen der Session.
session_destroy();

?>



Sollten Sie mit einer benannten Session arbeiten:


// Session Starten
session_name("Sitzung");
session_start();



Dürfen Sie beim Löschvorgang nicht vergessen die Funktion session_name() mit anzugeben.


Beispiel



<?php

// Initialisierung der Session.
session_name("Sitzung");
session_start();
// Löschen aller Session-Variablen.
session_unset();
// Zum Schluß, löschen der Session.
session_destroy();

?>




Session und Arrays

Das folgende Beispiel so Ihnen zeigen, dass der Mechanismus auch mit Arrays einwandfrei funktioniert.



Beispiel - startprodukte.php




<?php

// Session starten
session_start();

// Array erzeugen
$produkte = array("Brillen""Autos""Computer");

// Array mit der Session verknüpfen
$_SESSION["produkte"] = $produkte;

// oder mit session_register("produkte");

// Weiterleitung
echo "<a href=ausgabe.php>Ausgabe</a>";

?>




Beispiel - ausgabe.php



<?php

session_start
();

$s_name session_name();

echo 
"<b>Session-Name:</b> $s_name<br>";

foreach (
$_SESSION["produkte"] as $element) {
        echo 
"$element<br>";
}

?>




Hinweis: Sollten der Einsatz von $_SESSION nicht möglich sein können Sie auch session_register() einsetzen. Dies wird jedoch seit PHP 4.1.0 nicht mehr empfohlen!



Einsatz von session_name()

In der Konfigurtaionsdatei php.ini wird der Name der Session in dem Parameter session.name festgelegt - standardmäßig auf PHPSESSID. Sollten Sie ohne Eingriff in die php.ini oder in die Webserverkonfiguration diesen Namen ändern wollen, steht die Funktion session_name() zu Verfügung. Diese Funktion muss vor dem (Re)initialisieren der Sessiondaten (session_start()) ausgeführt werden.


Beispiel



<?php
    
// Einen anderen Namen für die Session festlegen
    
session_name("meineSession");
    
session_start();
?>




 


Konfiguration des Session-Moduls
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de