我正在每个用户的墙上制作一个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;
}
是否有任何理由不能从他们的个人资料中获取用户的姓名和身份证明?
答案 0 :(得分: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;
}