一直尝试使用jquery,ajax和php制作留言簿,我已经能够在数据库中打印并打印出所有内容但由于某种原因我无法保存我在数据库中写入的内容然后将其打印为在留言簿上发帖,如果有人能看到我做错了什么我会很感激! (现在我只试图获取数据库中的用户名)
这是jquery:
$("#newPost").bind('click', function(){
var userName = $('#userName').val();
var message = $('#message').val();
$.ajax({
url: "server.php?action=newPost",
type: "POST",
data: {userName: userName},
success: function(data){
if(data == "true"){
alert(data);
$('#posts').prepend('<td>'+userName+'</td>');
$('#userName').val('');
}
else{
alert('Something went wrong while trying to save!');
}
},
error: function(xhr, error){
alert('Could not connect to server!');
}
});
});
这是server.php文件:
$db = mysqli_connect('localhost', 'username', 'password', 'my_database');
if(isset($GET_['action']) && $GET_['action'] == 'newPost'){
$userName = mysqli_real_escape_string($db, POST_['userName']);
if(mysqli_query($db, "INSERT INTO message (name) VALUES ('$userName')")){
echo "true";
}
else{
echo "false";
}
}
和tis是html表单:
<form action="#">
<p>Name:</p>
<textarea type="text" class="field" id="userName" rows="1" cols="20"></textarea><br/><br/>
<p>Meddelande:</p>
<textarea type="text" class="field" id="message" rows="3" cols="20"></textarea><br/><br/>
<input value="Send" class="button" type="button" id="newPost"></input><br/>
</form>
答案 0 :(得分:1)
尝试将$GET_
和POST_
替换为$_GET
和$_POST
此外,您的字段名称为空,将name="userName"
和name="message"
添加到您的textarea HTML标记
答案 1 :(得分:0)
你忘记了textarea中的名字。所以$ userName是空的。