我原先调试的时候,发现报错说是验证码错误,还以为是我表单的验证码没弄好呢,结果我输出了一下$_SESSION['verify']发现,这货是空的,居然是空的,于是我打印了整个$_SESSION,结果还是空的,我就郁闷了,我在本地服务器环境上运行的那个yuanblog(tp论坛上下载学习的)明明都是正常的啊,$_SESSION['verify']也能获取成功,而且我的登录验证代码也是基本上和他的一样啊,我就郁闷了。后来我直接在入口文件index.php中写了$_SESSION['ni']='sss';结果更是令我吃惊,打印$_SESSION还是为空,知道我在index.php顶部加了一句session_start();才能显示出来,但是$_SESSION['verify']还是没有值,依旧为空,我实在没有办法了,求解 以下是我的public类代码:<?php class PublicAction extends Action { // 验证码图片 public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify($length=4, $mode=5, $type='png', $width=48, $height=24, $verifyName='verify'); }
// 用户登录验证 public function check() { $User = D('User'); if(!$User->create()) { $this->error($User->getError()); }else if($_SESSION['verify']!= md5($_POST['verify'])) { $this->error('验证码错误!'); } $data = $User->create(); $map['password'] = md5($data['pass_word']); $map['name'] = $data['user_name']; $pass = $User->where($map)->select(); if($pass) { session('uid',$pass[0]['id']); $this->success('登陆成功!'); $this->redirect(GROUP_NAME.'/Index/index'); }else { $this->error('此账号不存在!'); } } // 用户登陆 public function login(){ $this->display(); } //用户登出 public function logout() { session_destroy(); session_unset(); $this->redirect(GROUP_NAME.'/Public/login'); } } user的model类代码:<?php class UserModel extends Model { protected $_validate = array( array('user_name','require','用户名必须填写!'), array('pass_word','require','密码必须填写!'), array('verify','require','验证码必须填写!'), ); protected $_auto = array( array('last_login_time','time',3,'function'), array('last_login_ip','get_client_ip',3,'function'), ); } 登录表单代码(表单的一部分):<script type='text/javascript'> function verifyFresh(){ document.getElementById('verify').src='{:U(GROUP_NAME.'/Public/verify')}/' Math.random(); } </script> </head> <body id='login'> <div id='login-wrapper' class='png_bg'> <div id='login-top'> <h1>Simpla Admin</h1> <!-- Logo (221px width) --> <a href='#'><img id='logo' src='!-PUBLIC-!/img/logo.png' alt='Simpla Admin logo' /></a> </div> <!-- End #logn-top --> <div id='login-content'> <form action='{:U(GROUP_NAME.'/Public/check')}' method='post'> <p> <label>用 户 名</label> <input name='user_name' class='text-input' type='text' /> </p> <div class='clear'></div> <p> <label>密 码</label> <input name='pass_word' class='text-input' type='password' /> </p> <div class='clear'></div> <p> <label>验 证 码</label> <input name='verify' class='text-input' type='text' /> </p> <div class='clear'></div> <p> <label>验证码图片</label> <img style='position:relative;top:-6px;' src='{:U(GROUP_NAME.'/Public/verify')}' id='verify' title='点击验证码可刷新验证码!' onclick='verifyFresh()' /> <span id='remember-password'><input style='margin:0;' type='checkbox' />记住我</span> </p> <div class='clear'></div> <p> <input class='button' type='submit' value='登陆' /> </p> </form>
|