2012-03-11 17 views
1

を送信することはできませんPHP/Ajaxのは、私はアヤックスに問題があるとphp.Iは、次のコードを持っている価値

$("form").submit(function() { 
var poruka = $("#poruka").val(); 
    $.ajax({ 
     type: "GET", 
     url: "/ajax/gather/send/"+ poruka + "/'.$id.'", 
     success: function(){ 
     loaduj('.$id.'); 
     alert("Your message is "+poruka); 
     }, 
     error: function(){ 
      alert("fail"); 
     } 
    }); 
}); 

「porukaは」メッセージであり、それが形

<form action='javascript:;'> 
<input type='text' name='poruka' id='poruka' placeholder='Poruka..' style='width:100%;'> 
<input type='button' name='button' hidden> 
</form> 

から撮影だと私はしようとすると、

PHPコード:

$text = $_POST['text']; 
$id = $_POST['id']; 
if($text != ""){ 
    mysql_query("INSERT INTO messages (text,id2) VALUES ('$text','$id')") or  die(mysql_error()); 
} 
それはデータベースにそれを挿入しませんPHPに送信します

それは動作しません。どうすれば修正できますか?ありがとう

答えて

2

GETではなくPOSTを使用します。あなたのAJAXフォームでは、GETを使用しますが、PHPでは$_POST superglobalを使用します。

PHPコードで$_GETに変更$_POST、それが動作するはずです:)また

あなたがタグ内のメソッドを指定しない場合は、デフォルトではをGET です。経験から

、場合には、フォームからのデータがに/データベースMySQLのクエリの後

echo mysql_error(); 

を使用しても、ブラウザ上で開発ツールを開いて、中に検査に更新/書かれていない場合ネットワークパネル。あなたのF12がコーヒーをこぼしたために動作しない場合は、F12を使用し、CTRL + SHIFT + Iで開発者ツールを開くことができます。ネットワークパネルには、送信されるデータ、使用される方法、およびネットワーク通話のその他の詳細がすべて表示されます。また、そこにあなたのサーバーサイドスクリプトの応答を見ることができます。このスクリプトでは、エコーされたので、この場合はmysqlエラーメッセージが返されます。

+0

ああ、私はとても愚かです:Dありがとう – user1245311

+0

問題はない、願っています助けて! :) –

+0

私は7分で回答を受け入れるでしょう – user1245311

0

通常の取引が最初の問題を見つけることです、そしてポスト:

  • フォームJS
  • を呼び出していない
  • JSが要求
  • PHP得ていない変数

SQL injectionをしていません検出された

+0

SQLインジェクションはこの時点では当てはまりません。彼はちょうど簡単なコードが働くことを望んでいて、単純なことさえも期待通りに機能しないときには、完全な機能を実装するのではありません。 –

+0

私は作者のところで話すことができません - 彼は何をしますか、あなたがそれを開くことができる唯一の人である密封された箱に保管するためのコードを書いてはいけません。指定したSQLに問題がある可能性があります。単なる警告です。 –

+0

それは良いですが、私はあなたの答えはここに質問に合っていないと信じて:) –

関連する問題