0

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

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

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

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

4

2 回答 2

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

}
于 2012-06-25T17:10:22.513 回答
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
}

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

于 2012-06-25T18:55:08.220 回答