Redirection après quelques secondes et affichage d'une page - PHP - Programmation
Marsh Posté le 07-12-2005 à 11:55:14
daviso a écrit : J'ai bien pensé aux headers avec Location, mais le problème est qu'il ne faut rien envoyer avant. |
En quoi c'est un problème ?
Marsh Posté le 07-12-2005 à 11:59:22
On ne peut pas mettre:
Code :
|
Parce que sinon il proteste qu'il ne faut rien avoir envoyé avant les headers, et là j'ai déjà envoyé le html.
Citation : N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichges PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui génèreront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards. |
Marsh Posté le 07-12-2005 à 12:00:50
daviso a écrit : On ne peut pas mettre:
|
OMG
Sleep ça sert à créer un délai dans l'exécution du code, pas à faire une pause avant une redirection
Marsh Posté le 07-12-2005 à 12:01:37
javascript bordel
Marsh Posté le 07-12-2005 à 12:02:46
masklinn a écrit : OMG |
Comme tu veux... mais ce n'est pas le problème. Ceci dit, si tu as mieux...
Marsh Posté le 07-12-2005 à 12:03:36
ReplyMarsh Posté le 07-12-2005 à 12:06:21
daviso a écrit : Comme tu veux... mais ce n'est pas le problème. Ceci dit, si tu as mieux... |
ben si c'est le problème justement.
Je propose qu'on fasse passer des test psychologiques avant d'autoriser les gens à toucher à du PHP
Marsh Posté le 07-12-2005 à 12:07:31
black_lord a écrit : |
meta refresh
Marsh Posté le 07-12-2005 à 12:10:44
black_lord a écrit : ben si c'est le problème justement. |
La question concernait la redirection après affichage d'une page, et je n'ai pas eu de réponse.
Concernant le sleep, je lis la doc et j'obtiens:
Citation : sleep -- Arrête l'exécution durant quelques secondes |
Ce qui convient parfaitement à ce que je veux faire. Alors si ça bouffe du CPU, je veux bien changer de fonction, mais ça n'est pas précisé dans la doc.
Marsh Posté le 07-12-2005 à 12:12:20
daviso a écrit : La question concernait la redirection après affichage d'une page, et je n'ai pas eu de réponse. |
raté t'en as eu 2
daviso a écrit : Concernant le sleep, je lis la doc et j'obtiens:
|
Ca arrête l'exécution du code PHP, c'est n'importe quoi, si ton serveur web bufferise la page s'affichera jamais
T'as rien compris à la manière dont fonctionne le web
Marsh Posté le 07-12-2005 à 12:19:28
Il faut pas chercher 12h à 14h : Javascript ou meta_refresh.
sleep ou unsleep créé une pause mais ne l'arrête pas, car exit() lui arrête l'execution d'un script. Néanmoins, le sleep n'est pas là pour régler le problème.
-Php c'est bien mais il faut arrêter avec le coté "tout coté serveur".
Marsh Posté le 07-12-2005 à 13:52:39
OK, je vois effectivement pourquoi le sleep() ne marchera pas.
Je vais fouiller du côté du javascript.
Merci pour les réponses constructives. Dommage pour les autres.
Marsh Posté le 07-12-2005 à 14:12:32
par moment il faut savoir reflechir par soi-meme et ne pas accuser les autres.
Les solutions t'ont été données.
Code :
|
c'est une solution sans javascript.
Marsh Posté le 07-12-2005 à 15:03:49
cinocks a écrit : par moment il faut savoir reflechir par soi-meme et ne pas accuser les autres.
|
En fait, je rêve d'un forum où la réponse serait quelque chose du genre:
Citation : Tu peux utiliser le javascript, ou bien le meta-refresh:
|
Ca serait plus sympa que les "OMG", les "il a rien compris", ou de se poser des questions sur mon état psychologique dont je me demande bien ce qu'il vient faire dans l'histoire.
I had a dream today
Marsh Posté le 07-12-2005 à 15:06:10
daviso a écrit : En fait, je rêve d'un forum où la réponse serait quelque chose du genre:
|
Ca sera peut être le cas quand tu te renseigneras avant et que tu ne poseras pas des questions triviales et débattues quelques millions de fois un peu partout sur le web
Cadeau pour la prochaine fois: http://www.catb.org/~esr/faqs/smar [...] tml#before
Marsh Posté le 07-12-2005 à 15:15:08
masklinn a écrit : Cadeau pour la prochaine fois: http://www.catb.org/~esr/faqs/smar [...] tml#before |
Citation : In the world of hackers, the kind of answers you get to your technical questions depends as much on the way you ask the questions as on the difficulty of developing the answer. This guide will teach you how to ask questions in a way that is likely to get you a satisfactory answer. |
Un rien arrogant peut-être comme philosophie?
Marsh Posté le 07-12-2005 à 15:23:27
daviso a écrit :
|
Sûrement beaucoup plus arrogant qu'exiger une réponse à une question mal posée alors qu'on a pas compris le langage (pas plus que le problème qu'on a), oui
Marsh Posté le 07-12-2005 à 15:27:02
masklinn a écrit : Sûrement beaucoup plus arrogant qu'exiger une réponse à une question mal posée alors qu'on a pas compris le langage (pas plus que le problème qu'on a), oui http://membres.lycos.fr/angel2k/petrus/petruseaf.gif |
Bon, suite en MP, parce que là on est largement HS.
Marsh Posté le 07-12-2005 à 15:28:59
daviso a écrit : En fait, je rêve d'un forum où la réponse serait quelque chose du genre:
|
On reve aussi d'un forum où les questions sont bien posées, où celui qui les pose se sera penché dessus. Ce qui t'aurais permis de voir rapidement que le sleep n'a rien à faire ici.
On reve aussi de membres ayant fait des recherches avant, au lieu de se pointer comme si de rien etait. Tu aurais trouvé pour larecherche la plus simple comme html redirection, la reponse suivante:
http://www.aidoforum.com/tutoriaux [...] -page.html
Qui figure en premier lien des reponses pour:
http://www.google.fr/search?hl=fr& [...] DcountryFR
Marsh Posté le 07-12-2005 à 15:33:50
cinocks a écrit : On reve aussi d'un forum où les questions sont bien posées, où celui qui les pose se sera penché dessus. Ce qui t'aurais permis de voir rapidement que le sleep n'a rien à faire ici. |
Là, désolé, les MP à 3, je ne sais pas faire.
Marsh Posté le 07-12-2005 à 15:51:44
Code :
|
Marsh Posté le 07-12-2005 à 15:59:31
sielfried a écrit :
|
Merci.
Marsh Posté le 07-12-2005 à 19:07:25
En même temps, c'est relou ce genre de pages. L'utilisateur a horreur d'attendre pour rien, alors même 5 secondes c'est trop...
Marsh Posté le 07-12-2005 à 21:06:46
FlorentG a écrit : En même temps, c'est relou ce genre de pages. L'utilisateur a horreur d'attendre pour rien, alors même 5 secondes c'est trop... |
Pourtant sur HFR tu t'y fais.
Marsh Posté le 07-12-2005 à 21:11:04
Berceker United a écrit : Pourtant sur HFR tu t'y fais. |
Bof... C'est relou... Enfin c'est sûr que ça dure pas 5 secondes
Marsh Posté le 07-12-2005 à 22:50:49
on peut aussi mettre un lien:
Citation : pour retourner directement à telle page, cliquez ici... |
Marsh Posté le 07-12-2005 à 23:16:31
FlorentG a écrit : En même temps, c'est relou ce genre de pages. L'utilisateur a horreur d'attendre pour rien, alors même 5 secondes c'est trop... |
+1, devrais y avoir moyen de les virer.
J'ai virer ce genre de message sur mon forum, ça donne une impression de rapidité, c'est impressionnant.
La première fois, c'est bien de savoir qu'on va être redirigé, la deuxième fois, on s'en fout, de la troisième à la dixième, ça gonfle sévère et après, faute de mieux, on s'y fait parce qu'on ne peut rien y changer.
Marsh Posté le 08-12-2005 à 09:37:05
Ca permet d'eviter les retour arriere intempestifs et la reexecution de formulaires.
Mettre un timer comme çà, ca limite aussi l'activité, ce qui est positif pour la charge du serveur
Marsh Posté le 08-12-2005 à 12:52:49
cinocks a écrit : Ca permet d'eviter les retour arriere intempestifs et la reexecution de formulaires. |
Euh, pas d'accord pour les retours en arrière. Si je fais un retour en arrière sur hfr après avoir posté, je retourne sur le message qui me dis que je viens de poster, sur mon forum, tu retournes au message avant d'avoir posté si tu as poster dans la zone rapide ou tu retournes au formulaire de réponse autrement.
Quant à la charge serveur, envoyer une page, aussi petite soit-elle, juste pour nous dire qu'on va être redirigé, je ne suis pas sûr que ça soit super bénéfique pour la bande passante.
Enfin bon, si elle est là, il doit bien y avoir une raison, mais je ne la vois pas.
Edit : Correction, après test, c'est kifkif chez HFR ou sur mon forum niveau retour en arrière.
Marsh Posté le 08-12-2005 à 14:43:31
The-Shadow a écrit : Euh, pas d'accord pour les retours en arrière. Si je fais un retour en arrière sur hfr après avoir posté, je retourne sur le message qui me dis que je viens de poster, sur mon forum, tu retournes au message avant d'avoir posté si tu as poster dans la zone rapide ou tu retournes au formulaire de réponse autrement. |
Il faut pas abuser quand même. Plus la bande passante s'elargie, plus les machines sont puissante, les coûts de connexion se réduise mais il y a plus d'internaute "potentiel". Alors c'est pas la petite page précisant qu'il va y avoir une redirection qui fait que ça ne sera pas bénéfique pour le serveur . Si les serveurs avaient des sentiments et pouvaient parler ils insulteraient plus les developpeurs qui codent comme des porcs que la petite page de redirection de quelques dizaines d'octets.
Marsh Posté le 07-12-2005 à 11:54:08
Bonjour, je voudrais faire une page d'attente (Votre compte a bien été validé, vous allez être redirigé vers ...) qui s'affiche pendant quelques secondes, puis la redirection se fait.
J'ai bien pensé aux headers avec Location, mais le problème est qu'il ne faut rien envoyer avant. Comme j'imagine que c'est un problème plus ou moins classique, quelqu'un sait comment on fait?