下面这段PHP后台登陆代码实现免登陆

a2392997875 2012-10-16 10:00:57
如果后台管理员帐号为admin,密码为123456请问下面这段代码如何实现免登陆,麻烦知道的大哥直接给代码谢谢了


<?php
class LoginAction extends BaseAction{
//默认操作
public function index(){
if ($_SESSION[C('USER_AUTH_KEY')]){
redirect("index.php?s=Admin-Index");
}
$this->display(APP_PATH.'/Public/admin/login.html');
}

//生成验证码
public function vcode(){
import("ORG.Util.Image");
Image::buildImageVerify();//6,0,'png',1,20,'verify'
}

//登录检测
public function check(){
if(empty($_POST['user_name'])){$this->error('帐号必须!');}
if(empty($_POST['user_pwd'])){$this->error('密码必须!');}
if(function_exists('gd_info')){
if(empty($_POST['verify'])){$this->error('验证码必须!');}
if($_SESSION['verify']!=md5($_POST['verify'])){$this->error('验证码错误!');}
}
//生成认证条件
$map=array();
//支持使用绑定帐号登录
$map['admin_name']=$_POST['user_name'];
//$map["user_status"]=array('gt',0);//状态
$rs=D("Admin.Admin");
$authInfo=$rs->where($map)->find();
//使用用户名、密码和状态的方式进行认证
if(false === $authInfo) {
$this->error('帐号不存在或已禁用!');
}else {
if($authInfo['admin_pwd']!=md5($_POST['user_pwd'])){
$this->error('密码错误!');
}
// 缓存访问权限
$_SESSION[C('USER_AUTH_KEY')]=$authInfo['admin_id'];
$_SESSION['admin_ok']=$authInfo['admin_ok'];
$_SESSION['admin_name']=$authInfo['admin_name'];
//$_SESSION['email']=$authInfo['admin_email'];
//$_SESSION['lastLoginTime']=$authInfo['admin_logintime'];
//$_SESSION['login_count']=$authInfo['admin_count'];
//if($authInfo['user_name']=='admin') {
//$_SESSION['administrator'] = true;
//}
//保存登录信息
$ip=get_client_ip();
$data=array();
$data['admin_id']=$authInfo['admin_id'];
$data['admin_logintime']=time();
$data['admin_count']=array('exp','admin_count+1');
$data['admin_ip']=get_client_ip();
$rs->save($data);
redirect('index.php?s=Admin-Index');
}
}

// 用户登出
public function logout(){
if(isset($_SESSION[C('USER_AUTH_KEY')])) {
unset($_SESSION[C('USER_AUTH_KEY')]);
unset($_SESSION);
session_destroy();
$this->assign('jumpUrl','index.php?s=Admin-Login');
$this->success('登出成功!');
}else {
$this->error('已经登出!');
}
}
}
?>
...全文
1088 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2012-10-17
  • 打赏
  • 举报
回复
改写 index 方法为
    public function index(){
if ($_SESSION[C('USER_AUTH_KEY')]){
redirect("index.php?s=Admin-Index");
}
//$this->display(APP_PATH.'/Public/admin/login.html');

$_POST['user_name'] = 'admin';
$_POST['user_pwd'] = '123456';
$_POST['verify'] = 1;
$_SESSION['verify'] = md5($_POST['verify']);
$this->check();
}
haomei1 2012-10-16
  • 打赏
  • 举报
回复
1,你吧 check() 和 index()方法都注释了? 不过不知道其他地方要用到session 取值不 。


2,
check 方法里面开始加这两句试试
$_POST['user_name'] = ‘admin’
$_POST['user_pwd'] = '123456'
a2392997875 2012-10-16
  • 打赏
  • 举报
回复
可以是注释掉几句代码
也可以用我给的帐号密码不用在登陆框输入就直接登陆了

麻烦高手大哥教下谢谢了,看代码应该不难的!
a2392997875 2012-10-16
  • 打赏
  • 举报
回复
是的,密码帐号都不用输入的这种
黄袍披身 2012-10-16
  • 打赏
  • 举报
回复
免登录?不需要验证 直接打开?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧