Я создал этот простой скрипт, который либо установит файл cookie с тремя значениями, либо загрузит значения cookie, если они уже установлены. На моем сервере с PHP4 все работает. На моем сервере с PHP 5 (5.2.11) скрипт не может установить cookie в браузере. Я уже проверял, включена ли буферизация вывода в моем php.ini, и это так. У кого-нибудь есть идеи относительно того, почему это не работает?php setcookie не работает под php5
<?php
echo "<!DOCTYPE html>";
echo "<body>";
if (!isset($_COOKIE['taeinv'])) {
echo "No cookie set... Attempting to set a new cookie.";
$user = "testuser";
$role = "admin";
$expire = "true";
$halfHour = 1800;
setcookie("websitename[Expire]", $expire, time()+$halfHour);
setcookie("websitename[User]", $user, time()+$halfHour);
setcookie("websitename[Role]", $role, time()+$halfHour);
}
if (isset($_COOKIE['websitename'])) {
echo "Cookie Values:";
echo "<br />";
foreach ($_COOKIE['websitename'] as $name => $value) {
echo "<b>$name</b> : $value <br />\n";
}
}
echo "<br />";
echo "<a href=logout.php>Logout</a>";
echo "</body>";
echo "</html>";
?>
Не добавлять комментарии, как новые ответы. Вместо этого напишите комментарии к ответам. Что такое сообщение об ошибке? У вас есть пробелы перед открытием тега Php'? У вас также может быть невидимая спецификация UTF-8, если нет пробелов или других символов. –
Нет пробелов перед тегом Php –
Я просто удалил исходный файл и скопировал и вставил код в новый файл в nano в терминале. Он все еще не может установить cookie. –