我无法通过以下方式将我的PHP变量$ pid传递到我的其他变量$ submission_boxes中的html表单,然后将该值传递给另一个.php页面以将其提供给数据库。
<?php
include_once("connect.php");
$query = $conn->query('SELECT posts.id AS post_id, posts.post_date, posts.post_content, posts.hell_value, posts.heaven_value, users.id AS user_id, users.username FROM posts INNER JOIN users ON posts.post_creator = users.id ORDER BY post_date DESC');
$submission_boxes = "";
if($query->rowCount()) {
while ($r = $query->fetch(PDO::FETCH_ASSOC)) {
$content = $r['post_content'];
$post_date = $r['post_date'];
$hell_value = $r['hell_value'];
$heaven_value = $r['heaven_value'];
$post_id = $r['post_id'];
$user_id = $r['user_id'];
$submission_boxes .= "<table class='cat_links' border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:75%;\">
<tbody>
<tr colspan=\"3\">
<td colspan=\"5\" rowspan=\"1\">".$content." </td>
</tr>
<tr>
<td colspan=\"5\"><hr></td>
</tr>
<tr>
<td colspan=\"3\" rowspan=\"1\" width=\"531px\"></td>
<td align=\"center\"><font color=\"#994B43\">" .$hell_value. "</font></td>
<td align=\"center\"><font color=\"#EAC67A\">".$heaven_value."</font></td>
</tr>
<tr>
<td valign=\"bottom\" colspan=\"2\" rowspan=\"1\">Posted by ".$username." at ".$post_date."</td>
<td valign=\"bottom\" align=\"middle\"> <font size=\"size:6\">View Comments</font></td>
<td style=\"width:100px;height:53px;\" align=\"right\"><a id=\"vote_button\"><form action=\"voting_hell.php\" method=\"POST\">
<input type=\"hidden\" name=\"pid\" value=\"<?php echo $post_id; ?>\" />
<input type=\"image\" name=\"vote_click_hell\" src=\"hellstamp.png\" alt=\"<p>Hell</p>\" style=\"width:100px;height:53px;\">
</form></a></td>
<td style=\"width:100px;height:53px;\" valign=\"bottom\" align=\"right\"><a id=\"vote_button\"><form action=\"voting_heaven.php\" method=\"POST\">
<input type=\"hidden\" name=\"pid\" value=\"<?php echo $post_id; ?>\" />
<input type=\"image\" name=\"vote_click_heaven\" src=\"heavenstamp.png\" alt=\"<p>Heaven</p>\" style=\"width:100px;height:53px;\">
</form>
</a></td>
</tr>
</tbody></table>";
}
echo $submission_boxes;
} else {
echo "<p>There are no categories available yet.</p>";
}
?>
如果我使用现有值对其进行硬编码,则可以正常工作。 另外我很确定问题是在这个页面上,因为我在voting_heaven.php上使用了print_r并且它返回了这个:
Array
(
[pid] =>
[vote_click_heaven_x] => 41
[vote_click_heaven_y] => 21
)
如何让pid值通过?
答案 0 :(得分:0)
你的值元素中的php代码没有echo
所以它没有显示值
试试这个代码:
value=\"<?php echo $post_id; ?>\"
修改强>
您不需要在值元素中使用<?php ?>
,因为您已经在<?php ?>
区号中
试试这个:
value=\"" . $post_id . "\"
答案 1 :(得分:0)
这行代码不做任何事情:
$post_id;
这只是一个变量。它解析为该变量的值,但实际上没有任何东西可以对该值进行任何操作。
也许您的意思是echo
对页面的价值?:
echo $post_id;
编辑:我刚刚注意到所有代码都只是一个字符串。因此,您要将此文字字符串输出到页面:
"<?php $post_id ?>"
浏览器不会知道该如何处理,也不会显示它。在浏览器中查看页面源代码。如果您看到PHP代码,那么您做错了。
在字符串的早期,您连接变量。在这里也是如此:
"...value=\"" . $post_id . "\"..."