Ajax中的php全局变量

时间:2018-07-09 18:58:25

标签: php ajax

所以我有一个名为user.php的页面作为测试

<?php 
$user = $_GET['userID'];
echo $user;
?>

然后我有.js使用ajax在有效的配置文件上添加注释,但是它使用的php(选择并插入)在名为profileComments.php的文件中

$.ajax({
        url: 'profileComments.php',
        method: 'POST',
        async: false,
        data: {
            display: 1,
            user: userID
        },
        success: function () {
            insertComments();
        }
    });

现在我要编辑profileComments.php文件的选择查询,以仅显示具有正确用户ID的查询

<?php
include "db.php";
$user = $_GET['userID'];

if (isset($_POST["display"])) {
  $comments= "SELECT * FROM comments";
  $query= mysqli_query($connection, $comments);

  while ($comments = mysqli_fetch_assoc($query)) { ?>
        <li>
            <?php echo $comments["content"]?>
        </li>
    <?php }
}

但是问题是我在其中进行编辑

"SELECT * FROM comments WHERE userID = $user"

在顶部,我已经写了这个$ user = $ _GET ['userID'];但这给了我一个无法识别的错误

我该如何做?

1 个答案:

答案 0 :(得分:1)

您正在使用AJAX发送POST请求,而不是GET请求(请参见ajax请求的方法值)。因此,该AJAX请求中的所有数据将被读入PHP的$_POST超全局变量中。

您还将该键命名为'user',而不是'userID'(请参见ajax请求的数据值)。

尝试:

$user = $_POST['user'];