kursy , szkolenia warszawa , e-book , audio book , poradniki , jak zarabiać , pieniądze , biznes , marketing e-commerce , e-biznes , zarabianie w sieci , servicetek group Bogdan Markowicz SG ,3 d e-learning , second life w edukacji , edukacja , 3d E-learning kursy i szkolenia Online |||S|G||| – Kurs PHP cz. 14 Sesje

Kurs PHP cz. 14 Sesje

Post image of Kurs PHP cz. 14 Sesje

14. Sesje

14.1. Wstęp do sesji

Dzięki sesjom możemy przechowywać pewne dane (takie jak identyfikator użytkownika czy jego login) podczas następujących po sobie wywołań strony. Działa to podobnie jak ciasteczka bez ustawionego czasu wygaśnięcia (expire) ? przy czym dostęp do danych znika przy wylogowaniu się (dzięki specjalnemu przyciskowi na stronie) lub zamknięciu wszystkich okien przeglądarki. Sesje od ciastek odróżnia również to, że wszystkie dane są przechowywane nie u klienta, ale na serwerze. Na komputerze gościa trzymany jest jedynie identyfikator sesji, który znajduje się w ciasteczku lub przekazywany jest przez adres strony metodą GET.

Sesje rozpoczynamy, uruchamiając na stronie funkcję session_start(). Sprawdza ona, czy nie istnieje już rozpoczęta sesja. Jeśli tak, to pobiera identyfikator sesji z URL lub z ciastka i odtwarza wszystkie zmienne przechowywane w sesji, a jeżeli nie, to tworzy nową sesję i nadaje unikatowy identyfikator. Dostęp do zmiennych sesyjnych odbywa się poprzez obecną w PHP w wersji od 4.0.6 tablicę superglobalną $_SESSION. Dla przykładu:

<?
session_start();
if (isset($_SESSION['licznik']))
$_SESSION['licznik']++;
else
$_SESSION['licznik']=1;
echo “Oglądasz tą stronę już “.$_SESSION['licznik'].” raz”;
?>

Jeśli nie potrzebujemy już danej zmiennej zapisanej w sesji, używamy funkcji unset(), a zostanie ona ?wymazana? z sesji. Dla przykładu:

<?
session_start();
unset($_SESSION['licznik']);
?>

Jak już wspomnieliśmy, ID sesji może być przekazane na dwa sposoby: za pomocą ciastka lub URL-u. Jako że niektóre przeglądarki mogą nie zaakceptować ciasteczek, nie należy na nich polegać w 100%. Trzeba wówczas wstawić też ID sesji do adresu strony. PHP może to zrobić sam ? jeśli był kompilowany z opcją–enable-trans-sid ? ale jeżeli tak się nie stało, należy ręcznie umieścić ID w adresie. Dla przykładu:

<a href=”jakasstronka.php?<?=SID?>”>Idź dalej</a>
<a href=”jakasstronka.php?<?echo SID?>”>Idź dalej</a>

Te dwie metody mają podobne działanie, chociaż pierwsza wydaje się łatwiejsza w zapisie. Tej pierwszej można jednak użyć tylko wtedy, gdy została włączona możliwość używania krótkich tagów. Dlatego pisząc skrypty pod kątem serwera, którego konfiguracji nie znamy, używajmy tej drugiej metody.

Posted by Bogdan Markowicz   @   30 Listopad 2009

Like this post? Share it!

RSS Digg Twitter StumbleUpon Delicious Technorati Facebook

0 Comments

No comments yet. Be the first to leave a comment !
Leave a Comment

Name

Email

Website

Previous Post
« Kurs PHP cz 13 Upload plików
Next Post
Kurs systemu zarządzania treścią Joomla! Część druga – podstawy administracji »
Pismo nalezy do Servicetek Group   |   SG e-biznes e-commerce projektowanie www designed by SG Grupa e-learning