sam 发表于 2007-12-19 11:38:22

(急急急)Codeigniter的url发生重复或者中间缺失问题。。。

比如正常情况下超链接的url是http://localhost:8888/index.php/hrsAction/project/showDetail/2
按F5刷新之后是http://localhost:8888/index.php/hrsAction/project/scanProj/showDetail/2
hrsAction是目录,project是控制器文件名,scanProj和showDetail都是project文件中的函数

还有的时候正好反过来
原来是
http://localhost:8888/index.php/hrsAction/project/scanProj/showDetail/2这个地址是错误的
但是按F5刷新之后地址就正确了
http://localhost:8888/index.php/hrsAction/project/showDetail/2

谁来解决这个问题。。。:'(

Hex 发表于 2007-12-19 11:43:31

你这是什么问题啊?这么奇怪?贴出代码看看。

sam 发表于 2007-12-19 13:25:50

代码没法贴。。其实很简单。。
我的页面大体分为左右两部分
左侧有一些超链接。。是用辅助函数site_url()获得某一个控制器函数的地址,点击之后,右侧会显示出相应的页面,这时右边页面上的超链接地址没有问题。。但是如果按F5刷新之后,右边页面上的超链接地址就会多出一段或者少一段了。。:'(

Hex 发表于 2007-12-19 15:41:33

这肯定是你的代码的问题。。。。。。。没办法。。。

sam 发表于 2007-12-22 16:47:10

啊 。。。痛苦呀。。。:'(

Hex 发表于 2007-12-22 22:21:21

不写出代码怎么知道是什么毛病呀?

sam 发表于 2007-12-22 22:44:13

我正在研究CI的源代码。。。。:o

sam 发表于 2007-12-22 23:23:11

代码如下:
控制器代码:
$this->load->view('hrsView/html/showAccounts.html',$this->accountCl->getMembers($this->accountCl->getCorp_id($this->session->userdata('user_id'))));

页面左侧有个链接:
<?php echo "<a href=".site_url('hrsAction/accounts')." target=\"workspace\"><font face=\"宋体\" size=\"2\">管理</font></a>";
?>
点击之后页面右侧会出来一个新的页面showAccounts.html
代码如下:
<?php
if (isset($account)) {
        foreach ($account as $row){
                echo "<tr>";
                echo "<div align=center><td>".$row['login_email']."</td></div>";
                echo "<div align=center><td><a href=\"detail/$row\">查看</a>|<a href=\"delete/$row\">删除</a></td></div>";
                echo "</tr>";
        }
}
?>   
这时看一下这个页面上"查看"的链接地址是
http://localhost:8888/index.php/hrsAction/detail/2    这个地址是错误的。。然后你可以按F5刷新页面,之后链接地址就发生了变化
变成了http://localhost:8888/index.php/hrsAction/accounts/detail/2这个地址是正确的
(hrsAction是控制器目录,accounts是控制器文件,detail是控制器中的某一函数)
也就是说url老是缺少控制器的文件名accounts。。。。。。:o

sam 发表于 2007-12-24 00:09:29

呵呵。。问题解决了。。:D 。。。。

sam 发表于 2007-12-24 09:14:13

大家多看看CI的源代码还是有好处的。。;P
页: [1] 2
查看完整版本: (急急急)Codeigniter的url发生重复或者中间缺失问题。。。