|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
' i0 H3 |2 m! k( V9 h9 c1 e S" p e2 b. |
1.解决dedecms登陆后台空白错误
5 G4 J2 d* r% x* m0 D# I因为php5.5的版本废除了session_register,所以需要去掉session_register函数- L! k+ ?. t7 B X8 o% f7 P
1 q O" d: d2 H& v, X6 N修改:“include/userlogin.class.php”,注释掉session_register,修改后如下! R& ?4 k c* A `( V* ]$ U
//@session_register($this->keepUserIDTag);4 e# ?4 C; f& v- _& ` }5 b
$_SESSION[$this->keepUserIDTag] = $this->userID;4 p/ I% B$ Q& v) o
3 Y+ `- |! {0 c// @session_register($this->keepUserTypeTag);
6 W. U$ m0 G4 g8 t3 }: R$_SESSION[$this->keepUserTypeTag] = $this->userType;- {. Z% A T: m" a. o# o) K
% Q4 Y' N" [* \" h. m9 d
// @session_register($this->keepUserChannelTag);8 F: J# B, L4 y/ K2 v) o
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;. d& l) w' p$ w% J1 c: D9 x# f
* A' d! p' X2 Y, n8 ]/ z0 E6 f' q( t# t// @session_register($this->keepUserNameTag);7 e+ z0 `" [2 Z
$_SESSION[$this->keepUserNameTag] = $this->userName;
2 q5 ^1 G+ W# d( }- @
: }8 f: i! E# ]( \% B2 L# t x// @session_register($this->keepUserPurviewTag);
/ u$ T0 k9 y) @- y$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;: H0 G/ Q# Y' F' }) T
# t4 F+ f) \" _2 u" [& ]
// @session_register($this->keepAdminStyleTag);
& X6 X/ c9 U6 w j7 Z5 T+ K- c$_SESSION[$this->keepAdminStyleTag] = $adminstyle;9 O- g% a3 Y4 j* o8 _! K
& [2 r6 I9 J& A# T8 }3 h$ w) g# p2.dedecms发布文章提示"标题不能为空". g: x; z1 d ^
" z4 C2 |5 K, x" L2 J. U6 N& `现象是发布英文标题没问题,发布中文会提示“标题不能为空”' z3 r4 {. \4 I. Q6 s+ x
因为htmlspecialchars在php5.4默认为utf8编码,( R8 ^0 Y: T2 G1 y9 q
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。: L% K1 B: e* v5 I; S
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
& S1 p* G, L0 H% L" P. B% }
9 b' ]( b0 G5 r/ h5 M! m具体方法:$ w; `3 j8 Z' g3 Q
1.在dede安装目录执行$ w. `# Z8 W& z
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
4 [* [* i, {. S; y: d" ^
+ z2 F4 g& m, ]% F( U2./include/common.func.php中任意位置添加函数+ G( [8 d0 m+ ~3 }& n- y
! [1 D; s, ], n; c1 A) c
function gbkhtmlspecialchars($str)( m" K5 w$ d! X" b% Y
{" l. X- U6 T; ~# e& U
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
6 b+ i/ }- F5 t}
4 K9 _* V2 x( k注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml& z5 u/ P8 J4 C' s5 D/ m5 F
" w% }- j; H3 u; t) l/ |+ A8 |
|
|