它有错误,因为无法访问$ _POST ['sub1'] 是否有任何方法或解决方案来回应$ _POST ['sub1']的价值?还是不可能?没门?即使有另一个阵列? 我对我的代码有疑问没有人解决它!然后我决定以简单的方式说出来。
<html>
<form method="post">
<input type='submit' name='sub1' value='sub1'>
<?php
if(array_key_exists('sub1',$_POST))
{
echo"<input type='submit' name='sub2' value='sub2'>";
}
if(array_key_exists('sub2',$_POST))
{
echo $_POST['sub1'];
}
?>
</form>
</html>
答案 0 :(得分:1)
您正在使用提交按钮。只有您实际单击的按钮才会将其名称/值对发送到服务器。单击sub2
按钮时,仅发送sub2=sub2
,因此$ _POST数组中将不存在sub1
。
随访:
PHP根据浏览器发送的内容为您创建了<_ $ POST。您构建表单的方式使得单击“sub2”按钮时“sub1”不可能存在。换句话说,您需要为两个按钮使用相同的name=
,并根据需要更改value=
:
HTML:
<input type="submit" name="submit" value="sub1" />
<input type="submit" name="submit" value="sub2" />
PHP:
if (isset($_POST['submit'])) {
echo "You clicked the {$_POST['submit']} button";
}
答案 1 :(得分:1)
我想我知道这里有什么问题。
当您第二次提交表单(对于sub2)时,您不再发布sub1的值,只是sub2。
这应该解决它:
<html>
<form method="post">
<input type='submit' name='sub1' value='sub1'>
<?php
if(array_key_exists('sub1',$_POST))
{
echo"<input type='hidden' name='sub1' value='" . htmlentities($_POST['sub1']) . "'>";
echo"<input type='submit' name='sub2' value='sub2'>";
}
if(array_key_exists('sub2',$_POST))
{
echo $_POST['sub1'];
}
?>
</form>
</html>