|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
7 ^/ r2 x" L/ y* }$ P
# ~9 k6 }& v8 T4 N7 T1.解决dedecms登陆后台空白错误
+ M- p+ t# M7 C. X, j因为php5.5的版本废除了session_register,所以需要去掉session_register函数
& y; T& E! e( I: x) Z3 J# A8 _8 H) H4 j7 q e3 x4 B
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下8 L2 q, @+ \5 @$ S0 m- q
//@session_register($this->keepUserIDTag);1 @5 ^1 y& L! z& \
$_SESSION[$this->keepUserIDTag] = $this->userID;/ V1 t" A0 A; k4 L
: B; O( |) o& F' h+ `, I( j# b
// @session_register($this->keepUserTypeTag);0 @) ?. F; `6 j6 Q1 i
$_SESSION[$this->keepUserTypeTag] = $this->userType;
& a# t9 x% N1 d+ X0 \+ h( |& T: \0 U
// @session_register($this->keepUserChannelTag);
, Z$ d2 `+ [! h) d0 }; W4 d# z$_SESSION[$this->keepUserChannelTag] = $this->userChannel; v- X& G( \# D( T, a2 Q
0 D. H$ W4 {+ i a! O// @session_register($this->keepUserNameTag);$ }0 x5 p6 l$ B) I& A
$_SESSION[$this->keepUserNameTag] = $this->userName;
( Q3 G1 \5 p) Q! F: v+ X ], q4 \& E R+ E/ [. a! Y1 k: ?( r I
// @session_register($this->keepUserPurviewTag);2 D/ e. p7 X, S1 v) v" |, U
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;+ }/ q A! i8 E, p( c
+ `# Z) E! K5 N3 m/ f, T! L
// @session_register($this->keepAdminStyleTag);: s, ?& z: |2 }& p$ c
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;7 M4 n- U. X3 j( k
8 y0 ^! L9 W' G8 X- ^2.dedecms发布文章提示"标题不能为空"
7 [' s# `- F$ @- w& m
, w- \( }: ?" h' _3 w# u现象是发布英文标题没问题,发布中文会提示“标题不能为空”: O- E- b3 {7 m* C
因为htmlspecialchars在php5.4默认为utf8编码,
0 W3 O9 s) M% f! d; Y" Ogbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。. I7 Q0 A `" h9 \
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
0 F# Y3 U( h7 d' L0 I! a# m9 ~+ H+ |
具体方法:
# s2 e% W4 a0 {. ]1.在dede安装目录执行 r" V' e4 u1 k7 [2 t
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`$ ~ \$ D/ G! O. x) a2 |8 \5 z
1 z9 w% [+ O3 X& _; g3 c( O+ V2./include/common.func.php中任意位置添加函数
* P F9 m$ g. J. I$ G6 ?$ @- P( R, P# u1 D! x; q0 J4 R) Y
function gbkhtmlspecialchars($str)
3 J& R: G- \+ c: o# N1 T0 F{
5 ^: Z* I1 y+ D return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
- i4 U& ` I" t2 |' m6 R. J9 s}
. n2 g+ X: Y/ J, M" [注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml
# b& j- P4 E8 t/ b( {$ i, K+ n
/ e) j$ ^- ]+ f8 T |
|