PHP表单- 2个按钮(一个销毁会话和重新加载页面和一个继续到下一页)

php form - 2 buttons (one to destroy session and reload page and one to proceed to next page)

本文关键字:一个 加载 一页 新加载 继续 2个 表单 按钮 会话 PHP      更新时间:2023-09-26

在页面' selecteitems .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>

在' selectedititems .php'页面上的表单之前,我有一些代码来添加数据($_REQUEST参数从称为' selectedititems .php'的页面)到$_SESSION数组(这是正常工作)。在表单中,我有一些代码来显示$_SESSION数组中的所有内容(这很好地工作)。如果会话是空的,它应该打印"session is empty"。

我的问题:我想能够点击"清除会话"按钮,并有会话销毁以及"selecteitems .php"页面重新加载说"会话是空的"。如果,"转到结帐"按钮被点击,我想简单地发送到nextpage.php页面。

任何帮助将在获得' selecteitems .php'重新加载和echo "session is empty"后,我已经删除了会话。

把你的clear session按钮作为提交按钮与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']块,或重定向到' selecteitems .php?msg=cleared'并搜索$_GET['msg']并输出正确的消息,由您决定:)