Как правильно сохранить данные в $_SESSION?
session_start();
if (isset($_POST['search'])) {$_SESSION['search'] = $_POST['search']; $search = $_SESSION['search'];}
if (!isset($search)) { echo "Значение пустое" ;} else { echo "Значение ЕСТЬ! Вот оно : $search )))";}
Делаю поиск на сайте. Мне нужно сохранить POST переменную в которой хранится слово поиска, например "Телефон". Но данные не сохраняются. Где я допустил ошибку, и правильно ли хранить такие данные в сессии?
Ответы (2 шт):
Автор решения: Ипатьев
→ Ссылка
Не хранят слово поиска в сессии. И не используют для поиска метод ПОСТ.
Поисковая строка передается методом ГЕТ и прекрасно доступна без всяких сессиий. Только к ссылкам надо её добавлять, например при постраничной навигации.
Автор решения: newman
→ Ссылка
Должно быть как-то так:
session_start();
if (isset($_POST['search'])) {
$search = $_POST['search'];
$_SESSION["search"] = $search;
} elseif (isset($_SESSION["search"])) {
$search = $_SESSION['search'];}
} else {
$search = "";
}
if ($search == "") {
echo "Значение пустое";
} else {
echo "Значение ЕСТЬ! Вот оно : $search )))";
}
В исходномм варианте происходило так что переменная заполнялась только при POST.