|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。; B6 F. |& \) r
* N0 ^8 t" M5 Z! N' m8 f
1.解决dedecms登陆后台空白错误
i0 l Y/ q0 C8 F( k, Z因为php5.5的版本废除了session_register,所以需要去掉session_register函数2 p% y0 Z- v) T; J5 G* X7 i
4 K F0 `4 E p修改:“include/userlogin.class.php”,注释掉session_register,修改后如下* G$ T, Q5 D0 Q+ J
//@session_register($this->keepUserIDTag);
4 y" f* [, H+ F. j8 X9 P4 c$_SESSION[$this->keepUserIDTag] = $this->userID;% q- [+ k1 E# i/ g1 l
( e8 p" C7 J- }$ A5 I) `1 ?% h// @session_register($this->keepUserTypeTag);) j; ?; V, I5 S* \
$_SESSION[$this->keepUserTypeTag] = $this->userType;
% c- _% }3 z, r* `0 L5 E0 B% M7 V2 S2 |
// @session_register($this->keepUserChannelTag);2 y* G. i- }% v! E2 P+ ^
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
5 ]" U V2 U; T+ [9 ?; a
: a1 L& ]( q$ J8 W7 B. t// @session_register($this->keepUserNameTag);
' p& g/ R7 w' G7 g4 n% A$_SESSION[$this->keepUserNameTag] = $this->userName;
+ d5 i. ~) U! T; H: q" t7 W
' O' `5 v" W a+ {8 L: J/ s// @session_register($this->keepUserPurviewTag);: M9 ]: V1 d& [9 Z0 t6 C, {( y
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;. ]1 p3 {4 u5 Z# P+ l2 D
5 B( N4 x* H+ ^# ^ ~/ k8 @
// @session_register($this->keepAdminStyleTag);' G& ~" D9 x7 H5 u4 W9 L
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
5 I+ b( N. d/ s2 \
% M0 _+ k! `& q0 Z+ J2 l2.dedecms发布文章提示"标题不能为空"
2 J% R5 O3 ?9 N1 H* A" O) r6 F* \# Y6 p/ O" l, t
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
1 e$ p7 v1 X- s4 D. o- Z+ Z8 y' j因为htmlspecialchars在php5.4默认为utf8编码,- j! `7 R0 M! f8 G: I& E
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
5 l/ ~7 d& X' R/ ?7 S# R* Q4 ~7 c所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。' \$ I' n7 E# Z, U$ H, E1 D, e6 K( C7 S
! B7 J e0 v8 r% k V
具体方法:- o1 _4 e. D6 t3 A
1.在dede安装目录执行
5 I+ B- u9 ]& L* ised -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`1 a, ^3 E# z/ F3 I3 i7 j
0 O7 r9 t0 F" v& @# X S
2./include/common.func.php中任意位置添加函数
s2 S v5 y* t5 N% Z2 {+ W
. o# s7 N+ M. }function gbkhtmlspecialchars($str)
& R2 y s; X4 Z! J{
1 J$ a3 K( K$ E1 {; I' g return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');8 g8 k" V' q; i
}
1 c3 g# {1 g) Q2 S% C注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
2 D2 c0 v- z$ Z0 `0 E5 _, d, g/ W4 r: c( e* f1 i4 h
|
|