搜索
系统检测到您的用户名不符合规范:

$_SESSION['verify']取不到值,求解?

浏览:7600 发布日期:2013年07月19日 分类:求助交流 关键字: 验证码
我原先调试的时候,发现报错说是验证码错误,还以为是我表单的验证码没弄好呢,结果我输出了一下$_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>
最佳答案
评论() 相关
后面还有条评论,
评论支持使用[code][/code]标签添加代码
您需要登录后才可以评论 登录 | 立即注册
收藏
5786尘烟
积分:474 等级:LV2
热点推荐
(追記) (追記ここまで)
最新更新

我们

合作

网站

信息

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

AltStyle によって変換されたページ (->オリジナル) /