找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11510|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
1 p! \7 S  Y& o: t, g3 ?
) j% X) S' b8 p% X9 ~' |1.解决dedecms登陆后台空白错误8 T& I" q; b0 k) S) b
因为php5.5的版本废除了session_register,所以需要去掉session_register函数2 z; P7 B/ s# p: G9 o& g  N$ A
6 K; v0 \# e& n( n/ V- O% p
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下9 Y. j2 G6 }; x, K* y
//@session_register($this->keepUserIDTag);- L4 i7 G. `& L7 a
$_SESSION[$this->keepUserIDTag] = $this->userID;' b* @" r- A: E) Z. l& [
, f2 }. z5 w2 O1 [- t
// @session_register($this->keepUserTypeTag);8 r+ E7 D& m1 }7 e' Y
$_SESSION[$this->keepUserTypeTag] = $this->userType;
, X, ~- @6 m2 P  ]9 G8 @" @
- d- C3 t) l5 e4 W// @session_register($this->keepUserChannelTag);! h* }7 ]6 x; c. l; f7 Q  D( _! |
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
4 N# u- {/ h# P1 ~8 ^3 g& I1 N0 I* T9 Q1 e3 a6 }" ?/ e1 ]
// @session_register($this->keepUserNameTag);# C$ D/ V# g: Z" G5 a/ U7 [1 \
$_SESSION[$this->keepUserNameTag] = $this->userName;. w/ H9 \/ @& H% F% [& p

+ h; z; H) J1 F+ J# }" |+ K// @session_register($this->keepUserPurviewTag);
, G9 X* K) ~% B# g/ W8 ]# E7 ]6 B$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
* s4 b7 y5 r( H: O* v1 Z* e
' [- i' l' m- F: E! a// @session_register($this->keepAdminStyleTag);
6 A) M0 Z! O8 }7 G) l; C$_SESSION[$this->keepAdminStyleTag] = $adminstyle;7 p  v$ R) y# G
* a( o; u' O) t( c  A
2.dedecms发布文章提示"标题不能为空"; M, S4 p: L1 g5 {
: c, O, U% p7 ^1 `; M; R
现象是发布英文标题没问题,发布中文会提示“标题不能为空”) j; a/ @- L! a9 g. j
因为htmlspecialchars在php5.4默认为utf8编码,& g. N7 c. b# E1 p+ i) U
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。* J7 x4 P! u* X* x  R5 e5 t
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
, }0 Y# M0 [- U6 ^- v: u& I' _+ p( X( q0 r
具体方法:
! Y1 W" p+ N7 _1 G3 x1.在dede安装目录执行
3 r- |) R* X* {3 ysed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
7 q4 t4 K& O3 g, ~+ H  s
; R" B& Y# k- E6 J1 O2./include/common.func.php中任意位置添加函数
# L/ I8 B6 o( O+ S1 f8 r, O$ V( V+ M* L; Q; |
function gbkhtmlspecialchars($str)
4 }7 y8 o* s4 a{9 I3 l: t% ]3 ^4 U
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');) b8 J3 H5 A& y
}0 k; P' h+ U5 j6 d3 z& B+ X
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml+ a- L- n- l1 y% m$ x2 `

1 N/ b$ S' w4 N9 j& V
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-29 08:20 , Processed in 0.039792 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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