ajax:登录表单不起作用

时间:2015-02-27 10:21:04

标签: jquery ajax login

我正在尝试使用ajax处理我的登录表单,我有一个html表单和一些ajax脚本,它将数据发布到我的login.php页面并检查用户身份验证。然后,如果用户已通过身份验证,则会将其重定向到仪表板,否则如果用户未通过身份验证,则需要显示警报消息。

由于某种原因,这不起作用。请有人告诉我我哪里出错了。提前谢谢。

HTML:

 <div class="home_column">
<div class="login_form">
<form name="login" id="login"> 
<h21>Username</h21><br/>
<input type="text" class="login_form_front" id="myusername" name="myusername"><br/>
<h21>Password</h21><br/>
<input type="password" class="login_form_front" autocomplete="off"  id="mypassword" name="mypassword">
<br/>
<input type="submit" class="buttons_login" value="Login" id="submit" name="submit">
</form> 
</div>
</div>

的Ajax:

    <script type="text/javascript">
             $(document).ready(function(){
             $("#submit").click(function(){

                    var sel_stud2 = $('#myusername').val();
                    var sel_stud1 = $('#mypassword').val();
//alert('You picked: ' + sel_stud);

                    $.ajax({
                        type: "POST",
                        url: "include/check_log.php",
                        data: {theOption2: sel_stud2, theOption3: sel_stud1}, 
                        success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
      alert("Login failed.");                        
                   } //END success fn
                    }); //END $.ajax
                }); //END dropdown change event
            }); //END document.ready
        </script>

我的login.php页面:

<?php
session_start();
include("config.php");

$tbl_name="internal_users";  

//Get value posted in by ajax
$myusername = $_POST['theOption2'];
$mypassword = $_POST['theOption3'];


$sql = "select * from $tbl_name where user_name = '$myusername' and password = '$mypassword'";
$result = mysql_query($sql) or die( mysql_error() );
$row = mysql_fetch_assoc($result);

if($row) {
header("location:../dashboard.php")
}else{

} ?>

1 个答案:

答案 0 :(得分:0)

不要忘记header()的cal不会改变你网站的网址。只会转发AJAX电话!

否则代码似乎没问题。但正如海基金所说,请看http://php.net/manual/de/function.mysql-real-escape-string.php

检查您的SQL语句是否运行。在else语句中执行一些输出并在jquery的success方法中捕获它而不是此Login failed消息:

alert(whatigot);