找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11462|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。* r3 q4 J0 z0 }+ M; |& g* ?3 e  o

+ R( t5 P" J* }) V( T( _1.解决dedecms登陆后台空白错误
+ N; |3 v4 r: F) _因为php5.5的版本废除了session_register,所以需要去掉session_register函数
7 X) a9 U7 ?) `6 f8 I. [% l7 ~' q' j
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
9 c" s4 X8 O/ h) {3 i/ H" L//@session_register($this->keepUserIDTag);) k/ U) T6 C$ {
$_SESSION[$this->keepUserIDTag] = $this->userID;( L% P! Q4 j) j  V

" `5 x' |' x+ S% Y! @; d// @session_register($this->keepUserTypeTag);4 Q& ?4 z7 @9 ?; d/ w
$_SESSION[$this->keepUserTypeTag] = $this->userType;8 }" p% V# R9 v2 E

- V9 z1 d! S/ m1 }* ~/ I// @session_register($this->keepUserChannelTag);& M- U  v1 \3 \" N+ x4 p& }. e
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
7 X9 [( }+ X! e3 R; `
- _$ a. d- k0 ]// @session_register($this->keepUserNameTag);
2 A4 e  W' R1 R$_SESSION[$this->keepUserNameTag] = $this->userName;( A/ Y1 V9 ~7 v; d0 |' @
7 m1 e# M, j; f" S' ?# _9 d
// @session_register($this->keepUserPurviewTag);
; v1 n2 a9 l' _& l& h" |$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
; y7 [/ m. E' L: w! }: F8 Q) i' O. N5 m4 M* V/ {
// @session_register($this->keepAdminStyleTag);
3 {& ~. k) i2 p) G$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
1 r" o" e% u1 d9 R' s1 X) v2 c; }# _+ G, L4 `2 R! e# d+ C/ g4 q
2.dedecms发布文章提示"标题不能为空"
: v) I  A! D% C
' k( p% d5 G7 p3 |7 B$ Q2 p! h$ c现象是发布英文标题没问题,发布中文会提示“标题不能为空”
- {5 L4 u" t( ~) {) f# d9 n因为htmlspecialchars在php5.4默认为utf8编码,& B- i- x: u: e$ K( M/ I2 @
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
5 ^" o! j" N3 @所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
* y4 D: t3 Z: m5 A2 E0 R2 e/ F. ]* j7 n
具体方法:
1 e, a7 D" V& j7 `9 l2 }" S1.在dede安装目录执行
+ ]$ S: P7 V4 z: ]sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
  D* h9 h/ x+ p$ t- a4 ^# F
+ M, s! G/ Q  H0 I4 W2./include/common.func.php中任意位置添加函数2 j5 w  z" O) T5 h7 {. Z/ M

; D! s0 c7 ]6 O. {+ ?4 pfunction gbkhtmlspecialchars($str)' m% C7 q/ u- Z5 l# ?
{1 M8 u3 a) N( \" a/ m7 @
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');  a' q) J" Y4 ^. D  c5 l9 g" [
}, M3 f- A  E. O8 H+ z8 \' S1 H. J' n
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml' J* [  e7 n1 q4 ~1 h$ l8 V  t
' h. x* d( h) {& `( q5 L
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-9-20 02:52 , Processed in 0.064631 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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