我想知道是否可以手动更改isset值的值。也就是说,做这样的事情:
isset($_POST['search_user']) = true;
为什么我要这样做:我在一个页面上有两个不同的“提交”表单。提交一个表单时,我想将该表单的所有值捕获到SESSION变量中。但是,当提交另一个表单时,SESSION变量将被清除(因为从技术上讲,第一个表单不再提交)。
我的想法是,如果提交了第二个表单,则会自动将第一个表单的值设置为true
答案 0 :(得分:1)
如果我正确理解了您的问题,如果提交了第二个表单,为什么不使用从新表单发布的变量来销毁当前会话并启动新会话?
http://php.net/manual/en/function.session-destroy.php
session_destroy();
...或者,如果提交了第二个表单,您可以设置另一个会话变量:
if (isset($_POST['search_user'])) {
$_SESSION['search_user'] = "true";
}
if ($_SESSION['search_user'] == "true") {
// Second form was submitted
}
答案 1 :(得分:0)
您可以尝试为每个提交按钮定义名称和值,以便在PHP文件中检索它并根据需要执行您想要的操作。例如:
HTML到第一种形式:
<form name="form1" action="page2.php" method="post">
<input type="submit" value="1" name="button01">
</form>
HTML到第二种形式:
<form name="form2" action="page2.php" method="post">
<input type="submit" value="1" name="button02">
</form>
然后你可以在page2.php
:
if($_POST['button01'] == "1")
{
// Do what you need based on form1 submit
}
elseif($_POST['button02'] == "1")
{
// Do what you need based on form2 submit
}
试试这个,然后留下一些评论告诉它是否有帮助。