Php 使用mysqli_查询进行json表单验证

Php 使用mysqli_查询进行json表单验证,php,javascript,jquery,mysql,json,Php,Javascript,Jquery,Mysql,Json,我第一次尝试用json验证表单。除了今天读到的以外,我对所有的细节都不太清楚。不幸的是,我尝试做什么的例子并不多。也就是说,我需要检查多个输入字段以检查它们是否在mysql数据库中。因此,我需要将它们发送到php页面,该页面将对它们进行检查,如果它发现一个不在数据库中,foreach循环将中断,并且该变量值可以用于类似$value.“不是已注册的电子邮件”的警报中。我不知道如何将这些值返回到我的html表单页面。那我就给你看看我有什么。可能有一百万个错误。如果您能给予帮助,我们将不胜感激 在表单

我第一次尝试用json验证表单。除了今天读到的以外,我对所有的细节都不太清楚。不幸的是,我尝试做什么的例子并不多。也就是说,我需要检查多个输入字段以检查它们是否在mysql数据库中。因此,我需要将它们发送到php页面,该页面将对它们进行检查,如果它发现一个不在数据库中,foreach循环将中断,并且该变量值可以用于类似
$value.“不是已注册的电子邮件”的警报中。我不知道如何将这些值返回到我的html表单页面。那我就给你看看我有什么。可能有一百万个错误。如果您能给予帮助,我们将不胜感激

在表单页面上:

<script>
$(function(){
    $("#send").click(function(e){
       e.preventDefault();  

        $.post("ajax2.php", $("#myForm").serialize(),
        function(data){
            if(data.check == '2'){
            alert(data.message);
            }
        }, "json");    
    });
});
</script>

<html>
  <form name="myForm" action="ajax.html" method="post" enctype="multipart/form-data">
    <input id="file" name="uploaded[]" type="file" multiple /><br>
    title: <input name="title" id ="title"><br>
    box1:  <input type="text" id = "a" name="a"><br>
    box2:  <input type="text" id = "b" name="b"><br>
    box3:  <input type="text" id = "c" name="c">
    <input type="submit" name="send" id="send" value="send" ">
  </form>
</html>

$(函数(){
$(“#发送”)。单击(功能(e){
e、 预防默认值();
$.post(“ajax2.php”,$(“#myForm”).serialize(),
功能(数据){
如果(data.check='2'){
警报(数据、消息);
}
}“json”);
});
});

标题:
框1:
框2:
框3:
您需要将它们作为json字符串回显:

然后ajax成功处理程序/回调需要将该字符串解码为js对象


讨论如何解码JSON。奇怪的是,Javascript对象表示法在其命名语言中似乎没有一个好的本机解码器。(如果有,请纠正我!)

一个小提示:很高兴看到您使用mysqli,但您应该使用准备好的语句,因为您现在很容易受到mysql注入的攻击。哦,是的,我会确保最终产品具备这一点。谢谢你的提示。
<?php
$db = new mysqli('localhost', 'root', 'oreo', 'test');
foreach($_POST as $key=> $for) {

 if(!empty($for) && $key != 'send' && $key != 'title')  {

    $usercheck =  "SELECT email FROM users WHERE email = '$for'";
    $usercheck = $db->query($usercheck);

 if($usercheck->num_rows > 0) {$check="1"; continue;}
 if($usercheck->num_rows == 0){$check="2"; break;}
  }
}

 if($check == "2") {

   $message = $for." is not a regestered email";
   echo json_encode($message);
  }
   $return_arr["check"] = $check;
   $return_arr["message"] = $message;

   echo $return_json;