我有一个主要的网页登录和重定向使用header()没有任何问题。标题已经发送只在子域
我也有另一个网页,需要登录,所以我做了另一个login.php页面。
两个网页具有相同的结构,其实我只是复制粘贴的主网页到另一个网页,改变VAR姓名等
如果我在主网页都在日志中还好吧,没有任何警告。但是,如果我登录的其他网页,我得到以下警告:
Warning: Cannot modify header information - headers already sent by (output started at /home/aet/platform.corporativelines.com/themes/aet/main.php:12) in /home/aet/platform.corporativelines.com/pages/login.php on line 18
这是main.php:12
<title>AET | <?php print $title ?></title>
这是的login.php线18
header("Location: /home");
主要网页在这些行中有相同的,完全相同但没有警告......有人可以告诉我为什么吗?
这两个网页都在一个子域中,但main只是暂时的,我会在完成后移动它。也许这有些事情要做...(如果你想访问,“pre”是临时子域)
该框架对于这两个网页都是相同的,自定义会话启动函数将域设置为“.domain .com“like says here。
PHP代码:
index.php文件(包括网站):
ini_set('display_errors', '1');
//requires and initializations
$hasExpired = $web_user::sec_session_start();
$client = $web_user->login_check(); // FALSE OR CLIENT
$isLogged = false;
$includes1 = array(
'/pages' => $pages . 'pages.php'
);
if ($client != false) {
$isLogged = true;
$includes2 = array(
'/morepages' => $pages . 'morepages.php'
);
}
else {
$includes2 = array(
'/otherpages' => $pages . 'otherpages.php'
);
}
$includes = array_merge($includes1, $includes2);
$url = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
//some more security checks for url
$title = $lang->getW($url);
include('themes/aet/main.php');
main.php(包括网站):
<?php
defined('_AET') or die();
?>
<!DOCTYPE html>
//html structure
<title>AET | <?php print $title ?></title>
//body
//main
<?php
$include = '/404';
if (array_key_exists($url, $includes)) {
$include = $url;
}
include($includes[$include]);
?>
login.php中(包括网站):
// login post, checks and call to function
if ($login_array[0] == "OK") {
header("Location: /home");
}
// login form html
我可以说他们是山姆在这两个网页中的e页。
编辑:对不起,我还没有清楚。在这两个网站我有ini_set('display_errors','1');在主网站我没有得到任何错误加上头()重定向工作正常。在其他网站,我收到错误,如果我禁用它们,错误将不会显示,但重定向都不起作用。
是否有可能关闭错误报告?所以错误存在,但没有被显示? – sharf
不,对不起,我忘了补充:在索引中我有ini_set('display_errors','1');在这两个index.php –
^^如果这是差异,那么它可以解释为什么你会看到错误,尽管它肯定发生在两者中。 [这是错误的原因](http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php) - 你不能有任何_any输出任何kind_在一个'header()/ session_start()/ setcookie()'调用之前,但你有' <?php print $ title?>'其他的HTML,可能还有一些空白。 –