Maison  >  Article  >  développement back-end  >  Comment implémenter la redirection PHP avec des paramètres POST préservés sans JavaScript ?

Comment implémenter la redirection PHP avec des paramètres POST préservés sans JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 21:18:30240parcourir

How to Implement PHP Redirection with Preserved POST Parameters Without JavaScript?

Redirection PHP avec paramètres de publication

Lors de la redirection d'un utilisateur vers une autre page Web tout en préservant les paramètres POST, la méthode traditionnelle basée sur JavaScript via un fichier caché Les scripts form et submit() peuvent rencontrer des problèmes avec JavaScript désactivé. Pour résoudre ce problème, PHP propose une approche alternative qui vous permet de transférer les paramètres POST directement via la redirection d'en-tête PHP.

PHP offre la possibilité de définir un code d'état HTTP avant l'emplacement de redirection. En spécifiant le code d'état 307 (Redirection temporaire), les navigateurs sont invités à traiter la redirection comme une requête POST. Cela contraste avec le code d'état par défaut 302 (Trouvé), qui est généralement utilisé pour les requêtes GET.

Pour implémenter cette technique en PHP, vous pouvez utiliser le code suivant :

<code class="php">    header('HTTP/1.1 307 Temporary Redirect');
    header('Location: anotherpage.php');</code>

Il est important de noter que, selon la spécification HTTP, les navigateurs doivent inviter l'utilisateur à confirmer s'il souhaite soumettre à nouveau les informations POST à ​​la nouvelle URL. Cependant, dans la pratique, les navigateurs comme Chrome et Safari peuvent ne pas afficher l'invite, tandis que Firefox présentera une boîte de confirmation. En fonction des exigences spécifiques de votre application, ce comportement potentiel doit être pris en compte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn