Sesje

1. Do czego służą sesje.

Sesje służą do przekazywania danych między różnymi stronami WWW. W odróżnieniu od zmiennych $_GET i $_POST nie są za każdym razem przesyłane od użytkownika do formularza po stronie serwera, lecz po jednorazowym ustaleniuch ich wartości serwer będzie przechowywał ich stan po swojej stronie. Programista w celu stworzenia sesji, wykonuje session_start(), co spowoduje albo utworzenie sesji jeśli nie istniała, ale odwołanie sie do już istniejącej.

2. Lista funkcji i zmiennych:

  • session_start();
  • session_destroy();
  • session_unregister('nazwa_zmiennej');
  • session_id();
  • $_SESSION['nazwa_zmiennej']

3. Zadanie

Stwórzmy 3 strony www:
  1. form.php
  2. Stwórzmy w niej formularz, który będzie zawierał pola tekstowe "login" i "password". Pola te metodą POST będzie wysyłał do session1.php.
    <form action="session1.php" method="post">
    	<input type="text" name="login">
    	<input type="password" name="password">
    	<input type="submit" name="Wyslij">
    </form>
    
  3. session1.php
  4. Tworzymy formularz który odbierze dane wysłane przez POST oraz zapisze je w sesji.
    <?PHP
            session_start();
            echo "Ustalam login=".$_POST['login'];
            $_SESSION['login']=$_POST['login'];
            echo "Ustalam hasło=".$_POST['password'];
            $_SESSION['password']=$_POST['password'];
    ?>
    
    
  5. session2.php
  6. Tą stronę otwórzmy w nowej zakładce przeglądarki lub po prostu podajmy jej adres ręcznie (czyli dane nie zostaną przekazane przez POST/GET). Zauważymy że mogliśmy się odnieść do danych zapisanych w sesji.
    <?PHP
    session_start();
    
    echo "Twój login to: ".$_SESSION['login']."<br>";
    echo "Twoje haslo to: ". $_SESSION['password']."<br>";
    
    ?>