JSON的新手,寻找PHP / jquery的简单示例

时间:2011-08-09 15:23:21

标签: php jquery ajax json

我正在使用PHP创建一个注册表单,并使用ajax创建jquery。每个字段都通过jquery / ajax验证到PHP后端。表格填写完毕后,我希望将所有通过ajax发送到PHP后端的注册数据提交给MySQL。

有人推荐使用我不熟悉的JSON。 OOP对我来说仍然很陌生,我对程序设计很熟悉。

以下是一些代码剪辑,例如清酒。我的注册表有四个值,我想提交(电子邮件,全名,特征,密码)(但请不要分心我的问题,我在下面概述)

有点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,以及PHP如何拦截它并将其转换为可以验证的可用数据然后扔进我的数据库?

进一步打破这一点,我不确定如何使用JSON捕获这些值,或者相​​反,将它们注入JSON,然后将该JSON提供给PHP后端,然后获取PHP代码以接受JSON输入。

我在网上倾注了JSON的介绍和信息,但我只是没有得到它,并且非常感谢一些启发。

(这里是,live:http://www.dixieandtheninjas.net/dynasties/register.php

2 个答案:

答案 0 :(得分:1)

JSON只是表示对象的一种方式。在JS中,你可以通过用{和}声明它来创建一个对象文字,比如

var user = {name: 'jeremy'}

您可以使用jQuery的$ .ajax函数(或任何类似函数)将其“发送”给PHP,在PHP中,您可以将其作为普通的$ _POST或$ _GET数组接收。

您可以使用jQuery从输入中获取值并将它们放入数据数组中。在这里找到关于jQuery和ajax的更多信息:http://api.jquery.com/jQuery.ajax/。如果要从PHP发送JSON响应,可以在数组上调用json_encode并回显它。

这有帮助吗?

答案 1 :(得分:0)

我建议使用jQuery表单插件。我使用过这个:http://malsup.com/jquery/form/

提交表单是一个简单的调用,例如:

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

它也支持JSON,以及一些回调和配置选项。但是,我认为在您的情况下,您可以使用标准表单编码。