»»»美仑©本站聚集品质模板、JS特效、源码、模块、原创等丰富资源下载。
首页 教程 CMS教程 phpcms下载模块静态页面下载提示参数错误 遗漏了参数

phpcms下载模块静态页面下载提示参数错误 遗漏了参数

2016-10-29 08:10:34| 责任编辑: Mr.pan| 查看: | 评论: 0| 百度已收录
摘要:   发现是程序里不小心遗漏了id参数,弄了好一会才发现是少了$data[& 39;id& 39;];1 在phpcms modules content classes html class php中

  发现是程序里不小心遗漏了id参数,弄了好一会才发现是少了$data['id'];
1.在phpcms/modules/content/classes/html.class.php中第28行开始 

  1. $id = $data['id']; 
  2. if($array_merge) { 
  3.         $data = new_stripslashes($data); 
  4.         $data = array_merge($data['system'],$data['model']); 
  5. //通过rs获取原始值 
  6. $rs = $data

合并后的新$data数组中已经没有$data['id'];

2.在phpcms/modules/content/classes/html.class.php中第64开始调用缓存间content_output.class.php读取content_output类

  1. require_once CACHE_MODEL_PATH.'content_output.class.php'

65行实例化后第66行

  1. $output_data = $content_output->get($data); 

这里里传输的数组$data中如上所述已经没有$data['id'];

3.content_output.class.php中的get方法如下所示

  1. function get($data) { 
  2.         $this->data = $data
  3.         $this->id = $data['id']; 
  4.         $info = array(); 
  5.         foreach($this->fields as $field=>$v) { 
  6.                 if(!isset($data[$field])) continue
  7.                 $func = $v['formtype']; 
  8.                 $value = $data[$field]; 
  9.                 $result = method_exists($this$func) ? $this->$func($field$data[$field]) : $data[$field]; 
  10.                 if($result !== false) $info[$field] = $result
  11.         } 
  12.         return $info

其中$this->id = $data['id']获取到是已经是空值。
在function downfiles($field, $value) 中生成的$a_k 就错了

  1. $a_k = urlencode(sys_auth("i=$this->id&s=&m=1&f=$_v[fileurl]&d=$downloadtype&modelid=$this->modelid&catid=$this->catid"'ENCODE', pc_base::load_config('system','auth_key'))); 

所以生成静态页的下载地址里的$a_k参数是错的。。。

修改方法:在在phpcms/modules/content/classes/html.class.php中

  1. $rs = $data

上方加入$data['id'] = $id; 
把还id还回$data数组即可。
也不明白$rs = $data;        //通过rs获取原始值  到底在哪里有用。

相关热词搜索:参数 静态 模块
精彩阅读
会员登录
广告位

关注我们:美仑视觉

官方QQ群

微信平台

全国服务热线:

0769-33232320

【版权声明】本站内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件至Email:admin@meil88.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

Copyright   ©2013-2018  美仑视觉  Powered by©Meil88!  公安备案:粤ICP备15022042号