Рассмотрим пример простой сессии, работающей с четырьмя страницами. Первая страница (page1.php) представляет собой простенькую формочку, где пользователь вводит имя, которое потом "запоминается". После того, как пользователь нажал "Enter", он попадает на страницу page2.php, при посещении которой открывается сессия и регистрируется переменная $username. После этого, пользователь нажимает на ссылку и попадает на страницу page3.php, при этом, как видно, его имя "не забыто", т.е. переменная сессии не уничтожается, когда пользователь перешел на другую страницу сайта. При нажатии на ссылку, пользователь попадает на страницу page4.php, в результате чего происходит разрегистрация сеансовой переменной и уничтожение сессии. После разрегистрации сеансовой переменной значение массива $_SESSION['username'] уже недоступно. Первая страница (page1.php) <html> <body> <h1> Страница регистрации </h1> <input type=hidden name=action value=post> <form method="post" action="page2.php"> <table> <tr><td>Имя:</td> <td><input type="text" name=name value='<? echo $name; ?>'></td></tr> <tr><td colspan=2><input type=submit value='Enter'> </td></tr> </table> </form> </body> </html>
Вторая страница (page2.php) Открывается сессия и регистрируется переменная $username. <?php session_start(); $_SESSION['username'] = $name; echo 'Привет, '.$_SESSION['username']."<br>"; ?> <a href="page2.php">На следующую страницу </a>
Третья страница (page3.php) Сессия сохранена. Имя пользователя не забыто. <?php session_start(); echo $_SESSION['username'].' , ты пришел на другую страницу этого сайта!'; echo("<br>"); ?> <a href="page3.php">Уничтожить сессию </a>
Четвертая страница (page4.php) Разрегистрация сеансовой переменной и уничтожение сессии. <?php session_start(); unset($_SESSION['username']); // разрегистрировали переменную echo 'Привет, '.$_SESSION['username']; // теперь имя пользователя уже не выводится session_destroy(); // уничтожаем сессию ?>
|