Pour la deuxième question, en-tête() fonctionnera si vous l'utilisez avant de générer des informations sur la page. Cependant, si vous écrivez, imprimez ou avez du code HTML avant cela, cela donnera une erreur.
Modifier: En réponse au commentaire de Toad, alors vous auriez à faire comme Aaron Harun a suggéré. Avoir la page enregistrer les données $ _POST à la base de données ou un fichier (assurez-vous de l'aseptiser!), Tout comme vous le feriez avec les données $ _POST. Vous devrez ensuite utiliser AJAX pour obtenir une réponse d'une deuxième page PHP qui vérifie simplement l'existence de données mises à jour depuis l'endroit où vous l'avez sauvegardé. Si la réponse revient vraie, vous redirigez à l'aide d'une redirection JavaScript. La seule autre façon de le faire sans utiliser AJAX serait de rafraîchir la page en utilisant un élément HTML meta refresh à intervalles réguliers pour vérifier si les données $ _POST ont été reçues. HTML effectuerait l'actualisation, PHP ferait la vérification, et vous pourriez utiliser soit pour la redirection.
Que ferais-je un ping? Je ne peux pas prédire quand le poste externe vient. – Rebecca
Le fichier PHP lui-même. Vous devez stocker le ping externe dans un fichier temporaire ou une base de données jusqu'à ce que le client puisse le récupérer. –