|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
1 p! \7 S Y& o: t, g3 ?
) j% X) S' b8 p% X9 ~' |1.解决dedecms登陆后台空白错误8 T& I" q; b0 k) S) b
因为php5.5的版本废除了session_register,所以需要去掉session_register函数2 z; P7 B/ s# p: G9 o& g N$ A
6 K; v0 \# e& n( n/ V- O% p
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下9 Y. j2 G6 }; x, K* y
//@session_register($this->keepUserIDTag);- L4 i7 G. `& L7 a
$_SESSION[$this->keepUserIDTag] = $this->userID;' b* @" r- A: E) Z. l& [
, f2 }. z5 w2 O1 [- t
// @session_register($this->keepUserTypeTag);8 r+ E7 D& m1 }7 e' Y
$_SESSION[$this->keepUserTypeTag] = $this->userType;
, X, ~- @6 m2 P ]9 G8 @" @
- d- C3 t) l5 e4 W// @session_register($this->keepUserChannelTag);! h* }7 ]6 x; c. l; f7 Q D( _! |
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
4 N# u- {/ h# P1 ~8 ^3 g& I1 N0 I* T9 Q1 e3 a6 }" ?/ e1 ]
// @session_register($this->keepUserNameTag);# C$ D/ V# g: Z" G5 a/ U7 [1 \
$_SESSION[$this->keepUserNameTag] = $this->userName;. w/ H9 \/ @& H% F% [& p
+ h; z; H) J1 F+ J# }" |+ K// @session_register($this->keepUserPurviewTag);
, G9 X* K) ~% B# g/ W8 ]# E7 ]6 B$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
* s4 b7 y5 r( H: O* v1 Z* e
' [- i' l' m- F: E! a// @session_register($this->keepAdminStyleTag);
6 A) M0 Z! O8 }7 G) l; C$_SESSION[$this->keepAdminStyleTag] = $adminstyle;7 p v$ R) y# G
* a( o; u' O) t( c A
2.dedecms发布文章提示"标题不能为空"; M, S4 p: L1 g5 {
: c, O, U% p7 ^1 `; M; R
现象是发布英文标题没问题,发布中文会提示“标题不能为空”) j; a/ @- L! a9 g. j
因为htmlspecialchars在php5.4默认为utf8编码,& g. N7 c. b# E1 p+ i) U
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。* J7 x4 P! u* X* x R5 e5 t
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
, }0 Y# M0 [- U6 ^- v: u& I' _+ p( X( q0 r
具体方法:
! Y1 W" p+ N7 _1 G3 x1.在dede安装目录执行
3 r- |) R* X* {3 ysed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
7 q4 t4 K& O3 g, ~+ H s
; R" B& Y# k- E6 J1 O2./include/common.func.php中任意位置添加函数
# L/ I8 B6 o( O+ S1 f8 r, O$ V( V+ M* L; Q; |
function gbkhtmlspecialchars($str)
4 }7 y8 o* s4 a{9 I3 l: t% ]3 ^4 U
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');) b8 J3 H5 A& y
}0 k; P' h+ U5 j6 d3 z& B+ X
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml+ a- L- n- l1 y% m$ x2 `
1 N/ b$ S' w4 N9 j& V |
|