第三天 ThinkPHP手把手快速拼接网站(三)

        6月1日,小雨。“ 梅子金黄杏子肥,麦花雪白菜花稀。 日长篱落无人过,唯有蜻蜓蛱蝶飞。”

     七、MVC模式

       ThinkPHP的MVC开发机制如下:

      M  Model层    模型:就是数据库操作类(通过数据库操作类去操作各个表)。       
       V  View层     视图:指模版。     
       C  Controller层  控制器:就是通过控制器来实现模版,模型之间的控制关系。

     MVC架构中,Controller是必须的,因为controller掌管着业务逻辑的控制权通常的流程是:请求从入口文件进入,然后就经过路由匹配,最后把控制权交到相应的controller上,开始处理业务,model和view的调用都由controller的代码决定。换句话说,在Controller中可以不用Model和View,只是这样一来,就表示你的这个业务不与数据库交互(Model),也不产生任何表现性的输出(View)。

      八、后台编写

       1、 修改admin/Lib/Action/IndexAction.class.php,如下:

<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
	public function index() {
		if (session ( '?username' )) {
			
		} else {
			$this->error ( '亲,您好,请先登录!', U ( '/Login/index/' ) );
		}
	}
}

        代码说明:

       要判断一个session值是否已经设置,可以使用 session('?name'); 用于判断名称为name的session值是否已经设置 相当于: isset($_SESSION['name']);

        U ( '/Login/index/' )的含义是找Login模块下的index方法

        2、编写admin\Lib\Action\LoginAction.class.php

<?php
class LoginAction extends Action {
	function index() {
		// 配置页面显示内容
		$this->assign ( 'title', '后台管理系统' );
		$this->display ();
	}
}

             在Action中使用assign方法可以给模板变量赋值那么使用内置的模板引擎输出变量,只需要在模版文件使用:{$title},模板编译后的结果就是<?php echo ($title); ?>,最后运行的时候就可以在标签位置显示ThinkPHP的输出结果。
        注意模板标签的{和$之间不能有任何的空格,否则标签无效。

             3、编写admin\Tpl\Login\index.html

          直接把后台模板,admin-templates.rar里面的login.html里面的全部内容拷入。

          前后台模板下载地址:http://download.csdn.net/detail/zwszws/8773601

              下载的前端模板里面文件夹css、images和scripts里面的文件全部分别放入public\Css\admin和\public\Images\admin以及\publicJs\admin里面.

              修改index.html文件里的相关资源路径,如:

             <link rel="stylesheet" href="__PUBLIC__/Css/admin/reset.css"

           <script type="text/javascript" src="__PUBLIC__/Js/admin/jquery-1.3.2.min.js"></script>

          <img id="logo" src="__PUBLIC__/Images/admin/logo.png" alt="Simpla Admin logo" />

      4、再次访问:http://localhost/MyFirstThinkPHP_1/admin.php  ,呵呵大笑,后台登录页面出来了!


      5、加个验证码

         修改admin\Tpl\Login\index.html文件,加入

<p>
        <label>验证码</label>
        <input class="text-input" type="text" name="verify"/>
        <img src="__APP__/Common/verify" οnclick="show(this)"/>
 </p>    

<script>
	function show(obj){
	obj.src="__APP__/Common/verify";
	}
</script>
        编写admin\Lib\Action\CommonAction.class.php

<?php
class CommonAction extends  Action{
	function verify(){
		//导入验证码类
		import("ORG.Util.Image");
		
		/*
		 * 参数1:验证码长度,默认4
		 * 参数2:类型,0为字母,1为数字,2为大写字母,3为小写字母,4为中文
		 * 参数3:图片类型,默认png格式,若服务器没有开PNG,就改成其他格式
		 * 参数4:图片宽度(根据长度自动计算)
		 * 参数5:图片高度,默认22个像素
		 * 参数6:验证码保存在Session的名称 'verify'
		 */
		 
		Image::buildImageVerify(4,1,'png',70,30);//静态方法	
	}
}
?>
         4、再次访问:http://localhost/MyFirstThinkPHP_1/admin.php  ,呵呵大笑,验证码出来了!

                          


     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值