为了账号安全,请及时绑定邮箱和手机立即绑定

session控制管理员登陆了才能访问后台,如果没登陆则跳转到login界面

session控制管理员登陆了才能访问后台,如果没登陆则跳转到login界面

PHP
慕粉1028279176 2017-05-07 23:29:47
我有三个界面,一个login,一个dologin,还有一个管理员界面bgControl,login输入账号密码,然后dologin连接数据库判断账号密码是否正确,正确跳转bgControl界面,否则跳回login界面重新输入账号密码。。在dologin界面里面,如果账号密码正确的话,我把用户名赋值到session中:$_SESSION['adminName']=$username;然后在bgControl界面头上写上:session_start(); if($_SESSION['adminName'] == ""){     echo "请输入管理员账号"; }我在浏览器中直接localhost/bgControl进行查看bgControl界面,他会报错,说adminName没有定义请教各位,这样的话要怎么设置session啊?
查看完整描述

3 回答

?
周杨_

TA贡献12条经验 获得超2个赞

会报错的原因是 因为你未设置, 有两张解决方法 1用 empty 判断是否为空 2使用isset 判断是否设置该变量 当然我推荐使用 empty 这样就不会报错
查看完整回答
1 反对 回复 2017-05-15
?
流年酷

TA贡献3条经验 获得超3个赞

if(!$_SESSION['adminName']){
////....
}
查看完整回答
1 反对 回复 2017-05-08
?
慕粉1028279176

TA贡献2条经验 获得超0个赞

//img1.sycdn.imooc.com//590fe86e00017d3907430622.jpg

//img1.sycdn.imooc.com//590fe86f0001ccb810900633.jpg

我上传了我写的代码,麻烦帮忙看一下哈。。谢谢

查看完整回答
反对 回复 2017-05-08
?
子期不遇

TA贡献150条经验 获得超35个赞

dologin.php里面有木有开启session?

查看完整回答
反对 回复 2017-05-08
  • 子期不遇
    子期不遇
    session_start();要放在最前面放在<?php后面一行,或者放在header()的后面一行 不能等需要才开启,session_start()前面不可以有任何的php代码,除了我上面说的两行以外。
  • 慕粉1028279176
    慕粉1028279176
    我dologin里面的代码:<?php header("Content-type:text/html;charset=utf-8"); session_start();//session启动 require_once '../lib/common.func.php'; require_once '../lib/mysqli.func.php'; $username=$_POST['username']; $username=addslashes($username); $verify=$_POST['verify']; $verify1=$_SESSION['verify']; if($verify==$verify1){ $username = $_POST['username']; $username = $mysqli->escape_string($username); //转译md5,数据库的password字段要很长,不然会截断一部分转译出来的数据,造成密码错误 $password= md5($_POST['password']); $sql="SELECT * FROM users WHERE username=? AND password=?"; $mysqli_stmt=$mysqli->prepare($sql); //字符串ss,整形i,浮点d $mysqli_stmt->bind_param('ss',$username,$password); if($mysqli_stmt->execute()){ $mysqli_stmt->store_result(); if($mysqli_stmt->num_rows>0){ $_SESSION['adminName']=$username; alertMes("登陆成功","bgControl.php"); }else{ alertMes("登陆失败","login.php"); } } 我在bgControl.php里面的代码: <?php session_start(); require_once '../lib/common.func.php'; if($_SESSION['adminName'] == ""){ alertMes("请先登录管理员账号","login.php"); } ?> 很奇怪,我觉得应该是我写法上哪里出了问题
  • 子期不遇
    子期不遇
    你的第七行什么意思?为什么又有一个$username = ...
  • 3 回答
  • 0 关注
  • 2939 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信