Bien le bonjour.
Tout d'abord, notez que le problème suivant n'a lieu que sous IE6, peut importe le SP: firefox ne pose pas de pbm...
Ensuite, notez que je travail sur PHP 5.1.4, Apache 2.0.58, le tout intallé sur Windows 2000 server SP4 en intranet.
Voila le souci:
J'ai développé un petit site intranet qui met en place des formulaires GET et POST. Or, si $_GET est toujours remplie par les formulaires, $_POST ne l'est pas toujours.
Exemple de code qui ne fonctionne jamais:
CODE1
Après validation du formulaire, $_POST['op'] est toujours vide (la méthode GET marche toujours par contre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 session_start(); //Inclusion des librairies externes require_once "PEAR.php"; require_once "DB/DataObject.php"; require_once "Structures/DataGrid.php"; if(isset($_POST["op"]) && $_POST["op"]!="") { $op = $_POST["op"]; echo "POST: $op"; } else { $op = "alpha"; echo "OP par défaut: $op"; } echo "<form action=\"ListeProduit.php\" method=\"post\"><input type=\"submit\" size=\"15\" value=\"MAJ\"><input type=\"hidden\" name=\"op\" value=\"majligne\"></form>";
Or, voici un code qui fonctionne toujours:
CODE2
Après validation du formulaire, $_POST est rempli...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if(isset($_POST["op"]) && $_POST["op"]!="") { $op = $_POST["op"]; echo "POST: $op"; } else { $op = "alpha"; echo "OP par défaut: $op"; } echo "<form action=\"test.php\" method=\"post\"><input type=\"hidden\" name=\"op\" value=\"test\"><input type=\"submit\" name=\"ok\"></form>";
Jusque là, vous allez me dire que c'est surement qqchose sur mes pages complètes (CODE1), qu'il faut tout vérifier, etc...
Mais la partie intéressante est celle-ci:
Lorsque, toujours sous IE, je lance un des formulaires POST (CODE1) qui ne fonctionne pas, les formulaires POST (CODE2) qui fonctionnaient auparavant ne fonctionnent plus.
Je ne retrouve le fonctionnement normal de $_POST dans le CODE2 qu'après avoir supprimé les cookies et les fichiers temporaires d'IE.
Alors, des idées brillantes sur les raisons de la chose?
En tout cas, merci.
Partager