J'ai créé ce script simple qui va soit définir un cookie avec trois valeurs ou récupérer les valeurs de cookies si elles sont déjà définies. Sur mon serveur exécutant PHP4, tout fonctionne. Sur mon serveur avec PHP 5 (5.2.11), le script ne parvient pas à définir le cookie dans le navigateur. J'ai déjà vérifié si la mise en mémoire tampon de sortie est activée dans mon php.ini et c'est le cas. Quelqu'un at-il des idées sur les raisons pour lesquelles cela ne fonctionne pas?php setcookie échoue sous 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>";
?>
Ne pas ajouter de commentaires que de nouvelles réponses. Au lieu de cela, écrivez des commentaires aux réponses. Quel est le message d'erreur? Avez-vous des espaces avant l'ouverture de la balise Php'? Vous pouvez également avoir une nomenclature UTF-8 invisible s'il n'y a pas d'espaces ou d'autres symboles. –
Aucun espace avant la balise Php –
Je viens de supprimer le fichier d'origine et de copier et coller le code dans un nouveau fichier dans nano dans le terminal. Il ne parvient toujours pas à définir le cookie. –