找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10951|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
* t- o' H% i% s; K( m0 u2 p. L$ Y) f9 D4 Z5 O. b
1.解决dedecms登陆后台空白错误
$ S8 j. V. a9 `  u' x4 A& H9 B因为php5.5的版本废除了session_register,所以需要去掉session_register函数
- U/ F; K' O+ ~& G' M- M; l5 Z* I- A" d2 f* l, f
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
6 E: U2 F0 n6 e9 m# L; l$ q//@session_register($this->keepUserIDTag);
' s* z3 C  K+ w) s7 l, n$_SESSION[$this->keepUserIDTag] = $this->userID;
% s: C$ M# K) J; l% j/ }1 o2 D# k9 I+ W$ |2 B- V
// @session_register($this->keepUserTypeTag);
2 Q7 Z+ A, O- \; l8 n# D0 }$_SESSION[$this->keepUserTypeTag] = $this->userType;- V8 h5 ]4 @5 W8 _& A( s

. J& b: _/ O, w7 E  W; p& i) r+ y// @session_register($this->keepUserChannelTag);6 |& U) p: P$ d* O0 U2 h, V
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;0 M5 H3 c( Z* w/ K& W% |
2 G$ S3 G9 q9 S' x, P* [1 p4 p
// @session_register($this->keepUserNameTag);9 c* ?* f4 X0 c0 W
$_SESSION[$this->keepUserNameTag] = $this->userName;
* d1 L. L0 L% T8 r* d  x9 J# I2 J5 Y) H% @9 O6 @9 R% M& u
// @session_register($this->keepUserPurviewTag);+ g, O' M( F4 T
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;* |- R& R8 f1 N
# B4 r7 l% ^+ D: U/ s. F, [9 w
// @session_register($this->keepAdminStyleTag);8 n8 L4 A1 w! D$ W/ ?3 Y. E
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;8 @- }) x3 }2 ~( l. T% x9 h+ K

2 ^* y1 b3 L* U% n* U& ]" O2.dedecms发布文章提示"标题不能为空"! P/ S; l3 y9 N' \
( c# X6 t, ^7 @
现象是发布英文标题没问题,发布中文会提示“标题不能为空”0 T: n/ w( l) r% i
因为htmlspecialchars在php5.4默认为utf8编码,
" \) E4 @# P- L& ]) }gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。! ~" n: i! D: B6 i% B
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。8 C& x+ p1 g( b" m

  j5 F8 i7 X4 @* x具体方法:; I! Y. K" V/ w& B( A. ]: P9 b
1.在dede安装目录执行
: }/ F$ c: Z8 e' ~& x; C; o. esed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
! t6 e- i; H  R% v/ H$ p: ]% A' A& i7 h$ x7 E+ f
2./include/common.func.php中任意位置添加函数- s  t8 h6 z7 L* B- t1 l/ D* b

4 E5 [+ e6 @6 P% v5 t- ^; Hfunction gbkhtmlspecialchars($str)( I7 `" i8 c6 f- {% ]; `5 m
{. i! T, ?8 U6 F' |. \, N: T3 c+ t' a
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
& k+ v( c7 \* C! K) a( X}
! {0 J7 b' E1 P3 b4 ?$ \- g& w5 ^) x注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' L, e0 C4 G2 v  F
: W- W- w  y5 r: D0 K
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-6-25 09:51 , Processed in 0.042223 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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