我正在写一些代码,以允许用户在餐厅预订餐桌。但我的客户要求我允许用户从餐厅菜单中选择一些项目,然后返回并保留表格。如果用户不想选择菜单,那么他们可能会忽略该步骤。为什么我不能在php中取消设置会话?
为此,我只是打印了一条消息“你想选择菜单吗?”然后超链接到菜单页面。我使用iavascript onClick事件来监听用户是否点击,如果点击了,我调用一个函数setsession来设置会话以跟踪我的用户在我的网站上的活动。我宣布我的功能在页面顶部。如
<script>
function setsession(){
<?php $_session['reservation']= TRUE;
}
</script>
<form action="" method="post">
<p>Do you want to choose menu? Then <a href="somepage.php" onClick="setsession()">Click here.</a></p>
<p>rest of my code</p>
<p>confirm to reserve.</p>
<a href="javascript:{}" onclick="return Validate();submitform();">Confirm</a>
</form>
<?php if(isset($addnew) && !$error) ?>
<div class="success">
<p>sucess</p>
<?php $_SESSION['reservationprocess'] = FALSE;?>
</div>
<?php } ?>
一切工作正常。当我点击超链接我的会话变量成功。当我点击确认按钮(上面的超链接)时,它成功地将数据存储在数据库中,并拉取消息成功并取消设置会话。
但问题是我不怎么样,为什么我的会话再次设置。我试图解除会话的次数,但是失败了。据我所知,我的代码的其余部分运行良好,没有问题。我测试过了。有没有专家的解决方案?提前致谢。
您是否在页面顶部调用了'session_start()'? –
是的。我的网站有一个登录系统。 – maksbd19
夫妇的事情..在呈现javascript之前,PHP会在服务器上评估它。我不确定你可以根据javascript条件更新一个php变量。其次,你的第一个<?php标签没有结束标签。再次,不是我认为这很重要。 –