最近给朋友做网站,里边大部分都是图集型的文章,之前还好好的,今天添加图集文章的时候提示“标题不能为空”,试了好几遍,中文的标题就会提示这个,你写字母就没问题…抓狂

于是找了下度娘,解决办法基本都是一样的试了下,管用!!!!!(如下)

问题症状:V5.7登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”。

问题根源:htmlspecialchars在php5.4默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。

解决办法:给htmlspecialchars添加ENT_COMPAT ,’GB2312’参数修改编码默认值。

具体修改页面:

1、dede/article_add.php 和 dede/article_edit.php

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));
改成
$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,’GB2312′);

2、include/ckeditor/ckeditor_php5.php 138行
将 htmlspecialchars($value)  替换为 htmlspecialchars($value, ENT_COMPAT ,’GB2312′)

这样就ok了,不再提示标题为空了

但是还想问为什么我以前能发布文章没问题,突然就这样了呢- -蒙圈

以前用cmd访问mysql 的时候总要找到环境下的mysql命令根目录才可以使用mysql的命令(好烦),还好发现这个方法!

操作系统:以windows 7为例

步骤如下:

1:右击“计算机”

2:单击“属性”

3:单击“高级系统设置”(箭头1)

4:单击“环境变量”(箭头2)

5:选中“PATH”并编辑(箭头3)

6:将mysql命令行根目录地址填入PATH变量值中(箭头4)

我的mysql根地址为D:\wamp\wamp\bin\mysql\mysql5.5.20\bin

ok完活

如下图操作

四部完成之后cmd,直接mysql -u root -h localhost -p进入

成功

会话控制的两种方式:

cookie:

  1. 一种维持状态的方式
  2. Cookie其实就是一个文件,他是保存在客户端当中
  3. 没访问一次服务器,客户端浏览器会带着这个cookie信息去访问,服务器对应读取cookie信息
  4. 第一次访问,服务器设置一个cookie,将cookie信息存入到客户端浏览器当中
  5. 第二次访问,客户端浏览器带着cookie信息去访问服务器,服务器通过读取cookie信息来获取上一次访问的设置的信息
  6. $_COOKIE没有办法直接修改数组信息
  7. Setcookie前不允许有任何输出
  8. Cookie的删除要通过setcookie来设置过期时间
  9. Setcookie可以设置路径,设置的路径代表可以在本路径下获取该cookie信息,上级或者平级无法访问
  10. 如果没有设定过期时间,代表的意思是关闭浏览器cookie失效
  11. 如果没有给定path路径,代表的意思是设置cookie的有效路径为当前文件的路径

session:

  1. Session的信息是存储在服务器当中的
  2. Session是基于cookie的
  3. 客户端第一次访问服务器,服务器设置session,将详细的资料存入到session文件当中,然后将此session文件对应的session_id号交给客户端浏览器存入到cookie当中
  4. 客户端浏览器带着cookie来访问服务器,此时服务器会通过cookie当中的session_id来寻找服务器的session文件当中的对应的资料

设置session的步骤:

  1. 开启session环境Session_start();
  2. Session_name()获取ini当中的session.name的值
  3. Session_id()获取当前session的id号
  4.  如果我们想维持登录状态
    1. Setcookie(session_name(),session_id(),time()+3600);
  5.  删除session
    1. 开启session_start()
    2. 设置session的值为空或者unset
    3. 设置cookie的值过期
    4. 删除session文件【可选】

Cookie和session的关系和区别:

  1. 区别:
    1. Cookie文件是保存在客户端浏览器的
    2. Session文件是保存在服务器端的
  2. 关系:
    1. Session默认情况下离不开cookie
    2. Session的id号会保存在cookie当中,然后通过cookie当中的id号来对应去找对应的session文件

如果cookie被禁用掉,session还能使用吗?

  1. 默认情况下,不能使用session
  2. 特殊情况:
    1. 我们可以通过get的方式将session_id传递下去,前提是use_only_cookies=0
    2. 通过?session_name().”=”.session_id()
  3. 或者使用?SID
  4. 推荐使用SID,因为如果浏览器禁用cookie,SID会有值,值为session_name().”=”.session_id(),如果浏览器没有禁用cookie,SID是空的
  5. 将session的信息存入到数据库当中,或者自定义写文件