Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/02/2011, 12h50   #1
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
Par défaut Bouton qui bloque un javascript refresh

Bonjour à toutes et à tous,

Explications :
Sur une page j'ai un javascript refresh qui actualise ma page toutes les x secondes.
Cela permet d'effacer les bannières déjà cliqué par le membre.

Ce que je cherche :
Je souhaiterai mettre en place un bouton ou autre qui permette de bloquer ce refresh quand le membre souhaite garder la page sans refresh.

J'ai fais des recherches et je n'ai pas trouvé la solution pour cela.

Si c'est plus simple de bloquer un meta refresh, je pourrai mettre le meta à la place du javascript.

Merci d'avance pour vos idées et conseils.

Cordialement
Rémi

Solution après les réponse :
Donc pour résumer, j'ai mis ce code sur le php :

Code :
1
2
3
4
5
6
7
8
9
10
if(!isset($_GET['bouttonR'])) $_GET['bouttonR']=true; //valeur default
else{ //si le boutton est cliquer alors on inverse ca valeur
     if($_GET['bouttonR']==true)   $_GET['bouttonR']=false;
     else $_GET['bouttonR']=true;
}
//refresh actif ou non
if($_GET['bouttonR']==true) echo "<body onLoad=\"window.setTimeout('window.location.reload()',50000);\">";
else echo "<body>";
 
// 50000 = 50 secondes
Et le bouton html :
Code :
<form><input type="submit" name="bouttonR" value="<? echo $_GET['bouttonR']; ?>" /></form>
@+

PS : Attention, il y a une erreur sur le code de guigo en dessous, il manque le ; à la fin du onLoad
Code :
if($_GET['bouttonR']==true) echo "<body onLoad=\".....\"">;
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 13h13   #2
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Salut,
si tu veux mettre un boutton tu peux tres bien faire :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
if(!isset($_GET['bouttonR'])) $_GET['bouttonR']=true; //valeur default
else{ //si le boutton est cliquer alors on inverse ca valeur
     if($_GET['bouttonR']==true)   $_GET['bouttonR']=false;
     else $_GET['bouttonR']=true;
}
//refresh actif ou non
if($_GET['bouttonR']==true) echo "<body onLoad=\".....\"">
else echo "<body>";
 
 
......
<form>
   <input type="submit" name="bouttonR" value="<? echo $_GET['bouttonR']; ?>" />
Guigo
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 15h42   #3
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
merci guigo.

J'ai fait des premiers essai mais j'ai une erreur de syntaxe.

Peut etre que je n'ai pas mis ce qu'il faut dans :
if($_GET['bouttonR']==true) echo "<body onLoad=\".....\"">
Je continue les essais, j'ai juste cette ligne qui pose problème.
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 16h11   #4
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
kle onLoad correspond a ton action refresh....
C'est a toi de mettre l'action que tu veux dedans
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h08   #5
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
J'en ai essayé plusieurs actions mais j'ai toujours cette erreur.

<body onload=\"refresh()\"">
<body onload=\"javascript:location.reload()\"">
<body onLoad=\"javascript:window.refresh()\"">

Je vais faire un dernier essai sinon je ferai autrement, j'ai trouvé une solution.
Pour ceux que ca intéresse :
Je fait une deuxième page identique sans le script refresh
exemple
ptc.php >> avec refresh
ptc2.php > sans refresh

Sur le bouton ca emmène le membre sur ptc2.php
C'est surement moins pro mais ca fonctionnera.

Si vous avez des idées pour le bouton onload je veux bien continuer les essais. J'aime apprendre
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h17   #6
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Mais je comprend pas trop en fait....

L'interet de ma technique c'est de pouvoir supprimer ton refresh.
Donc au test if tu refresh ou non !
Mais a priori ta fonction refresh marchait....
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 17h26   #7
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
J'ai bien compris l'intérêt de la technique, c'est exactement ce que je cherche.

Le truc c'est que la page ne s'affiche pas.

Ca me met : Parse error: syntax error, unexpected T_ELSE, expecting ',' or ';' on line 17

Ligne 15 - 16 et 17 :
15 //refresh actif ou non
16 if($_GET['bouttonR']==true) echo "<body onLoad=\"javascript:window.refresh()\">"
17 else echo "<body>";

Avec ca je ne vois pas ce qu'il faut changer pour ne plus avoir l'erreur.
je fais le test ici http://www.wadobarre.com/partenaires.php

J'ai peut être pas fait ce qu'il faut, je suis pas un pro ^^
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h01   #8
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
ajoute un ; a la ligne 16 !!!
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h23   #9
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
C'était pas grand chose.

Merci bien.

Donc pour résumer, j'ai mis ce code :

if(!isset($_GET['bouttonR'])) $_GET['bouttonR']=true; //valeur default
else{ //si le boutton est cliquer alors on inverse ca valeur
if($_GET['bouttonR']==true) $_GET['bouttonR']=false;
else $_GET['bouttonR']=true;
}
//refresh actif ou non
if($_GET['bouttonR']==true) echo "<body onLoad=\"window.setTimeout('window.location.reload()',50000);\">";
else echo "<body>";

// 50000 = 50 secondes
********************

Et le bouton html :
<form><input type="submit" name="bouttonR" value="<? echo $_GET['bouttonR']; ?>" /></form>


Pour voir ce que ca donne en ligne, c'est sur cette page : http://www.wadobarre.com/ptc.php


Si j'ai à nouveau besoin d'aide, je saurai ou venir

Bonne continuation à tous.
Encore merci guigo.
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h34   #10
Membre chevronné
 
Inscription : mars 2005
Messages : 583
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 583
Points : 651
Points : 651
En un peu plus simple, sans avoir besoin de faire appel à PHP :

Code :
1
2
3
4
 
    <body onload="recharger=setTimeout( 'window.location.reload()' , 5000 )">
        <input type="button" value="stop" onclick="clearTimeout( recharger )" />
    </body>
__________________
Pourfendeur de singletons en croisade
Petibidon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 18h48   #11
Invité de passage
 
Inscription : février 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 6
Points : 0
Points : 0
En effet c'est plus simple comme ca avec juste 3 lignes de code

Je l'ai mis sur cette page : http://www.wadobarre.com/partenaires.php

On vois le bouton stop mais quand on clic dessus, il ne se passe rien
WadoWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h12.


 
 
 
 
Partenaires

Hébergement Web