找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9892|回复: 0

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

[复制链接]
发表于 2014-8-9 11:03:07 | 显示全部楼层 |阅读模式
dedecms安装完成后会出现登陆后台空白,发布文章时提示”标题不能为空”。
8 y5 z* w# N; P& b: @. b
/ g* n, Z( a6 l, C1.解决dedecms登陆后台空白错误
' d2 ], K4 q: l: u$ `因为php5.5的版本废除了session_register,所以需要去掉session_register函数
9 k% L4 O% y9 e, t& i9 N; s0 p, m
修改:“include/userlogin.class.php”,注释掉session_register,修改后如下$ d5 T# i/ _# j/ E
//@session_register($this->keepUserIDTag);. O0 q% s0 a- Z- ]/ Y5 G7 R
$_SESSION[$this->keepUserIDTag] = $this->userID;
3 J/ ?% J3 \8 v) r4 J& C+ O% c' _, v9 M( [
// @session_register($this->keepUserTypeTag);
, K9 @! W( W& w$_SESSION[$this->keepUserTypeTag] = $this->userType;
' `: c3 E% F. s6 ]* b- S( W' Z5 I) V
// @session_register($this->keepUserChannelTag);
# h4 i; A, Q1 a: \8 l% d7 {( K9 ]4 I0 Z$_SESSION[$this->keepUserChannelTag] = $this->userChannel;
; S# C  p! \3 I( h' r* Y) C" F6 @
// @session_register($this->keepUserNameTag);
. ^. @# D; a) ^; U$_SESSION[$this->keepUserNameTag] = $this->userName;
' ^: F$ o7 w! o$ P" p, L! v3 ]
& M: N( Z4 B5 f# P0 E/ m% T// @session_register($this->keepUserPurviewTag);7 C0 s3 `2 H5 j& b3 ^$ X2 Z6 K
$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
; q* O. r% x. D! _1 t7 m% i( K: E1 D9 X9 ~, [; t5 W, w3 X. o2 i) }
// @session_register($this->keepAdminStyleTag);6 i* o5 H- X7 t- S
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
5 S4 ]8 o% k- A; ?0 ?( M6 G$ Z' d* j* p& |+ S) D9 E- A
2.dedecms发布文章提示"标题不能为空"! b9 L! d6 L/ W% v" Q2 K
' d& b0 ^' p' ?+ [9 b* n: ~) T# x+ X
现象是发布英文标题没问题,发布中文会提示“标题不能为空”
) {! R; x4 f4 G因为htmlspecialchars在php5.4默认为utf8编码,& B& c5 }3 K1 G( z9 g% h$ K
gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。
/ M+ I; |6 }% J! P所以给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。. f, h- X8 a2 k, V9 w4 r1 N

' `; p6 i  w& L( _具体方法:- f) F4 n; o7 P
1.在dede安装目录执行
+ x4 M1 S: E/ [) Q8 A  fsed -i "s/htmlspecialchars(/gbkhtmlspecialchars(/g" `grep htmlspecialchars\( -rl *`; c% t" S$ F- z! A9 X9 g

9 Z) ^5 h# f9 |/ S2./include/common.func.php中任意位置添加函数' [5 ^0 |: R# N8 C7 E9 s5 z

. u" |! H% `4 y2 V$ yfunction gbkhtmlspecialchars($str)
+ ]8 d% V2 R4 N) _$ M+ W" x{
8 @! W/ p4 E# X        return htmlspecialchars($str, ENT_COMPAT ,'ISO-8859-1');
, Y: n. i0 o" S}1 f6 R" y: y2 u& E( w4 b
注意:使用了本文方法的就不用理会这篇文章了:https://bbs.swdyz.com/thread329sw1dyz1.shtml
( M/ H# [; }7 s/ R7 Q/ T
  X4 j0 A8 s3 ]' F- \. L6 E0 u
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-10 13:10 , Processed in 0.050600 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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