Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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
使用jQueryAjax和php的登录表单_Php_Ajax_Jquery_Modal Dialog - Fatal编程技术网

使用jQueryAjax和php的登录表单

使用jQueryAjax和php的登录表单,php,ajax,jquery,modal-dialog,Php,Ajax,Jquery,Modal Dialog,目标: 步骤1:在JQuery对话框中打开一个表单。用户输入用户名和密码,单击登录。 步骤2:Ajax将数据发送到服务器端脚本,在我的例子中是loginproc.php。 步骤3:使用loginproc验证登录。如果登录成功,用户将被重新发送到页面。 第4步:否则会将消息发送回对话框,并将其附加到对话框本身以及震动效果中 到目前为止,如果我使用“$”(“#admin form”).sumbit();”的话,第1步和第3步可以正常工作在关闭对话框之前。我不确定如何在日志中设置无效的登录文本。 代码

目标:
步骤1:在JQuery对话框中打开一个表单。用户输入用户名和密码,单击登录。 步骤2:Ajax将数据发送到服务器端脚本,在我的例子中是loginproc.php。
步骤3:使用loginproc验证登录。如果登录成功,用户将被重新发送到页面。
第4步:否则会将消息发送回对话框,并将其附加到对话框本身以及震动效果中

到目前为止,如果我使用“$”(“#admin form”).sumbit();”的话,第1步和第3步可以正常工作在关闭对话框之前。我不确定如何在日志中设置无效的登录文本。

代码:

请帮我解决这个问题

更新: 表格:

<form method="post" action="class/loginproc.php" id="admin_login">
<fieldset>
 <label for="name">Username</label>
<input type="text" name="user" id="name" class="text ui-widget-content ui-corner-all" />
 <label for="password">Password</label>
<input type="password" name="pass" id="password" value="" class="text ui-widget-content ui-corner-all" />
</fieldset>
</form>
解决方案: 多亏了“穆罕默德·阿迪尔”,我才明白了这一点。我不得不稍微改变他提供的解决方案,以获得适当的结果。因此,我将其发布在这里以供将来参考。
JQUERY

  if (bValid) {
     var data = $('#admin_login').serialize();
     $.ajax({
     url: "class/loginproc.php",
     type: "post",
     data: data,
     dataType: "json",
     success: function(data) {
      window.location = "admin.php";
     },
     error: function(data) {
       alert('invalid');
     }
   });
   $(this).dialog("close");
  }
Loginproc:

 if (bValid) {
 var data = $('#admin_login').serialize();
 $.ajax({
 url: "class/loginproc.php",
 type: "post",
 data: data,
 dataType: "json",
 success: function(data) {
 if (data.success) {
   window.location = "../admin.php";
 }
 else {
   alert('Invalid Login');
  }
 }
                });
                $(this).dialog("close");
            }
  $response = $utils->validate_user($username, $password, $type);
    if ($response == true) {
        echo true;
    } else {
        echo false;
    }
问候

种族灭绝\u恶作剧

如果您将方法和操作放在表单中,我认为如果使用Ajax,应该忽略这一点,因为如果不忽略,数据将不会异步发送。

因此,我不会重定向成功从logicproc.php登录的页面?我只返回true或false?是的,您需要从服务器返回true false,您无法从服务器重定向此,因为这是一个异步请求。我尝试应用它,但没有成功。当我点击loginCan时,它只是关闭对话框。你能看到你的php是否被调用吗?是的,我能在firebug中看到post值。上面写着“200OK 917ms jquery-1.9.1.js(第8526行)”
 if (bValid) {
    var data = $('#admin_login').serialize();                  
          $.ajax({
              url:"loginproc.php",
              type: "post",
              data : data,
              dataType:"text",
              success:function(data){
                  if(data == "true"){ 
                    window.location = "some location";
                  }
                 else{
                       // LOGIN FAILED
                 }
              }
           });
         $(this).dialog("close");
 }
  if (bValid) {
     var data = $('#admin_login').serialize();
     $.ajax({
     url: "class/loginproc.php",
     type: "post",
     data: data,
     dataType: "json",
     success: function(data) {
      window.location = "admin.php";
     },
     error: function(data) {
       alert('invalid');
     }
   });
   $(this).dialog("close");
  }
  $response = $utils->validate_user($username, $password, $type);
    if ($response == true) {
        echo true;
    } else {
        echo false;
    }
 if (bValid) {
    var data = $('#admin_login').serialize();                  
          $.ajax({
              url:"loginproc.php",
              type: "post",
              data : data,
              dataType:"text",
              success:function(data){
                  if(data == "true"){ 
                    window.location = "some location";
                  }
                 else{
                       // LOGIN FAILED
                 }
              }
           });
         $(this).dialog("close");
 }