将 PHP 变量传递到另一个 PHP 变量中的形式 - 没有 return 值
passing PHP variable into form within another PHP variable -no return value
我无法通过以下方式将我的 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 并且 returns 这个:
Array
(
[pid] =>
[vote_click_heaven_x] => 41
[vote_click_heaven_y] => 21
)
如何获取要传递的 pid 值?
您在值元素中的 php 代码没有 echo
,因此它不显示值
试试这个代码:
value=\"<?php echo $post_id; ?>\"
编辑:
您不需要在值元素中使用 <?php ?>
,因为您已经在 <?php ?>
区号中。
试试这个:
value=\"" . $post_id . "\"
这行代码没有做任何事情:
$post_id;
这只是一个变量。它解析为该变量的值,但实际上没有任何东西可以对该值执行任何操作。
也许您是想 echo
该页面的值?:
echo $post_id;
编辑: 我刚刚注意到所有这些代码只是一个字符串。因此,您要将此 文字字符串 输出到页面:
"<?php $post_id ?>"
浏览器不知道如何处理它,也不会显示它。在浏览器中查看页面源代码。如果您看到 PHP 代码,则说明您做错了。
在字符串的前面,您连接了一个变量。这里也是一样:
"...value=\"" . $post_id . "\"..."
我无法通过以下方式将我的 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 并且 returns 这个:
Array
(
[pid] =>
[vote_click_heaven_x] => 41
[vote_click_heaven_y] => 21
)
如何获取要传递的 pid 值?
您在值元素中的 php 代码没有 echo
,因此它不显示值
试试这个代码:
value=\"<?php echo $post_id; ?>\"
编辑:
您不需要在值元素中使用 <?php ?>
,因为您已经在 <?php ?>
区号中。
试试这个:
value=\"" . $post_id . "\"
这行代码没有做任何事情:
$post_id;
这只是一个变量。它解析为该变量的值,但实际上没有任何东西可以对该值执行任何操作。
也许您是想 echo
该页面的值?:
echo $post_id;
编辑: 我刚刚注意到所有这些代码只是一个字符串。因此,您要将此 文字字符串 输出到页面:
"<?php $post_id ?>"
浏览器不知道如何处理它,也不会显示它。在浏览器中查看页面源代码。如果您看到 PHP 代码,则说明您做错了。
在字符串的前面,您连接了一个变量。这里也是一样:
"...value=\"" . $post_id . "\"..."