HTML PHP表单空间入口问题?

时间:2011-04-11 02:40:37

标签: php html forms variables

我是通过手机完成此操作,因此请随时为我编辑代码。谢谢:L

所以我有一个表单,我正在尝试将数据从MYSQL数据库传输到隐藏字段以便在表单中提交。但是,我发现如果数据库中的数据中有空格(即Hello那里),它只需要“Hello”并完全跳过“那里”。我如何解决这个问题,如果它不可修复,是否有办法绕过它?感谢。

$result = mysql_query("SELECT * FROM ##### ORDER BY `id` DESC");

while($row = mysql_fetch_array($result)) {
  $test=$row['name'];
  $id=$row['id'];
  echo"<form method=post action=\"joingroup.php\"><input type=hidden name=test value=$test><input type=submit value=\"Submit\"></input></form>";
}

解答: 把变量放在变量附近。

2 个答案:

答案 0 :(得分:4)

如果您的值中包含空格,则必须将该值括在HTML中的引号内:

试试这个:

echo "<form method=post action=\"joingroup.php\">
        <input type=\"hidden\" name=\"test\" value=\"$test\">
        <input type=\"submit\" value=\"Submit\">
      </form>";

或者更好的是,使用单引号(和连接,因为PHP变量不在单引号内评估,就像它们是双引号一样):

echo '<form method="post" action="joingroup.php">
        <input type="hidden" name="test" value="' . $test . '">
        <input type="submit" value="Submit">
      </form>';

或者,为了获得最佳效果,请不要echo输出您的HTML。相反,退出PHP并跳回到echo所需的变量:

<?php
  // get values from DB, etc.
?>

<form method="post" action="joingroup.php">
  <input type="hidden" name="test" value="<?php echo $test; ?>">
  <input type="submit" value="Submit">
</form>

<?php
  // resume processing here
?>

答案 1 :(得分:0)

检查数据库字段是否定义为VARCHAR并查看每个字段的长度。通常这可能是问题,我想不出别的什么。