3 つの値で Cookie を設定するか、既に設定されている場合は Cookie の値を取得する簡単なスクリプトを作成しました。PHP4 を実行しているサーバーでは、すべてが機能します。私のサーバーで PHP 5 (5.2.11) を使用している場合、スクリプトはブラウザーで Cookie を設定できません。php.ini で出力バッファリングが有効になっているかどうかを確認しましたが、有効です。なぜこれがうまくいかないのか、誰にもアイデアがありますか?
<?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>";
?>