Rafraichir une page 1 fois

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rafraichir une page 1 fois

Re: Rafraichir une page 1 fois

par lecer144 » 25 août 2011, 09:30

bon ça marche pas, le reload ne se fait pas pffff :(

Re: Rafraichir une page 1 fois

par lecer144 » 24 août 2011, 23:01

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

par lecer144 » 24 août 2011, 19:40

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

par AB » 24 août 2011, 18:25

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

par lecer144 » 24 août 2011, 11:34

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

par AB » 24 août 2011, 03:59

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

par lecer144 » 23 août 2011, 19:19

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

par AB » 23 août 2011, 18:51

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;
 }
?>

Rafraichir une page 1 fois

par lecer144 » 23 août 2011, 13:45

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