|
|
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。9 K' I* _* @2 D# y, p: e( e- M
1 C* p+ w( C+ i7 |5 @1.解决dedecms登陆后台空白错误
x# U# E. P$ a1 Q+ y' q因为php5.5的版本废除了session_register,所以需要去掉session_register函数$ U. s: Q, \! u! M0 F# f$ s. H
' e* _( V* f9 _2 C5 P& u/ n
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
g% ^% |+ b7 R2 r+ D" M//@session_register($this->keepUserIDTag);
7 K# T/ \5 `% [( t1 K- n) P r$_SESSION[$this->keepUserIDTag] = $this->userID;5 Q( U# P& J5 G' i
" P8 k: M. T" ^- L9 c$ Y1 d
// @session_register($this->keepUserTypeTag);: }! [& B" v Q% t: {6 d" m" v8 L
$_SESSION[$this->keepUserTypeTag] = $this->userType;' n. Y& O) {( s" E- C0 P, g5 ~* Z
. m, U7 o: C+ ^# n9 C0 Q+ L// @session_register($this->keepUserChannelTag);
3 w P; U% A. F# w, L$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
; Q- S8 C& c4 y/ w2 ?4 p: P' C. ~
// @session_register($this->keepUserNameTag);% C+ j) V9 m# U$ ~
$_SESSION[$this->keepUserNameTag] = $this->userName;
, |9 i! M! V, w
. N8 D3 Q5 q) ^% O" O! Y6 a// @session_register($this->keepUserPurviewTag);7 x+ C, w1 O# m. D. K: t! I+ q+ H
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;! v5 k. f# X5 ]! p! O% |
+ ?+ l. @1 o0 x0 U9 R8 R/ @& w// @session_register($this->keepAdminStyleTag);
V( p! t! L$ [$_SESSION[$this->keepAdminStyleTag] = $adminstyle;9 J t+ w. Z& M$ N- c4 p
. ?6 I- l) O$ f1 _6 O2.dedecms发布文章提示"标题不能为空"; k5 i X: g* V9 p) y
% T. C0 z1 Q, R现象是发布英文标题没问题,发布中文会提示“标题不能为空”
; E' u# Y% |( ~/ L5 s& y4 ?因为htmlspecialchars在php5.4默认为utf8编码,
& G1 p# V% a6 @( Egbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。2 q9 t/ ^$ C( u' Z7 A, A
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。6 f: f3 S: c! k5 B, Y9 x
3 v' F/ e8 K# v1 h, e* Q$ P
具体方法:
; L0 P+ `4 z. a# h2 K# Y; U1.在dede安装目录执行
; ?1 S9 `0 J) d+ I% I1 Csed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`' n* {& Q. l p2 Z, m& h
, \8 \3 S% C6 F' l: r5 D% g/ H2./include/common.func.php中任意位置添加函数
' a$ W9 r* ], T4 A0 f. |; V8 z- b& v7 R1 B
function gbkhtmlspecialchars($str)! |' b# h+ l( m8 Z7 R! P6 a
{& i& E9 s4 u* o( a' t$ j) U
return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');( R1 t2 M, ]% J0 F0 Y
}
! a9 C) L& P# M; a4 e1 n& T注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml5 a. O/ h; i$ P# F4 o' I& s# ?
2 s, J8 E# d. s% r |
|