我在尝试在两个页面之间发送数据时遇到问题。我找了一些例子,但根本无法弄明白;令人沮丧。
SQL如下:
$query = "SELECT post_id, title , bodyofpost , username, datetime
FROM Post GROUP BY datetime DESC
LIMIT ?,?";
以下是第一个PHP页面的代码片段,其中包含需要发送给另一个的数据:
while ($stmt->fetch())
{
echo "Post ID: ".$post_id."<br/>";
echo "Title : ".$title."<br/>";
echo "<strong> Username: ".$username."</strong><br />";
echo "BodyofPost: ".$bodyofpost."<br/>";
echo "Date Created: ".$datetime."<br/><p>";
echo $addComment = "<a href=\"addComments.php?$post_id\">AddComment</a>";
echo"</br>";
echo"</br>";
}
这是需要发送postID的添加评论页面。它有一个隐藏值,当我尝试将postID插入数据库时,postID始终为0,它不应该是。
echo'</form>';
echo '<form method="post" action="addComments.php">';
echo'<input type="hidden" name="post_id" value="postID"/>';
echo '<table>';
echo '<tr><td>Comments:</td>';
echo '<td><input type="text" name="comment"></td></tr>';
echo '<tr><td colspan="2" align="center">';
echo '<input type="submit" value="PostComment"></td></tr>';
echo '</table></form>';
忽略上面的评论表;有用。
这是添加注释代码的一部分,我尝试仅将postID插入数据库以测试它是否有效,但它没有。
if(isset($_GET['post_id'])){
$postID= $_GET['post_id'];
$sql = "INSERT INTO Comments (post_id)
VALUES ('$postID') ";
}
所以,让我们说我们有10个帖子,我们按降序排序,然后点击链接发布10.然后它会将我发送到addcomment页面并输入所需的评论等等。然后当我去检查我的数据库中插入的注释,帖子ID总是0;它应该是10,因为它是我评论的postID。任何帮助表示赞赏!!谢谢!!
答案 0 :(得分:3)
您的表单方法设置为POST
,您的代码正在设置GET
方法。
试试这个:
if(isset($_POST['post_id'])){
$postID= $_POST['post_id'];
$stmt = $connection->prepare("INSERT INTO Comments (post_id)
VALUES (?) ");
$stmt->bind_param('i',$postID);
$stmt->execute();
$stmt->close();
}