Rediriger en évitant l’erreur « headers already sent »

Notez que cet article a été écrit pour la première fois il y a plus de 3 ans, mais n'est pas nécessairement obsolète.

header already sent - php
header already sent – php

Si les entêtes ont déjà été écrites, ce qui peut arriver si l’on a un grand nombre d’include, php plante lors d’une redirection avec header(). Pour éviter d’avoir cette erreur, on vérifie que les entêtes n’ont pas déjà été envoyées. Si cela se produit, on redirige alors le visiteur avec javaScript:

headers_sent() vérifie si les entêtes ont déjà été envoyées. Si cela est vrai, on redirige avec le script javaScript qui remplace l’objet location. setTimeout permet un délai avant la redirection, ici 5000 ms.

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.