dede后台登录验证码及数据库内容替换安全确认码不显示完美解决方法

这篇文章不探究找验证码不显示的原因(因为这原因有很多像缓存、GD库什么的),只是带你快速处理这些问题。

1.后台登录验证码不显示终极解决办法

找到登录验证码的配置文件

data\safe\inc_safe_config.php

打开这个文件,找到: $safe_gdopen = ’1,2,3,4,5,6′;这句代码, 这个就是系统哪些地方开启验证码。与[验证码安全设置]界面是一对一的关系把里面的“6”删除了,就可以了,这时候在登录后台就没有验证码这个选项了。

2.后台安全确认码不显示终极解决办法

这里这个安全码的位置是在数据库内容替换时,有个安全码填写,这里教你怎么直接忽略这个验证码

找到下面文件

后台目录\sys_data_replace.php

找到以下代码(大约在45行),删除或者注释掉,这个时候我们再次进行数据库内容替换时就无需输入安全确认码了。

QQ图片20160530154936

假如你有强迫症想把安全码这个输入框也去掉的话,也简单 我们来到模板文件下

后台目录\templets\sys_data_replace.htm

找到以下代码(大约108行),删除或者注释掉这段HTML,

QQ图片20160530155442

这个时候我们再来到数据库内容替换的页面时安全码的输入框提示字样已经被我们删除了。

论做笔记在学习中的重要性及正确做笔记的方式

俗话说的好,好记性不如烂笔头,这句话对许多人来说应该是都知道的一个道理。

养成及时做笔记的习惯,不止能加深我们的记忆,更能在我们在遇到问题中,及时使我们回想起这些问题及解决方法,更加是对自己学习的一种负责态度。

我今天不打算多说笔记的重要性,准备来说一下,什么是做笔记的正确方式,什么?做笔记也有方式可言?对的,养成正确的笔记方式。可以事半功倍。

往往人们都习惯于课堂的笔记本来摘写笔记,这种方式没有什么不好,可是他却有一些不足之处,例如查找起来费事,伤神,假如我面前摆着一本我几个月的一本笔记本,你难道真有信心记住那一页记录的什么信息嘛?更不用说查找了。

在如今这个互联网发达的时代来说,纸质笔记已经远远不能满足我们了,我们可以更多的选择word文档甚至一些APP 例如有道笔记,这些工具能帮助我们完成一些纸质笔记无法完成的事,例如快速查找,云端保存之类。

拿程序员来举个例子,我想相信每个程序员在看自己代码时远远比看别人代码思路清晰,这就要求我们必须把平时难以理解的知识点记录下来,虽然当时自己理解了,自己也动手了操作了,那也要防止以后要是在碰到这类问题时暂时卡住了,这时笔记就体现出他的作用了。你只要查找一下相关关键字,找到之前自己的代码看上一眼,相信你会毛瑟顿开。

上面我为大家说明了下正确做笔记的方式,希望大家在平时的学习中养成做笔记的好习惯,遇到不会的问题时及时翻阅笔记,这样我们的学习效率才会提高。

 

ThinkPHP框架结合smarty模板后使用 success()后报错解决

出现这种问题的原因是因为TP框架默认配置的是内置模板,使用smarty后找不到模板路径,这时需要自己在项目配置文件中配置一下

解决如下:

Success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:

1
2
3
4
//默认错误跳转对应的模板文件
 'TMPL_ACTION_ERROR' => THINK_PATH . 'Tpl/dispatch_jump.tpl';
 //默认成功跳转对应的模板文件
 'TMPL_ACTION_SUCCESS' => THINK_PATH . 'Tpl/dispatch_jump.tpl';

这时我们应该在自己的项目配置中这样设置一下

1
 'TMPL_ACTION_SUCCESS' =>  'Tpl/message',

我这里是在自己项目中新建了一个message的模板文件(只是把默认模板dispatch_jump复制了一份),配置里面自然是Tpl/message

QQ五笔截图未命名

然后还需要把模板文件meaage.html中的变量$meaage,$jumpUrl等修改成smarty的表达方式,见下图:

QQ五笔截图未命名2

这个时候我们在控制器中调用success()

1
$this->success('修改成功',U('goods/showlist'));

Ok页面跳转成功。大家不妨去试一下。

这里附上TP3.2.3手册中的跳转说明:http://www.kancloud.cn/manual/thinkphp/1720

sql中having和where的简明说明及区别

其实网上有许多文章已经说明了这俩个的区别用法,可是感觉都比较繁琐,不怎么明了,下面就已我的观点来简单举例说明一下

共同点:

1.都可以做一些查询筛选,设置指定条件,俩者都可以使用的情况下如下:

1
2
3
俩者都可以使用的情况
select goods_id,goods_name,goods_price from sw_goods where goods_price>1000
select goods_id,goods_name,goods_price from sw_goods having goods_price>1000

不同点:

1.where设置的条件 字段必须是数据库存在,having必须是select 查询出来的

1
2
3
只可以使用where 不可以使用having
select goods_id,goods_name from sw_goods where goods_price>1000
select goods_id,goods_name from sw_goods having goods_price>1000 语句错误

2.Where中不可以使用聚合函数(count,sum这些),但having中是可以使用聚合函数的,这是因为Where是在结果返回之前起作用的,having是一个过滤声明是在查询返回结果集以后对查询结果进行的过滤操作

1
2
select goods_category_id,avg(goods_price) as ag from sw_goods GROUP BY goods_category_id having ag>1000 可以的
select goods_category_id,avg(goods_price) as ag from sw_goods where ag >1000 GROUP BY goods_category_id 不可以

以上例子也看出,having就是来弥补where在分组数据判断时的不足。因为where执行优先级别要快于聚合语句。

上面是对having和where的一些简单说明,如果大家看了还有些迷茫的话,建议在多看看这类型的例子,相信你能很快理解。

Apache下vhosts.conf的快速配置多域名绑定及301重定向

apache主机头其实是可以在httpd-vhosts.conf、vhosts.conf、httpd.conf中都可以设置的

官方文档的举例是在httpd.conf中设置的。

百度一下会发现有些是在httpd-vhosts.conf中设置的,但这种设置有时会有一些问题,比如设置后localhost打不开等

所以推荐在vhosts.conf中设置。

选择在vhosts.conf中设置的话,比较简单,而且没有什么乱七八糟的问题。

下面这个例子是我在本地配置的 所以要先映射一下域名

1.先在windows/system32/drivers/etc/hosts中设置域名和IP的映射

1
2
3
127.0.0.1 web1.com
127.0.0.1 www.web1.com
127.0.0.1 www.web2.com

这就不多说了。

2.然后直接在vhosts.conf中写如下代码

1
2
3
4
5
6
 <VirtualHost *:80>
     DocumentRoot "E:\phpStudy\WWW\web1"              #网站的目录
     ServerName  www.web1.com                         #需要绑定的域名
     ServerAlias  www.web2.com                        #绑定多个域名  多的话后面用空格隔开
     DirectoryIndex index.php                        #设置默认的访问的页面
</VirtualHost>

好了 这个时候  你的域名应该就可以正常访问了 并且www.web1.com和www.web2.com都指向同一个站点 下面是我本地的截图

QQ截图20160524173800QQ截图20160524173807

其实vhosts.conf里面还有很多配置  具体我就不一一说了  想详细了解的可以去百度一下.

3.最后一步就是怎么做301重定向了,vhosts.conf配置如下

1
2
3
4
<VirtualHost *:80>
    ServerName web1.com
    RedirectMatch permanent ^/(.*) http://www.web1.com/$1
</VirtualHost>

这个时候访问web1.con的时候就会转向到www.web1.con,为了更好的SEO。

其实实现重定向还可以在网站根目录下的.htaccess配置,这里就不做介绍了。

上面就是教大家快速配置apache网站的一些要点,都是在本人测试成功下才发的。如有不妥,莫怪!

php日期处理date()函数,昨天,明天

代码如下

1
2
3
4
5
6
7
8
9
10
date_default_timezone_set('PRC'); //默认时区 
echo "今天:",date("Y-m-d",time()),"&lt;br&gt;"; 
echo "昨天:",date("Y-m-d",strtotime("-1 day")), "&lt;br&gt;"; 
echo "明天:",date("Y-m-d",strtotime("+1 day")), "&lt;br&gt;"; 
echo "一周后:",date("Y-m-d",strtotime("+1 week")), "&lt;br&gt;"; 
echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "&lt;br&gt;"; 
echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."&lt;br&gt;"; 
echo "一个月前:".date("Y-m-d",strtotime("last month"))."&lt;br&gt;"; 
echo "一个月后:".date("Y-m-d",strtotime("+1 month"))."&lt;br&gt;"; 
echo "十年后:".date("Y-m-d",strtotime("+10 year"))."&lt;br&gt;";

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php

ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好。但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来。

.htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 index.php 文件(即入口文件),这也是 ThinkPHP URL 伪静态的第一步。

例如原来的 URL 为:

1
http://phptest.com:81/shop/index.php/Admin/index/index

去掉 index.php 之后变为:

1
http://phptest.com:81/shop/Admin/index/index

如此一来,就变成了 http://服务器地址/应用模块名称/操作名称[/变量参数] 的常见 URL 格式

更改 Apache httpd.conf 配置文件

提示:如果在虚拟主机商配置,请直接配置第三、四步,因为支持 .htaccess 的空间已经配置好了前面两步。

用编辑器打开 Apache 配置文件 httpd.conf(该文件位于 Apache 安装目录Apache2conf),并按如下步骤修改,。

一、加载了 mod_rewrite.so

确认加载了 mod_rewrite.so 模块(将如下配置前的 # 号去掉):

1
LoadModule rewrite_module modules/mod_rewrite.so

QQ五笔截图未命名

二、更改 AllowOverride 配置

更改需要读取 .htaccess 文件的目录,将原来的目录注释掉:

1
#<Directory "C:/Program Files/Apache Group/Apache2/htdocs">

更改 AllowOverride None 为 AllowOverride FileInfo Options ,更改后的配置如下所示:

#<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
<Directory E:/html/myapp>
    AllowOverride FileInfo Options
</Directory>

.htaccess 是基于目录来控制的, 该句即表示需要读取 .htaccess 文件的目录,要根据实际具体 Apache 的解析目录来配置。虚拟主机如果提供 .htaccess 控制,一般都已经配置好了。

三、添加 .htaccess 文件 Rewrite 规则

在需要隐藏 index.php 的目录下(本教程中为 E:/html/myapp,也即入口文件所在目录)创建 .htaccess 文件,并写入如下规则代码:

1
2
3
4
5
6
7
# BEGIN WordPress
RewriteEngine on
#不显示index.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
# END WordPress

如果网站已经有 .htaccess 文件,在里面添加该段配置规则即可

四、更改项目配置文件

编辑项目配置文件 Conf/config.php ,将 URL 模式配置为 2(Rewrite模式):

1
  'URL_MODEL'=>2,

至此,各个配置已经完成。保存各配置文件后,重启 Apache 服务器并删除 Runtime 目录下的项目缓存文件,在浏览器访问隐藏 index.php 后的地址测试是否成功:

1
http://phptest.com:81/shop/Admin/index/index

如果访问成功,那么利用 Apache .htaccess 文件的 Rewrite 规则隐藏 index.php 入口文件的配置就成功了。见下图
QQ五笔截图未命名2

hosts域名映射成功,但apache访问失败常见原因

当你hosts域名映射成功后,也就是可以用ping成功后。

QQ五笔截图未命名

然后apache绑定网站后, 访问域名总是404

可能是你端口问题  默认apache80是不用加的,但是如果你现在用的不是80端口,必须在域名后面加端口号,才可以成功访问,也就用这个形式:域名/你自己设置的端口号

ubuntu_14.10无法设置中文原因

ubuntu对于初学linux的人来说无疑是一个首选的系统,那么在网上发现许多人问为什么用VMware Workstation(简称VM)虚拟机安装完系统后界面是英文的呢,于是乎他会去百度查找一下  可能百度上面会得到这面这结果   是让在设置里面查找中文语言如下图QQ截图20160520165538

可以有的人明明这里就没有中文语言,那改怎么办?

不要怕,其实可能是你VM在安装ubuntu的时候选择的简易安装,简易安装默认是选择英文的,就没有了选择语言那一项,此时你应该重新搭建一个虚拟机,注意搭建的时候,点选稍后安装操作系统 这一步很重要

 QQ截图20160520170024

这个时候等你搭建好虚拟机后,再导入镜像文件进行安装,安装前就会有语言选择了。

QQ截图20160520170327

好了 大功告成,希望这篇文章能帮到正在疑惑的你。