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 に答える