php表单 - 2个按钮(一个用于销毁会话和重新加载页面,另一个用于继续下一页)

时间:2011-04-21 14:55:17

标签: php javascript html session

在'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从名为'selecteditems.php'的页面)添加到$ _SESSION数组(这很好)。 在表单中我有一些代码来显示$ _SESSION数组中的所有内容(这很好)。如果会话为空,则应打印“会话为空”。

我的问题: 我希望能够点击“清除会话”按钮并销毁会话以及重新加载“selecteditems.php”页面以说“会话为空”。如果点击“转到结账”按钮,我想简单地发送到nextpage.php页面。

在删除会话后,获取“selecteditems.php”以重新加载并回显“session is empty”,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

只需将您的清除会话按钮设置为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 =已清除'并搜索$_GET['msg']并输出正确的消息,向上对你:)