2011-08-09 7 views
0

PHPとjQueryを使ってajaxで登録フォームを作成しています。各フィールドはjquery/ajaxを介してPHPバックエンドに検証されます。フォームに記入したら、すべての登録データをajax経由でPHPバックエンドに送ってMySQLに提出したいと思います。PHP/jqueryを使用した簡単なサンプルを探しているJSONを初めて使う

誰かが私によく知られていないJSONの使用をお勧めします。 OOPは依然として私にとっては大変エイリアンであり、私は手続き型設計に精通しています。

ここでは、例としていくつかのコードを紹介します。

:私の登録フォームは、(私は以下の概説私の質問から気を取られないようにしてくださいかかわらず、)私は(電子メール、フルネーム、charactername、パスワード)を提出したいと思い四つの値

のjQueryのビットを持っています

$('#fullname_field').blur(function(){ 
     //alert('test'); 
     var fullname = $('#fullname_field').val(); 

      $.ajax({ 
      url: "register_backend.php", 
      type: 'POST', 
      data: 'fullname=' + fullname, 

       success: function(result) { 
       //alert("a success"); 
       //alert(result); 
       $('#fullname_status_return').empty(); 
       $('#fullname_status_return').append(result); 

       } 
      }); 

そして、PHPのバックエンドに対応するコード:

if (filter_has_var(INPUT_POST, "fullname")) { 
    $fullname = mysql_real_escape_string(filter_input(INPUT_POST,'fullname')); 
    $testvalue = $fullname; 
    $shorttest = $fullname; 
    $denychars = stripslashes($fullname); 
} 
if (strlen($shorttest) < '5') 
{ 
$echo "This field is too short."; 

} else { 
////////// end short test 
////////// if string is not too short, it runs the rest of the code, otherwise this is  all it runs 


$result = mysql_query("SELECT * FROM deniednames WHERE deniedname = '$testvalue'",$db); 
if (!$result) 
die(mysql_error()); 

$rowcheck = mysql_num_rows($result); 
if ($rowcheck > '0') { 
    echo "This name is forbidden, please choose another."; 
} 
} 

私の質問はこれです:どのように私はすべて送信することができ、ユーザーはすべてのフィールドを記入し、投稿ボタンを押したたとき のフィールドのPHP、およびどのようにc PHPを傍受し、それを有効なデータにして、検証してからdbに投げ込めますか?

JSONを使用してこれらの値を取得する方法、逆にJSONに注入する方法、そのJSONをPHPバックエンドに提供する方法、PHPコードを取得する方法が不明ですJSON入力を受け入れます。

私はJSONのイントロと情報をウェブ上に流しましたが、私はそれを得ていないので、いくつかの啓発のために非常に感謝しています。

(ここでは、それは、生きている:http://www.dixieandtheninjas.net/dynasties/register.php

+0

PHPは、データを「傍受する」ことで、あなたの問題の中でも最小限の問題になります。 PHPのURLでAJAX呼び出しを指している場合、phpは自動的にjavascriptが送信するデータを取得します。線に沿って –

答えて

1

JSONオブジェクトを示すためだけの方法です。 JSでは、あなたが(それのような任意のか)とPHPで$アヤックスのjQueryの機能をPHPにその「送信」することができます

var user = {name: 'jeremy'} 

のように、ただで{と}それを宣言することで、オブジェクトリテラルを作成することができますそれを通常の$ _POSTまたは$ _GET配列として受け取ることができます。

jQueryを使用して、入力から値をフェッチし、データ配列に入れることができます。 jQueryとajaxの詳細は、http://api.jquery.com/jQuery.ajax/をご覧ください。 PHPからJSONでレスポンスを送信したい場合は、配列に対してjson_encodeを呼び出し、それをエコーバックすることができます。

これは役に立ちますか?

+0

詳細は「JSONは、平文の文字列としてのJavaScriptデータ構造を表現するための方法です」。 –

+0

はい、あなたは正しいです。明確化のためにありがとう:) – Pelshoff

0

jQueryフォームプラグインの使用をお勧めします。私はこれを使いました:http://malsup.com/jquery/form/

$('#uploadForm').ajaxForm({ 
    function() { 
    alert ('Form submitted') ; 
    } 
}); 

それは同様にJSONをサポートし、いくつかのコールバックと設定オプション:フォームを送信

はその後のようなシンプルな呼び出しです。しかし、私はあなたの場合、標準形式のエンコーディングを使うことで逃げることができると思います。