【发布时间】:2012-01-13 02:18:15
【问题描述】:
我有一个处理注册的类文件,成功注册后我想将它们重定向到另一个页面,但如果我使用类似的东西:
if(!isset($_SESSION['referer'])) {
$_SESSION['referer'] = "home.php";
header("Location: " . $_SESSION['referer']);
exit();
}
我得到错误:
Warning: Cannot modify header information - headers already sent by ...
是否有另一种(非 java 脚本)方式将用户重定向到另一个页面?
这是我当前的代码流程:
// index.php file
<?php
include('header.php');
include_once('classes/class.signup.php');
$signUp = new SignUp();
// redirect in signup.php class
if(!isset($_SESSION['referer'])) {
$_SESSION['referer'] = "home.php";
header("Location: " . $_SESSION['referer']);
exit();
}
【问题讨论】:
-
替代方案是防止
header()之前的任何输出。万一用户永远看到,输出任何东西都是没有意义的 -
为了确保我不会意外发送标头数据,因此我永远不会关闭我的
<?php标签。
标签: php html http-headers