使用jQuery、Ajax和PHP进行登录检查

使用jQuery、Ajax和PHP进行登录检查,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,在检查用户的登录详细信息时,我一直试图了解jQuery是如何工作的。我创建了以下页面: php数据库连接 signin.html登录表单 check.php登录检查-MySQL选择 myscript.jsjQuery 签署表格: check.php 一切正常。唯一的问题是数据没有被发布$_POST[]接收空值,即使我正在输入值 请帮助。更改表单操作 <form id="myForm" action="login.php" method="post"> 到 改变形式行动 <fo

在检查用户的登录详细信息时,我一直试图了解jQuery是如何工作的。我创建了以下页面:

php数据库连接 signin.html登录表单 check.php登录检查-MySQL选择 myscript.jsjQuery 签署表格: check.php 一切正常。唯一的问题是数据没有被发布$_POST[]接收空值,即使我正在输入值

请帮助。

更改表单操作

<form id="myForm" action="login.php" method="post">

改变形式行动

<form id="myForm" action="login.php" method="post">


您应该转义这些输入。您永远不能信任用户输入

<?php
$name = mysqli_real_escape_string($_POST['emailid']);
$password = mysqli_real_escape_string($_POST['password']);
?>
请记住,您很可能需要包括活动数据库连接


您应该发布到正确的文件,在表单中,您需要将操作从login.php更改为check.php,您应该转义这些输入。您永远不能信任用户输入

<?php
$name = mysqli_real_escape_string($_POST['emailid']);
$password = mysqli_real_escape_string($_POST['password']);
?>
请记住,您很可能需要包括活动数据库连接


您应该发布到正确的文件中,在您的表单中,您需要将操作从login.php更改为check.php。php更改了代码,现在可以工作了。谢谢你的意见

我发布了错误的数据

  $(document).ready(function (){
  $("button#submit").click(function (){
        alert("hi");
        e = $("#email").val();
        p = $("#pass").val();
        if($("#email").val()==""||$("#pass").val()=="")
            $("div#ack").html("please enter email and pass");
        else
            $.post( $("#myForm").attr("action"), 
                    //$("#myForm :input").serializeArray(),
                    {emailid: e, password: p},
                    function(data){
                        $("div#ack").html(data);
                    });
        $("#myForm").submit( function(){
            return false;
        });
     });
});

更改了代码,现在可以工作了。谢谢你的意见

我发布了错误的数据

  $(document).ready(function (){
  $("button#submit").click(function (){
        alert("hi");
        e = $("#email").val();
        p = $("#pass").val();
        if($("#email").val()==""||$("#pass").val()=="")
            $("div#ack").html("please enter email and pass");
        else
            $.post( $("#myForm").attr("action"), 
                    //$("#myForm :input").serializeArray(),
                    {emailid: e, password: p},
                    function(data){
                        $("div#ack").html(data);
                    });
        $("#myForm").submit( function(){
            return false;
        });
     });
});
在表单标签中放置action=javascript:void0,一切都很好


在表单标记中放置action=javascript:void0,一切都很好

使用$myForm:input检查您发送的数据。serializeArray是否真的是您期望的数据?尝试使用ajax这将是检查登录的更好方法。在运行前学会走路。使用$myForm:input检查您发送的数据。serializeArray是这真的是你所期望的吗?试着使用ajax来实现这一点,这将是检查登录的更好方式。在运行之前学会走路。哦!我只是为了简单起见才更改了action文件的名称。没有小错误。@RiteshA尝试在开始时简单地回显任何字符串,以确定它是否真的提交检查。php解决了问题。把错误也贴出来了。从邮件发送错误的数据。哦!我只是为了简单起见才更改了action文件的名称。没有小错误。@RiteshA尝试在开始时简单地回显任何字符串,以确定它是否真的提交检查。php解决了问题。把错误也贴出来了。从邮件中发送了错误的数据。是的!我现在已经把它和服务器端验证一起包括进去了。它现在正在工作。我发布了错误的内容。emailid:e,password:p完成了上次评论中解释的工作。是的!我现在已经把它和服务器端验证一起包括进去了。它现在正在工作。我发布了错误的内容。emailid:e,密码:p完成了上一条评论中解释的工作。示例:用户名密码示例:用户名密码
  $(document).ready(function (){
  $("button#submit").click(function (){
        alert("hi");
        e = $("#email").val();
        p = $("#pass").val();
        if($("#email").val()==""||$("#pass").val()=="")
            $("div#ack").html("please enter email and pass");
        else
            $.post( $("#myForm").attr("action"), 
                    //$("#myForm :input").serializeArray(),
                    {emailid: e, password: p},
                    function(data){
                        $("div#ack").html(data);
                    });
        $("#myForm").submit( function(){
            return false;
        });
     });
});