第五天ThinkPHP手把手快速拼接网站(五)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了第五天ThinkPHP手把手快速拼接网站(五),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3690字,纯文字阅读大概需要6分钟。
内容图文
![第五天ThinkPHP手把手快速拼接网站(五)](/upload/InfoBanner/zyjiaocheng/155/4c3d889ab88e4aac93ea776664b3a536.jpg)
十、后台编写-续-2
<spanMicrosoft YaHei'"><spanMicrosoft YaHei'; color:#993399"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"> 1、<spanMicrosoft YaHei'"><spanMicrosoft YaHei'">改写Login模块的login方法 ,主要是改M方法为D方法
assign ( 'title', '后台管理系统' ); $this->display (); } // 用户登录页面 function login() { header ( "Content-Type:text/html; charset=utf-8" ); $username=$_POST['username']; $password=md5($_POST['password']); $User = D ( "User" ); // 参数的User必须首字母大写,否则自动验证功能失效! if (! $User->create ()) { $this->error ( $User->getError () ); } else { // 查找输入的用户名是否存在 if ($User->where ( "username ='$username' AND password = '$password'" )->find ()) { session ( username, $username ); $url = U ( '/Index/index/username/' . $username ); redirect ( $url, 5, '跳转中...' ); } else { $this->error ( '用户名或密码错误' ); } } }其中,
$User = D('User');
表示实例化User模型,会导入当前项目下面的Lib/Model/UserModel.class.php文件,然后实例化UserModel类,所以,实际上的代码可能和下面的等效:
import('@.Model.UserModel');
$User = new UserModel();
之后,create() 创建数据对象后,将自动收集提交过来的表单数据。在将表单写入数据表之前,常常会有一些对数据的检测(提交的用户名是否符合要求)与处理(如例子中的验证码的比对)。create() 方法就支持数据的自动验证与自动完成。 一般情况下,使用 M 方法实例化模型时,是无法实例化自定义模型类的,也就无法使用自动验证与自动完成功能,因此建议使用 D 方法来实例化模型类。
15 || strlen($data)<5){ return false; } return true; } //验证码回调函数(ThinkPHP会自动帮我们传递参数) function callback_checkCode($data){ if(md5($data)!=$_SESSION['verify']){ return false; } return true; } //自动完成,在create时自动执行 //array('填充字段','填充内容','填充条件','附加规则'); //填充字段 protected $_auto=array( array('password','md5',3,'function'), array('ip','callback_returnip',1,'callback'), array('createtime','time',1,'function'), ); function callback_returnip(){ return $_SERVER['REMOTE_ADDR']; } } ?>验证规则的定义是统一的规则,定义格式为:
array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]), ...... );说明
验证字段:(必须)需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。有个别验证规则和字段无关的情况下,验证字段是可以随意设置的,例如expire有效期规则是和表单字段无关的。如果定义了字段映射的话,这里的验证字段名称应该是实际的数据表字段而不是表单字段。
验证规则:(必须)要进行验证的规则,需要结合附加规则,如果在使用正则验证的附加规则情况下,系统还内置了一些常用正则验证的规则,可以直接作为验证规则使用,包括:require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字。
提示信息:(必须)用于验证失败后的提示信息定义
验证条件:(可选)包含下面几种情况:
Model::EXISTS_VALIDATE 或者0 存在字段就验证(默认)
Model::MUST_VALIDATE 或者1 必须验证
Model::VALUE_VALIDATE或者2 值不为空的时候验证
<spanMicrosoft YaHei'"><spanMicrosoft YaHei'; color:#993399"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"><spanMicrosoft YaHei'"> 3、<spanMicrosoft YaHei'; font-size:14px">编写<spanMicrosoft YaHei'; font-size:16px">数据库表think_news
CREATE TABLE `think_news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `author` int(11) NOT NULL, `subject` varbinary(256) NOT NULL, `createtime` int(11) NOT NULL, `lastmodifytime` int(11) NOT NULL, `message` mediumtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
5 、修改admin\Tpl\Index\index.html
修改编辑新闻按钮如下:
编辑新闻
其中,'__PUBLIC__'表示
站点公共目录,'__URL__'
表示当前模块的URL地址
6、在admin\Lib\Action\IndexAction.class.php中添加函数 news
function news(){
//跳转到News控制器的index方法
redirect(U('/News/index'),0, '编写新闻');
}
以上就介绍了第五天 ThinkPHP手把手快速拼接网站(五),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
内容总结
以上是互联网集市为您收集整理的第五天ThinkPHP手把手快速拼接网站(五)全部内容,希望文章能够帮你解决第五天ThinkPHP手把手快速拼接网站(五)所遇到的程序开发问题。
如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】