Codeigniter:弹出消息后无法重定向

时间:2015-02-10 00:51:34

标签: php codeigniter

echo '<script>alert("Your session has timeout, please relogin again!");</script>'; 
            redirect('main/login', 'refresh');

这是错误:

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/swtwnonu/public_html/ignite_project/application/controllers/member.php:19)

Filename: helpers/url_helper.php

Line Numer: 540

我想将此人重定向到我的主页/登录页面,之后他点击了我已经显示的消息,但是我不知道为什么会发生错误。请帮忙!

1 个答案:

答案 0 :(得分:4)

使用HTTP标头重定向工作,在任何输出后都无法发送(文本,HTML,不可见字符,Javascript,等等......)。

如果您使用Javascript打印邮件,则无论如何都可以重定向:

echo '<script>alert("Your session has timeout, please relogin again!"); window.location.replace = \'index.php/main/login\'; window.location.href = \'index.php/main/login\';</script>';

您还可以使用HTML <meta />标记来执行此操作:

<meta http-equiv="refresh" content="0; url=index.php/main/login" />

此标记会在加载网站后立即重定向,您可以更改0任意值(以秒为单位),以便在重定向之前等待。