很奇怪的一个错误, 经过简单的核查, 发现出现这种错误的小说占那么一部分. 大致情况是这样 我的小说站数据pc/wap 是共用一个的, pc端一点问题都没有. 而在wap有的小说是没问题的, 有问题的则是打开目录没有问题, 前一部分章节没有问题, 但是后面的章节内容 点之后出现类似PC端404的意思. 给浏览器的显示页面还是当前小说的目录页(没有调出小说内容页), 但是很多数据已经没了, 比如所属类别, 小说名, 最新章节. 仔细检查发现了下面的问题: 1. 出问题的章节, 应该都是类似PC的404页面, 但是却可以调用出部分数据. 2. A小说共100章, 第51章出了问题, 那么在第50章内容页, 点下一章的时候, !!!发现提交的URL是当前小说的目录页.!!!
根据 modules/article/wapreader.php?aid=57549&cid=9345391
查看到 wapreader.php 里面
if(!$package->showChapter($_REQUEST[‘cid’]))
{
echo __LINE__;die();
$package->showIndex();
}
知道应该是 $package->showChapter函数的问题
进而查找 class/wappackage.php 里面
function showChapter($cid)
{
global $jieqiConfigs;
global $jieqi_file_postfix;
$i=0;
$num=count($this->chapters);
while($i<$num){
$tmpvar=$this->getCid($this->chapters[$i][‘href’]);
if($tmpvar==$cid){
$this->makeHtml($i+1, true, true);
return true;
}
$i++;
}
return false;
}
应该是循环后得到了false值,那么为什么呢,说明 $this->chapters 这个值里面没有$_REQUEST[‘cid’]的参数,那么 $this->chapters 从何而来呢,
发现 loadOPF() 函数读取 index.opf ,得到 chapters的数组,里面包含的章节的标题和地址,那么只需要更新这个 index.opf 就能得到最新的数据,那么
$tmpvar=$this->getCid($this->chapters[$i][‘href’]);
就能得到某个章节的值了.
问题解决