ThinkPhp学习13
原文: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的更多相关文章
- ThinkPHP学习总结
ThinkPHP学习总结 网站开发使用的thinkPHP5.0在此总结备查 MVC关系功能图 一.Thinkphp开发规范 l 类 类库.函数文件统一以.php为后缀: 类的文件名均以命名空间定义,并 ...
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- ThinkPhp学习12
原文:ThinkPhp学习12 二.输出模板内容 (重点) a.display 1.display中没有参数 $this->display(); 2.可以带参数 $this ...
- ThinkPhp学习11
原文:ThinkPhp学习11 一.模板的使用 (重点) a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[i ...
- ThinkPhp学习10
原文:ThinkPhp学习10 查询操作 Action模块 User下的search public function search(){ //判断username是否已经传入,且不为空 if(isse ...
- ThinkPhp学习07
原文:ThinkPhp学习07 简单CRUD操作 public function show() { $m=M('User'); // $arr=$m->find(2); //查找id=2的数据, ...
- ThinkPhp学习08
原文:ThinkPhp学习08 一.普通查询方式 a.字符串 $arr=$m->where("sex=0 and username='gege'")->find(); ...
- ThinkPhp学习09
原文:ThinkPhp学习09 三.区间查询 $data['id']=array(array('gt',4),array('lt',10));//默认关系是 and 的关系 //SELECT * FR ...
- ThinkPhp学习06
原文:ThinkPhp学习06 一.简单学习修改用户信息模块 1.编写UserAction.class.php <?php class UserAction extends Action{ pu ...
随机推荐
- sqlplus
以超级管理员登录 sqlplus sys/123 as sysdba 解锁用户 alter user xutianhao account unlock
- XP里面其实也讲究admin的执行权限
错误的方法:比如说,当前登录帐号cliff是管理员,此时直接运行cmd,输入: net user administrator 123 结果说这个用户找不到. --------------------- ...
- Thread.sleep还是TimeUnit.SECONDS.sleep
转http://stevex.blog.51cto.com/4300375/1285767/ 刚看到TimeUnit.SECONDS.sleep()方法时觉得挺奇怪的,这里怎么也提供sleep方法? ...
- Bar Codes
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=31329#problem/N #include<map> #include&l ...
- ViewPageAsImage
var ViewPageAsImage = function(target, label) { var setting = { min_height: 4, min_width: 4 ...
- poll系统调用的内核态实现机制分析
版权所有,转载请标明出处 All right reserved,Copyright by 徐行而至 浅唱而归 前面已经比较详尽的分析了系统调用引发的内核执行过程,本文将继续分析一下linux2.6 ...
- QQ登录-第三方SDK的接入总结
由于项目的需要,使用了[QQ登录]SDK 的相关功能! 1.集成[QQ登录]SDK [QQ登录]SDK下载地址: http://wiki.open.qq.com/wiki/website/SD ...
- javascript笔记整理(流程控制)
流程:就是程序代码的执行顺序 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行 1.顺序结构(按照书写顺序来执行,是程序中最基本的流程结构) 2.选择结构(分支结构.条件结构):根据给定的 ...
- COCOS2D-X之圆形进度条的一个简单Demo
这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添 ...
- B树的实现与源代码二(删除源代码)
int BTreeMaximum( BNode *x ) { if ( x->leaf ) { return x->key[x->size - 1]; } else { return ...