找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11550|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
+ L" |* e2 h' W- w  A
7 @2 {& ^7 @5 R9 a9 c1 \  G1.解决dedecms登陆后台空白错误
) a. F1 M/ p6 K. ^% q, e: G因为php5.5的版本废除了session_register,所以需要去掉session_register函数. R% U1 J7 Q" k

2 G& ~4 K5 \, h0 a修改:“include/userlogin.class.php”,注释掉session_register,修改后如下
  P1 ^& ?9 `% h0 Z$ d7 ^6 N//@session_register($this->keepUserIDTag);: b  m- T( |. m% c- j: p5 `
$_SESSION[$this->keepUserIDTag] = $this->userID;0 W0 v1 i1 ]3 C! l" V" D' \3 U5 K
4 b: u% ?; `2 S, O3 a( i1 G  K
// @session_register($this->keepUserTypeTag);
6 j/ [" P' N) i8 O$_SESSION[$this->keepUserTypeTag] = $this->userType;
( U% ?8 \% j" e4 E/ g1 x# W* P* l1 n4 ?2 M" r! H% o) T
// @session_register($this->keepUserChannelTag);/ K- M* j; C5 K! I
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
7 |0 w5 s) h  w
  n$ k( ^) L6 l- c: ]// @session_register($this->keepUserNameTag);( ?7 {8 H) C! S% e( _- a/ R4 r7 m, l. U
$_SESSION[$this->keepUserNameTag] = $this->userName;4 R% I) J+ ?+ D$ ^7 `( C+ u) \7 d

8 C2 k( v) h+ g, h// @session_register($this->keepUserPurviewTag);
# _" {) v% R  z$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;6 O; p2 Q3 i4 A4 I# l/ U; _1 h

" w# e( h! j$ l, F  N4 R3 T// @session_register($this->keepAdminStyleTag);
  c( t7 y' C( y0 d  l- m. a& f; F$_SESSION[$this->keepAdminStyleTag] = $adminstyle;- T- u. ~  I7 k2 R% [5 n0 F! r

0 m. Q1 Z# W, F( }: g9 r) L2.dedecms发布文章提示"标题不能为空": i  l8 w# C; u9 H
8 a! P3 `, p6 @9 [- \6 G
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
* g- c: ~7 ~  }& c, Y( m4 ?因为htmlspecialchars在php5.4默认为utf8编码,
" e" B) ]& `, Hgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
) \" Z" ~" h9 J5 z5 H, ]$ q所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。. S7 G* ]' g7 q3 k- n1 ^8 L+ H' ^

7 Q# F5 W2 G, m7 U具体方法:
3 f" ~& H' t0 f6 Y! r2 N1.在dede安装目录执行
" I- I+ C' {6 P; H$ ]& Qsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`
: ]7 z# g/ s: p( f" l" p! Z4 }! m  G5 M3 ^
2./include/common.func.php中任意位置添加函数" W9 X3 j* t" M+ B, [' N* k

+ c, p! {5 v$ A% tfunction gbkhtmlspecialchars($str)
& h! |( Q9 v/ V& A9 L{& |( k4 E9 O4 u, C" q: ]1 V
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');" r2 d! }$ D: L- h, S
}
6 W* R  w* G7 j' e4 H注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml3 Z2 Q+ R) N6 l# Y
7 `0 b5 H! T$ J' D7 ^5 m
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-10-10 05:48 , Processed in 0.048476 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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