webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> php + mysql

Sesje (ang. session) w PHP

autor: Mateusz Bogolubow, ostatnia modyfikacja: 2007-02-23

szukaj: sesje sesje session session PHP PHP

Pewnie każdy wie czym są sesje, ale dla pewności pozwolę sobie zacytować wstęp z manuala na temat sesji:

"Obsługa sesji w PHP ma na celu zapewnienie sposobu na zachowanie pewnych danych w trakcie następujących po sobie wywołań strony. Pozwala to na budowanie bardziej spersonalizowanych aplikacji i zwiększenie atrakcyjności twojej strony internetowej."

W poradzie tej przedstawię obsługę sesji (raczej wstęp do sesji) na podstawie skryptu, który będzie informował użytkownika ile spędził już czasu na naszej stronie.

Na początku stwórzmy plik czas.php i wprowadźmy do niego taki kod:

<?php

session_start();

if (!isset($_SESSION['czas']))
  {
  $_SESSION['czas'] = strtotime ("now");
  $ile = 0;
  }
   else
       {
        $ile = (strtotime("now") - $_SESSION['czas']) / 60;
        settype($ile, "int");
       }
?>

Funkcja >session_start() uruchamia sesje lub je wznawia, musi się ona poprzedzać używanie zmiennych sesyjnych($_SESSION).

Następnie sprawdzamy czy zmienna sesyjna o kluczu "czas"; istnieje. Jeśli nie to tworzymy ją i przypisujemy jej aktualny czas w formie uniksowego znacznika czasu (ilość sekund od daty 1 stycznia 1970r.) - strtotime ("now").

W przeciwnym wypadku sprawdzamy ile czasu upłynęło w sekundach od wejścia użytkownika na naszą stronę i zmieniamy typ zmiennej $ile. Zmiana typu jest potrzebna, aby pozbyć się wartości po przecinku podczas dzielenia przez 60 (ilość sekund w minucie).

Teraz musimy zaincludować na początku wszystkich naszych podstron serwisu plik czas.php i w miejscu gdzie chcemy, aby był wyświetlany tekst o czasie przebywanie powinniśmy umieścić kod:

<?php echo "Na stronie przebywasz już ".$ile." min."; ?>

Rozumiem, że jest to troszkę mało... ale sądzę że jest to dobre wprowadzenie :)

Mateusz Bogolubow

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org