一个登陆界面有3个ID(学生,教师,管理员),发送表单信息到login.php
在login.php中进行身份的判断,然后登录到不同界面。session在这之间要怎么使用,
一开始开启session会话,然后$_SESSION['login']=ID,
红色字体那语句是干嘛的?跳转到相应的页面之后,session该怎么用?有什么用?什么时候结束这个会话?
<?php
session_start();
include("config.php");//连接数据库
$username=$_POST[user];
$word=$_POST[password];
$userword=md5(trim($word));//MD5转换密码
$id=$_POST[uer_id];
if($id=="学生")
{
$result_psword=mysql_query("select S_PS from STUDENT where S_ID=$username"); if(!$result_psword)
{
echo "用户不存在,请先注册";
echo "<script>window.location.href='../regist.php';</script>";
exit;
}
else if($result_psword==$userword)
{
$_SESSION['login']='学生';
echo "<script>window.location.href='../student/student.php';</script>";
}
}
else if ($id=="教师")
{
$result1_psword=mysql_query("select T_PS from STUDENT where T_ID=$username");
if(!$result1_psword)
{
echo "权限不够或教师不存在";
echo "<script>window.location.href='../index.php';</script>";
exit;
}
else if ($result1_psword==$userword)
{
$_SESSION['login']='教师';
echo "<script>window.location.href='../teacher/teacher.php';</script>";
}
}
else if ($id=="管理员")
{
$result2_psword=mysql_query("select password from ADMIN where name=$username");
if(!$result2_psword)
{
echo "权限不够或管理员不存在";
echo "<script>window.location.href='../index.php';</script>";
exit;
}
else if ($result2_psword==$userword)
{
$_SESSION['login']='管理员';
echo "<script>window.location.href='../admin.php';</script>";
}
}
mysql_close($db);
?>

解决方案 »

  1.   

    用户填写的用户名及密码正确时,你不是要跳转吗?
    那么在跳转前,保存当前用户的信息,比如权限,ID。 就用类似这样 $_SESSION['login']=ID
    然后在其它页面需要了解当前登录的用户信息时,就用 $_SESSION['login'] 来取得ID
    http://www.w3school.com.cn/php/php_sessions.asp
      

  2.   

    $_SESSION['login'] //注册session变量。session该怎么用?有什么用?什么时候结束这个会话?
    session保存会话用的。当你退出时即可注销session。 多去看看手册。
      

  3.   

    成功进入student.php,在student.php中点击进入另一个页面a,在a页面需要session_start();
    在a页面点击返回到student.php时,会话依然存在吗?
      

  4.   

    session是服务器端的一个信息,客户在不同页面之间浏览时存在,所以可以用作登陆后的验证。当然你也可以用cookie来做,不过cookie是保存在客户端的,所以存在不安全因素