这里我有一个奇怪的问题来保护我的网页,检查会话是否开始,如果没有重定向登录,
<?php
require_once ('includes/config.inc.php');
// Start output buffering:
ob_start();
// Initialize a session:
session_start();
// Check for a $page_title value:
if (!isset($page_title)) {
$page_title = 'User Registration';
}
// If no first_name session variable exists, redirect the user:
if (!isset($_SESSION['first_name'])) {
$url = BASE_URL . 'index.php';
ob_end_clean(); // Delete the buffer.
header("Location: $url");
exit(); // Quit the script.
}
?>
我收到了这个错误:第8行:
session_start()[function.session-start]:无法发送会话缓存限制器 - 已发送的标头
有人可以发布一个好的解决方案来检查会话是否已启动,如果没有重定向到登录页面,那么留在页面上? Txanks
答案 0 :(得分:5)
这是你的问题:
<?php
^^^^
在发送标头之前,您无法输出任何内容;包括空白。
答案 1 :(得分:1)
每当你看到headers already sent
时,就意味着在PHP发送标题之前输出了一些东西。
在你的情况下,正如Oli Charlesworth所说,它是PHP标签之前的其他来源。