Traitement des variables POST par Internet Explorer
Posté : 10 sept. 2008, 15:16
Bonjour,
Je suis en train de réaliser un backoffice en PHP, dans lequel je manipule des formulaires avec plusieurs boutons. Par exemple
Tout allait pour le mieux dans le meilleur des mondes jusqu'à ce que je teste mon interface sous IE6. Là où sous Firefox / Opera / Safari je me retrouve avec la valeur du bouton pressé dans les variables POST (si je presse le bouton 2, j'ai uniquement $_POST['bouton2'] de réglé), sous IE6 je me retrouve avec tous les boutons de réglés en POST !
Et comme je cherche à déterminer quel bouton a été pressé pour effectuer l'action adéquate, rien ne marche.
J'ai essayé d'utiliser des boutons sans le type "submit" mais le formulaire n'est pas validé (pas de POST) si je presse dessus.
Est-ce qu'il y a un moyen de contourner ce problème ou, dans une moindre mesure, une façon particulière de gérer les formulaires multi-boutons pour qu'ils fonctionnent avec tous les navigateurs ?
Note : sous IE7, ça ne marche pas beaucoup mieux : les variables POST sont bien réglées mais, pour une raison que je n'ai pas encore eu le temps de creuser, le code ne semble pas traité.
EDIT : manifestement, je ne suis pas le seul à avoir rencontré ce problème, qui vient apparemment du fait qu'Internet Explorer se contrefout des standards établis (comme d'habitude...).
Je vais voir comment je peux contourner ça avec des <input> à la place des <button>.
Je suis en train de réaliser un backoffice en PHP, dans lequel je manipule des formulaires avec plusieurs boutons. Par exemple
Code : Tout sélectionner
<form action="truc.php" method="POST">
<button type="submit" name="bouton1" value="1">Envoyer</button>
<button type="submit" name="bouton2" value="2">Envoyer 2</button>
<button type="submit" name="bouton3" value="3">Envoyer 3</button>
</form>Et comme je cherche à déterminer quel bouton a été pressé pour effectuer l'action adéquate, rien ne marche.
J'ai essayé d'utiliser des boutons sans le type "submit" mais le formulaire n'est pas validé (pas de POST) si je presse dessus.
Est-ce qu'il y a un moyen de contourner ce problème ou, dans une moindre mesure, une façon particulière de gérer les formulaires multi-boutons pour qu'ils fonctionnent avec tous les navigateurs ?
Note : sous IE7, ça ne marche pas beaucoup mieux : les variables POST sont bien réglées mais, pour une raison que je n'ai pas encore eu le temps de creuser, le code ne semble pas traité.
EDIT : manifestement, je ne suis pas le seul à avoir rencontré ce problème, qui vient apparemment du fait qu'Internet Explorer se contrefout des standards établis (comme d'habitude...).
Je vais voir comment je peux contourner ça avec des <input> à la place des <button>.