无法将$ _POST分配给变量PHP

时间:2014-10-25 20:03:13

标签: php

我认为由于缺乏经验,我发生了一些愚蠢的事情。

在members.php的表格上我有:

$column = 0;
echo "<Form Name =member Method =POST ACTION = individual.php>";
echo "<table>";
echo "<tbody>";
   while($row = $rs->fetch_assoc()) {
        if ($column == 0) {
        echo "<tr>";
        }
        echo '<td><INPUT TYPE = Submit NAME="'. $row['num'].'" VALUE ="'. $row['name'].'" id=Submit></td>'; 
        $column++;
        if ($column >= 5) {
            echo "</tr>";
            $row++;
            $column=0;
        }
    }
    echo "</tbody>";
    echo "</table>";
echo "</form>";

在individual.php上我有

 print_r($_POST);

结果是Array ( [16] => LUKE ),这是预期的。

但是当我尝试

 $name=$_POST['name'];
 $num=$_POST['num'];
 echo "<br>".$name." ".$num."<br>";

我没有得到任何结果。

我主要想获得$row['num'],但也确实['name']确保我没有转移我想要实现的目标。

我基本上想要在之前的表单上选择并插入

select * from table where number=$num;

3 个答案:

答案 0 :(得分:1)

输入字段的名称不是numname,而是数组中这两个键的 $row。这就是您无法在后端检索这些值的原因。

将您的代码更改为:

<input type="hidden" name="name" value="<?php echo $row['name']; ?>;">
<input type="hidden" name="num" value="<?php echo $row['num']; ?>;">
<input type="submit" value="Submit!" name="submit_form">

答案 1 :(得分:0)

获取&#39; name&#39;的POST值和&#39; num&#39;,你必须写:

<input type="text" name="name" value="<?php echo $row['name']; ?>">
<input type="text" name="num" value="<?php echo $row['num']; ?>">

类型可以是&#39; text&#39;或者隐藏&#39;

享受您的代码!

答案 2 :(得分:0)

如果您希望表单返回可以使用$_POST['name']$_POST['num']访问的值,则需要在表单上设置namenum作为输入名称,和适当的值作为输入值。如果您不想将它们添加为表单中的可见/可编辑值,通常的方法是使用hidden类型的输入:

<form action="individual.php">
    <input type="hidden" name="num" value="16" />
    <input type="hidden" name="name" value="LUKE" />
    <input type="submit" />
</form>

实际上,$_POST确实包含您想要的值,但它们不是可访问的格式,因为您已将16设置为输入name,因此它变成$_POST关联数组中的键。上面的表单会将numname分别设为$_POST16LUKE作为值。