找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9544|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。. S) R- p0 o! W6 _

# Z* ]' T6 Z7 m1.解决dedecms登陆后台空白错误: r$ K8 G$ F# s( v, d8 ~
因为php5.5的版本废除了session_register,所以需要去掉session_register函数
* D$ v& A0 d8 Y: w% Z+ c3 a0 {/ S! ?+ J
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下1 j$ [0 J& Y% _5 x, g' G$ ]' F
//@session_register($this->keepUserIDTag);* z9 J$ H; U, F! r* F' j' k* \7 A
$_SESSION[$this->keepUserIDTag] = $this->userID;
/ b, A2 V  ?2 l3 U# B# Q0 X* O7 Q* X3 G4 d: [( I
// @session_register($this->keepUserTypeTag);$ L  o# J1 i6 l6 X% S+ X" C
$_SESSION[$this->keepUserTypeTag] = $this->userType;
8 c& \0 j! E: g4 c3 M4 |( y
8 M6 W, J  f3 L3 e1 J& d- N' m// @session_register($this->keepUserChannelTag);6 h: D# l1 N! L3 U% N# v8 M) E( [
$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
9 U" p* ]) U' u0 `. C+ K, G2 N3 j( F7 p! h* S4 y4 W" L, ^
// @session_register($this->keepUserNameTag);
* o- h6 g4 p9 H* X3 h9 U$_SESSION[$this->keepUserNameTag] = $this->userName;
# w8 {- U7 ^, {# ]7 e
& \' ?: o3 \) R6 \( z// @session_register($this->keepUserPurviewTag);
% f3 g7 E0 a* r- ?$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
9 m! R9 M* H9 m# @+ X0 {# M9 X: S0 X5 R& s3 y
// @session_register($this->keepAdminStyleTag);8 H8 O8 f3 ]6 a0 d4 J' t
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;& F# N7 F- O3 c& n

1 \: x% F0 ^6 `; R2.dedecms发布文章提示"标题不能为空"& f- S# p$ G/ t# Z& Z+ C5 c+ B

8 W0 D4 E7 V, W" G0 i" |2 |现象是发布英文标题没问题,发布中文会提示“标题不能为空”7 M* X$ I% s$ h# s! _) R
因为htmlspecialchars在php5.4默认为utf8编码,4 ?5 W6 ?/ {4 u4 y9 B. Y3 a; h
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
& H/ ?1 {+ m! l1 E. x所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。
4 G7 h: l- j  [# S' M9 T+ Y7 `. o1 O  R. B; S
具体方法:* Q; h+ W6 y& Y) A  T. i% e4 _/ R
1.在dede安装目录执行+ l8 c; w& [1 k. V" N( v0 k$ g, Q- U& a% [
sed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`' q! T, i' h7 U) Z) D) Y

1 Y3 q% H9 q! u( J. g; X0 s2./include/common.func.php中任意位置添加函数
6 y' j' h0 n+ f+ O) E4 I. H6 Z( _  |3 m; N
function gbkhtmlspecialchars($str)  s) P9 S8 j- z/ r
{
& A4 U" t6 [  V! W8 {$ D: P        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');4 V% o9 Y0 H5 Z/ W+ q8 J
}2 W- a/ a. c0 \8 ^9 g
注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml2 D* ]- {3 [0 _. \% P

! l5 D7 f' t8 {7 A( }$ k
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-4 21:02 , Processed in 0.062288 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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