je le code suivant:PHP Cookie ne fonctionne pas
if ($_COOKIE['lightbox'] != "1") {
setcookie("lightbox", "1", time()+3600);
echo("
<script type='text/javascript'>
if (window.addEventListener) { // Mozilla, Netscape, Firefox
window.addEventListener('load', WindowLoad2, false);
} else if (window.attachEvent) { // IE
window.attachEvent('onload', WindowLoad2);
}
function WindowLoad2(event) {
displayLightbox();
}
</script>
");
}
Ce que je suis en train d'accomplir essentiellement pour exécuter displayLightbox() une seule fois pour chaque utilisateur à l'aide d'un cookie. Pour une raison quelconque, je l'obtiens pour chaque page que je vais sur le site Web, sauf quand je CTRL + F5 la page. Après avoir utilisé ctrl + f5 je n'ai plus la lightbox. Des idées?
Est-il possible que ce code s'exécute dans un cadre/iframe? Ou peut-être que vous obtenez ce code en utilisant ajax? Parce qu'il semble que ce code est mis en cache. – Karolis
@Karolis J'implémente cela dans un système qui fait de l'optimisation de code automatiquement, je ne sais pas exactement comment et comment cette partie du code est indisponible pour moi. Est-il possible de désactiver la mise en cache pour cette partie du code ou de la contourner d'une manière ou d'une autre? –
Il est difficile de dire quelque chose sans avoir de connaissances sur votre système. Mais vous pouvez essayer d'ajouter des en-têtes sans cache: http://php.net/manual/fr/function.header.php#example-3696 ou vous pouvez aussi tester l'existence d'un cookie en JavaScript. – Karolis