Идентификация пользователей с помощью сессий в php. Глобальная переменная $_SESSION

Развиваясь в программировании на языке PHP, Вы будете задаваться вопросами: как идентифицировать пользователя, что такое сессии, что такое куки. Сейчас я попробую это объяснить ;)


Для того чтобы дальше разобраться что такое сессии и для чего они нужны, ознакомимся в двух словах с таким понятием как глобальные переменные.

Глобальные переменные - это переменные, которые действуют в любой части Вашего кода.

Глобальная переменная $_SESSION отвечает за хранение данных на сервере(php сессия), и эти данные уничтожаются после закрытия пользователем окна браузера.



Сейчас Вы увидите насколько проста технология сессий $_SESSION. За запуск сессий в php отвечает функция session_start();. Эта функция запускается до вывода в браузер какой либо текстовой информации. (лучше ее ставить в самое начало вашего кода, самой первой строкой)

Это файл нашего сайта, auth.php - тут пользователь авторизуется.

<?
session_start(); // В самом начале

/*
*  Назначаем переменной $_SESSION значения. (авторизуем пользователя)
*/
$_SESSION['id'] = 1;
$_SESSION['name'] = 'Вася';
?>

А это другой файл нашего сайта, к примеру username.php. Он выводит информацию о пользователе

<?
session_start(); // В самом начале

// Выводим необходимое значение переменной
echo $_SESSION['name'];
?>


Как можно увидеть из кода выше, глобальная переменная $_SESSION может быть массивом, и в нее можно записывать любые данные о пользователе.

Еще раз повторюсь! Сессии в PHP, а именно значение глобальной переменной $_SESSION будет существовать только до закрытия браузера!


Вы наверное уже задались вопросом, а как распознать пользователя после закрытия браузера, когда он открыл и зашел на Ваш сайт заного? Как идентифицировать польователя, если сессия пустая? Нам помогут куки - $_COOKIE (об этом в следующем уроке, через пару дней ;))

.