|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
: O, f f9 Z: g, f1 @- O& P, _ a
( G7 w6 @: R9 u& Z1.解决dedecms登陆后台空白错误, z4 X# y% p$ C' f/ d5 U# H7 E) N
因为php5.5的版本废除了session_register,所以需要去掉session_register函数
! U3 m! @/ p! ^& F! A9 k. h' t* ]" A. b, o
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下; P7 ^/ _% H7 A( D& v C( B4 ?
//@session_register($this->keepUserIDTag);* W" R' H8 |# \2 W1 \* s* F
$_SESSION[$this->keepUserIDTag] = $this->userID;4 B$ r) J+ [) R7 [# x9 q9 M! h
5 E$ o ~. }/ V// @session_register($this->keepUserTypeTag);5 E" P% m7 G. Q" E2 a- C$ |1 C
$_SESSION[$this->keepUserTypeTag] = $this->userType;% s) L0 C: E7 a2 ]/ q
5 S( n1 K, t# ?// @session_register($this->keepUserChannelTag);# M ?- d6 |$ {7 J7 A( R
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
8 P/ e0 j1 i( W. V6 ?/ h! E. R% r/ Z I2 \5 h9 d3 L3 o
// @session_register($this->keepUserNameTag);
% R% D: x8 H/ |$ ?7 u: R$_SESSION[$this->keepUserNameTag] = $this->userName;$ @" K# \% g, z2 Q" t5 t& f; [
6 m& \9 C5 V% u; \& w; y) B: ~( K// @session_register($this->keepUserPurviewTag);
2 T6 O; q3 j3 |6 l0 O$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
$ M1 l) ^3 @8 n' k3 m5 }0 H) U7 W1 [/ T
// @session_register($this->keepAdminStyleTag);2 Z7 Q% q, t! b f3 ~$ {; {9 Z+ L" I
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;2 x. i9 O u3 V/ \9 z/ ~ g& R
8 U% A" G& f0 @+ D& _2.dedecms发布文章提示"标题不能为空"; V* o) ?, { O3 m8 q
; T5 ?- l! z+ s' o6 m# t- x, c现象是发布英文标题没问题,发布中文会提示“标题不能为空”; L; R/ T7 u* n8 l7 {7 \
因为htmlspecialchars在php5.4默认为utf8编码,/ q1 b. _, w3 q1 a6 L- D w
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。0 S! R5 a0 j; ~& }) x8 t
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
8 m! }- d7 j8 e( z; O/ m: L8 f* n7 R, z, h
具体方法:
: y1 S7 F6 Q0 H5 S6 z( D1.在dede安装目录执行
. E6 c# u( h, _# j6 Tsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`$ W- o$ Q, A, X$ d4 Z2 f
" C. o `! ?- ?5 C7 t
2./include/common.func.php中任意位置添加函数& G" _4 T6 {$ v( e' D2 F* Q
/ g4 ?' k8 f- F* o" L$ |% D$ ]2 Pfunction gbkhtmlspecialchars($str)1 H. _8 u! n: k- [! [. A
{: D; Y& v# h( G
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
5 x) D( B; s3 d7 k t- @}
" v' ~* v5 g9 ]/ u注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml$ o: G' `+ V* L+ G S3 N$ Y. b
3 z9 y8 f. r) B1 q3 ]5 B
|
|