表单处理不会传递价值

时间:2012-08-22 12:54:39

标签: php mysql

我有这个代码,允许我做一个请求以进行查询!

现在处理的表单有以下代码:

<form action="edit_images.php" method="post">
<input type="hidden" value="<? echo $gal_id1 ?>" name="img_id1"  />
<input type="submit" value="Edit All Images"  />
</form>

虽然查询是这样的:

$img_id=$_REQUEST['img_id1'];
$sql="SELECT * FROM tbl_images WHERE Img_gal_id='$img_id'";

但似乎它不会带来价值...... 我的意思是,它无法识别我之前打印过的$ img_id并获取了确切的值。

让我向您展示我用来检索它的查询:

$sql = "SELECT gal_id,gal_title,gal_image FROM tbl_galleries where gal_id='" . $_REQUEST['gid'] ."';";
      $query = mysql_query($sql) or $myErrorsP = mysql_error();
      if(isset($myErrors) && $myErrorsP!=''){     
      } else {          
          $row = mysql_fetch_row($query);
          mysql_free_result($query);
          $gal_id    = $row[0];
          $gal_id1    = $row[0];
          $gal_title = $row[1];
          $gal_image = $row[2];                     
      } 

1 个答案:

答案 0 :(得分:2)

您错过;末尾的echo,但未按预期输出值。此外,您使用的是短标签,这可能会导致问题。您可能希望转而使用<?php作为<?上方的开头。

<input type="hidden" value="<?php echo $gal_id1; ?>" name="img_id1"  />

最后,您正在使用保护来防止注入攻击。请在PDO中研究准备好的语句并更新您的代码。你的第一次注射攻击会感谢你。

编辑:当遇到这样的问题时,通常很好的做法是在执行之前回显$sql

您将来可以通过以下方式执行此操作:

$sql = "SELECT gal_id,gal_title,gal_image FROM tbl_galleries where gal_id='" . $_REQUEST['gid'] ."';";
echo $sql."<br>\n";
$query = mysql_query($sql) or $myErrorsP = mysql_error();

这可能会让你很好地指出问题所在。