redirection en dehors de l'entete head

Eléphanteau du PHP | 21 Messages

29 avr. 2015, 18:07

Bonjour,

J'utilise ce code de redirection dans ma page de traitement de formulaire process.php

Code : Tout sélectionner

echo '<meta http-equiv="refresh" content="0; URL='.$_SESSION["urlTable"].'">';
Il fonctionne très bien jusqu'à ce que je me rende compte qu'il ne marche pas dans Firefox.

En consultant la doc., j'ai lu que la balise META refresh doit être impérativement entre les balises head
Dois-je continuer à l'utiliser dans ma page de traitement, en dehors de head (Est-ce dans la norme) ?

Dois alors utiliser une redirection via javascript - tout en sachant que javascript peut etre désactivé par le client ?

Code : Tout sélectionner

function redirection(page) { window.location=page;} setTimeout('redirection("http://www.commentcamarche.net/")',5000); }
PS :la redirection en javascript fonctionne sur Firefox !

Quelle méthode choisir ? J'ai besoin de votre expertise, merci !!! :roll:

Mammouth du PHP | 688 Messages

29 avr. 2015, 18:45

qu'est ce qui t'emepche de mettre le meta dans le head ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

29 avr. 2015, 18:47

Bonjour,

Si c'est une balise <meta>, elle doit forcément être dans le <head> de ta page.
Si pour une raison ou une autre tu ne peux pas la mettre dans le <head> alors utilise du javascript et ajoute un petit texte avec un lien qui pointe vers la page souhaitée (pour ceux qui auraient le javascript désactivé).

C'est d'ailleurs pour cette raison que l'on voit sur pas mal de sites un petit texte "Si vous n'êtes pas redirigé automatiquement, cliquez-ici", justement pour ceux qui n'ont pas le javascript activé :)
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 881 Messages

29 avr. 2015, 18:49

La commande javascript window.location.href=page; suffit habituellement
ou
document.location.href = "MonAdresse.htm";
Soyez artisans de paix

Eléphanteau du PHP | 21 Messages

29 avr. 2015, 20:39

qu'est ce qui t'emepche de mettre le meta dans le head ?
je fais la redirection dans la page de traitement du formulaire => process.php. Cette page récupère les valeurs passes dans le form et les insere dans la BDD, puis si tout est OK, l'internaute est automatiquement redirigé vers une autre page.

Eléphanteau du PHP | 21 Messages

29 avr. 2015, 20:45

Je vais opter pour le javascript avec un lien qui pointe vers la page souhaitée pour ceux qui ont le js désactivé.
Merci !!