Сессии/$_session в Php запуск примеры
Сессия в php, что такое сессия, как работает сессия php на сайте. Живые примеры использования сессий, теория!
Сессия в php обозначается знаком доллара "$" + названием в виде слова "_SESSION" написанное "ПРОПИСНЫМИ БУКВАМИ", латинского алфавита, с нижним подчеркиванием в начале...
Подробно о сессиях в $_SESSION в php с примерами
- Что такое сессии(SESSION) в Php?
- Как запускается сессия php!?
- Присвоение имени и значения сессии!
- Пример запуска сессии по нажатию на кнопку
- Ошибки сессий php.
- Пример запуска сессии по нажатию на кнопку
- Поисковые запросы бывают очень интересными...
Что такое сессии(SESSION) в Php?
Переменная $_SESSION относится к глобальным переменным.
Дадим общее определение, "что такое сессии", а потом уже будем разбираться в нюансах!
Что такое сессии!?
$_SESSION - это переменная, которая предназначена для взаимодействия пользователя, админа с сервером, для изменения соответствующих данных на сайте
Быстрый пример использования сессии на сайте:
Когда я, прямо сейчас пишу эти строки, я их могу писать только потому, что сессия админа запущена и по условию открывается окно для редактирования контента!
Если я открываю страницу с контентом, то вижу не то, что видите вы, справа есть три кнопки - по которым возможны соответствующие действия:
Алгоритм работы сессии на сайте.
Самое первое, что делается с сессией - это запуск.
Для того, чтобы не возникало проблем с запуском сессии(т.е ошибок сессии) её можно и нужно проверять. Была ли она запущена.
Глобальная переменная "$_SESSION" - является массивом. Поэтому, если вы знаете теорию о массивах, то вам и разбираться не придется.
Как вывести все сессии на экран монитора?
Необходимо уточнить, что вы и я будем видеть разную картину(не будем углубляться почему). Для вывода массива используется одна из функций print_r - её и будем использовать для вывода массива :
Array
(
)
Как запускается сессия php!?
Как это будет на странице, запуск сессии на странице в архиве.
Для данной простой операции, пример, я думаю не нужен!
В самом верху страницы перед любым выводом информации ставим строку запуска сессии:
Если у вас есть подозрения. что где-то выше, возможно уже была запущена сессия, то
Естественно, что php вам просигнализирует(если в настройках указано показ такого типа ошибок ), что сессия уже была запущена выше!
Можно поставить проверку была ли запущена сессия
Присвоение имени и значения сессии!
Если вы не понимаете, что такое массив, то вам придется разбираться и запоминать:
Пример создания именной сессии со значением:
$_SESSION - глобальная переменнаямассив. Если используются квадратные скобки, то это первый признак массива
["first_example"] - ячейка сессии(массива), которая является именем.
"значение" - в "значение" могут быть записаны различные данные.
Мы видим типичное поведение массива - ключ => значение.
Для данной страницы, ниже рассматриваем пример запуска сессии
Сегодня, еще сделал пример для наших сессий
Правила написания сессий:
Для сессий существуют правила написания(синтаксис), пример одной из ошибок синтаксиса(т.е. ошибки написания)
$_SESSION['first_example'] = 'здесь данные'; ->
$_SESSION[first_example] = "здесь данные"; ->
И:
В названии сессии может находиться любое слово/словосочетание - по негласным правилам принято, что имена пишутся на английском языке, в значение сессии записывается, например, уникальный ид, который принадлежит этому пользователю!
Например :
$_SESSION["user_example"] = 3a372efe328e3e04cdc85c95756ea825;
Надеюсь с именами и значением сессии разобрались! Следующим пунктом в изучении сессии нам предстоит создать пример, на котором разберем запуск сессии по нажатию кнопки!
Пример запуска сессии по нажатию на кнопку
Пример запуска сессии на отдельной странице
Скачать запуск сессии по клику в архиве
На странице примера запуска сессии по кнопке можно проверить, как запускается сессисия, а далее немного разберем, как работает скрипт.
Нам понадобится несколько элементов формы, не буду останавливаться подробно на механизмах отправки -> см.post. Соберем самую простую, чтобы мы могли увидеть запуск сессии по нажатию кнопки:
<input type="submit" name="submit" value="создать сессию">
</form>
Нам потребуется скрипт, который примет наш отправленный пост запрос и запустит сессию под именем
session_start();
if($_POST["submit"]) { $_SESSION['PRIMER'] = 'здесь какие-то данные';}
?>
Далее нам потребуется механизм проверки существования сессии
if($_SESSION['PRIMER'])
{
//сессия запущена
}
else
{
//сессия не запущена
}
?>
И далее нам потребуется кнопка, код которой был выше, по нажатию на которую отправится пост запрос и запустится сессия!
Нажмите на кнопку! чтобы запустить сессию -> запуск сессии
Надеюсь, что сессия благополучно была создана! Теперь, у нас остались не освещенным тема разрушение сессии вообще и тоьок определенно! Начнем с определенной, которую только создали!
Ошибки сессий php.
Для сессий, как и для других элементов сайта встречаются ошибки:
Ошибка запуска двух сессий.
Если у вас настроен вывод ошибок на экран типа "Notice", то при двух запусках сессий(не обязательно, чтобы они стояли так, если вы разрабатываете сайт, то код будет огромным и варианты будут разными и структура может быть запутанной):
session_start();
session_start();
Ошибки имени сессии
Если вы напишите неправильную конструкцию в сессиях. Например вот такую:
$_SESSION[user example]=example;
Вопрос на засыпку - а где же здесь ошибка!?
Если в имени сессии нет кавычек и существует два слова и между ними будет пробел, то это приведет к ошибке типа:
Вместо слова сессии - будет стоять первое слово после пробела.
Код страницы с проверкой существования сессии:
<? session_start(); ?>
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title>Это пример работы сессии!</title>
</head>
<? if($_SESSION['PRIMER'])
{
echo 'Здесь информация, которая доступна после того, как вы<br>
Создали сессию<br>
Например, какая-то информация, связанная с пользователем.<br>';
}
else
{
echo 'Здравствуйте друзья!<br>
Вынужден констатировать, но сессия еще не установлена!<br>
Здесь информация доступная всем проходящим…<br>';
}
?>
<body>
</html>
Поисковые запросы о сессиях очень интересные...
Иногда от поисковых запросов выпадаешь в такой осадок, что потом долго остаешься под впечатлением!
Использование сессии по условию
Сегодня в поиске увидел пот такой поисковый запрос... с использованием сессии... бл*ть я даже сказать не знаю... что на это...
<? if ($_session['user']!='') { ?> <? } else { ?> <? } ?>
Я бы проверял на наличии, а не на пустоту...
<?
if ($_session['user']) { есно 'Пользователь существует';}
else { есно 'Пользователь не существует';}
?>