ThinkPHP 多表循环遍历输出 在做项目的时候,经常会遇到分类树输出,有可能是多级,有可能是两级,用得较多的应该是两级菜单树了,比如后台的菜单管理,最近做的一个项目是两个表需要循环出来,一个是分类的,另一个是子分类内容,然后这两个分类要整合到一起做成一个菜单树,然后在另外一个页面进行调用存储。 我的天,逻辑好麻烦,好了,先上代码: ThinkPHP双重循环遍历输出 数据表1 Cat 栏目 数据表2 In 文章 $cat=&nb... 2017年01月06日 编程技术 暂无评论 喜欢 2 阅读全文
关于thinkphp中GET接受数据 在PHP中,接受GET过来的数据,大多都是需要进行先过滤,然后再进数据库中的,否则没有任何过滤直接插入数据库的话,是很容易受到攻击的,所以在PHP处理留言或者评论之类的项目中,我都是先把特殊之类的字符进行转义,然后在读取的时候,再进行反转义就OK了。 TP是一个非常好的框架系统,近期用得也是很频繁了,而在TP模板中,是可以直接GET接受数据的,{$_GET.id} {$Think.get.id} 这两种方式都没有任何过... 2017年01月05日 编程技术 暂无评论 喜欢 0 阅读全文
PHP 面向对象:parent::关键字 在做THINKPHP开发项目中,用到了 parent:: 关键字,实际上 parent::关键字 是PHP中常要用到的一个功能,这不仅仅是在 THINKPHP 项目开发中,即使是一个小型的企业站点,也会有许多相同的function功能,我们可以封装成一个父类 class,然后多个子类直接继承公共部分父类。 PHP5中使用parent::来引用父类的方法。 parent:: 可用于调用父类中定义的成员方法。 parent::的追溯不仅于直接父类。 通过parent::调... 2016年12月23日 编程技术 暂无评论 喜欢 0 阅读全文
PHP 面向对象:final类与final方法 PHP是一个MVC类的语言思想,所以在控制层,可以把常用的代码进行类的整合,这样可以简化代码,在使用的时候直接使用 parent::关键字 来继承就好了,但是有些代码又不想要继承,或者某些方法不想被重写,哪就要用到 PHP 面向对象中 final类与final方法。 final -- 用于类、方法前。 final类 -- 不可被继承。 final方法 -- 不可被覆盖。 final类的不能被继承 如果我们不希望一个类被继承,我们使用final来修... 2016年12月23日 编程技术 暂无评论 喜欢 1 阅读全文
thinkphp全站增删改查的操作 作为一名PHPER,必须要具备最大限度的优化代码的思想,在thinkphp中,因为大多数的 Action 继承的都是 CommonAction 类库,所以关于平常使用的增删改查等操作,完全可以统一的放到 CommonAction.class.php 文件里面,然后在调用的时候就不用写一大堆的代码了。 下面小虎博客整理好的一份全站增删改查操作的方法,如下所示: //公共查找数据 protected function ... 2016年12月22日 编程技术 暂无评论 喜欢 0 阅读全文
写了一个简单的thinkphp RBAC权限验证系统 目前正在做一个大剧院的项目,本来想要找一个底层的RBAC权限验证系统,只可惜网上的代码有些繁琐,且有些功能使用不上,也想从单位里面的源码上扒个下来,只可惜关联的数据太多,RBAC是由五个表组成的,分别为 think_access,think_node,think_role,think_role_user,think_user,RBAC主要是依赖于这五个表的,这是大多数RBAC权限验证的做法。 我这里是自己写了一个简单的类似于RBAC权限的验证,有会员的... 2016年12月21日 编程技术 暂无评论 喜欢 1 阅读全文
thinkphp二级菜单循环显示 做了一个thinkphp左侧菜单,代码定义在了公共函数库里面,左侧菜单所有内容都保存在了一个表里面,一级二级使用的是 parentid 进行的关联,在模板里面要把二级菜单全部给循环显示出来,栏目表名为think_class, 表有字段:id,name,parentid,参考代码。 PHP代码如下: $class=M("Class"); $data=$class->select(); $list=array(); foreach($data as ... 2016年12月19日 编程技术 暂无评论 喜欢 1 阅读全文
Thinkphp中的RBAC权限验证 thinkphp中的rbac权限验证是一个thinkphp最底层的核心框架,有了这个底层核心,然后在这个基础上再去开发thinkphp的项目实例就很简单了,最近在做一个剧场的项目,就用到了thinkpp的rbac权限验证,实际上就是需要做一个用户组,用户,权限这样的一个底层功能,每个用户组可以赋予不同的权限来使用后台不同的功能,只可惜没有找到好用的RBAC权限验证的代码,只好自己写了一个简单的,这里先来了解一下RBAC权... 2016年12月19日 编程技术 暂无评论 喜欢 0 阅读全文
linux下定时执行php脚本 在windows服务端定时执行某个程序代码还是比较简单的,只要在系统中做定时任务就可以了,目前刚刚接触到linux下的定时任务,这在好多公司的面试中都会提到的,而对于linux小白的我来说,是个不小的挑战,听单位的同事说,linux定时执行PHP脚本也是很简单的,好了,目前分享一个可以执行成功的php脚本,仅供自己参考了。 1. 在需要定时执行的PHP文件的第一行加 [plain] view plain copy&n... 2016年12月19日 编程技术 暂无评论 喜欢 0 阅读全文
PHP 0 和null的区别 遇到一个技术性的问题,在MYSQL数据库中存储了默认数据为0的字段,结果在判断0或者null的时候出现了差错,因为0和null不是完全相等的。看似简单的问题,却在判断的时候很棘手,Null和0值是相同的,但是类型却不一样。null是一种特殊的类型,两种情况为null,比如下面代码: 1. $var = NULL; 2. $var; 3.0、"0"、NULL以及没有任何属性的对象都将被认为是空的。 举例如下: <?php $test=0;... 2016年12月19日 编程技术 暂无评论 喜欢 1 阅读全文
微信公众平台测试号申请 微信订阅号的限制有很大,这样导致开发人员没有办法进行高级接口的测试,好在微信提供了“微信公众平台测试号”的申请,很早之前的时候就申请过一次,这次正好拿来使用了,权限真是满满的,完全可以拿来练习微信公众平台开发使用。 申请“微信公众平台测试号”也是蛮简单的,打开 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 网址,只要用自己的微信号扫一下就可以了,或者用自己的手机号... 2016年12月14日 编程技术 暂无评论 喜欢 0 阅读全文
Apache http自动跳转到https的几种方法 在启用了 https 之后,还要保证之前的 http 端口可以打开,http 的 80 端口是有两个网址的,所以这就导致需要把原来的带 wwww 和不带 www 的域名同时指定一个 https 网址上面,需要做两个 Apache 的301重定向,这个其实是很简单的,小虎博客的做法是直接在 .htaccess 文件中添加两个 301 即可,如下所示: rewritecond %{http_host} ^www.xiaohuboke.com [nc] RewriteRule&n... 2016年12月13日 编程技术 暂无评论 喜欢 0 阅读全文
简单获取微信公众号 access_token 的方法 获取公众号 access_token 的方法有许多,大多我们都在使用“微信公众平台接口调试工具”来获取,因为这个工具算是更图形化一些吧,只要添写自己的 appid 和 secret 值就可以了,这也是常用的获取微信公众号 access_token 的方法,微信公众平台接口调试工具的网址如下: https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=基础支持&form=获取access_token接口%20/token 打开之后,添写 appid 和 s... 2016年12月13日 编程技术 暂无评论 喜欢 0 阅读全文
微信公众号开发出现 errcode:48001 的错误 今天在做个人订阅号开发菜单的时候,竟然提出如下的错误: string(69) "{"errcode":48001,"errmsg":"api unauthorized hint: [_DegOA0418vr32!]"}" 这是完整的代码,而我的 menu.php 代码为如下: <?php $appid = "xxx"; $appsecret = "xxx"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&... 2016年12月13日 编程技术 暂无评论 喜欢 5 阅读全文
php数组循环输出实现方法 以前我们经常会想怎么来实现php数组循环输出来,本文章来介绍了利用php中常用的四种循环语句来实现单数组或多维数组循环输出方法. 在 PHP 中,我们可以使用下列循环语句: while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循环代码块 先我们利用php自带函数对php数组进行遍历... 2016年12月04日 编程技术 暂无评论 喜欢 3 阅读全文
利用PHP获取访客所在地位置 如果是做大型项目的话,网站获取用户的本地信息就很关键了,比如58分类信息网,在用户访问的时候会自己判断用户所在地的信息,然后可以跳转到相应的分站上面,这样给用户的体验很好,而不是全国各地的用户全部都来访问北京站或者上海站。 利用PHP获取访客所在地位置在大型站点中的应用很广,当然,除了这个应用之外,还可以举一反三出许多好玩的东西,今天小虎博客在做一个小项目的时候,用到了,在站点不... 2016年11月24日 编程技术 暂无评论 喜欢 4 阅读全文
WordPress使用相对路径访问 wordpress默认的页面路径全都是绝对路径,这样导致的直接问题是在更换域名的时候,需要重新的去更换所有域名,虽然可以使用SQL在数据库中批量执行,但生成的静态页面,却还要重新生成一遍,如果页面少的话还好一些,如果页面量很庞大,就会很耗费时间,也会影响百度的排名,小虎博客这两天又开始了一个新的折腾,就是把绝对路径替换成相对路径。 wp-config.PHP文件最后加上下面代码: /*设置相对路径*/&... 2016年11月22日 编程技术 暂无评论 喜欢 0 阅读全文
js 显示隐藏div简单效果 在做网站总后台项目的时候,需要做一个简单的 js隐藏DIV的效果,也就是说有一项内容,点击文字之后才会出现,然后将原来点击的文字隐藏掉,当然,跟原来项目经理说的有一点出入,遂从网上找了一个差不多的效果,自己修改了一下,就这样应用到站点中去了,很简单,也很容易的一个简单的 JS 效果,当然,网上也有许多的 jquery 可以实现同样的效果,看个人习惯了,在这里就把原来的所有代码分享一下了,实例... 2016年10月19日 编程技术 暂无评论 喜欢 1 阅读全文
js判断iframe中元素是否存在代码 本文章来给大家介绍js判断iframe中元素是否存在代码,有需要了解的朋友可进入参考。 现在流行的jquery实现方法,代码如下: if($(window.frames["iframepage"].document).find('.l-grid-row-cell').length > 0){ alert(1); }else{ alert(2); } 纯原生态js实现方法,代码如下: <script> va... 2016年10月17日 编程技术 暂无评论 喜欢 0 阅读全文
JS子父窗口互相取值赋值详解介绍 本文章总结了一些七七八八的关于JS子父窗口互相取值赋值用法详细,文章有点长但是很好的讲述了子父窗口之间的相互操作赋读取值,有需要了解的朋友可参考,子窗口赋值到父窗口,代码如下: <script> function openWin(str) { window.open(siteurl+"popup/"+str, null,'width=800,height=500'); // 打开窗口 }&nb... 2016年10月17日 编程技术 暂无评论 喜欢 0 阅读全文