kally
@kally

Как получается ошибка работы простой сессии?

Файл index.php

<?php

    require_once "css/ind1.html"; /*  оформление css */

        session_start(); 
            if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
            echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
            echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить";

	require_once "css/ind2.html";  /*  оформление css */
?>

Счет страниц происходит, но перед ним пишется сообщение об ошибке:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at S:\home\test2.ru\www\css\ind1.html:14) in S:\home\test2.ru\www\index.php on line 5
Вы обновили эту страницу 7 раз. 

Что не так с файлом ind1.html yf 14-ой строке? 
Вот код ind1.html из папки css:

<?php
    header("Content-Type: text/html; charset=utf-8");
    mb_internal_encoding('UTF-8');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
 <meta charset="UTF-8">
<link rel="stylesheet" href="css/main.css" type="text/css" />
</head>
<body>

Система мне пишет, Предупреждение: session_start () [function.session-start]: Не удается отправить ограничитель кеша сеанса - уже отправленные заголовки (вывод начат в S: \ home \ test2.ru \ www \ css \ ind1.html: 14) 
Но где эти "уже отправленные заголовки",  если там всего лишь html документ с кодировками?
  • Вопрос задан
  • 344 просмотра
Решения вопроса 2
DevMan
@DevMan
сессия должна стартовать до любого вывода в браузер.
у вас же первым идёт инклуд с html.
Ответ написан
AlexMaxTM
@AlexMaxTM
session_start();
в самый верх передвиньте.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы