日期:2014-05-16  浏览次数:20782 次

ajax 登录问题 - Web 开发 / Ajax
login.html

HTML code

<form action="" method="post">
    用户名: <input type="text" name="ad_user" id="ad_user" /><br />
    
    密码: <input type="password" name="ad_pass" id="ad_pass" /><br />
    
    <input type="submit" name="submit" id="btn" value="提交" />
</form>



JScript code

$(function () {
    FormEve()
})

function FormEve(){
    var $btn = $("#btn");
    var $ad_user = $("#ad_user")
    var $ad_pass = $("#ad_pass")
    
    $btn.click(function(){
        $.ajax({
           type: "POST",
           url: "login.php",
           data: "ad_user="+ $ad_user.val() +"&ad_pass="+ $ad_pass.val(),
           success: function(msg){
             alert( "Data Saved: " + msg );
           }
        });
    })
}




login.php
PHP code

<?php  
session_start();   


//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
header("Location:login.html");
exit;
}

//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$ad_user = htmlspecialchars($_POST['ad_user']);
$ad_pass = MD5($_POST['ad_pass']);

//数据库连接
include('conn.php');

//检测用户名及密码是否正确
$check_query = mysql_query("select adminid from admin where ad_user='$ad_user' and ad_pass='$ad_pass' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
$_SESSION['username'] = $ad_user;
$_SESSION['userid'] = $result['adminid'];
header("Location:index.php");
die('Could not connect: ' . mysql_error());
exit;
} else {
header("Location:login.html");
}

?>



index.php
PHP code

<?php  
session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
<title></title>
<link href="css/admin_dig.css" rel="stylesheet" type="text/css" />
<link href="css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
if(!isset($_SESSION['userid'])){
 header("Location:login.html");
 exit();
}
?>

<?php echo "".$_SESSION['username']."" ?>

<a href="login.php?action=logout">注销</a>

</body>
</html>



问题是跳不到 login.php 页面,一登录就报 非法访问, 这个用表单直接提交是没问题的,我是想试一下用 ajax 能不能实现,请各位看一下哪里出错了

------解决方案--------------------
data加一个submit
data:{ad_user:$ad_user.val(),ad_pass:$ad_pass.val(),submit:'submit'},