第一零二天上课 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 ...
随机推荐
- Oracle数据库3
在前两章,我们学习了SQL语言中基本的一些查询语句,也就是数据库查询语言DQL,今天我们要介绍的数据库操作语言DML 数据库中,我们除了查询之外,最主要的就是日常的增.删.改.查了. 数据库操作语言 ...
- flume+kafka+smart数据接入实施手册
1. 概述 本手册主要介绍了,一个将传统数据接入到Hadoop集群的数据接入方案和实施方法.供数据接入和集群运维人员参考. 1.1. 整体方案 Flume作为日志收集工具,监控一个文件目录或者一 ...
- 怎么实时查看mysql当前连接数
如何实时查看mysql当前连接数? 如何实时查看mysql当前连接数? .查看当前所有连接的详细资料: ./mysqladmin -uadmin -p -h10. processlist .只查看当前 ...
- UVA-11297 Census(线段树套线段树)
题目大意:二维空间点修改,询问矩形区域最值. 题目分析:还是比较简单的. 代码如下: # include<iostream> # include<cstdio> # inclu ...
- 【NOIP2005】过河
感觉这题好玄--最后看了chty的代码才过,我现在这样必须看题解才能A题怎么办嘛qaq 原题: 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上 ...
- liunx之:top命令解释
top命令经常用来监控linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 本文通过一个运行中的 ...
- mesos INSTALL
$ git clone https://github.com/mesosphere/playa-mesos $ cd playa-mesos $ vagrant up --provision
- MFC 中编辑框数字限制范围
http://www.cnblogs.com/ziwuge/archive/2011/11/15/2249541.html void CSAAlt::OnEnChangeSlocp()//样本盘号输入 ...
- 【Unity3D基础教程】给初学者看的Unity教程(三):通过制作Flappy Bird了解Native 2D中的Sprite,Animation
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了MonoBehaviou ...
- SocketTcpServer
自定义SocketTcpServer,虽然现在有很多这样的组件,但是有时候还是需要把它集成在你的框架或者产品中,不需要特别强大的功能,根据需求定制.最基本的一个问题是判断数据包的结束,没有像super ...