无法使用PHP echo创建的表单接收post参数

时间:2016-02-06 11:39:26

标签: php mysql

我正在创建一个允许您添加朋友的网页。对于确认部分,我做了一个确认按钮,将帖子重定向到确认页面:

while($rs=$friendsToConfirm->fetch_row()) {
    echo "Friends $count to confirm's ID: $rs[0]";
    echo "
    <form name=\"confirm\" method=\"post\" action=\"confirmfriend.php\">
    <input type=\"hidden\" name=\"userID\" value=\"$userID\">
    <input type=\"hidden\" name=\"friendID\" value=\"$rs[0]\">
    <input type=\"submit\" value=\"Confirm\">
    </form>
    ";
    echo "<br>";
    $count++;
}

$friendToConfirm变量是确认并从MySQL检索所需的所有朋友。当我点击按钮时,我应该从confirmfriend.php收到userID和friendID,但是我没有收到任何使用$_POST['userID'];的内容。还有另一种方法可以做到这一点,或者我做错了什么。

2 个答案:

答案 0 :(得分:3)

这是因为您的所有表单都具有相同的名称[确认]。你可以试试这个:

$sl = 1;
while($rs=$friendsToConfirm->fetch_row()) {
    echo "Friends $count to confirm's ID: $rs[0]";
    echo "
    <form name=\"confirm{$sl}\" method=\"post\" action=\"confirmfriend.php\">
    <input type=\"hidden\" name=\"userID\" value=\"$userID\">
    <input type=\"hidden\" name=\"friendID\" value=\"$rs[0]\">
    <input type=\"submit\" value=\"Confirm\">
    </form>
    ";
    echo "<br>";
    $count++;
    $sl++;
}

希望这会奏效。

答案 1 :(得分:0)

两个隐藏的输入字段都被称为&#34; userId&#34;。我想第二个需要重命名为&#34; friendId&#34;。

所有表格也会有相同的名称。通常优选确保表单名称是唯一的。

如果$ _POST [&#39; userId&#39;]存在但是空白,请检查$ userId是否为空。

要调试你只需var_dump post数组。