Я программист noob, поэтому заранее извиняюсь за любые очевидные ошибки. На прошлой неделе я потратил на создание базы данных продуктов. У меня тоже есть момент, когда я могу добавлять продукты с помощью формы, просматривать все добавленные продукты и т. Д. Я использую сеансы, созданные через входные данные формы. Я изо всех сил пытаюсь включить работу с удаленной страницей продукта, я попытался использовать unset, чтобы очистить переменную, но не могу заставить ее работать.
ADD Страница продукта, которая устанавливает переменную сеанса:
$_SESSION['Products'][] = $_POST; //is how i set the session on the add products page. unset $_SESSION['Products'][]; //is how i have tried to clear the session although it does not work.
Любая точка в правильном направлении будет оценена!
Вы можете отключить переменную сеанса, используя:
session_unset
– освобождает все переменные сеанса (он равен использованию: $_SESSION = array();
) unset($_SESSION['Products']);
не unset($_SESSION['Products']);
– Отменить только индекс продуктов в переменной сеанса. ( Помните : вы должны использовать как функцию, а не так, как вы использовали) session_destroy
– уничтожает все данные, зарегистрированные на сеанс Чтобы узнать разницу между использованием session_unset
и session_destroy
, прочитайте этот ответ SO . Что помогает.
Функция Unset – это функция. Поэтому вы должны указать, какая переменная должна быть уничтожена.
unset($var);
В твоем случае
unset ($_SESSION["products"]);
Если вам нужно сбросить всю переменную сеанса, просто вызовите
session_destroy ();
Если вы полностью хотите очистить сеанс, вы можете использовать это:
session_unset(); session_destroy();
На самом деле оба они не обязательно, но это не больно.
Если вы хотите удалить только определенную часть, я думаю, вам нужно это:
unset($_SESSION['Products']); //or $_SESSION['Products'] = "";
неunset($_SESSION['Products']); //or $_SESSION['Products'] = "";
в зависимости от того, что вам нужно.
unset
– это функция, а не оператор. Используйте его как unset($_SESSION['key']);
для отмены этого сеансового ключа. Однако вы можете использовать session_destroy();
также. (Обязательно запустите сеанс с session_start();
а также)