dedecms删除栏目后还存在编辑栏目内容全空
今天遇到dedecms一个奇葩的问题,删除栏目提示已经删除成功,但是删除后跳转到栏目页面的时候,栏目还存在。以为缓存,刷新n次还是一样,进入数据库查看,晕死,根本就没有删掉嘛,虽然可以直接在数据库里面删除,但是不可能每次删除还得进数据库吧,然后找到删除栏目的文件,打印变量id,发现显示的是乱七八糟的一串数字,根本就不是栏目的id,看了下php的版本,发现是5.6的版本,然后琢磨了下dedecms的程序,发现了这么个内容:一般情况获取值时要写$_POST['name']可以获得,但是DEDECMS里面直接用 $name 就获取值了,也就是说,dedecms在当前的服务器环境中无法获取post和get值(在编辑栏目的时候,发现里面的栏目标题,模板啥的全部是空的,内容都没有了,程序没有获取到当前栏目的数据,因为没获取到当前栏目的id值,这个用get方法)结论及解决办法:服务器环境问题,$name方式无法获取值。用extract($_POST)和extract($_GET),然后$name就可以获取值。有兴趣的可以琢磨extract这个函数
extract函数虽然很方便,但是需要注意非法提交额外的参数。
比如,之前程序中定义了$one=100;post表单中本来是没有文本框的名字为one的,如果用户自己造了一个文本框的那么为one,并且赋值200,那么用了extract函数,则会把之前$one的值给覆盖掉。
so,如非必要,用了extract函数,一定要注意这些
页:
[1]