thinkphp
ww122081351
这个作者很懒,什么都没留下…
展开
-
分类栏目Thinkphp实现无限极分类
无穷级分类太重要了。可是我就是不会写,怎么办?本篇就一点一点教大家写一个无穷级分类出来。最主要的是要把握无穷极分类的逻辑,那么写起来就很容易的多了首先看数据库表:xp_cate控制器: CateAction.class.php<?php class CateAction extends Action{ function index(){ $cate=M('Cate'); $li转载 2013-11-15 11:15:26 · 1785 阅读 · 0 评论 -
thinkphp字段映射隐藏真实表单字段
hinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,让表单提交更加安全,而不用担心放弃自动创建表单对象的功能假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式如下:Class UserModel extends Model{ private $_map = array( 'name'原创 2014-01-02 16:57:34 · 2438 阅读 · 2 评论 -
thinkphp表单js过滤
有个表单内容需要填写js代码,以供用户复制,要写入数据库,需要对其进行转义,但是用thinkphp的D方法中的create创建表单,它并没有自动进行js过滤,开启了’VAR_FILTERS’=>’htmlspecialchars’,//对get,post数据进行htmlspecialchars过滤,这样也不行。后来在手册中发现这样一句话:create方法如果没有传值,默认取$_转载 2014-01-02 13:12:14 · 1557 阅读 · 0 评论 -
thinkphp的sql优化原则
这不仅仅是针对thinkphp的,也可以针对所有mysql数据库的sql优化。摘自thinkphp官方手册的一篇文章。通常网站的性能瓶颈在数据库查询,如果你希望你的网站在一定阶段之内保持稳定,优化你的SQL和数据库是非常必要的一个优化环节。优化数据库是一个很大的话题,这里只是摘要一些比较关键的优化参考建议,并且需要具体分析项目的情况才能给出最合理的优化建议,所以具体的优化建议你应该咨询转载 2014-01-02 16:52:59 · 1481 阅读 · 0 评论 -
有用的函数-验证函数
function is_qq($str){ return preg_match("/^[1-9]\d{4,8}$/", $str); } function is_zip($str){ return preg_match("/^[1-9]\d{5}$/", $str); } function is_idcard($str){ return preg_match("/^\d{15}(\d转载 2013-12-31 10:59:25 · 619 阅读 · 0 评论 -
php即时输出信息
ob_end_flush(); //主要是这句 set_time_limit(0); //设置脚本超时时间为无限 import("@.ORG.Util.Chat"); //这是导入类 $chat = new Chat(); //使用用户创建聊天室 $i=1; while($i<=50转载 2013-12-31 11:34:43 · 749 阅读 · 0 评论 -
ThinkPHP防范XSS跨站攻击
原理是通过URL传入script标签,ThinkPHP异常错误页面直接输出了script。原理:httpx://www.example.com/index.php?m=">alert('xss');&a=index其中m的值是一个不存在的module,同时是一个完全的script,在异常错误页面中被执行实现XSS跨站攻击。防范方法:找到异常错误页面模板T转载 2013-12-31 11:28:59 · 3975 阅读 · 0 评论 -
模拟javascript函数:
1.收藏URLfunction fav($url,$name){ return "onclick='window.external.AddFavorite(\"$url\",\"$name\")' target='_self'"; }复制代码2.设为主页function home($url){ return "转载 2013-12-31 11:23:46 · 597 阅读 · 0 评论 -
调用其它的模版文件输出和模版类的display方法使用
// 假设当前操作是User模块下面的read操作 // 调用User模块的read操作模版 $this->display(); // 调用User模块的edit操作模版 $this->display('edit'); // 调用Member模块的read操作模版 $this->display('Member:read'); // 调用Xp主题的User模块的edit操作模版原创 2013-12-31 11:18:46 · 952 阅读 · 0 评论 -
Thinkphp 404错误页面 会导致漏洞
在 Thinkphp / tpl/ThinkException.tpl 这个文件,2.0版本或是其它版本容易出现错 误。要修改后在进行上线。修正的404页面转载 2013-12-31 11:08:28 · 840 阅读 · 0 评论 -
echo JS代码
echo "alert('未审合或是不存在的信息!');history.back();";三元运算中不可使用 echo 可使用 print("alert('未审合或是不存在的信息!');history.back();") ;原创 2013-12-31 11:16:50 · 1672 阅读 · 0 评论 -
模板路径常量传址到js文件中的小技巧
ThinkPHP 内置模板引擎中有一些快捷路径定义,可以很方便地对应目录,使用中模板会自动解释这些路径。通常要将这些路径传值到js文件中,我们会使用var URL = '__URL__',APP = '__APP__',PUBLIC = '__PUBLIC__';复制代码这种方式,但这样定义的是全局变量并不是很好,引用转载 2013-12-31 11:25:39 · 1106 阅读 · 0 评论 -
模板变量的高级使用
内置模板引擎对模板变量的支持相当充分,除了可以输出正常变量外,还可以输出特殊变量和对输出变量使用函数定义(并支持多个函数)。模板变量的标签格式为格式:{$varname|function1|function2=arg1,arg2,### } 说明: { 和 $ 符号之间不能有空格 ,后面参数的空格就没有问题###表示模板变量本身的参数位置 支持多个函数,函数之间支持空格转载 2013-12-31 11:22:03 · 1076 阅读 · 0 评论 -
JS+Thinkphp 中 if的判断
如果 {$var} 没有值的时候if($var) 就会报错,var加一个default='0' 就好了原创 2013-12-31 11:15:52 · 587 阅读 · 0 评论 -
文件删除与复制 TP 的路径
if($opt) { $dirname = date('Ymd'); //设置目录名称 $pic = './Public/Item/'.$dirname; //设置目录路径 $picmin = './Public/Item/thumb_'.$dirname; //设置缩略图路径 if(!is_dir($pic)) mk_dir($pic); //如果转载 2013-12-31 11:11:29 · 1796 阅读 · 0 评论 -
Thinkphp3.0R3 一种比较安全的目录部局
.. MyDiary //此为主目录 App //此目录为WEB访问目录 Public upfile //默认情况下,不设置__PUBLIC__的配置,即可访问这个目录的公共文件 css js ThinkPHP //此目录为thinkphp转载 2013-12-31 11:10:41 · 756 阅读 · 0 评论 -
有一比较的正规表达式 eq egt elt 之类的
$c = preg_match('/^(gt{1}|lt{1}|egt{1}|elt{1})\,{1}\d+(\,{1}(gt{1}|lt{1}|egt{1}|elt{1})\,{1}\d+)?$/','elt,148,egt,40');/^ 开始(gt{1}|lt{1}|egt{1}|elt{1}) 其中的一个\,{1} 一个 ,\d+ 这个是一个或是多原创 2013-12-31 10:55:47 · 1328 阅读 · 0 评论 -
搜索结果高亮显示
//将输入的关键字分配给结果集模板$this->assign('name',$name); //这里返回的结果集,比如其中有title$this->assign('tagList',$tagList); //结果集模板中 ' . $name . '', ###}>原创 2014-01-14 17:29:26 · 747 阅读 · 0 评论