Я получаю эти ошибки с моего бесплатного хоста, я не знаю, как определить, где находятся мои заголовки? - PullRequest
0 голосов
/ 24 ноября 2010

Я получаю сообщения об ошибках, подобных этому. Предупреждение: session_start () [function.session-start]: не удается отправить cookie сеанса - заголовки уже отправлены (вывод начался с /www/zymichost.com/m/i/t/mitchell931993/htdocs/connected/index.php:5) в /www/zymichost.com/m/i/t/mitchell931993/htdocs/connected/index.php в строке 5

Предупреждение: session_start () [функция.session-start]: не удается отправить ограничитель кэша сеанса - заголовки уже отправлены (выходные данные начались с /www/zymichost.com/m/i/t/mitchell931993/htdocs/connected/index.php:5) в / www / zymichost.com / m / i / t / mitchell931993 / htdocs / connected / index.php в строке 5

Я не уверен, как их исправить.Мой веб-сайт является попыткой создания социальной сети, он находится на стадии тестирования.Можете ли вы сказать им, что не так с моим кодом?

Header.php

<?php 
if(isset($_SESSION['login'])){
$szUser=$_SESSION['login'];
echo "<table width=\"980\" border=\"0\" align=\"center\">
<tr>
<td width=\"490\" align=\"left\">Connected - Welcome $szUser</td>
<td width=\"490\" align=\"right\"><a href=\"home.php\">Log Out</a></td>
</tr>
</table><hr width=980 align=\"center\">";
}
elseif(!isset($_SESSION['login'])){
echo "<table width=\"\" border=\"0\" align=\"center\">
<tr>
<td width=\"490\" align=\"left\"> Connected - You are not logged in...</td>
<td width=\"490\" align=\"right\"><a href=\"login.php\">Please login here</a></td>
</tr>
</table><hr width=980 align=\"center\">";
}
?>

И это страница индекса, которая использует его

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php session_start();?>
<title>Connected - Home</title>
</head>
<body>
<div align=center>
<?php
include_once "resources/header.php";
echo "<table><tr><td width=980 height=500 align=center valign=middle>";
include_once "resources/login.html";
echo "</td></tr></table>";
?>
</div>
</body>
</html>

1 Ответ

2 голосов
/ 24 ноября 2010

<?php session_start();?> Необходимо перейти на самый верх вашей страницы. Вот так:

<?php session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Если вы укажете путь вниз, ваши заголовки уже отправлены (текст HTML начинается с <!Doctype...).

Хорошее описание этой ошибки вы можете найти здесь: Заголовки уже отправлены . Что делает эти два основных пункта о том, почему ошибка могла произойти:

  • Пробелы перед открывающим тегом php
  • Вывод чего-либо в браузер перед использованием session_start, header, setcookie и т. Д.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...