0

一直在尝试使用 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>
4

2 回答 2

1

尝试用$GET_andPOST_替换$_GETand$_POST

此外,您的字段名称为空,添加name="userName"name="message"您的 textarea HTML 标签

于 2013-05-17T13:26:27.400 回答
0

您忘记了文本区域中的名称。所以 $userName 是空的。

于 2013-05-17T13:25:10.193 回答