2011-08-09 51 views
0

我正在創建一個使用PHP和jQuery與ajax註冊表單。每個字段通過jQuery/ajax驗證到PHP後端。一旦表格全部填寫完畢,我希望通過ajax將所有註冊數據發送到PHP後端以提交給MySQL。JSON新手,尋找一個簡單的例子,用PHP/jquery

有人推薦使用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攔截,並將其轉換爲可用的數據,我可以驗證,然後將其放入我的數據庫?

打破了這一點,我不確定如何使用JSON來捕獲這些值,或者相​​反,將它們注入到JSON中,然後將該JSON提供給PHP後端,然後獲取PHP代碼接受JSON輸入。

我已經倒過JSON介紹和網絡上的信息,但我只是沒有得到它,並會非常感謝一些啓示。

(這裏是,住:http://www.dixieandtheninjas.net/dynasties/register.php

+0

PHP「截取」數據將是您遇到的最少問題。如果您將您的AJAX調用指向PHP網址,php將自動獲取您的JavaScript發送的任何數據。 –

回答

1

JSON只是表示對象的方式。在JS你可以只是{和}宣佈它創建一個對象字面一樣

var user = {name: 'jeremy'} 

可以「發送」,爲PHP與jQuery的$就功能(或任何類似的話)和PHP您可以將其作爲普通的$ _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,以及,幾回調和配置選項。但是,我認爲在你的情況下,你可以逃避使用標準格式編碼。

相關問題