Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php isset的变化值_Php_Forms_Session - Fatal编程技术网

Php isset的变化值

Php isset的变化值,php,forms,session,Php,Forms,Session,我想知道是否可以手动更改isset值的值。也就是说,要做这样的事情: isset($_POST['search_user']) = true; 为什么我要这样做:我在一页上有两个不同的“提交”表格。当提交一个表单时,我希望将该表单的所有值捕获到会话变量中。但是,当提交另一个表单时,会话变量将被删除(因为从技术上讲,第一个表单不再提交) 我的想法是,如果提交了第二个表单,那么自动将第一个表单的值设置为true如果我正确理解您的问题,如果提交了第二个表单,为什么不销毁当前会话并使用新表单中发布的变

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

isset($_POST['search_user']) = true;
为什么我要这样做:我在一页上有两个不同的“提交”表格。当提交一个表单时,我希望将该表单的所有值捕获到会话变量中。但是,当提交另一个表单时,会话变量将被删除(因为从技术上讲,第一个表单不再提交)


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

如果我正确理解您的问题,如果提交了第二个表单,为什么不销毁当前会话并使用新表单中发布的变量启动新会话

…或者,如果提交了第二个表单,则可以设置另一个会话变量:

if (isset($_POST['search_user'])) {

    $_SESSION['search_user'] = "true";

}

if ($_SESSION['search_user'] == "true") {

    // Second form was submitted

}

您可以尝试为每个submit按钮定义一个名称和一个值,因此您可以在PHP文件中检索该按钮,并根据需要执行您想要的操作。例如:

HTML到第一个表单:

<form name="form1" action="page2.php" method="post">
    <input type="submit" value="1" name="button01">
</form>
<form name="form2" action="page2.php" method="post">
    <input type="submit" value="1" name="button02">
</form>

试试这个,然后留下一些评论,告诉你是否有用。

或者,如果提交了第二个表单,只需完全跳过所有会话内容。但我需要保留第一个表单中的所有用户输入(也在同一页面上)。我签出了session_destroy(),但它似乎并不像我所想的那样need@JohnRobinson谢谢你的回答。我试过了,但我不知道它如何帮助我“保留”第一个表单的用户输入
if($\u SESSION['search\u user']==“true”){//在这里对第一个表单数据执行任何操作}
从一个页面加载/提交到下一个页面是否会丢失会话数据?
<form name="form2" action="page2.php" method="post">
    <input type="submit" value="1" name="button02">
</form>
if($_POST['button01'] == "1")
{
     // Do what you need based on form1 submit
}
elseif($_POST['button02'] == "1")
{
     // Do what you need based on form2 submit
}