找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9296|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
8 R$ \$ G% @  j0 K7 P) e+ j. k# f/ p! C9 ~2 J2 O. a+ E. K( W. `) H' |
1.解决dedecms登陆后台空白错误2 F( i3 f/ k& t; _
因为php5.5的版本废除了session_register,所以需要去掉session_register函数( s; O, M. N. ]5 L

, J* j% B" ?) O. l" T. L修改:“include/userlogin.class.php”,注释掉session_register,修改后如下: g) {8 ?$ g" z! M3 P
//@session_register($this->keepUserIDTag);9 P2 ?/ c0 E2 h1 z
$_SESSION[$this->keepUserIDTag] = $this->userID;
- j( S# l1 V7 m) A: C# Y1 S: Z- m3 @) F
// @session_register($this->keepUserTypeTag);
9 f* f5 b: \1 l, \9 |$ \( m$_SESSION[$this->keepUserTypeTag] = $this->userType;
9 m6 d- X1 f; M2 v( g3 Y( i+ B) J- C
// @session_register($this->keepUserChannelTag);
6 i  {7 s% @6 B: P# d4 ]$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
+ U& _% R; G! p8 v7 N1 `8 N* a* s& [- k, d. I) ^' v) z, B
// @session_register($this->keepUserNameTag);
( [# M; A2 ^9 k' l' F$_SESSION[$this->keepUserNameTag] = $this->userName;
# ~+ d" y/ I, h8 i( o7 }! c- u* V3 d, U. W
// @session_register($this->keepUserPurviewTag);
2 _+ w! x: m* E* @  O' C5 p$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;8 Q; l0 B: t6 }* `# V- l

( B0 u! Y2 |' a// @session_register($this->keepAdminStyleTag);6 k7 K0 [' c* u- O- H
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
; G8 f$ s5 e! G" d3 x6 g- ~7 Q% v- T0 @3 Z9 T+ P
2.dedecms发布文章提示"标题不能为空"4 P- z! X$ A! F4 o$ @

0 ~& Z% D3 e5 ~% m8 Z1 [" v现象是发布英文标题没问题,发布中文会提示“标题不能为空”8 P& C  q5 m% ^; R1 h3 d
因为htmlspecialchars在php5.4默认为utf8编码,6 y4 Y2 v/ {& `8 o, \9 o; P
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。- A4 D; A# D* h$ y0 y
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
, P$ }' G' G, ~) W- e& |1 j6 C2 ^
4 ~. |8 J: g3 h1 e  `( c具体方法:
- z, U; V2 G, I: Y1.在dede安装目录执行) `/ X" n3 H$ R; r. g- ]/ x
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`1 t+ ^# y$ r& o" X' e3 p9 \- y' M

- U$ a+ {5 l0 d) W8 F4 N8 ]% O2./include/common.func.php中任意位置添加函数
4 }* K, x/ p+ f# s# S; j0 e+ q
" W; b! e/ A& _4 u9 Hfunction gbkhtmlspecialchars($str)2 {, m2 D  G# F( G( W
{& L- E6 i# f  S* N/ V
        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');9 O4 Z# [7 F* n6 @- F, j
}
  a+ f% T4 `: _注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml8 O+ E5 R" Y7 D- t

: @# Q6 k. y& Z0 g* t' q9 J) b
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-14 05:23 , Processed in 0.063406 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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