|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
4 M L( ^4 {* y: z) d5 O
/ w6 C+ M& H, t) A* w% }1.解决dedecms登陆后台空白错误
. ^- j, k {/ B因为php5.5的版本废除了session_register,所以需要去掉session_register函数4 F+ Y% E% P5 m) n0 n; M
' A# c5 I. [3 G$ S- ?: |修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
8 U s- }- I2 k O' k' ^//@session_register($this->keepUserIDTag);
9 O j: p# ?, ~' s: g$_SESSION[$this->keepUserIDTag] = $this->userID; m1 |6 F* s5 h7 I) l# [, D
o2 O9 G% ^( d$ ]+ y& d [: W// @session_register($this->keepUserTypeTag);& l2 Q8 W0 P$ i5 J/ y) J* Z( S' K$ ^5 D
$_SESSION[$this->keepUserTypeTag] = $this->userType;- ^. L* s z3 ~6 h; ]7 O' e. n, @' s
1 a; C6 u5 f# _: q& P1 q6 U; j2 }
// @session_register($this->keepUserChannelTag);
( O4 q; i9 \( n8 r$_SESSION[$this->keepUserChannelTag] = $this->userChannel;4 r. _" P# ^6 s0 ^! S% d# L& E
. Y% w, F6 p0 h* G// @session_register($this->keepUserNameTag);$ d$ t1 }- C6 J! W9 @; C
$_SESSION[$this->keepUserNameTag] = $this->userName;7 l2 [% T2 A' O
3 Q5 D5 F! p' s" B2 _// @session_register($this->keepUserPurviewTag);+ g8 h# g a" b$ ~
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;" ]0 t! e' q( J. @8 n
# o/ W% H& a- n! ^$ H/ ~// @session_register($this->keepAdminStyleTag);
* \$ |7 Z+ Q6 C( \8 v$_SESSION[$this->keepAdminStyleTag] = $adminstyle;% B8 D; N9 L9 y4 A" Y- S7 Y
$ y5 {' f2 j% i
2.dedecms发布文章提示"标题不能为空". o* o- W! e& n3 s
. W0 {0 k3 Y7 [9 ?" ?& l4 r
现象是发布英文标题没问题,发布中文会提示“标题不能为空” c0 o! T4 ^* t; o: q1 k S6 g* t
因为htmlspecialchars在php5.4默认为utf8编码,2 I$ s, y0 J* W- q. m/ R
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
$ u: H( J0 J+ E! m0 r- X+ S所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
@2 S0 R4 I& w0 L; K' D! z" A: D. w! m: z# l( A7 v$ K) [! b' Z
具体方法:
' f2 q3 r c1 I: S1.在dede安装目录执行
. E7 M( K# A$ a7 s6 Used -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
2 n; m* A; q' ^4 s4 v$ q: n5 T3 Z' K, T1 w/ b
2./include/common.func.php中任意位置添加函数
1 d7 [& @; C, l6 x. d, o# p1 T" o8 K4 v2 R3 ]
function gbkhtmlspecialchars($str)
2 K* Y0 `8 P( _# b, _{0 b% _& Z# |) m2 X7 W
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
" \: S, L* }/ _9 z5 m; R1 M1 s3 e}
% w- V8 `" d6 J2 o# u" L& @# v" M注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml7 G8 ^" e/ W% |7 R7 x
0 q- m' I# _5 _: x |
|