PHP后台
pan_yuyuan
小白一个,请多多关照
展开
-
ThinkPHP5.1+Ajax无刷新分页
无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。需要在后台展示自定义属性列表(lst.html),其中的列表部分摘出来,放到(paginate1.html)中:<div class="row"> <div class="col-sm-12"> <div class="ibox fl...原创 2018-08-22 16:52:45 · 2764 阅读 · 3 评论 -
tp5使用cookie加密算法,以登录为例
首先,我们为什么要对cookie加密?之所以要对cookie加密是以为cookie是保存在客户端的,稍微懂一点技术的人都能找到cookie的保存位置,如果我们保存cookie的时候没有加密,而是明文保存的话也就是说我们的用户名和密码就完全暴露了,这是一个非常大的安全隐患,所以必须加密cookie。其次,我们不管要对cookie加密,还要考虑到当我们使用的时候要对加密后的cookie进行解密...原创 2018-08-21 00:03:17 · 3027 阅读 · 1 评论 -
phpstudy5.5版本以上”No input file specified“问题解决
找到tp5在public目录下的.htaccess文件中的RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]在默认情况下会导致No input file specified.修改成RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]问题解决。...原创 2018-08-27 22:51:40 · 5620 阅读 · 1 评论 -
无限级分类的原理(递归方法)
在web开发当中,我们经常会遇到无限级分类,既中国有北京、天津、河北、河南等省(自治区、直辖市),河北有石家庄、张家口、唐山等地级市,石家庄又有正定县、无极县,正定县又有。。。。实现这种无限级分类,我们只需要在字段中增加一个pid,用于记录父类的id,这时候我们就可以采用递归的方式得到最终的结果,这里面有两种处理方式,一种是得到一个二维数组,一种是得到一个多维数组。具体代码如下:/*由父...原创 2018-08-21 00:06:27 · 5690 阅读 · 2 评论 -
使用Jquery实现获取短信验证码60秒倒计时
现在使用手机号+验证码的方式注册账号已经成为一种必备功能,当我们输入手机号点击发送验证码按钮后,按钮应该不可被再次点击,并开始倒计时,倒计时结束后才能再次点击。这一个可以借助某些插件实现,但其实使用Jquery也可以非常容易实现。假设我们使用button作为发送按钮:<button type="button" name="button">点击获取验证码</button>...原创 2018-08-21 00:06:15 · 3400 阅读 · 0 评论 -
tp5利用Ajax实现列表无刷新排序功能
在后台管理的时候我们有时需要对数据进行排序,以控制数据在模板显示的顺序,排序的原理就是修改数据库,然后更新视图。我们可以单独写一个方法来实现排序的功能,成功后刷新页面,也可以利用Ajax技术,实现数据的局部请求,也就是无刷新排序的功能。现在想要达到的效果是在排序的input框中输入数值,点击排序实现无刷新排序的功能。首先是表格(cate.html)这一块我们要单独摘出来,放入到一个单独页面...原创 2018-08-21 00:06:00 · 1346 阅读 · 0 评论 -
tp5实现ajax异步删除图片的方法
为了提高用户体验,我们为商品相册制作了ajax无刷新异步删除的功能,过程和方法还是非常值得借鉴的,效果如下:上面的图片列表中,你点一下旁边的减号就会在不需要刷新当前页面的情况下不光从网页页面上删除图片,也会从服务器端删除该图片,看看我们的核心处理代码吧:首先是客户端的js代码:function delrow(o){if(confirm(‘确定要删除该图吗?’)){var di...原创 2018-08-21 00:05:18 · 1023 阅读 · 0 评论 -
设置cookie和session的登录双重安全加密
1.登录界面提交过来的数据进行cookie和session的设置,其中cookie设置加密确保安全性 public function index(){ if(IS_POST){ $username=I('post.username'); $pwd=I('post.pwd','','md5'); ...原创 2018-08-21 00:02:58 · 303 阅读 · 0 评论 -
tp5缓存动态数据的方法
就比如我们商城项目中的文章和商品,他们根据不同的id要显示不同的内容,如果我们还按照之前的做法,那就只能缓存一篇文章、一个商品详情,不管你访问哪个商品,就只能打开一个,这个是不行的,那么解决问题的方法也是非常简单的,我们只需要把商品的id放到name参数中就可以完成了,大家看一下下面的这段代码便知道了:$cacheName=$id.’_arts’;if(cache($cacheName))...原创 2018-08-21 00:02:38 · 2296 阅读 · 0 评论 -
tp5怎么做清空网站缓存
首先我们要做的效果如图:前台代码<li> <a href="{:url('Index/clearCache')}" class="login-area dropdown-toggle"> <section> <h2><span class="profile"原创 2018-08-21 00:01:38 · 2391 阅读 · 3 评论 -
tp5结合ajax实现换一批功能
我们浏览网站的时候经常会看到这样的功能,点击查看下一批,不需要刷新网页,通过ajax异步获取数据即可。实际上这个功能跟下一页非常相近,只不过没有页码,没有刷新网页而已。那么我们解决这个问题的思路也正是利用了这一点,在做商城的时候我就遇到这个问题。如下图所示: 下面看一下我们的两段核心代码:1、tp5服务端获取数据的逻辑代码public function lst(){...原创 2018-08-21 01:18:37 · 1295 阅读 · 0 评论 -
tp5商品类型中的change事件
直接上代码 <div id="goodsattr" class="tab-pane"> <div class="form-group"><label for="username" class="col-sm-2 control-label no-padding-right">商品类型</label&am原创 2018-08-28 21:56:13 · 828 阅读 · 0 评论 -
empty和isset的区别
1、empty判断一个变量是否为空null、false、00、0、’0′、』。都会返回true。2、isset判断一个变量是否设置0、00、’0′、』、’ ‘、false、’false’、’null’都返回true。只有值為null的变量返回true3、if 判断式0、00、0.0、’0′、』、false、null返回false‘00′、’0.0′、’nu...原创 2018-08-29 12:28:19 · 246 阅读 · 0 评论 -
is_array()
is_array()--检测一个变量是否是数组描述:bool is_array(mixed $var)如果var是一个数组,则返回true,否则返回false例子:$array = array('你好','我好','他好','大家好');if(is_array($array)){echo "this variables is array";}el...原创 2018-08-29 12:42:59 · 349 阅读 · 0 评论 -
in_array()
in_array()(PHP 4, PHP 5)y in_array() -- 检查数组中是否存在某个值说明bool in_array()( mixed needle, array haystack [, bool strict] )在 haystack 中搜索 needle,如果找到则返回 TRUE,否则返回 FALSE。如果第三个参数 strict 的值为 TR...原创 2018-08-29 12:46:37 · 215 阅读 · 0 评论 -
php数组函数
PHP 5 Array 函数函数 描述 array() 创建数组。 array_change_key_case() 把数组中所有键更改为小写或大写。 array_chunk() 把一个数组分割为新的数组块。 array_column() 返回输入数组中某个单一列的值。 array_combine() 通过合并两个数组来创建一个新数组。 ...原创 2018-08-30 19:22:29 · 208 阅读 · 0 评论 -
php字符串函数
函数名 描述 实例 输入 输出 操作 去空格或或其他字符: trim() 删除字符串两端的空格或其他预定义字符 $str = "\r\nHello World!\r\n"; echo trim($str); 目标字串 清除后的字符串 rtrim() 删除字符串右边的空格或其他预定义字符 $str = "Hello ...原创 2018-08-30 19:11:23 · 205 阅读 · 0 评论 -
tp5实现ajax异步添加数据
ajax异步无刷新处理数据的用户体验还是不错的,在我们的项目开发中算是经常使用到的一个知识点。所以做成了ajax异步添加,我们平常用到的可能都是ajax异步删除、异步修改,异步添加可能稍微少点,下面看看我们的处理逻辑和核心代码吧。这是我们数据添加的界面:前端js代码如下:[js]<script type="text/javascript"> function ad...原创 2018-08-20 01:11:44 · 2937 阅读 · 0 评论 -
利用迭代实现无限级分类
本文介绍另一种无限级分类的方式,我们称之为迭代的方式(有的文章称之为引用),这种方式可以极大的提高无限级分类的效率。代码如下:function getTree($list, $pid = 0) {$tree = [];if (!empty($list)) {//先修改为以id为下标的列表$newList = [];foreach ($list as $k => $...转载 2018-08-15 01:24:57 · 295 阅读 · 0 评论 -
关于TP5的字符串截取及……2种方案!
在公共的common.php中方法1//字符串截取function cut_str($sourcestr,$cutlength) { $returnstr=''; $i=0; $n=0; $str_length=strlen($sourcestr);//字符串的字节数 while (($n<$cutlength) ...原创 2018-08-19 23:36:59 · 7174 阅读 · 0 评论 -
tp5制作的网站面包屑导航
面包屑导航或者叫当前位置//面包屑导航public function position($cid){//传递当前栏目idstatic $pos=array();//创建接受面包屑导航的数组if(empty($pos)){//哦,这个就比较重要了,如果需要把当前栏目也放到面包屑导航中的话就要加上$cates=db(‘cate’)->field(‘id,cate_name,p...原创 2018-08-19 23:46:15 · 1456 阅读 · 0 评论 -
递归实现无限分级
我用的是tp5框架,由于项目多处用无限分级,所以我在extend里面直接创建一个catetree包再创建一个类Catetee.php,就可以在控制器里面直接引用就可以了 <?phpnamespace catetree;class Catetree { public function catetree($cateRes){ return $this...原创 2018-08-20 00:16:12 · 408 阅读 · 0 评论 -
ThinkPHP5&5.1验证码的使用及点击刷新
验证码现在是用户登录、支付等很多环节的必备元素,ThinkPHP5&5.1给我们提供了验证码的生成方式,也是非常的简单,在这里写一个完整的验证码验证的使用方法,供大家参考。前台用户在登录时候需要验证码验证才能登录。首先使用Composer安装think-captcha扩展包:composer require topthink/think-captcha在需要显示验证码的地方:...原创 2018-08-22 17:21:38 · 3941 阅读 · 0 评论 -
ThinkPHP5&5.1关联模型分页操作
利用数据库的分页通常比较简单,但在实际项目中,我们往往需要处理复杂的数据,例如多表操作,这时候我们就需要利用模型层的关联操作得到最终想要的数据,而这些数据我们其实也是可以利用ThinkPHP5&5.1内置的分页引擎进行分页的。卖的车辆我们称之为车源,车源和车主之间是多对一关系(车主可以有多辆车,一辆车只属于一个车主);车源和车辆图片之间是一对多关系(一辆车有多个图片,一个图片只属于一辆...原创 2018-08-22 17:30:42 · 4639 阅读 · 0 评论 -
ThinkPHP5&5.1下WebUploader多图上传工具Demo
网上关于多图上传实时显示的插件比较多,但免费的不好用,好用的不免费,有的兼容性不好,有的已经不再维护很多年,这里介绍一个百度出的多图上传插件——webuploader(http://fex.baidu.com/webuploader/),首页的快速开始就给出了一个简单的使用方法,但过于简单,没有样式;而它的Demo既没有给出代码,而且也没有实现功能,后来发现这个Demo的源码放到了GitHub上,...原创 2018-08-22 17:35:54 · 2235 阅读 · 0 评论 -
ThinkPHP5&5.1下读取json文件数据
json文件有时候可以看做是一个小型的数据库,尤其是一些基本不会变的信息,放到json文件当中利于我们保管,当读取数据时我们就需要对json文件进行操作,得到我们想要的数据。在根据省市县多级联动时,我们通过前台的操作,向后台发出了一个ajax请求,传递的参数是三个code,也就是省市县的代码,而我们希望通过code得到name,也就是获取到省市县的名称,这时候我们可以这样操作。首先看一下j...原创 2018-08-22 17:51:34 · 8043 阅读 · 0 评论 -
tp5中使用外部类的时候有三种方法
在tp5中使用外部类的时候有三种方法第一种就是通过composer下载,通过这种方式下载的外部类能够支持自动加载,我们只要在使用的时候use一下命名空间就可以使用了比如:我们的tp5第四季项目要使用到邮件发送类PHPMailer,这个类我们可以通过composer下载到当前项目,默认会下载到vendor目录在使用的时候只需在程序文件的开头:use PHPMailer\PHPMailer...原创 2018-08-22 18:13:11 · 957 阅读 · 0 评论 -
tp5 前台无限极导航菜单类 1.0.0
适用于 id name pid sort 类似结构的表结构使用方法:(tp5)1、将最下面的代码保存到“前台”控制器目录下(名为 FrontNav.php),比如(路径): application/index/controll(应用/模块/控制器)2、在控制器中使用:(application/index/controll/index)(应用/模块/控制器/方法)也可以放到基础类的初...原创 2018-08-20 00:28:45 · 1326 阅读 · 0 评论 -
使用PHPMailer发送邮件
PHPmailer请在github下载,或者:https://pan.baidu.com/s/1VJyMHw_LOwul2GirpNL_Bw 密码:l7zp,虽然PHPmailer里面一大堆东西,但是我们只需要PHPMailer.class.phpPHPMailerAutoload.class.phpSMTP.class.php然后通过composer安装phpmailer...原创 2018-08-20 00:39:51 · 832 阅读 · 0 评论 -
优雅的实现thinkphp无限级栏目的排序
题目中我们并没有说明是tp5的无限级排序还是tp3的无限级排序就是为了让小新手们明白,这些功能的实现跟你使用的框架是没有关系的,不管你是tp5还是tp3还是laravel还是yii框架都没有关系,我们强调的是思路,是解决问题的方法,演示的时候因为我在用tp3所以无所谓了。无限级栏目的排序非常简单,这次以博文的方式分享给大家解决的思路。上图:上图是我们实现的无限级分类,我们要注意两个...原创 2018-08-20 00:53:57 · 1081 阅读 · 2 评论 -
另一种无限极分类巧在mysql
我也是从别的地方找来的,分析后发现挺不错的,特来分享。无法发图只能简单处理:id name pid path1 新闻 0 02 ...原创 2018-08-20 01:00:24 · 649 阅读 · 0 评论 -
tp5批量上传图片的方法
tp5批量上传图片实际上非常简单,核心原理是通过foreach循环单张图片上传,达到批量上传的目的,其本质还是单个逐一上传。我们在做下载站项目的时候做了系统配置这样的功能,这个功能是可以同时上传多张图片的,比如网站logo、二维码等等,看看我们的效果图:批量上传的核心处理代码如下:public function conflist(){ if(request()->isPost...原创 2018-08-20 01:05:22 · 3233 阅读 · 0 评论 -
$_FILES name和tmp_name有什么区别
$_FILES[字段名][name]——保存的文件在上传者机器上的文件名,$_FILES[字段名][tmp_name]——保存的是文件上传到服务器临时文件夹之后的文件名原创 2018-08-29 19:14:23 · 2627 阅读 · 0 评论