改变了isset的值

时间:2012-06-25 17:07:03

标签: php forms session

我想知道是否可以手动更改isset值的值。也就是说,做这样的事情:

isset($_POST['search_user']) = true;

为什么我要这样做:我在一个页面上有两个不同的“提交”表单。提交一个表单时,我想将该表单的所有值捕获到SESSION变量中。但是,当提交另一个表单时,SESSION变量将被清除(因为从技术上讲,第一个表单不再提交)。

我的想法是,如果提交了第二个表单,则会自动将第一个表单的值设置为true

2 个答案:

答案 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
}

试试这个,然后留下一些评论告诉它是否有帮助。