1

我在重定向index到函数logotyptiskoviny. 当我向浏览器 ( ) 写入时,localhost/my_page/sluzby/logotyp它可以工作,但没有 CSS 显示(这是第二个问题)。URL Helper是自动加载的。

class Sluzby extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->library('uri');
        $this->load->model('sluzby_model');
        $this->load->model('pages');
    }

    public function index()
    {
        redirect('sluzby/logotyp');
    }

    public function logotyp()
    {
        $data['nadpis'] = "SomeText";
        $this->basic_template->view('basic', 'sluzby_view',$data);
    }

    public function tiskoviny()
    {
        $data['nadpis'] = "SomeText";
        $this->basic_template->view('basic', 'sluzby_view',$data);
    }
}

当我想从索引重定向时,浏览器向我显示此错误:

<p>Severity: Warning<br>
Message:  Cannot modify header information - headers already sent by (output started at C:\Program Files\VertrigoServ\www\dsvision\application\controllers\sluzby.php:1)<br>
Filename: helpers/url_helper.php<br>
Line Number: 542</p>

感谢帮助。

4

2 回答 2

2

如前所述,确保<?php控制器中的开始标记之前没有空格(空格、制表符、换行符等)。如果您有结束?>标签,则可以将其删除,因为它通常会导致redirect.


在这种情况下,如果您不关心 URL 中包含函数的名称(这不会更改 URL 以在 URL 中显示您正在调用的函数 ( logotyp()),而redirect函数会)/刷新页面,然后你可以直接在你的函数中调用相关index()函数:

public function index()
{
    $this->logotyp();
}

对于您的第二个问题(CSS 未加载);这可能是因为指向其路径的链接不正确。使用base_urlCodeIgniter 的函数,URL Helper 您可以轻松生成正确的路径。我不知道你的 CSS 文件在哪里,但是对于这个例子,我假设,相对于站点根目录,它在这里:assets/css/style.css. 只需添加相对于 Web 根目录的路径,如下所示:

<link href="<?php echo base_url("assets/css/style.css"); ?>" type="text/css" rel="stylesheet">

中的link_tag()HTML Helper也可以帮助生成样式表链接。

于 2013-04-09T16:58:22.500 回答
1

好像您的控制器中有一些空白空间...确保将其删除并且文件以<?php. 您也不能在重定向之前输出任何东西(没有视图,没有回声)......

于 2013-04-09T16:03:18.500 回答