基本上我想要一个确认框,当他们点击按钮询问他们是否确定要重新启动时会弹出,如果是,则会销毁会话并将其带到第一页。继承人我得到的......
echo "<form id=\"form\" name=\"form\" method=\"post\" action=\"nextpage.php\">\n";
echo " <input type=\"button\" name='restart' value='Restart' id='restart'
onclick='restartForm()' />";
以及脚本......
<script type=\"text/javascript\">
<!--
function restartForm() {
var answer = confirm('Are you sure you want to start over?');
if (answer) {
form.action=\"firstpage.php\";
session_destroy();
form.submit();
} else
alert ('Restart Cancelled');
}
// --
</script>";
编辑:请注意,按下按钮会弹出确认框,但如果单击“确定”,则有时不会发生任何事情。有时如果你点击取消它仍然提交表格(到原始行动)
答案 0 :(得分:0)
除非Javascript中的session_destroy()
方法实际上向PHP脚本发送请求,否则看起来您正试图将PHP代码放入javascript中,这将无法正常工作。
你应该尝试将它们重定向到类似firstpage.php?reset=1
的内容,在PHP脚本中,你可以检查重置标志,然后调用session_destroy()
。
答案 1 :(得分:0)
你应该使用
onclick='restartForm(); return false;'
阻止发送表单。
另外,session_destroy()不是JS AFAIK ...
编辑:您还应该记住会话是服务器端,而不是客户端,因此如果您想操纵它们,则无法在JS中执行。你唯一能做的就是调用PHP(例如通过AJAX)来处理会话。