我有问题从index
重定向到功能logotyp
或tiskoviny
。当我写入浏览器(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>
感谢您的帮助。
答案 0 :(得分:2)
如前所述,请确保控制器中打开<?php
标记之前没有空格(空格,制表符,换行符等)。如果您有一个结束?>
标记,则可以将其删除,因为它通常会导致redirect
出现问题。
在这种情况下,如果您不关心URL中的函数名称(这不会更改URL以显示您在URL中调用的函数(logotyp()
),而{ {1}}功能会)/刷新页面,然后您可以直接在redirect
函数中调用相关函数:
index()
第二期(CSS未加载);它可能正在发生,因为它的路径链接不正确。使用CodeIgniter public function index()
{
$this->logotyp();
}
中的base_url
函数,您可以轻松生成正确的路径。我不知道您的CSS文件位于何处,但对于此示例,我将假设相对于站点根目录,它位于:URL Helper
。只需添加相对于Web根目录的路径:
assets/css/style.css
<link href="<?php echo base_url("assets/css/style.css"); ?>" type="text/css" rel="stylesheet">
中的link_tag()也可以帮助生成样式表链接。
答案 1 :(得分:1)
看起来您的控制器中有一些空白处...确保将其删除,文件以<?php
开头。您也无法在重定向之前输出任何内容(没有视图,没有回声)......