php登录页面session存储问题
我是这样写的,为什么存不上session啊,管理页面session读取不到session的值<?phpsession_start();$id=$_POST['id'];$...
我是这样写的,为什么存不上session啊,管理页面session读取不到session的值
<?php
session_start();
$id=$_POST['id'];
$password=$_POST['password'];
//链接数据库
$conn=mysql_connect("localhost","root","");
if(!$conn){
die("链接失败".mysql_errno());
}
//设置数据库编码方式
mysql_query("set names utf8",$conn) or die(mysql_errno());
//选择数据库
mysql_select_db("empmanage",$conn) or die(mysql_errno());
//发送语句进行验证
$res=mysql_query($sql,$conn);
if($row=mysql_fetch_assoc($res)){
if($row['password']==md5($password)){
$_SESSION['login_status']=1;
header("Location:empmanage.php");
exit();
}
}else{
header("Location:login.php?errno=1");
}
?>
管理页面
<html><?php
session_start();
if(!isset($_SESSION['login_status'])){
header("Location:login.php?errno=2");
}
else
echo"<font color=red size=5>恭喜你登录成功,你是合法用户,成功跳转到管理页面</font>";
?>
</p>
</html> 展开
<?php
session_start();
$id=$_POST['id'];
$password=$_POST['password'];
//链接数据库
$conn=mysql_connect("localhost","root","");
if(!$conn){
die("链接失败".mysql_errno());
}
//设置数据库编码方式
mysql_query("set names utf8",$conn) or die(mysql_errno());
//选择数据库
mysql_select_db("empmanage",$conn) or die(mysql_errno());
//发送语句进行验证
$res=mysql_query($sql,$conn);
if($row=mysql_fetch_assoc($res)){
if($row['password']==md5($password)){
$_SESSION['login_status']=1;
header("Location:empmanage.php");
exit();
}
}else{
header("Location:login.php?errno=1");
}
?>
管理页面
<html><?php
session_start();
if(!isset($_SESSION['login_status'])){
header("Location:login.php?errno=2");
}
else
echo"<font color=red size=5>恭喜你登录成功,你是合法用户,成功跳转到管理页面</font>";
?>
</p>
</html> 展开
展开全部
你sql语句都没有写,就直接执行了
$res=mysql_query($sql,$conn);
$sql 是不存在的,所以 $_SESSION['login_status']=1; 没有被赋值成功
应该添加查询操作 $sql = “SELECT * FORM `table`........” 查询操作
望采纳 Thx
$res=mysql_query($sql,$conn);
$sql 是不存在的,所以 $_SESSION['login_status']=1; 没有被赋值成功
应该添加查询操作 $sql = “SELECT * FORM `table`........” 查询操作
望采纳 Thx
更多追问追答
追问
$sql不存在,和 $_SESSION['login_status']=1没有赋值成功有什么关系,我新手,真的不是很明白是为什么,请详细解答一下,谢谢。
追答
$res=mysql_query($sql,$conn); 中的 $sql 语句你没有写,就是到数据库验证这条sql 语句,
发送语句进行验证, 你语句都没发送什么验证呢
if($row=mysql_fetch_assoc($res)){
if($row['password']==md5($password)){
$_SESSION['login_status']=1;
}
}
这个是IF 语句 ,没有查询到有值,肯定不会执行上面的代码,没有执行上面的代码
$_SESSION['login_status']=1; 怎么可能被赋值成功呢。
2014-09-02
展开全部
因为你根本就没有写入
原因出在:
if($row=mysql_fetch_assoc($res)){这句
=号是赋值运算
==
!=
===
!==这些才是比较运算!
if语句只能有比较运算, 不能有赋值运算!
sql语句也没看见
原因出在:
if($row=mysql_fetch_assoc($res)){这句
=号是赋值运算
==
!=
===
!==这些才是比较运算!
if语句只能有比较运算, 不能有赋值运算!
sql语句也没看见
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询