thinkPHP实现的验证码登录功能示例
本文实例讲述了thinkPHP实现的验证码登录功能。分享给大家供大家参考,具体如下:
使用thinkphp自带的验证,实现登录页面的账号密码+验证码的验证
<?php
namespace Admin\Controller;
use Think\Controller;
use Think\Verify;
class LoginController extends Controller{
public function login(){
if($_POST){
$obj = new Verify();
if($obj->check(I('post.yanzhengma','','trim'))){
// 注释部分为另外一种从数据库中验证密码的方法
// $data['name'] = I('post.user_name');
// $data['psd'] = I('post.password');
// $row = M('user')->where($data)->find();
$name = I('post.user_name');
$psd = I('post.password');
$str = 'name ="'.$name. '" and tel = "'.$psd.'"';
var_dump($str);
$row = M('user')->where($str)->find();
if($row)
$this->redirect("Index/index");
else
$this->redirect('login','',1,'用户名或密码错误');
}
else{
$this->redirect('login','',1,'验证码错误');
}
}
$this->display();
}
public function verifyImg(){
//设置验证码的宽高字体大小以及验证码的个数,设计其他的参照Think\Verify里面的设置
$config=array(
'imageW' => 150,
'imageH' => 40,
'fontSize' => 20,
'length' => 4
);
$obj = new \Think\Verify($config);
$obj->entry();
}
}
表单部分
<form action="login" method="post"> <table valign="top" width="50%"> <tr><td colspan="2"><h4 style="letter-spacing:1px;font-size:16px;">RainMan 网站管理后台</h4></td></tr> <tr><td>管理员:</td><td><input type="text" name="user_name" value="" /></td></tr> <tr><td>密 码:</td><td><input type="password" name="password" value="" /></td></tr> <tr><td>验证码:</td> <td><input type="text" name="yanzhengma" value="" style="width:80px;"/></td> <td><img src="__URL__/verifyImg" onclick="this.src='__URL__/verifyImg/'+Math.random()" alt=""/></td> </tr> <tr class="bt" align="center"><td> <input type="submit" value="登陆" /></td><td> <input type="reset" value="重填" /></td></tr> </table> </form>
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
相关文章
Laravel框架学习笔记(二)项目实战之模型(Models)
上一篇已经介绍开发环境的搭建,这篇将从项目实战开发,一步一步了解laravel框架。首先我们来了解下laravel框架的模型 (Models)2014-10-10
Zend Framework框架的registry(注册表)使用示例
这篇文章主要介绍了Zend Framework框架的registry(注册表)使用示例,提供对象方式使用与set、get方法使用示例,需要的朋友可以参考下2014-03-03
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
最近做了个项目,当token验证之后,发送消息给订阅号,但是没有消息返回,下面小编通过本篇文章给大家分享我的解决办法2015-12-12
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
本篇文章是对AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法进行了详细的分析介绍,需要的朋友参考下2013-05-05


最新评论