Page 1 sur 1

De l'utilisation de la fonction header()

Posté : 08 nov. 2006, 00:34
par VaN
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() ?

Posté : 08 nov. 2006, 02:48
par néo
Pourquoi pas une redirection par meta ?

Avec un header je vois pas comment ce serait possible.

Posté : 08 nov. 2006, 03:50
par Ajoloca
Bonsoir,

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

As-tu un lien, QQ chose ?

Posté : 08 nov. 2006, 04:25
par VaN
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 : /

Posté : 08 nov. 2006, 04:45
par artotal
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...

Posté : 08 nov. 2006, 04:46
par Ajoloca
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 ?

Posté : 08 nov. 2006, 06:48
par artotal
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.