php - 如何使用AJAX获取评论系统中的当前页面ID

标签 php jquery mysql ajax

我在博客上添加了评论系统,问题是我无法在数据库中插入评论,我猜是因为它无法获取当前博客的帖子ID。从comments.php,数据将被传递到post_comments.php。我如何在ajax部分(在脚本标签下)传递post_id?这是我第一次使用ajax,所以我不太擅长。任何帮助将不胜感激

comments.php:

<form method='post' action="" onsubmit="return post();">
<textarea id="comment" placeholder="Write Your Comment Here....."></textarea>
<br>
<input type="text" id="username" placeholder="Your Name">
<br>
<input type="submit" value="Post Comment">
</form>

<div id="all_comments">
<?php
    $host="localhost";
    $username="root";
    $password="";
    $databasename="comments";

    $connect=mysql_connect($host,$username,$password);
    $db=mysql_select_db($databasename);

    $comm = mysql_query("select name,comment,post_time from comments order by post_time desc");
    while($row=mysql_fetch_array($comm))
    {
        $name=$row['name'];
        $comment=$row['comment'];
        $time=$row['post_time'];
        ?>
        <div class="comment_div"> 
        <p class="name">Posted By:<?php echo $name;?></p>
        <p class="comment"><?php echo $comment;?></p> 
        <p class="time"><?php echo $time;?></p>
        </div>
        <?php  
    }   
    ?>
</div>

post_comments.php

<?php
  $host="localhost";
  $username="root";
  $password="";
  $databasename="comments";

  $connect=mysql_connect($host,$username,$password);
  $db=mysql_select_db($databasename);

  if(isset($_POST['user_comm']) && isset($_POST['user_name']))
   {
        $comment=$_POST['user_comm'];
        $name=$_POST['user_name'];
        $insert=mysql_query("insert into comments values('','$name','$comment',CURRENT_TIMESTAMP)");
        $select=mysql_query("select name,comment,post_time from comments where name='$name' and comment='$comment' ");

    if($row=mysql_fetch_array($select))
    {
        $name=$row['name'];
        $comment=$row['comment'];
        $time=$row['post_time'];
       ?>

    <div class="comment_div"> 
      <p class="name">Posted By:<?php echo $name;?></p>
      <p class="comment"><?php echo $comment;?></p> 
      <p class="time"><?php echo $time;?></p>
    </div>
<?php 
    } 
    exit; 
  }  
?>

最佳答案

您需要传递post_id。因此您需要将post_id存储到隐藏字段。并在Ajax调用代码中检查它。

comments.php

......
<input type="hidden" id="post_id" name="post_id" value="<?php echo $post_id?>">
<input type="submit" value="Post Comment">
......

post_comments.php

......
if(isset($_POST['user_comm']) && isset($_POST['user_name']) && isset($_POST['post_id']))
   {
        $post_id=$_POST['post_id'];
        // do what ever you wanted to do with post_id 
        $comment=$_POST['user_comm'];

......

关于php - 如何使用AJAX获取评论系统中的当前页面ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527374/

相关文章:

php - pecl - gearman - 无法加载动态库?

php - MySQL INSERT - 字段名称是否需要反引号/重音分隔?

php - Laravel 种子数据库

javascript - Slick carousel centerMode 的问题 - 不断增长的中心元素

mysql - 水平呈现中的分组依据和排序依据

javascript - 如何在 innerHTML 内联 css 场景中使用 Javascript?

javascript - 如何在 jquery animate 中使用 -ms-filter

jquery - 无法在 Bootstrap 导航栏中通过 Tab 键选择下拉菜单

Mysql触发器,声明一个变量并将其用作列名

php - MySQL : Access is Denied