Cas d'école

Prof
Invité n'ayant pas de compte PHPfrance

25 août 2005, 14:00

Une petite colle:

Je veux opérer une transition d'un blog vers un second. Je désire rediriger automatiquement les visiteurs vers le second, tout en leur laissant pendant quelques semaines la possibilité de rester sur le premier.

Je veux donc qu'après un délai défini, un message apparaisse annonçant "Vous allez être redirigé vers Blog2!". Possibilité d'accepter "OK" ou de cliquer sur "Non, je désire rester sur Blog1".

Quelle est le code que je devrai entrer?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 août 2005, 14:19

<head>
<script type="text/javascript">
var delai = 10;   // 10 secondes
function upclock()
{ if (delai>0)
     { chrono.innerHTML = delai + ' seconde' + (delai > 1 ? "s" : "");
       delai--;
     }
     else
     window.location = 'http://www.ton-nouveau-site.com';
} 
setInterval("upclock()",1000);
</script>
</head>

<body>
<p>Vous allez &ecirc;tre redirig&eacute; sur www.ton-nouveau-site.com dans <script>document.write('<span id="chrono"></span>');</script>.</p>
</body>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 août 2005, 14:26

Ce n'est pas du PHP mais du javascript qu'il te faut alors.

Voila ce que je viens de te faire rapidement, je n'ai pas testé:
<script type="text/javascript">
var redirect=1;
function rediriger(){
     if (redirect>0) document.location='http://www.site2.com';
}
setTimeout("rediriger()", 10000); // valeur en milli-secondes 
</script>


Vous allez être redirigé dans 10 secondes, merci de bien vouloir patienter...<br />
<a href="#null" onclick="javascript:redirect=0">Annuler la redirection.</a>
Modifié en dernier par @rthur le 25 août 2005, 14:33, modifié 2 fois.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 75 Messages

25 août 2005, 14:28

Ce n'est pas du PHP mais du javascript qu'il te faut alors.

Voila ce que je viens de te faire rapidement, je n'ai pas testé:

Code : Tout sélectionner

<script type="text/javascript"> var redirect=1; function rediriger(){ if (redirect>0) document.location='http://www.site2.com'; } setTimeout("rediriger()", 10000); // valeurs en milli-secondes </script> Vous allez être redirigé dans 10 secondes, merci de bien vouloir patienter...<br /> <a href="#null" onclick="javascript:redirect=0">Annuler la redirection.</a>
cool mais avec ton code on n'a pas la possibilité de dire oui ou non...
http://cyrill.skyblog.com ===> mon blog

Petit projet en php fais de moi meme :-)

http://sites.neeweb.com/cyrill/

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 août 2005, 14:28

Ce n'est pas du PHP mais du javascript qu'il te faut alors.
Modération :
Oups ! J'avais pas fait gaffe.
Je déplace.
Merci @rthur.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 août 2005, 14:29

cool mais avec ton code on n'a pas la possibilité de dire oui ou non...
Si tu demandes au visiteur de cliquer sur OUI ou NON,
quel est l'intérêt de la minuterie ???

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

25 août 2005, 14:35

cool mais avec ton code on n'a pas la possibilité de dire oui ou non...
Tu as juste la possibilité de dire "non à la redirection", ce qui devrait suffire vu que mon code est a placé sur ton ancien site non?
Quand tout le reste a échoué, lisez le mode d'emploi...

Prof.
Invité n'ayant pas de compte PHPfrance

25 août 2005, 15:11

Merci à vous deux pour ces réponses rapides.

Voici ce que le visiteur doit voir:

_ il arrive sur le site comme il en a l'habitude
_ il lit le dernier sujet du blog (tout en haut) qui explique les raisons de la transition vers le nouveau blog.
_ il est sur le blog depuis 12 sec qd apparait un message qui lui dit qu'il va être redirigé.

Soit:
_ il accepte et est redirigé
_ il refuse et reste sur le premier blog

L'interet du delai est donc de laisser le temps d'appercevoir le sujet du blog avant de recevoir le message.

Peut-on associer vos codes pour y arriver?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

25 août 2005, 15:22

Bien sûr, tu peux associer ces codes.
Il suffit d'appliquer le setTimeout() à l'ouverture de la MsgBox et non à la redirection automatique.