2013-05-17 6 views
0

Пробовали сделать гостевую книгу с jquery, ajax и php, я смог запечатать и распечатать все в базе данных, но по какой-то причине я не могу сохранить то, что я пишу в базе данных, а затем распечатать это как сообщение в гостевой книге, если кто-то может понять, что я делаю неправильно, я был бы признателен! (Сейчас я только пытаюсь получить имя пользователя в базе данных)гостевая книга ajax php jquery

это 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"; 
    } 

} 

и тис является 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

Echo имя пользователя, нет ничего в нем. Он также должен иметь «имя» – Matheno

+0

'url:" server.php? Action = newPost ",' вы уверены, что это правильный путь к файлу, к которому вы пытаетесь получить доступ? 'server.php' может находиться в другом месте. –

+0

он находится в той же папке, что и все другие файлы ... – spovell

ответ

0

Вы забыли название в своем текстовом поле. Таким образом, $ userName пуст.

1

Попробуйте заменить $GET_ и POST_ с $_GET и $_POST

Также ваши имена полей пустым, добавьте name="userName" и name="message" к вашим HTML-теги текстовой области

+0

спасибо за это, но я все равно получаю сообщение Не могу подключиться к серверу каждый раз ??? – spovell

+0

если я только заполняю поле имени, я получаю что-то пошло не так, пытаясь сохранить! вместо этого появляется? – spovell

+0

Попробуйте ссылаться на этот ответ [link] (http://stackoverflow.com/a/6960586/488074) или любой другой запрос AJAX для построения вашего запроса. Мне не нравится эта деталь «data: {имя_пользователя: имя_пользователя}», в противном случае распечатывайте сообщения, исходящие из (xhr, error) – vonUbisch

Смежные вопросы