繁体   English   中英

表单处理不会传递价值

[英]Form processing won't pass value

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

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

<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];                     
      } 

你错过了; 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();

这可能会给你一个很好的迹象表明问题是什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM