将数组发布到网页

时间:2011-06-02 19:01:01

标签: php html

它有错误,因为无法访问$ _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>

2 个答案:

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