找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10446|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。! ^! e" o# s) x; z+ j4 O/ h
0 i& ?3 \2 q2 R" C/ |
1.解决dedecms登陆后台空白错误0 J) K" P2 p+ N" _
因为php5.5的版本废除了session_register,所以需要去掉session_register函数
! F$ g9 b. l; `( W1 L/ l. N4 V* [6 r( i# h
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
( F7 x# c6 @: a//@session_register($this->keepUserIDTag);; K7 i7 u3 \; T4 n( w& j
$_SESSION[$this->keepUserIDTag] = $this->userID;! l6 M4 R- e, r5 S7 }# w
" i( u' e- G4 r: |5 k6 {+ r
// @session_register($this->keepUserTypeTag);  Q5 T4 s5 _$ D' v5 K# E
$_SESSION[$this->keepUserTypeTag] = $this->userType;
5 O# l4 x6 L# {8 u9 W. g2 k6 E7 |9 J4 c5 O8 d4 C' _6 f
// @session_register($this->keepUserChannelTag);: M0 L! Q, _# p
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;0 G( o8 X7 U( q6 y- U5 z2 N

+ r" _& k. v6 u2 v/ h, e% ?// @session_register($this->keepUserNameTag);# |' d% o2 U* i# y/ q
$_SESSION[$this->keepUserNameTag] = $this->userName;
$ @0 Z0 |, Y  G( z$ i1 m7 ~' A$ y5 C1 O- M! Y, N6 q" C1 S% ~
// @session_register($this->keepUserPurviewTag);
% W) r4 W# U% q' H! o$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
* R" x' Z* p" k
0 ~+ @# Z7 V6 g) T( W! I3 j8 L8 w// @session_register($this->keepAdminStyleTag);- w8 ?$ M/ T4 s" Q5 {6 h" ~
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;: _# D0 U0 l2 Y- b* Q
, c& n' e& @& n7 l' D$ B0 s
2.dedecms发布文章提示"标题不能为空"0 V+ m$ j3 H; j4 Y' A; o9 r

7 R' W! Y5 W# c1 {+ o现象是发布英文标题没问题,发布中文会提示“标题不能为空”
& b8 N+ H# v: c4 }1 }, {因为htmlspecialchars在php5.4默认为utf8编码,. h: v2 k- n5 \9 g% M1 s0 z; Y5 a
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。! H, y5 Y' A" X5 J9 U
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
/ i2 n8 u9 P' \& L* v% }7 J& v1 p0 c) b8 f9 l; X8 h
具体方法:
, ]5 ^$ l& V4 q8 D1.在dede安装目录执行7 E+ I+ f# [* Z0 c5 x
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`  R: c! r% G5 c: m  _
. ^" h0 g. B) H2 ?" x& S% a
2./include/common.func.php中任意位置添加函数! O: |. J( z7 m

" T# b) }% _) h$ x" ?function gbkhtmlspecialchars($str)
2 x, z. S5 Y$ R9 R# d{/ J7 P7 z- c' n( z% m6 l
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');; x' N- }7 Z  S* \* T- ?) f
}  L5 g/ h8 m( D0 R- r
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml
* r; W3 a6 b( [8 x5 R
! s" H5 Z: ~9 j  k6 c4 z, e) u2 v) x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-8 12:40 , Processed in 0.071512 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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