找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10992|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。+ h, u( e; K# e1 |

. ^0 }, n) U( k3 p1 b1.解决dedecms登陆后台空白错误/ U. d  ~, j7 f3 o8 }4 l6 X
因为php5.5的版本废除了session_register,所以需要去掉session_register函数5 w3 T- e5 u1 Q" ~, ^) Z) {

0 T; p3 I  K; D3 x2 L修改:“include/userlogin.class.php”,注释掉session_register,修改后如下6 o' l' F8 @7 W9 C8 g0 m! i7 W5 ?
//@session_register($this->keepUserIDTag);; s* R( |: z4 Z3 o8 k2 N
$_SESSION[$this->keepUserIDTag] = $this->userID;
. t8 \! r; C# |9 Y) }0 t; Y+ E- u
) a, _  E  ]3 M: f) f3 o3 K// @session_register($this->keepUserTypeTag);
: n# t! M0 x: q) z) K2 W4 Y" `$_SESSION[$this->keepUserTypeTag] = $this->userType;$ M$ K% b2 D7 _4 c* I! i

( P9 N8 c  p8 P7 a) I// @session_register($this->keepUserChannelTag);+ X: d; |, }$ n. P7 B
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
3 o$ R  [% d1 o
0 _$ w6 d# c# c" r- c4 N' |// @session_register($this->keepUserNameTag);$ W5 ^% E1 p" Z6 q6 d
$_SESSION[$this->keepUserNameTag] = $this->userName;4 G# T7 [( h$ ?& U0 e  i& z4 f
) `: |; R9 F8 U+ O4 v* ^
// @session_register($this->keepUserPurviewTag);
3 \9 u1 }, T3 D' X6 E2 Z+ r, o# [$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;0 m! r' R+ k4 q
& K- a4 |& t& x( M
// @session_register($this->keepAdminStyleTag);/ [3 {2 m8 W. D9 O+ w, t: ^
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;5 n/ P7 D  A2 f$ L" K
+ g8 ^+ M& M* r. p
2.dedecms发布文章提示"标题不能为空"
/ N/ w* h  i. g) B4 g2 Y1 _2 G+ N  P/ h
现象是发布英文标题没问题,发布中文会提示“标题不能为空”& f$ b# R1 l, ?$ T  [
因为htmlspecialchars在php5.4默认为utf8编码,
) @4 b% `" B2 R2 a0 i, d" d" _3 B8 Wgbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。& d9 R8 A7 |9 ]! z* V5 }
所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
8 x9 p( h1 Z) X: E0 a7 ]
4 K' `& A; m  R1 I) p, O具体方法:
' y# V2 T  E& c& i1.在dede安装目录执行
9 O8 P7 m. I1 k& m6 Zsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`1 }& Y. A2 @/ y* x" l4 S
/ {- K- i9 C# v" U: ~
2./include/common.func.php中任意位置添加函数6 c; Z$ N. _6 u
5 H- z8 H/ H* F: D) s
function gbkhtmlspecialchars($str)  d! L0 j' {+ x4 s) X$ Y0 X
{
7 T4 p& T# F% |9 ?2 h  r        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
0 O( \- O* o) M( g6 k! x* i}# R: h& e  B5 K% `0 x% J7 S; O
注意:使用了本文方法的就不用理会这篇文章了:http://bbs.swdyz.com/thread329sw1dyz1.shtml" c, {, z% k+ c; H
' k8 N2 u8 I# `% B3 W
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-7-1 05:25 , Processed in 0.061462 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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