|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。 a0 N+ r. }( V. V
0 X6 B. }5 c8 @2 U. m3 x" x. v
1.解决dedecms登陆后台空白错误: k6 Y! |# E" U+ I! f2 v5 v7 o
因为php5.5的版本废除了session_register,所以需要去掉session_register函数: w' e1 D% f4 K$ d- n" ?
/ Q4 ]5 x/ a5 X0 W' G1 f
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
/ i) q* S% e# K9 K `: \//@session_register($this->keepUserIDTag);2 b3 F9 R# {+ s
$_SESSION[$this->keepUserIDTag] = $this->userID;
, f9 ~3 V5 n2 f& O P4 e; C* n
& T w* D$ X: B5 y K// @session_register($this->keepUserTypeTag);
, o7 S( c' v! m; I3 ]' E$_SESSION[$this->keepUserTypeTag] = $this->userType;7 h- f8 }; U+ H& m5 Y
6 I- C' P& e/ ?; u// @session_register($this->keepUserChannelTag);6 {7 C' f- [+ c2 G
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
2 Y& D/ ~8 C! D; X& e
& \% ~% o. g5 C! p4 p5 t// @session_register($this->keepUserNameTag);' q8 d. z! [5 j2 ]
$_SESSION[$this->keepUserNameTag] = $this->userName;7 g/ a' J: r! b8 F
0 d" M! l, ~* r
// @session_register($this->keepUserPurviewTag);1 C2 e; l7 A( b7 T9 S7 [6 ^
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
0 h# n, }0 f+ f4 C7 z1 q2 i. w5 u+ r1 ]2 Q
// @session_register($this->keepAdminStyleTag);
- S; a( n% ]; l' i; d& i- w( W7 f$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
$ G" T, O, N+ L, H! a
1 l, u1 g+ O8 U2.dedecms发布文章提示"标题不能为空"- k$ v% m! a; [- i3 g! J- A
* z1 M8 i5 q9 G, o: w现象是发布英文标题没问题,发布中文会提示“标题不能为空”
9 |2 T% n$ T* V因为htmlspecialchars在php5.4默认为utf8编码,5 U) t' _) M5 b+ K! O
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
7 O) Z5 R. Y4 ^& X9 L7 @/ _所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
- ] ~" s6 f5 R# y0 [% P8 I8 B! {. A$ ]) ~4 g
具体方法:6 h8 h& g5 a: M& Y! `% @
1.在dede安装目录执行
) R- E. _- t0 S5 C! l8 Gsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`. D: b5 x9 P7 X2 Q: T& _
4 {0 M7 q( W5 A9 J% E1 |9 l
2./include/common.func.php中任意位置添加函数
2 Q$ ~1 C/ l! d6 o* d; T4 p) c+ {( T7 c+ i
function gbkhtmlspecialchars($str)$ A% U9 Y& g7 m! C. R0 x& `! h
{
Q: p/ M4 k/ e* G' B3 ~7 r( I return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
2 S' w$ m) p! Y2 q$ j}$ n0 z q& f. R) V& U
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' r- m9 ^0 m# i6 G
0 h/ J- A/ ~! e |
|