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

在控制器里面写

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>";
}
}


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dzp443366/article/details/49948603
文章标签: ThinkPHP 初学
想对作者说点什么? 我来说一句

thinkphp实现登录注册

2017年02月25日 2.48MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭