php form - 2 кнопки (одна для уничтожения сессии и перезагрузки страницы и одна для перехода на следующую страницу) - PullRequest
4 голосов
/ 21 апреля 2011

На странице selecteditems.php у меня есть такая форма:

<form method="POST" name="selecteditems" action="nextpage.php">
....i have some code here to display the values of the SESSION array in a table....
<input type="button" name="clear" value="Clear Session" onclick="window.location='selecteditems.php'">
<input type="submit" name="next" value="Go to Checkout">
</form>

Перед формой на странице selecteditems.php у меня есть некоторый код для добавления данных ($ _REQUEST params fromстраница с именем selecteditems.php) в массив $ _SESSION (это работает нормально).Внутри формы у меня есть некоторый код для отображения всего в массиве $ _SESSION (это работает нормально).Если сессия пуста, она должна вывести «сессия пуста».

Моя проблема: я хочу иметь возможность нажать кнопку «Очистить сессию» и уничтожить сессию, а также файл selecteditems.phpперезагрузка страницы, чтобы сказать "сессия пуста".Если нажата кнопка «Перейти к оформлению заказа», я хотел бы просто отправить ее на страницу nextpage.php.

Любая помощь будет полезна при получении сеанса «selecteditems.php» для перезагрузки и отображения ».пусто "после того, как я удалил сессию.

1 Ответ

2 голосов
/ 21 апреля 2011

Просто поместите кнопку очистки сеанса в качестве кнопки отправки с type="submit" (у вас это значение равно type="button", которое ведет к несовместимому поведению в браузерах ничего не делает), а затем вы можете просто рассматривать его как обычный процесс подачи заявки:

if(isset($_POST['clear'])) {
    session_destroy(); // Or other session-unsetting logic
    header("Location: selecteditems.php"); // Reload your page
}

if(isset($_POST['next'])) {
    //next page logic
}

Возможно, вам даже не понадобится перезагрузить страницу очистки сеанса. Для «очищенного сообщения сеанса» вы можете либо добавить логику в блок $_POST['clear'], либо перенаправить на «selecteditems.php? Msg = cleared», найти $_GET['msg'] и вывести правильное сообщение, вплоть до вас :)

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