De l'utilisation de la fonction header()

VaN
Mammouth du PHP | 1107 Messages

08 nov. 2006, 00:34

Bonsoir,

je viens de lire sur le site que la redirection JS n'est pas conseillée du tout, et qu'il faut lui préférer la redirection PHP par header().

Or, ce script doit se mettre tout en haut de page, et donc ne permet pas d'afficher du texte avant la redirection.

C'est là où est mon problème. Je souhaite rediriger mes utilisateurs, une fois qu'ils se sont correctement authentifiés, vers la page d'accueil. Avant la redirection, j'aimerai afficher un message comme quoi ils sont correctement authentifiés, et qu'ils vont être redirigés dans quelques secondes. Comment allier mon envie avec l'utilisation de la fonction header() ?

néo
Invité n'ayant pas de compte PHPfrance

08 nov. 2006, 02:48

Pourquoi pas une redirection par meta ?

Avec un header je vois pas comment ce serait possible.

ViPHP
ViPHP | 1961 Messages

08 nov. 2006, 03:50

Bonsoir,

Et quelles sont les raisons invoquées pour déconseiller la redirection JS.

As-tu un lien, QQ chose ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

VaN
Mammouth du PHP | 1107 Messages

08 nov. 2006, 04:25

entre autre un article sur PHPfrance HIMSELF : http://www.phpfrance.com/tutoriaux/inde ... -rediriger

Plus un autre article sur un autre site web dont je ne retrouve pas l'url, mais ou il etait dit explicitement que les redirections JS etaient à jeter à la poubelle, car elles causaient un problème de navigation, lorsque l'utilsateur revenait en arrière (j'ai pas tout saisi à 100%), mais l'article faisait réellement passer les utilisateurs de redirections JS pour des gros noobs qui n'arrivaient pas à utiliser les redirections par header() et donc se rabattaient sur cette solution.

Concernant les redirections par meta, il parait que c'est encore pire (cf ce meme site).

La redirection par header() semble vraiment etre le must-have en matière de redirection, c'est pourquoi je voulais tenter de m'y mettre : /

Mammouth du PHP | 601 Messages

08 nov. 2006, 04:45

Ce n'est pas très clair sans code, mais l'authentification n'imprime rien donc ton header tu devrai pouvoir le placer en dessous.
Et donc tu veux faire un setTimeout en javascript, tu peux le faire àprès la redirection...
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

ViPHP
ViPHP | 1961 Messages

08 nov. 2006, 04:46

Re,

Pour avoir l'avis des experts, une redirection JS de cette manière

Code : Tout sélectionner

window.location.replace('../Navigator.html');
comporte les mêmes inconvenients que celle citée dans la FAQ?
EDIT:
Ma question fait suite à une question PHP et c'est instinctivement que je l'ai posée ici, mais je ne sais pas si on peux la considérer dans le bon forum ?
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Mammouth du PHP | 601 Messages

08 nov. 2006, 06:48

je crois que dans la faq il parle d'une redirection pour une redirection, sans préciser de contexte. On peux très bien mélanger les deux.
Et la déontologie (on va appelé sa comme ça) précise que côté client et côté seveur, il faut choisir le serveur.
Je ne crois pas que sa aille plus loin.
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"