PHP session限制页面访问的问题
login.php里的一段代码<?phpif(@$_POST["submit"]){$username=htmlspecialchars($_POST["username...
login.php 里的一段代码
<?php
if(@$_POST["submit"]){
$username=htmlspecialchars($_POST["username"]);
$password=md5($_POST["password"]);
$sql="SELECT * FROM `admin` WHERE `username`='".$username."' and `password`='".$password."'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION["azt"]=1;
$_SESSION["username"]=$username;
header('Location: index.php');
}else{
echo "账号或密码错误,请重新输入";
}
}
?>
index.php 上面的代码
<?php @session_start;?>
<?php require('../conn.php')?>
<?php
if($_SESSION["username"]==FALSE){
header('Location: login.php');
}
?>
从本地测试,登录以后,可以正常的转到index.php,但是上传到服务器上之后,输入正确以后还是停留在login.php上, 后来我发现是点登录以后index.php里的$_SESSION["username"] 这个变量始终是FALSE,所以会转到login.php上。为什么呢。本地测试没问题啊。 展开
<?php
if(@$_POST["submit"]){
$username=htmlspecialchars($_POST["username"]);
$password=md5($_POST["password"]);
$sql="SELECT * FROM `admin` WHERE `username`='".$username."' and `password`='".$password."'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION["azt"]=1;
$_SESSION["username"]=$username;
header('Location: index.php');
}else{
echo "账号或密码错误,请重新输入";
}
}
?>
index.php 上面的代码
<?php @session_start;?>
<?php require('../conn.php')?>
<?php
if($_SESSION["username"]==FALSE){
header('Location: login.php');
}
?>
从本地测试,登录以后,可以正常的转到index.php,但是上传到服务器上之后,输入正确以后还是停留在login.php上, 后来我发现是点登录以后index.php里的$_SESSION["username"] 这个变量始终是FALSE,所以会转到login.php上。为什么呢。本地测试没问题啊。 展开
1个回答
展开全部
使用session首先要开启,用session_start();这是个函数,必须在输出之前,每个文件的第一句,可以不是第一句但必须是输出之前,你这俩文件都没有开启函数,第二个问题,查询sql语句时,注意mysql_query("set name utf8");否则编码错误
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询