Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON新手,寻找PHP/jquery的简单示例_Php_Jquery_Ajax_Json - Fatal编程技术网

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

JSON新手,寻找PHP/jquery的简单示例,php,jquery,ajax,json,Php,Jquery,Ajax,Json,我正在使用PHP和jquery以及ajax创建一个注册表单。每个字段都通过jquery/ajax到PHP后端进行验证。填写完表单后,我希望通过ajax将所有注册数据发送到PHP后端并提交到MySQL 有人建议使用JSON,我对此并不熟悉。OOP在很大程度上对我来说还是陌生的,我熟悉过程设计 这里有一些代码剪贴,例如。我的注册表有四个我想提交的值(email、fullname、charactername、password)(尽管请不要从我的问题中分心,我在下面概述了我的问题) 一点jquery:

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

有人建议使用JSON,我对此并不熟悉。OOP在很大程度上对我来说还是陌生的,我熟悉过程设计

这里有一些代码剪贴,例如。我的注册表有四个我想提交的值(email、fullname、charactername、password)(尽管请不要从我的问题中分心,我在下面概述了我的问题)

一点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.";
}
}
if(过滤器有变量(输入后,“全名”)){
$fullname=mysql\u real\u escape\u字符串(filter\u input(input\u POST,'fullname'));
$testvalue=$fullname;
$shorttest=$fullname;
$denychars=stripslashes($fullname);
}
如果(strlen($shorttest)<'5')
{
$echo“此字段太短。”;
}否则{
//////////短端试验
//////////如果字符串不太短,它将运行代码的其余部分,否则只运行这部分
$result=mysql_查询(“从deniedname中选择*,其中deniedname='$testvalue'”,$db);
如果(!$result)
die(mysql_error());
$rowcheck=mysql\u num\u行($result);
如果($rowcheck>“0”){
echo“禁止使用此名称,请选择其他名称。”;
}
}
我的问题是: 当用户填写完所有字段并点击submit按钮时,我如何将所有字段发送到PHP,PHP如何拦截这些字段并将其转换为可用数据,我可以验证这些数据,然后将其放入数据库

进一步细分,我不确定如何使用JSON捕获这些值,或者反过来,将它们注入JSON,然后将JSON提供给PHP后端,然后让PHP代码接受JSON输入

我已经在网络上介绍了JSON介绍和信息,但我只是不明白,如果能得到一些启示,我将不胜感激


(这里是live:)

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

var user = {name: 'jeremy'}
您可以使用jQuery的$.ajax函数(或任何类似函数)将其“发送”到PHP,在PHP中,您可以将其作为普通的$\u POST或$\u GET数组接收

您可以使用jQuery从输入获取值并将其放入数据数组中。在此处找到有关jQuery和ajax的更多信息:。如果希望从PHP发送JSON响应,可以在数组上调用JSON_encode并将其返回


这有帮助吗?

我建议使用jQuery表单插件。我用过这个:

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

$('#uploadForm').ajaxForm({
  function () {
    alert ('Form submitted') ;
  }
});
它还支持JSON、几个回调和配置选项。但是,我认为在您的情况下,使用标准的表单编码是可以避免的。

PHP“拦截”数据将是您遇到的最小问题。如果将AJAX调用指向PHP url,PHP将自动获取javascript发送的任何数据。