PHP变量作为输入值

时间:2013-07-13 20:46:56

标签: php mysql sql

我正在尝试制作一个投票系统。下面的表单位于 echo 中。所以我希望$ entree_id作为隐藏字段的值填写,并在有人点击提交按钮时存储在数据库中。但每当我尝试时,行都会保持为空。

这是数据库输出:

$entree_id = $row['entree_id'];

这就是回声:

<form action='/' method='post'><input type='hidden' name='entree_id' value='" . $entree_id . "'><input type='submit' class='button'></form><p>

我也尝试过这样的事情:

<form action='/' method='post'><input type='hidden' name='entree_id' value='<?php print $entree_id ?>'><input type='submit' class='button'></form><p>

为什么我没有得到$ entree_id的值?

3 个答案:

答案 0 :(得分:0)

你必须区分html和php。你的变量应该在php标签之间。 试试这个

    <form action='' method='post'><input type='hidden' name='entree_id' value='<?php echo $entree_id ; ?>' /><input type='submit' class='button' /></form><p>

编辑:

回声中的

就像这样

     echo "<form action='' method='post'>
 <input type='hidden' name='entree_id' value='".$entree_id."' />
 <input type='submit' class='button' />
 </form>" ;

确保隐藏类型。

将其更改为

    type='text'  //or what ever to see the value.

答案 1 :(得分:0)

如果在PHP运行时$ entree_id中已有值,那么这两个应该都可以工作。如果你做第一个你正在谈论的......

<form action='/' method='post'><input type='hidden' name='entree_id' value='" . $entree_id . "'><input type='submit' class='button'></form><p>

...那么你需要它成为一个echo语句的一部分(听起来你可能已经在做了):

<?php
$entree_id = 5;
echo "<form action='/' method='post'><input type='hidden' name='entree_id' value='" . $entree_id . "'><input type='submit' class='button'></form><p>";
?>

(不要忘记最后的分号!)这样就产生了这样的输出:

<form action='/' method='post'><input type='hidden' name='entree_id' value='5'><input type='submit' class='button'></form><p>

但你也可以按照你说的第二种方式来做,我认为这可能更具可读性。您不必为整个事物使用echo语句,只需使用变量:

<?php 
    $entree_id = 5; 
?> 
<form action='/' method='post'><input type='hidden' name='entree_id' value='<?php echo $entree_id; ?>'><input type='submit' class='button'></form><p>

注意我将“print”更改为“echo”,并且还在echo的末尾添加了分号。

这对我也有用,产生了这个输出:

<form action='/' method='post'><input type='hidden' name='entree_id' value='5'><input type='submit' class='button'></form><p>

希望这有帮助!如果您有任何其他问题,请与我们联系。

答案 2 :(得分:0)

更改回声以使用单引号而不是双引号,如下所示:

echo '
<form action="/" method="post"><input type="hidden" name="entree_id" value="' . $entree_id . '"><input type="submit" class="button"></form>';

双引号可以在php中用于自动输出变量。使用单引号可以减少这种混淆,并确保.能够正确地与它联系。