Сессии в PHP

Рассмотрим пример простой сессии, работающей с четырьмя страницами. Первая страница (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();
              // уничтожаем сессию
?>
 
« Предыдущая статья   Следующая статья »