J'ai finalement pris le temps de relire mon tutoriel sur les formulaires HTML avec PHP. J'y ai corrigé quelques détails, notamment le type de redirection HTTP à utiliser en réponse à une requête POST : il ne faut pas utiliser un code 204 No content mais plutôt un code de redirection.
En recevant un code 204, le client (le navigateur) n'a aucune raison de suivre les indications du serveur. Il n'y a pas de contenu, voilà tout. Utiliser un code 204 peut sembler correct puisqu'il n'y a effectivement pas de contenu à l'adresse demandée, mais les navigateurs qui suivent la RFC à la lettre ne suivront aucune redirection. Or cela casse tout le site...
En revanche, en utilisant un code de redirection 3xx, le navigateur a plus de chances de suivre la redirection demandée par le serveur. Mais là encore, il ne faut pas utiliser un code 302 comme le fait une partie des développeurs : ce status a changé de signification entre les versions 1.0 et 1.1, et aucune version ne convient pour répondre à une requête POST. Pour faire court, il est préférable d'utiliser ce code :
<?php
header('HTTP/1.1 303 See other');
header('Location: http://...');
Pour les détails, rendez-vous sur le blog de Ben Ramsey : http://benramsey.com/archives/http-status-redirection/
Vous devez être identifié pour poster un commentaire.
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 |
Copyright © 2000-2012 - www.developpez.com


, Yogui <g-rossolini@redaction-developpez.com 




















![Validate my RSS feed [Valid RSS]](/img/valid-rss.png)
![Validate my Atom 1.0 feed [Valid Atom 1.0]](/img/valid-atom.png)