原文:ThinkPhp学习13

简单登录验证

创建Login类

 <?php
class LoginAction extends Action {
function index(){
$this->display();
}
function do_login(){
//获取用户名和密码等。和数据库中比对,有该用户允许登录否则输出错误页面
$username=$_POST['username'];
$password=$_POST['password'];
$code=$_POST['code']; if($_SESSION['verify']!==md5($code)){ //$_SESSION['verify']tp默认创建的session不需要修改成code
$this->error('验证码错误!');
} $m=M('User');
$where['username']=$username;
$where['password']=$password;
$i=$m->where($where)->count();
if($i>0){
$this->redirect('User/index');
}else{
$this->error('该用户不存在');
}
}
}
?>

Login类对应的模板

 <div style="width:400px;margin:0 auto">
<form action="__URL__/do_Login" method="post">
用户名:<input type="text" name="username" /><br/>
密 码:<input type="password" name="pwd" /><br/>
验证码:<input type='text' name='code'/><img src="__APP__/Code/code" onclick="this.src=this.src+'?'+Math.random()"/><br/> //src=Code类下的code方法,Math.random() 避免缓存无法刷新
<input type="submit" value="登录"/>
</form>
</div>

创建验证码类

 <?php
class CodeAction extends Action{
function code(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
} ?>

ThinkPhp学习13的更多相关文章

  1. ThinkPHP学习总结

    ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...

  2. JavaScript学习13 JavaScript中的继承

    JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...

  3. ThinkPhp学习12

    原文:ThinkPhp学习12 二.输出模板内容      (重点) a.display 1.display中没有参数    $this->display(); 2.可以带参数    $this ...

  4. ThinkPhp学习11

    原文:ThinkPhp学习11 一.模板的使用        (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[i ...

  5. ThinkPhp学习10

    原文:ThinkPhp学习10 查询操作 Action模块 User下的search public function search(){ //判断username是否已经传入,且不为空 if(isse ...

  6. ThinkPhp学习07

    原文:ThinkPhp学习07 简单CRUD操作 public function show() { $m=M('User'); // $arr=$m->find(2); //查找id=2的数据, ...

  7. ThinkPhp学习08

    原文:ThinkPhp学习08 一.普通查询方式 a.字符串 $arr=$m->where("sex=0 and username='gege'")->find(); ...

  8. ThinkPhp学习09

    原文:ThinkPhp学习09 三.区间查询 $data['id']=array(array('gt',4),array('lt',10));//默认关系是 and 的关系 //SELECT * FR ...

  9. ThinkPhp学习06

    原文:ThinkPhp学习06 一.简单学习修改用户信息模块 1.编写UserAction.class.php <?php class UserAction extends Action{ pu ...

随机推荐

  1. 墙内安装nautilus-dropbox 1.6.0-2

    软件包:nautilus-dropbox 版本号:1.6.0-2 # aptitude install nautilus-dropbox # less `which dropbox` 查找到下载链接: ...

  2. maven本地jar

    <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId&g ...

  3. Linux笔记——linux下的语音合成系统

    1.festival 安装:sudo apt-get install festival 使用: (SayText "Hello!") 2. espeek(ubuntu 自带) # ...

  4. IOS系统对fixed定位支持不好的解决方法

    问题: IOS 中所有浏览器,当页面上的输入框获得焦点时,呼出键盘. 页面底部的导航栏(position:fixed)会被键盘顶到页面的中间. 而当输入框失去焦点时,导航栏停留在页面中间,造成页面错乱 ...

  5. asp.net导出Excel类库

    using System; using System.Collections.Generic; using System.Reflection; using System.Web; using Exc ...

  6. WCF技术剖析之七:如何实现WCF与EnterLib PIAB、Unity之间的集成

    原文:WCF技术剖析之七:如何实现WCF与EnterLib PIAB.Unity之间的集成 在这之前,我写过深入介绍MS EnterLib PIAB的文章(参阅<MS Enterprise Li ...

  7. Windows Phone 9再见了!

    因为需要准备注册电气工程师考试,因此Windows Phone 8初学者教程的翻译只能就此打住了,在考完后,也许就是Windows Phone 9发布的时候还会回来! Bye bye!

  8. perl $d = encode_utf8($r); $f = decode_json($d)

    [root@dr-mysql01 ~]# cat a1.pl my $url="http://192.168.32.101:3000/api/getcode?env=zj&phone ...

  9. uva10791

    #include <iostream> using namespace std; int main(int argc, char *argv[]) { int j,k,m=0,flag; ...

  10. 关于WEB三层架构的思考

    1.MVC设计思想 MVC程序设计思想是眼下比較流行的WEB开发的模式,当中,M(model)是模型.即JavaBean,用来封装和保存数据:V(view)是视图,即JSP.用来显示内容:C(cont ...