我想知道是否可以手动更改 isset 值的值。也就是说,要做这样的事情:
isset($_POST['search_user']) = true;
为什么我要这样做:我在一页上有两个不同的“提交”表单。当提交一个表单时,我想将该表单的所有值捕获到 SESSION 变量中。但是,当提交另一个表单时,SESSION 变量将被清除(因为从技术上讲,第一个表单不再提交)。
我的想法是,如果提交了第二个表单,则自动将第一个表单的值设置为 true
如果我正确理解您的问题,如果提交了第二个表单,为什么不直接销毁当前会话并使用从新表单发布的变量开始新会话?
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
}
您可以尝试为每个提交按钮定义一个名称和一个值,以便在 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
}
试试这个,然后留下一些评论告诉你它是否对你有帮助。