|
|
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
|
|