1

我正在每个用户的墙上制作一个 AJAX/JavaScript 评论功能。我用来从数据库中获取用户信息的 PHP 是这样的:

$fetchstats = (int)strip_tags(rawurldecode($_GET['id']));

if (isset($fetchstats)) {
    $fetchstats = mysql_real_escape_string($fetchstats);
    $sql = "SELECT * FROM users WHERE id='".$fetchstats."' LIMIT 1";
    $res = mysql_query($sql);

    if (mysql_num_rows($res) == 1) {    
        $userp = mysql_fetch_array ( $res, MYSQLI_ASSOC ); 
    } else { 
        exit;
    }
} else {
    exit;
}

所以用户信息的每个变量都是这样的:$userp['username'],这将显示该用户的用户名。

我遇到的问题是,当我在他们的页面上提交评论时,它会获取我的姓名、ID 和要插入数据库的评论,而不是他们的姓名和 ID。这是插入 PHP 函数,它位于comment_insert.php

$username = $username;
$user_id = $id;
$wall_user = $userp['username'];
$wall_id = $userp['id'];
$comment = $_POST['comment'];
$timestamp = time();

if ($_POST) {
    $insert = ("INSERT INTO comments (username, user_id, wall_user, wall_id, comment, timestamp) VALUES ('$username', '$user_id', '$wall_user', '$wall_id', '$comment', '$timestamp')");
}

JavaScript 函数然后调用该文件并获取要插入的注释。这里是:

function Comment(Name,ID) {
    var comment = $('#comment').val();
    var dataString = 'comment=' + comment;

    if (comment.length < 1) {
        alert('You Must Enter A Comment!');
    } else {
        $.ajax({
            type: "POST",
            url: "comment_insert.php",
            data: dataString,
            cache: false,
            success: function (Message) {
            $('#Comments').html(Message);
            $('#Comments').fadeIn('slow').html(comment);        
            alert(Message);     
            }
        });
    }

    return false;
}

是否有任何理由无法从他们的个人资料中获取用户的姓名和 ID?

4

1 回答 1

1

如果我猜对了,您没有将用户名和 ID 传递给 PHP 脚本

function Comment(_Name,_ID) {
    var comment = $('#comment').val();

    // compose your post data like this instead of a string
    var data = {
        'comment': comment,
        'username': _Name,
        'id' : _ID 
    }

    if (comment.length < 1) {
        alert('You Must Enter A Comment!');
    } else {
        $.ajax({
            type: "POST",
            url: "comment_insert.php",
            data: data,
            cache: false,
            success: function (Message) {
                $('#Comments').html(Message);
                $('#Comments').fadeIn('slow').html(comment);        
                alert(Message);     
            }
        });
    }

    return false;
}
于 2013-06-09T23:18:05.717 回答