|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
+ L" |* e2 h' W- w A
7 @2 {& ^7 @5 R9 a9 c1 \ G1.解决dedecms登陆后台空白错误
) a. F1 M/ p6 K. ^% q, e: G因为php5.5的版本废除了session_register,所以需要去掉session_register函数. R% U1 J7 Q" k
2 G& ~4 K5 \, h0 a修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
P1 ^& ?9 `% h0 Z$ d7 ^6 N//@session_register($this->keepUserIDTag);: b m- T( |. m% c- j: p5 `
$_SESSION[$this->keepUserIDTag] = $this->userID;0 W0 v1 i1 ]3 C! l" V" D' \3 U5 K
4 b: u% ?; `2 S, O3 a( i1 G K
// @session_register($this->keepUserTypeTag);
6 j/ [" P' N) i8 O$_SESSION[$this->keepUserTypeTag] = $this->userType;
( U% ?8 \% j" e4 E/ g1 x# W* P* l1 n4 ?2 M" r! H% o) T
// @session_register($this->keepUserChannelTag);/ K- M* j; C5 K! I
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
7 |0 w5 s) h w
n$ k( ^) L6 l- c: ]// @session_register($this->keepUserNameTag);( ?7 {8 H) C! S% e( _- a/ R4 r7 m, l. U
$_SESSION[$this->keepUserNameTag] = $this->userName;4 R% I) J+ ?+ D$ ^7 `( C+ u) \7 d
8 C2 k( v) h+ g, h// @session_register($this->keepUserPurviewTag);
# _" {) v% R z$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;6 O; p2 Q3 i4 A4 I# l/ U; _1 h
" w# e( h! j$ l, F N4 R3 T// @session_register($this->keepAdminStyleTag);
c( t7 y' C( y0 d l- m. a& f; F$_SESSION[$this->keepAdminStyleTag] = $adminstyle;- T- u. ~ I7 k2 R% [5 n0 F! r
0 m. Q1 Z# W, F( }: g9 r) L2.dedecms发布文章提示"标题不能为空": i l8 w# C; u9 H
8 a! P3 `, p6 @9 [- \6 G
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
* g- c: ~7 ~ }& c, Y( m4 ?因为htmlspecialchars在php5.4默认为utf8编码,
" e" B) ]& `, Hgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
) \" Z" ~" h9 J5 z5 H, ]$ q所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。. S7 G* ]' g7 q3 k- n1 ^8 L+ H' ^
7 Q# F5 W2 G, m7 U具体方法:
3 f" ~& H' t0 f6 Y! r2 N1.在dede安装目录执行
" I- I+ C' {6 P; H$ ]& Qsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
: ]7 z# g/ s: p( f" l" p! Z4 }! m G5 M3 ^
2./include/common.func.php中任意位置添加函数" W9 X3 j* t" M+ B, [' N* k
+ c, p! {5 v$ A% tfunction gbkhtmlspecialchars($str)
& h! |( Q9 v/ V& A9 L{& |( k4 E9 O4 u, C" q: ]1 V
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');" r2 d! }$ D: L- h, S
}
6 W* R w* G7 j' e4 H注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml3 Z2 Q+ R) N6 l# Y
7 `0 b5 H! T$ J' D7 ^5 m
|
|