PHPWPS

 找回密码
 立即加入

QQ登录

只需一步,快速开始

搜索
热搜: php discuz
查看: 10068|回复: 1

[DEDECMS] dedecms删除栏目后还存在编辑栏目内容全空

[复制链接]

280

主题

420

帖子

1970

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1970
发表于 2014-11-11 17:29:47 | 显示全部楼层 |阅读模式
今天遇到dedecms一个奇葩的问题,删除栏目提示已经删除成功,但是删除后跳转到栏目页面的时候,栏目还存在。以为缓存,刷新n次还是一样,进入数据库查看,晕死,根本就没有删掉嘛,虽然可以直接在数据库里面删除,但是不可能每次删除还得进数据库吧,然后找到删除栏目的文件,打印变量id,发现显示的是乱七八糟的一串数字,根本就不是栏目的id,看了下php的版本,发现是5.6的版本,然后琢磨了下dedecms的程序,发现了这么个内容:一般情况获取值时要写$_POST['name']可以获得,但是DEDECMS里面直接用 $name 就获取值了,也就是说,dedecms在当前的服务器环境中无法获取post和get值(在编辑栏目的时候,发现里面的栏目标题,模板啥的全部是空的,内容都没有了,程序没有获取到当前栏目的数据,因为没获取到当前栏目的id值,这个用get方法)


结论及解决办法:服务器环境问题,$name方式无法获取值。用extract($_POST)和extract($_GET),然后$name就可以获取值。有兴趣的可以琢磨extract这个函数
回复

使用道具 举报

280

主题

420

帖子

1970

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1970
 楼主| 发表于 2014-11-12 13:08:20 | 显示全部楼层
extract函数虽然很方便,但是需要注意非法提交额外的参数。
比如,之前程序中定义了$one=100;post表单中本来是没有文本框的名字为one的,如果用户自己造了一个文本框的那么为one,并且赋值200,那么用了extract函数,则会把之前$one的值给覆盖掉。
so,如非必要,用了extract函数,一定要注意这些
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

QQ|小黑屋|手机版|Archiver|phpwps Inc. ( 鄂ICP备14011625号-1 )

GMT+8, 2025-5-4 15:48 , Processed in 0.069853 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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