Powrót

SESJE W PHP

1. Wprowadzenie

Sesja jest sposobem na przechowywanie informacji (w zmiennych) do wykorzystania na wielu stronach serwisu internetowego. W przeciwieństwie do plików cookie informacje nie są przechowywane na komputerze użytkownika.

W sieci internetowej serwer WWW nie wie, kim jesteś ani co robisz, ponieważ adres HTTP nie utrzymuje stanu. Zmienne sesji rozwiązują ten problem, przechowując informacje o użytkowniku do wykorzystania na wielu podstronach serwisu (np. Nazwa użytkownika, ulubiony kolor itp.). Domyślnie zmienne sesji trwają do momentu zamknięcia przeglądarki przez użytkownika.

2. Tworzenie sesji

Sesja rozpoczyna się od funkcji session_start(), a zmienne sesji są ustawiane za pomocą zmiennej globalnej PHP: $_SESSION. (Tworzymy plik strona_w_sesji1.php)

                
                    <?php
                
                    // Start sesji umieszczamy na początku dokumentu
                    session_start();
                    ?>

                    <!DOCTYPE html>
                    <html>
                    <body>

                    <?php
                    // ustawienie zmiennych w sesji
                    $_SESSION["ulubionyKolor"] = "niebieski";
                    $_SESSION["ulubioneZwierze"] = "pies";
                    echo "Ustawiono zmienne sesyjne.";

					
                    ?>
                    
                    </body>
                    </html>
                    

                

               
        

3. Odczyt zmiennych sesyjnych

Zmienne sesji nie są przekazywane indywidualnie do każdej nowej strony, lecz są pobierane z sesji, którą otwieramy na początku każdej strony ( session_start()). Zauważ, że wszystkie wartości zmiennych sesji są przechowywane w globalnej tablicy $_SESSION. (Tworzymy drugi plik o nazwie strona_w_sesji2.php)

                

                    <?php
                
                    // Każdy plik należący do sesji musi mieć na poczatku funkcję:
                    session_start();
                    ?>

                    <!DOCTYPE html>
                    <html>
                    <body>

                    <?php
                    // odczyt zmiennych w sesji

                    echo "Mój ulubiony kolor to " . $_SESSION["ulubionyKolor"] . ". <br>";
                    echo "A ulubione zwierzę to " . $_SESSION["ulubioneZwierze"] . ". <br>";

                    //możemy też zmienić wartość zmiennej w sesji
                    $_SESSION["ulubionyKolor"] = "czerwony";
                    echo "Mój ulubiony kolor to " . $_SESSION["ulubionyKolor"] . ". <br>";

					
                    ?>
                    
                    </body>
                    </html>
                

               
        

4. Zakończenie sesji

Aby usunąć wszystkie globalne zmienne sesji i zniszczyć sesję, używamy metod session_unset() i session_destroy()
(Tworzymy trzeci plik o nazwie strona_w_sesji3.php)

        

            <?php
        
            // Każdy plik należący do sesji musi mieć na poczatku funkcję:
            session_start();
            ?>

            <!DOCTYPE html>
            <html>
            <body>

            <?php
            // usunięcie wszystkich zmiennych w sesji

            session_unset();

           
            echo "Zmienne sesyjne zostały usuniete <br>";
           

            // zniszczenie sesji
            session_destroy();
            echo "Sesja została zakończona";
            

            
            ?>
            
            </body>
            </html>
        

       

5. Pliki do pobrania

Pliki z powyższymi skryptami: Pobierz plik (*.zip)