Retarder de quelques secondes une redirection [PHP] - PHP - Programmation
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.
Marsh Posté le 14-05-2004 à 10:31:45
dropsy a écrit : |
je lui conseillerai les meta refresh, car Js, cai mal
dropsy a écrit : avec la fonction header, tu ne pourras rien afficher sur le client |
mise en cache
Marsh Posté le 14-05-2004 à 10:36:56
chacal_one333 a écrit : je lui conseillerai les meta refresh, car Js, cai mal |
yeps, c'est à ça que je pensais
(pas de commentaire )
chacal_one333 a écrit : |
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
Marsh Posté le 14-05-2004 à 10:38:49
dropsy a écrit : yeps, c'est à ça que je pensais |
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
Marsh Posté le 14-05-2004 à 10:46:28
chacal_one333 a écrit : si si, je le fait moi |
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.
Marsh Posté le 14-05-2004 à 10:49:39
ben ecoute je fait mes redirection en header hein
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...
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
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" ?
Marsh Posté le 14-05-2004 à 11:18:50
C'est un pop up à retardement que tu veux toi et pas une redirection
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
Marsh Posté le 14-05-2004 à 11:25:23
chacal_one333 a écrit : si si, je le fait moi |
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
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
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
Marsh Posté le 14-05-2004 à 14:12:57
[IQS]Krusty a écrit : oui alors sinon y a aussi : |
aucun intéret, à part faire perdre du temps à ton serveur
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