【发布时间】:2016-02-17 03:49:14
【问题描述】:
我有一个登录页面。我输入了用户名和密码,然后通过 ajax 提交了我的页面。
在 check.php 中验证 index.php 中的值。
我尝试在 check.php 中设置一个 SESSION['email'] 变量,但在成功登录该站点后无法在 HOME.php 中访问它。
<?php
session_start();
?>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
function output(x) {
x=x.trim();
if(x=="YES") {
$(location).attr("href","HOME.php");
} else {
alert("login failed");
}
}
$(function() {
$(".submit").click(function() {
var Username = $("#txtUserName").val();
var Password = $("#txtPssword").val();
var dataString = 'Username='+ Username+'&Password='+Password;
$.ajax({
type: "POST",
url: "Check.php",
data: dataString,
success: function(response){
output(response);
}
});
return false;
});
});
</script>
</head>
<body>
<form method="post" name="login" id="form">
Username <input type="email" id ="txtUserName" />
Password <input type="password" id="txtPssword" />
<button type="submit" class="submit">Sign In</button>
</form>
</body>
</html>
//Check.php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST['Username'];
$password = $_POST['Password'];
if(('ADMIN'==$email)&&('PASS'==$password)) {
$_SESSION['email']=$email; // email id stored in a session variable
echo "YES";
} else {
echo "NO";
}
}
?>
//HOME.php
<?php
session_start();
echo $_SESSION['email']; // Here session values is losted.
?>
【问题讨论】:
-
你能贴出 HOME.php 的代码吗?
-
在
HOME.php中也添加session_start();在顶部<?php标记之后 -
你把
session_start();放在home.php的顶部了吗? -
--------- HOME.php ---------
-
更改 $SESSION['email'];到 $_SESSION['email'];
标签: php jquery html ajax session