找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11184|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。, o' E1 d; v0 X

- @3 ]# [! ^; }5 f1.解决dedecms登陆后台空白错误
5 P/ L: N  R2 B6 m5 u% \9 y因为php5.5的版本废除了session_register,所以需要去掉session_register函数& _/ u- J6 v* ~, i8 `

+ T* Z& `- S5 b修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
: z8 W' K/ V4 }: c( X) H$ o//@session_register($this->keepUserIDTag);4 i: Q6 v9 M1 K+ T7 e8 ]
$_SESSION[$this->keepUserIDTag] = $this->userID;7 o3 Z, e+ Q. R; k% F+ A
, W: C9 a; O3 t5 k
// @session_register($this->keepUserTypeTag);
: C: o& g+ @/ ]$_SESSION[$this->keepUserTypeTag] = $this->userType;
0 v6 R7 R# x$ J7 g6 R6 |
+ n' `% l7 ~1 `// @session_register($this->keepUserChannelTag);
8 i5 P8 I4 v% Q: r7 k$_SESSION[$this->keepUserChannelTag] = $this->userChannel;8 Q4 T) L2 {6 H( L

. r" G7 B- G9 i// @session_register($this->keepUserNameTag);% n: f, s3 p* v) Z& b$ ?* {
$_SESSION[$this->keepUserNameTag] = $this->userName;
& i/ p" a1 U, J0 P1 K  z- b* Y9 a1 [/ e+ B
// @session_register($this->keepUserPurviewTag);
6 H. p2 S7 {: b+ q5 J$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;1 }  I( X  y1 |, z" {+ |
2 \, U. \# ~$ w7 e$ W  B
// @session_register($this->keepAdminStyleTag);
& d: w/ X& Z: l$ u8 _& b2 g9 |6 T$_SESSION[$this->keepAdminStyleTag] = $adminstyle;% \  A9 f) I$ |" Q, s9 }
! t$ \3 \9 D6 \! k! P8 D
2.dedecms发布文章提示"标题不能为空"& E6 F, v* e0 Y% t2 z+ b
( @) c" e$ p7 `$ Z( F4 |0 }8 W
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
4 K" ?: s! g5 T+ m4 f1 _3 H$ F因为htmlspecialchars在php5.4默认为utf8编码,3 r* P: h  O/ \; G3 }0 V- q: S
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。; s1 s& z7 F- V6 r) h
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
3 R6 T/ ?; m1 x' o) A$ c) A
. Y1 Y4 @. n# y% k具体方法:
; |& G; V3 o' o0 m+ [- m1.在dede安装目录执行; }; Q& f1 W( [
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`9 B/ q- x% O" H) J- q' Y  v
8 \- h& p: p8 d8 W! q. R  z7 S0 D
2./include/common.func.php中任意位置添加函数
, v7 i4 \3 f/ C/ z/ h/ R
& {; G/ s/ s. ]" b6 G8 ifunction gbkhtmlspecialchars($str)! H6 z; t5 j/ }8 G! i" G
{
+ F& W' J  q: G        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');0 D8 d0 s: i* d- h+ Q
}
0 W) M* f% G: L1 _- G8 U注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
' G! {8 v! G, D, o8 _1 P2 X1 p% B. n! Q0 g) {! p) F
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-8-1 23:08 , Processed in 2.552013 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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