找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2673|回复: 1

[教程] ThinkPHP自动验证失败及解决方法

[复制链接]
发表于 2013-4-12 09:12:31 | 显示全部楼层 |阅读模式 来自 中国–广东–湛江
  1. /*
  2.   * 登陆
  3.   */
  4. public function Login(){
  5.         if($_POST['submit']){
  6.                 $DB = D('Login');//自定义Model处理
  7.                     //if里面就是ThinkPHP的自动验证了.
  8.                 if(!$DB->create()){
  9.                         $this->redirect('Index/Login', '', 3, '错误信息: '.$DB->getError().'
  10. 系统将于3秒后返回重新登陆...');
  11.                 }else{
  12.                         $con['LoginName'] = $_POST['username'];
  13.                         $con['LoginPwd']  = md5($_POST['userpwd']);
  14.                         $list = $DB->where($con)->find();
  15.                         if(count($list)>0){
  16.                                 echo 'ok';
  17.                         }else{
  18.                                 $this->redirect('Index/Login', '', 3, '错误信息: 用户名或密码错误
  19. 系统将于3秒后返回重新登陆...');
  20.                         }
  21.                 }
  22.                 return ;
  23.         }
  24.         //这里只是将模板文件的地址封装了一下.
  25.         A('Public')->ShowPage('login');           
  26. }
  27.   
  28.   <?php
  29. class LoginModel extends Model {
  30.         // 设置数据表
  31.         protected $tableName = 'admin';
  32.         // 自动验证设置
  33.         protected $_validate = array(
  34.                 array('username','require','用户名必须!', 1),
  35.                 array('userpwd','require','密码必须!', 1),
  36.         );
  37.         /* 自动填充 如果不能自动验证,将这段代码取消注释看看.
  38.         protected $_auto = array(
  39.                 array('status','1',self::MODEL_INSERT),
  40.                 array('create_time','time',self::MODEL_INSERT,'function'),
  41.         );*/
  42.         /*引用ThinkPHP2.0开发手册:ThinkPHP手册类型检查只是针对数据库级别的验证,所以系统还内置了数据对象的自动验证功能来完成模型的业务规则验证,而大多数情况下面,数据对象是由表单提交的$_POST数据创建。需要使用系统的自动验证功能,只需要在Model类里面定义$_validate属性
  43.         */
  44.         /*它这里说了,只需要在Model类里面定义$_validate属性,但是在使用ThinkPHP2.1的时候,的的确确不能通过验证,$DB->getError()无错误原因返回,且刷新的时候$DB->getError()返回'令牌表单错误'
  45.         */
  46. }
  47. ?>
复制代码

评分

参与人数 1金币 +1 收起 理由
猫性男孩 + 1 很给力!

查看全部评分

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2013-4-13 17:02:32 来自手机 | 显示全部楼层 来自 中国–广东–广州
手机什么都看不到!!!

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-23 00:22 , Processed in 0.052679 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表