Невозможно setcookie(), когда SSI-включает заголовочный файл PHP

На самом деле потерял здесь, что делать дальше. Допустим, у меня есть

заголовок.php

<?php 
    setcookie("the_cookie","data",time()+60); 
?>
    //followed by HTML codes

index.htm

<!--#include file="header.php"-->
<html>
      //standard html stuff here
</html>

Когда я включаю header.php в любой из моих html-файлов, он не может установить cookie. Это несмотря на

<!--#include file="header.php"-->

это самая первая строка в моем html-документе, а setcookie — самая первая строка в файле header.php. На сервере Apache включен SSI. Поэтому я уверен, что #include работает, поскольку у меня есть другие HTML-коды после функции setcookie(), и они отображаются правильно.

Но когда я запускаю сам header.php, cookie устанавливается правильно. Кто-нибудь здесь уже сталкивался с такими ситуациями и знает, что нужно делать?

Заранее благодарю

Гэри Чо


person Gary    schedule 04.02.2014    source источник


Ответы (1)


У меня была та же проблема, я решил ее, используя $_SESSION[] вместо setcookie(). Еще одно преимущество заключается в том, что вы также можете использовать echo $_SESSION[] в том же запуске php, в котором вы установили значение $_SESSION[]. Я надеюсь, что это сработает и для вас.

person dbtech2    schedule 01.06.2015