Page 1 sur 1

Rafraichir une page 1 fois

Posté : 23 août 2011, 13:45
par lecer144
Bonjour voici ce que je voudrais faire mais vu que je suis grand grand débutant, c'est un peu la galère.
Je n'ai pas d'erreur à 1ère vue mais ce qui est sûr c'est que ça ne fonctionne pas.
Le cookies refresh est correctement créé si inexistant mais je n'arrive pas à obtenir le relaod de la page qui doit s'enchainer
<head>
<?php
if(!isset($_COOKIE["refresh"])){ // si le cookies refresh n'existe pas
	setcookie("refresh", "1", time()+7200); //on créé le cookie avec une durée de 2h
	echo "<script>document.location.href = 'http://www.monsite.com';</script>\n"; // puis on rafraichie la page
	echo "</script>";
	}
else {} // si le cookies refresh existe, on ne fait rien
?>
Par avance merci pour votre aide

Re: Rafraichir une page 1 fois

Posté : 23 août 2011, 18:51
par AB
Utilises un header plutôt qu'un bout de code javascript (qui peut être désactivé) :
<?php
if(!isset($_COOKIE["refresh"]))
{ 
       // si le cookies refresh n'existe pas
       setcookie("refresh", "1", time()+7200); //on créé le cookie avec une durée de 2h

       header("Location: http://www.monsite.com/");
       exit;
 }
?>

Re: Rafraichir une page 1 fois

Posté : 23 août 2011, 19:19
par lecer144
Franchement AB ... merçi, merçi et encore merçi !!!
c'est 3x rien mais si tu savais combien j'ai galéré ...

Re: Rafraichir une page 1 fois

Posté : 24 août 2011, 03:59
par AB
Merci pour le trois fois merci. ça compense pour d'autres qu'on dépanne pour du code parfois beaucoup plus difficile et qui ne prennent pas la peine de faire signe :)
PS En cliquant sur le message qui t'a aidé cela permettrait de marquer ta question comme résolue :wink:

Re: Rafraichir une page 1 fois

Posté : 24 août 2011, 11:34
par lecer144
Aie, j'ai bien cru que ça fonctionnait mais en fait non.
Peut-être est-ce parce qu' avant j'ai déjà des header ?
voilà ce que ça donne :

</head>
<!-- Pour NO-CACHE -->
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
?>
<!-- Pour DETECTION RESOLUTION -->
<script type="text/javascript" src="resscreen.js"></script> // script qui place 2 cookies correspondants à la résolution écran
// selon ces cookies, le template change et s'adapte
<!-- Pour RELOAD page si cookies refresh inexistant -->
<?php
if(!isset($_COOKIE["refresh"]))
{
// si le cookies refresh n'existe pas
setcookie("refresh", "1", time()+7200); //on créé le cookie avec une durée de 2h
header("Location: http://www.monsite.com/"); // et on actualise la page
exit;
}
?>

Re: Rafraichir une page 1 fois

Posté : 24 août 2011, 18:25
par AB
Peut-être est-ce parce qu' avant j'ai déjà des header ?
Oui !

Mets le code php " if(!isset($_COOKIE["refresh"])) .... " tout en haut de ta page. Il n'a rien à faire ici où te le mets, mélangé à du html !

Re: Rafraichir une page 1 fois

Posté : 24 août 2011, 19:40
par lecer144
ok mais il faudrait que ma recupération par cookies de la resolution ait lieu en premier (d'ailleurs là aussi, il faudrait que j'ajoute un test => si cookies res_height présent, on passe l’exécution de resscreen.js).
C'est seulement après qu'il faudrait vérifier la présence du cookies refresh et reloader la page si ce cookies refresh n'existe pas encore.
tu crois que c'est possible dans ce sens là ?

Re: Rafraichir une page 1 fois

Posté : 24 août 2011, 23:01
par lecer144
J'ai testé ça et ça a l'air pas mal ... demain j'essaye avec une autre config et une plus grosse résolution pour voir ce que ça donne.


</head>
<!-- Pour NO-CACHE sur Index -->
<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

// Pour RELOAD page si template pas encore adapté à la résolution
if(!isset($_COOKIE["res_height"])) // si la résolution n'a pas encore détectée
{
echo '<script type="text/javascript" src="resscreen.js"></script>';
}
if(!isset($_COOKIE["refresh"])) // si le cookies refresh n'existe pas
{
setcookie("refresh", "1", time()+7200); //on créé le cookie avec une durée de 2h
header("Location: http://www.monsite.com/"); // et on rafraichit
exit;
}
?>

Re: Rafraichir une page 1 fois

Posté : 25 août 2011, 09:30
par lecer144
bon ça marche pas, le reload ne se fait pas pffff :(