找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10758|回复: 0

dedecms(织梦)发布文章提示"标题不能为空"及与php5.5兼容问题的解决

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
9 @; A! D0 R$ S7 U2 M4 ]
% @) V& E, i6 m0 K' l, c1.解决dedecms登陆后台空白错误
+ S8 b6 y" B$ [因为php5.5的版本废除了session_register,所以需要去掉session_register函数
4 q4 E" }. f9 S
- x. T3 Q# u  I' G: i修改:“include/userlogin.class.php”,注释掉session_register,修改后如下# I" c3 v) \6 L/ p4 y' X
//@session_register($this->keepUserIDTag);
. {: z- H) W( V* g+ P6 C$_SESSION[$this->keepUserIDTag] = $this->userID;( \" T) h, [% H

1 L9 j7 d! W% C; R2 h// @session_register($this->keepUserTypeTag);
9 a& b2 P) o- V% S* z; L% @$_SESSION[$this->keepUserTypeTag] = $this->userType;
- M1 N0 V: N( k2 G  |! o  S; ]1 f0 z) W
// @session_register($this->keepUserChannelTag);
* b% }* r( @+ K5 t$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
. R" c. F* W% ^& |+ T. e
# y4 @8 m' D- E( q; Z+ o% M// @session_register($this->keepUserNameTag);
* C, v: p1 ~9 }6 f$_SESSION[$this->keepUserNameTag] = $this->userName;
6 ^; g: O5 J+ _( s: Y) d* S# k3 f; \+ Q( n5 Y+ U$ R5 [
// @session_register($this->keepUserPurviewTag);
5 J& _/ A0 o& T' m$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
+ \5 y5 f* M5 ]# v1 F2 y% ]
# H% l; ^7 t* W7 i6 Z// @session_register($this->keepAdminStyleTag);: F( {- P0 W6 Q; B* k
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
( N6 y% P) ^# ^4 {  Q% C( z2 n) }# u/ _7 u9 g& F
2.dedecms发布文章提示"标题不能为空"
# o0 G1 H2 s8 u$ S! m5 g- W7 ]7 W7 P: b: g& ]
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
. C6 i* N0 R0 b8 G8 }5 @6 [因为htmlspecialchars在php5.4默认为utf8编码,6 L: c* R1 q+ B$ X( o) J& e$ S
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
/ K( B7 \5 Z+ y% F( c所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
1 n3 P1 p" z  x; \+ n& i7 f# }9 R' I4 k0 |6 l
具体方法:  H! j. \1 q9 @; _' J# \
1.在dede安装目录执行
: u% F" L% a& N4 Lsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
# q, {; i! H8 w5 J$ Y# R2 Z6 Q  r/ I
2./include/common.func.php中任意位置添加函数
6 O: `. H3 l8 r! g! ]% _/ |8 ]( |9 K0 c1 ?3 r" @. v+ D' a7 O: b6 C! E
function gbkhtmlspecialchars($str)
3 G2 P- M( e0 s( q/ d# C{
6 z( c( |4 n1 a# t        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');- u; A6 H: y2 t$ M
}
3 B  x3 n/ F0 `, G6 c- `$ T7 }注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
) h; B6 F3 e0 K
( k, b: k6 R5 ^1 W. A
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|第一站论坛 ( 蜀ICP备06004864号-6 )

GMT+8, 2026-5-25 09:58 , Processed in 0.038680 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表