在另一个PHP变量中将PHP变量传递给表单-no返回值

时间:2016-06-09 14:41:15

标签: php phpmyadmin

我无法通过以下方式将我的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>";
 }
?>

Code

如果我使用现有值对其进行硬编码,则可以正常工作。 另外我很确定问题是在这个页面上,因为我在voting_heaven.php上使用了print_r并且它返回了这个:

Array
(
[pid] => 
[vote_click_heaven_x] => 41
[vote_click_heaven_y] => 21
)

如何让pid值通过?

2 个答案:

答案 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 . "\"..."