这可能看起来有点奇怪,因为我现在已经睡了3天但是我答应今天完成剧本,而我是一个精疲力竭的初学者吧。 我有一个循环显示图片,下面每张图片都是一个链接。单击它时,会显示添加注释表单的弹出窗口。但实际上我有问题将注释保存到数据库,因为我不知道如何传输变量。 我将在一个简单的伪代码中向您展示:
while(lets_say_50){
$x = picture;
echo $x;
echo "<a href>links opening popup with comment form</a>
<div id='popup'>
<form>
<textarea> some comment </textarea>
<input type='submit' method='post'>
</form>
</div>"
}
if(isset($_POST['submit'])){
//here i want to get $x value from above, but it must be exactly the one from the actual loop turn.
//whatever i do, it always gives me the $x from the last picture...
}
答案 0 :(得分:1)
这是因为您要覆盖$x
的值。
这就是发生的事情:
$x = Firstpicture;
$x = Secondpicture:
$x = Lastpicture3;
$x
将始终等于分配给它的最后一个值。
答案 1 :(得分:0)
只需将一个uniq变量(如图片ID)放入href
即可 while(lets_say_50){
$x = picture;
echo $x;
echo "<a href='link/#IMAGE_ID'>links opening popup with comment form</a>"
}
然后在弹出窗口中有一些javascript来读取哈希并将其放入隐藏变量中
<form method="post" action="post_comment.php">
<textarea> some comment </textarea>
<input type='submit' >
<input name="imageid" id="image_id" name="image_id" type="hidden" value=""/>
</form>
<script>
document.getElementById('image_id').value=document.location.hash;
</script>
答案 2 :(得分:0)
你必须通过$x
来解决这个问题。首先,您必须确保链接将该值提供给其目标。例如,
<a href="post_comment.php?comment_id=5">reply</a>
然后该页面可以使用comment_id
GET
参数向表单添加隐藏字段:
<input type="hidden" name="comment_id" value="5">
(或者,如果您要发布到同一页面(看起来很像),则可以省略隐藏字段并再次在查询字符串中传递注释ID。)
然后,当您最终设置$_POST['submit']
时,您应该能够检索已经通过这些互动进行线索的comment_id
。