本文实例讲述了thinkPHP实现的验证码登录功能。分享给大家供大家参考,具体如下:
使用thinkphp自带的验证,实现登录页面的账号密码+验证码的验证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?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(); } } |
表单部分
1
2
3
4
5
6
7
8
9
10
11
12
|
< 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框架的PHP程序设计有所帮助。
原文链接:http://blog.csdn.net/qq_22793991/article/details/53674197