第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式
外部文件引入到视图模板的方式
1,将外部文件放在Public文件夹下,用load标签引入
2,在模板出书写引入代码(方法有很多,只有以下方法不容易出问题)
<load href="__PUBLIC__/css/index.css"/> <load href="__PUBLIC__/jquery/$jquery-1.0.js"/> <load href="__PUBLIC__/js/index.js"/>
使用原生态的sql语句的方式
public function index() { $db = D('yonghu'); $sql = 'select * from yonghu';
//查询时调用query()方法;返回一个二维数组。增删改调用execute()方法,返回受影响的条数;
$yonghu = $db->query($sql); var_dump($yonghu); }
外部类引用到控制器方法中的两种方式(1,将类存放在ThinkPHP文件夹下2,将类存放在Home模块下)
控制器下方法代码
<?php namespace Home\Controller; use Think\Controller; use Home\Common\page; //引入类文件 class IndexController extends Controller { public function index() { $db = D('yonghu'); $zongshu = $db -> count(); //查询数据库数据总数 $page = new page($zongshu,1); //实例化分页类(参数为:总条数和每页显示条数) $yonghu = $db -> limit($page -> limit) -> select(); //创建分页查询条件 $fpage = $page->fpage(); $this -> assign('yonghu',$yonghu); $this -> assign('fpage',$fpage); $this->display(); } }
视图模板代码
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>分页</title> <load> </head> <body> <table> <foreach name='yonghu' item='i'> //循环 <tr> <td><{$i.zhanghao}></td> <td><{$i.mima}></td> </tr> </foreach> </table> <div><{$fpage}></div> //显示分页导航 </body>
在tp框架下使用ajax
上传的路径-> url : "__CONTROLLER__/方法";
返回的方式-> ajaxReturn(返回的内容,返回类型) //返回类型默认为: json eval(字符串) xml
Session 会话控制
防止用户绕过登录直接访问操作方法
做一个控制器的父类,在该父类里面写一个构造方法,构造方法里面判断session里面有没有值
TP框架下验证码的简单调用
1,控制器代码
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index() { if(empty($_POST['submit'])) //如果没有提交验证码正常显示界面 { $this->display(); } else { $yanzhengma = $_POST['yanzhengma']; $verify = new \Think\Verify(); //实例化验证码类 if($verify -> check($yanzhengma)) //调用check方法验证验证码是否正确,正确返回true { $this -> success('验证成功','index'); } else { $this -> error('验证失败'); } } } public function yanzhengma() { $verify = new \Think\Verify(); //实例化验证码类 $verify -> entry(); //调用entry方法生成验证码 } }
2,视图模板代码
<head> <load href="__PUBLIC__/jquery/$jquery-1.0.js"/> <title>验证</title> <load> </head> <body> <form action="__ACTION__" method="post"> <div> <span>验证码</span> <img src="__CONTROLLER__/yanzhengma"/> <!--验证码图片路径为生成验证码的方法路径--> <input type="text" name="yanzhengma"/> <!--输入验证码的文本框--> </div> <div> <input type="submit" name="submit" value="提交"> </div> </form> </body>
简单的文件上传模型
public function shangchuan() { $upload = new \Think\Upload(); //实例化上传类 $upload -> maxSize = '1000000'; //上传文件最大值 $upload -> exts = array('jpg','gif');//上传文件格式 $upload -> rootPath= './Pnblic'; //设置根路径 $upload -> savePath = 'wenjian/';//文件上传的路径(相对根路径) $xinxi = $upload -> upload(); //获取是否上传成功 var_dump($xinxi); }
第一零二天上课 PHP TP框架 引入文件路径问题和调用验证码的方式的更多相关文章
- 第一零四天上课 PHP TP框架下的文件上传
控制器代码(TestController.class.php) <?php namespace Home\Controller; use Home\Controller\EmptyControl ...
- 第一零五天上课 PHP TP框架下分页
控制器代码(TestController.class.php) <?php namespace Home\Controller; use Home\Controller\EmptyControl ...
- 第一零三天上课 PHP TP框架下控制器的方法分离
(1)配置信息 修改配置文件->Config.php (配置后,原先的控制方法无效) 'ACTION_BIND_CLASS' => TRUE, // 控制器方法分离 (2)在Control ...
- TP框架主要文件夹注释
TP框架主要文件夹注释 common -> 函数库目录 conf -> 配置文件目录lang -> 语言包librang -> 核心资源库 behacior -> 行为目 ...
- tp框架引入第三方sdk的经验总结
tp框架开发常用到第三方的接口,这时候需要引入第三方的sdk.例如:微信扫码支付sdk,阿里大于的淘宝sdk等等 首先到官网上下载对应php的sdk文件,通常会有至少一个实例代码. 1 新建一个控制器 ...
- TP框架的模板路径问题以及常用的模板常量的定义
在TP框架中,为了各个模块加载静态文件方便,往往是不需要按照默认的方式放置静态文件到/app/模块名/VIEWS/下面,而是在顶级目录下创建一个新的目录(比如说./tpl目录下),来存放静态文件 ...
- BootStrap框架引入文件
bootstrap -- 框架 引入需要的 这是外网的------************************************************************* < ...
- 第 一 百 天上课 PHP TP框架 数据库修改和删除
修改的三种方式 //造数组的方式修改 public function xiugai1() { $db=D('yonghu'); $attr=array ( 'zhanghao'=>001, // ...
- 第九十九天上课 PHP TP框架 数据库查询和增加
在Model文件夹下创建模型,文件命名规则 : 表名Model.class.php <?php namespace Home\Model; use Think\Model; class yong ...
随机推荐
- PHP性能分析 - ngnx日志分析
最终结果展示图: 图解:响应时间在40ms以内的请求数占请求总量的7%,40到80ms的的请求数占32.9%,依次类推... 性能问题有很多种可能,普通的情况通过xhprof可查得主要的性能损耗.但有 ...
- dyld: Symbol not found: _OBJC_CLASS_$_NSURLSessionDataTask
dyld: Symbol not found: _OBJC_CLASS_$_NSURLSessionDataTask Referenced from: /var/mobile/Applicatio ...
- div高度自适应(总结:min-height:100px; height:auto;的用法)
对于div高度自适应问题,我总是用一句话:height:auto来解决. 但是很多时候我们需要的是当div内部有内容时,高度会随着内容的增加和增加,当div中没有内容时,div能够保持一个固定的高度. ...
- 一种工业级系统交互建模工具的应用--EventStudio System Designer
一种工业级系统交互建模工具的应用 [摘要] 本文以探索如何维护大规模复杂系统交互设计模型为目的,以EventHelix公司的商业付费软件EventStudio System Designer为建模工具 ...
- bootstrap-6
表格:bootstrap为表格提供了1种基础样式和4种附加样式以及一个支持响应式的表格.主要包括: .table:基础表格 .table-striped:斑马线表格 .table-bordered:带 ...
- IOC及Bean容器
1. 接口及面向接口编程 1.1. 接口 用于沟通的中介物的抽象化 实体把自己提供给外界的一种抽象化说明,用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式 对应JA ...
- 数迹学——Asp.Net MVC4入门指南(3):添加一个视图
方法返回值 ActionResult(方法执行后的结果) 例子1 public ActionResult methordName() { return "string"; } 例 ...
- centos-系统语言检查设置安装
查看当前系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言. 查看安装的语言包 查看是否有中文语言包可以在终端输入 locale命令,如有zh cn 表 ...
- System.Windows.Media.Imageing.BItmapImage 这么用才不会占用文件
// Read byte[] from png file BinaryReader binReader = new BinaryReader(File.Open(filepath, FileMode. ...
- asp 实现域名转向
<% host=lcase(request.servervariables("HTTP_HOST")) select CASE host CASE "aa.cn&q ...