Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Programmierung mit PHP  Teil von  Session-Management via PHP
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* 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 100.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 der folgenden Tabelle habe ich die wichtigsten zusammengefasst:

FunktionBedeutung
session_start()Initialisiert bzw. startet eine Session.
session_cache_expire()Liefert die aktuelle Cacheverfallszeit.
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 angegebenen 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()

Mithilfe der Funktion session_start() sind Sie in der Lage, eine Session zu erzeugen oder die aktuelle Session wieder aufzunehmen, 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'] = 27;
$_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
27
28.10.2006 22:06:04

Sie können die Session-ID auch explizit mithilfe 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 irgendetwas 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()

Mithilfe 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 Schluss Löschen der Session.
session_destroy();

?>

Beispiel – Löschen einer Session mit $_SESSION
<?php

// Initialisierung der Session.
session_start();
// Löschen aller Session-Variablen.
$_SESSION = array();
// Zum Schluss 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 Schluss Löschen der Session.
session_destroy();

?>


Session und Arrays

Das folgende Beispiel soll 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: Sollte 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 Konfigurationsdatei 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();
?>



 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt