您的位置:首页 > 编程语言 > PHP开发

【ThinkPHP】验证码以及登陆例子

2015-11-20 16:34 579 查看
在控制器里面写

public function verify(){

import('ORG.Util.Image');//支持ThinkPHP/Extend/Library/ORG/Utill/image.class.php

Image::buildImageVerify(4,5,'png',80,25);

}

模板页面的写法

<form action="{:U('Admin/Index/logining','','')}" method="post">

用户名<input type="text" name="user" >

密码<input type="password" name="pwd">

验证码 <img id="code" src="{:U('Admin/Index/verify','','')}">

<a href="#" onclick="change_code()">看不清</a>

<input type="text" name="code">

<input type="submit" value="登陆按钮">

</form>

如何做到点击看不清就更改验证码,

可以写一个函数,js用attr修改图片的src,地址还是原来的地址后面参数了即可.

接收登陆信息的控制器的方法写

public function logining(){
if(I('code','','md5')!=$_SESSION['verify']){
//将其md5加密
$this->error('验证码错误');
}
$username = I('user');
$pwd=I('pwd', '','md5');
$user=M('user')->where(array('username'=>$username))->find();
if(!$user||$user['password']!=$pwd){
$this->error('账号或密码错误');
}
$data= array(
'Id' => $user['Id'],
'logintime' => time(),
'loginip' => get_client_ip(),
);
M('user')->where(array('Id' => $user['Id'],))->save($data);
session('username',$user['username']);
$this->redirect('Index/Index/index');
}

PS:每次进来检测session 

可以利用函数_initialize();

//自动运行函数

例子:

public function _initialize(){
if($_SESSION['username']==null){
$this->redirect('Admin/Index/index');
}else {
echo "你的id是".$_SESSION['username']."<br>";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ThinkPHP 初学