[PHP]Retarder de quelques secondes une redirection

Retarder de quelques secondes une redirection [PHP] - PHP - Programmation

Marsh Posté le 14-05-2004 à 10:26:20    

Bonjour!
 
Est-ce que c'est possible de faire retarder de quelques secondes une redirection header("Location:MaPage.php" ); pour que j'ai le temps d'afficher un message d'erreur... J'ai essayé avec la fonction sleep() mais ça marche pas...
 
Quelqu'un a une idée?
 
Merci

Reply

Marsh Posté le 14-05-2004 à 10:26:20   

Reply

Marsh Posté le 14-05-2004 à 10:30:04    

avec la fonction header, tu ne pourras rien afficher sur le client ;)
 
pour ce que tu veux faire, regarde plutôt du côté des redirections en javascript.

Reply

Marsh Posté le 14-05-2004 à 10:31:45    

dropsy a écrit :


pour ce que tu veux faire, regarde plutôt du côté des redirections en javascript.


 
je lui conseillerai les meta refresh, car Js, cai mal :o

dropsy a écrit :

avec la fonction header, tu ne pourras rien afficher sur le client ;)


 
mise en cache :o

Reply

Marsh Posté le 14-05-2004 à 10:36:56    

chacal_one333 a écrit :

je lui conseillerai les meta refresh, car Js, cai mal :o


yeps, c'est à ça que je pensais :whistle:
(pas de commentaire :o)


mise en cache de quoi :??:  
je vois pas comment tu peux afficher une page puis faire ta redirection avec header() le tout dans un seul script  :o

Reply

Marsh Posté le 14-05-2004 à 10:38:49    

dropsy a écrit :

yeps, c'est à ça que je pensais :whistle:
(pas de commentaire :o)
 
mise en cache de quoi :??:  
je vois pas comment tu peux afficher une page puis faire ta redirection avec header() le tout dans un seul script  :o

si si, je le fait moi :)
 
avec un ob_start() au tout debut du script et ob_end_flush() tout a la fin, tu utilise les header comme tu veux :)

Reply

Marsh Posté le 14-05-2004 à 10:46:28    

chacal_one333 a écrit :

si si, je le fait moi :)
avec un ob_start() au tout debut du script et ob_end_flush() tout a la fin, tu utilise les header comme tu veux :)


 
Bah non tu ne le fais pas. La bufferisation de sortie ne fait que retarder l'envoi des données pour permettre de modifier l'en-tête tout au long de l'exécution du script, indépendamment de l'envoi de données en sortie.
 
Sauf qu'à la fin, php enverra les en-têtes, puis le contenu de la page, en une fois. Donc envoyer du contenu puis faire une redirection header, ça n'est pas possible.

Reply

Marsh Posté le 14-05-2004 à 10:49:39    

ben ecoute je fait mes redirection en header hein :heink:


Message édité par Profil supprimé le 14-05-2004 à 10:50:12
Reply

Marsh Posté le 14-05-2004 à 10:52:08    

Ok, j'ai fais une rapide recherches sur tout ce que vous m'avez donner comme solution. Donc je n'ai pas tout comrpis sur ob_start() et ob_end_flush()... Par contre j'ai recherché sur les metas, et j'ai vu qu'il y avait quelques problèmes au niveau de la sécurité et que certains utilisateurs préfèrent donc utiliser du javascript... En bref je suis totalement embrouillée maintenant...

Reply

Marsh Posté le 14-05-2004 à 11:03:08    

<html>
<head>
 
<title>Redirection en htm</title
 
<meta http-equiv="refresh" content="3; URL=http://www.manouvelleadresse.com">
 
</head>
 
<body>
Redirection vers www.manouvelleadresse.com dans 3 seconde.
</body>
 
</html>
 
avec content= la durée en seconde

Reply

Marsh Posté le 14-05-2004 à 11:07:10    

Merci beaucoup à vous tous, ça marche!

Reply

Marsh Posté le 14-05-2004 à 11:07:10   

Reply

Marsh Posté le 14-05-2004 à 11:08:55    

ya moyen de specifier que ce redirect se fait dans une page vierge ?  
l'equivalent du target="_blank" ?

Reply

Marsh Posté le 14-05-2004 à 11:18:50    

C'est un pop up à retardement que tu veux toi et pas une redirection

Reply

Marsh Posté le 14-05-2004 à 11:21:46    

belgique a écrit :

C'est un pop up à retardement que tu veux toi et pas une redirection


 
hmmm mouais effectivement  >.< pas grave je ferais sans :)

Reply

Marsh Posté le 14-05-2004 à 11:25:23    

chacal_one333 a écrit :

si si, je le fait moi :)
 
avec un ob_start() au tout debut du script et ob_end_flush() tout a la fin, tu utilise les header comme tu veux :)


 
oui, en l'occurence, il utilise la fonction header pour faire une redirection ( header('Location: http://lalatsouintsouin') )
donc l'utilisation des fonctions ob_ ne sert pas à grand chose [:proy]
 
mais si tu sais faire une redirection avec header après avoir affiché chez le client le contenu du buffer de ob_, j'aimerai voir ça ;)

Reply

Marsh Posté le 14-05-2004 à 13:35:13    

oui alors sinon y a aussi :
 
sleep(3);
header("Location: redirect.php" );
 
Au moins avec ca, tu es sur que c'est redirigé même sur les platforme JS foireuses :D

Reply

Marsh Posté le 14-05-2004 à 14:12:57    

[IQS]Krusty a écrit :

oui alors sinon y a aussi :
 
sleep(3);
header("Location: redirect.php" );
 
Au moins avec ca, tu es sur que c'est redirigé même sur les platforme JS foireuses :D


aucun intéret, à part faire perdre du temps à ton serveur [:proy]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed