找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10672|回复: 0

dedecms(织梦)发布文章提示"标题不能为空"及与php5.5兼容问题的解决

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。  a0 N+ r. }( V. V
0 X6 B. }5 c8 @2 U. m3 x" x. v
1.解决dedecms登陆后台空白错误: k6 Y! |# E" U+ I! f2 v5 v7 o
因为php5.5的版本废除了session_register,所以需要去掉session_register函数: w' e1 D% f4 K$ d- n" ?
/ Q4 ]5 x/ a5 X0 W' G1 f
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
/ i) q* S% e# K9 K  `: \//@session_register($this->keepUserIDTag);2 b3 F9 R# {+ s
$_SESSION[$this->keepUserIDTag] = $this->userID;
, f9 ~3 V5 n2 f& O  P4 e; C* n
& T  w* D$ X: B5 y  K// @session_register($this->keepUserTypeTag);
, o7 S( c' v! m; I3 ]' E$_SESSION[$this->keepUserTypeTag] = $this->userType;7 h- f8 }; U+ H& m5 Y

6 I- C' P& e/ ?; u// @session_register($this->keepUserChannelTag);6 {7 C' f- [+ c2 G
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
2 Y& D/ ~8 C! D; X& e
& \% ~% o. g5 C! p4 p5 t// @session_register($this->keepUserNameTag);' q8 d. z! [5 j2 ]
$_SESSION[$this->keepUserNameTag] = $this->userName;7 g/ a' J: r! b8 F
0 d" M! l, ~* r
// @session_register($this->keepUserPurviewTag);1 C2 e; l7 A( b7 T9 S7 [6 ^
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
0 h# n, }0 f+ f4 C7 z1 q2 i. w5 u+ r1 ]2 Q
// @session_register($this->keepAdminStyleTag);
- S; a( n% ]; l' i; d& i- w( W7 f$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
$ G" T, O, N+ L, H! a
1 l, u1 g+ O8 U2.dedecms发布文章提示"标题不能为空"- k$ v% m! a; [- i3 g! J- A

* z1 M8 i5 q9 G, o: w现象是发布英文标题没问题,发布中文会提示“标题不能为空”
9 |2 T% n$ T* V因为htmlspecialchars在php5.4默认为utf8编码,5 U) t' _) M5 b+ K! O
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
7 O) Z5 R. Y4 ^& X9 L7 @/ _所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
- ]  ~" s6 f5 R# y0 [% P8 I8 B! {. A$ ]) ~4 g
具体方法:6 h8 h& g5 a: M& Y! `% @
1.在dede安装目录执行
) R- E. _- t0 S5 C! l8 Gsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`. D: b5 x9 P7 X2 Q: T& _
4 {0 M7 q( W5 A9 J% E1 |9 l
2./include/common.func.php中任意位置添加函数
2 Q$ ~1 C/ l! d6 o* d; T4 p) c+ {( T7 c+ i
function gbkhtmlspecialchars($str)$ A% U9 Y& g7 m! C. R0 x& `! h
{
  Q: p/ M4 k/ e* G' B3 ~7 r( I        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
2 S' w$ m) p! Y2 q$ j}$ n0 z  q& f. R) V& U
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' r- m9 ^0 m# i6 G

0 h/ J- A/ ~! e
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2026-5-10 20:21 , Processed in 0.063838 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表