Когда использовать $_SESSION и когда $_COOKIE

Статья читается: 1 мин.

И снова приветствую Вас, уважаемые читатели моего блога!

Немного подумал и решил сегодня написать статейку по программированию, а точнее про сесии и куки. Усаживайтесь поудобнее — начинаем!

Важнейшей особенностью веб-программирования является возможность беспрепятственно передавать данные от одной страницы другой. Чаще всего используется при работе с регистрацией, формами входа а также предания сообщений об ошибках и т.д.

Хранение данных которые передаются от одной страницы в другую в PHP осуществляются благодаря двум глобальным переменным $_SESSION и $_COOKIE. Цель данной статьи дать краткий обзор различий между $_COOKIE и $_SESSION когда что лучше использовать, плюсы и минусы.

php-cookies

Разница между куки и сессиями то как они хранят данные. Куки хранятся локально на компьютере пользователя тогда как сессии хранятся на сервере у вас.

Сессии

Сессии хранят временные данные о пользователях, и они особенно полезны, если вы не хотите, чтобы были доступны за пределами сервера. Это альтернатива использованию cookie, если пользователь отключил cookie на своем компьютере, поскольку PHP может автоматически переписать URL так, чтобы передать идентификатор сессии.

Плюсы

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

Минусы

  1. Сессии заканчиваются при закрытии браузера, но вы можете настроить в php.ini на какое время хранить сессии. Можно настроить на вечное хранение.

Куки

Куки отправляются на сервер при каждой загрузке страницы. PHP считывает и сохраняет данные в супер глобальную переменную $_COOKIE. После этого вы можете вызывать их где угодно в любом месте.

Плюсы

  1. Хранятся столько сколько потребуется даже после закрытия браузера
  2. Удобно для функции “запомнить меня”
  3. Удобно для хранения временных настроек. Например если пользователь просматривает нумерованный список элементов отсортированных определенным образом, настройки сортировки могут быть сохранены в куки.

Минусы

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

Cookie в действии

Создание cookie

Cookie создаются вызовом функции setcookie(), сервер добавляет соответствующую строку в заголовок. Если вы попытаетесь послать cookie после того, как начнете посылать HTML, PHP отметит наличие серьезных ошибок, а cookie не будет размещен. Функция setcookie() принимает три основных параметра имя cookie, значение и дату окончания срока действия. Например:

setcookie("Ordering",$_POST['ChangeOrdering'], time()+31536000);

Использование Cookie

echo (isset($_COOKIE['ordering'])) ? $_COOKIE['ordering'] : 'cookie value not set';

Удаление cookie

setcookie('favorite_color');

Установка cookie без значения все равно что его удаление. Это не удалит файл с машины пользователя. Чтобы удалить файл вам нужно поставить значение cookie в прошлом времени и браузер удалит файл.

Сессии в действии

Создание сессии

session_start();

Эта функция должна вызываться где то в начале вашего кода до любого вывода. Когда вы вызываете эту функцию, PHP проверяет поставлены ли у пользователя куки сессии. Если да то он загружает их в супер глобальную переменную $_SESSION. А если нет то PHP создаст на сервере новый файл сессий и посылает ид сессии обратно клиенту.

Установка значения

$_SESSION['first_name'] = 'Brian';

Считывание значения

echo $_SESSION['first_name'];

Удаление значения

unset($_SESSION['first_name']);

Завершение сессии

session_destroy();

Получилась хоть и не большая, но познавательная статья.

Если есть вопросы или предложения — задавайте на этой странице. Обещаю, отвечу всем!!!

Также подписывайтесь на обновление новостей блога!

На этом буду прощаться с Вами — до новых встреч!

С Вами был ваш Юрич!

Вам понравилась статья?
плохохорошо (Пока оценок нет)
Загрузка...
Обо мне
Юрич:
Занимаюсь созданием сайтов на ВордПресс более 5 лет. Работал в нескольких веб-студиях, да и сейчас работаю. Иногда подрабатываю на фрилансе, как на нашем так и на зарубежном. Везде зарекомендовал себя очень хорошо. Если нужен сайт на вордресс, шаблон для сайта или лендинг - не стесняйтесь - пишите. Рад буду помочь!