Variable $POST qui disparait par magie (PHP)

Résolu/Fermé
lj - 5 mai 2008 à 17:25
 ty - 12 août 2008 à 16:37
Bonjour,
bon je pense que le titre de mon message est assez explicite, non ???
Ceci est de la programmation PHP5.
Voila j'ai un formulaire tout simple avec un select qui récupère des données dans une base de donnée. Sur ce select j'ai mis un simple evenement onChange pour que dès que je sélectionne une nouvelle valeur sa le détecte et me fasse le submit (via JS). Et donc la page doit se recharcher suite à la validation de cette page, donc je doit avoir une variable $_POST (c'est un formulaire en post) quand la page est rechargée.
Mais voila que c'est magique. Lorsque j'ouvre pour la première fois avec IE, cette variable POST n'existe pas, donc mon code qui utilise cette variable ne marche pas. Second, sur mozilla sa marche niquel. Sur IE il faut que j'actualise ou que je change de page php (et je dis bien changer de page php, de fichier .php et ne pas rester sur le même script php). Une fois cette dernière manipulation faite je peux revenir avant et tout remarche. c'est magique. Quelqu'un aurait une idée svp ???
Je mais le bout de mon code qui fait le formulaire (et comme j'ai dis les données vienne d'un table oracle):

<form method="POST" action="">
<strong>Choix du code client</strong>
<select name="codecli" id="codecli" onChange="this.form.submit();">
<?php
while($row_code=oci_fetch_array ($stid))
{
echo '<option value="'.$row_code['CODE'].'" ';
if($row_code['CODE']==$_SESSION['numcli'])
echo 'SELECTED ';
echo '>'.$row_code['CODE].'</option>';
}

?>
</select>
</form>

et ensuite j'utilise la variable post comme cela (que j'utilise isset ou !empty, c'est la même chose) :
if(isset($_POST['codecli']))
$_SESSION['numcli']=$_POST['codecli'];

SVP aidez moi, là je ne sais pas que faire.
@+

5 réponses

a ben non ce n'est pas si résolu que sa. J'ai trouvé une erreur j'ai un formulaire et j'ai une variable qui se fait la malle.
<form action="/?dossier=detail&num_dossier=5&type_dossier=sai" name="note" method="POST">
et quand je regarde $_GET['num_dossier'] il est vide. Je préviens avant sa marchait.
Suite à la validation j'ai $_SERVER["REQUEST_URI"] qui est égal à /?dossier=detail&num_dossier=&type_dossier=sai (il manque un truc après le = de &num_dossier je crois ???)
Svp répondez moi, une petite idée serait la bien venue merci.
1
Lol!!
1
Bon j'ai résolu mon problème, même si je ne sais pas d'ou est-ce que sa vient. Quand je faisai le submit avec la méthod POST, j'avais des paramètres x et y apparu (j'ai apperçu cela en passant en method get). Donc je suis passé en method get et j'ai fais une petite bidouille à moi. J'ai récupéré la bonne variable $_GET j'ai reformé le lien (enlevé les variables qui ne fallait pas) pour faire l'illusion de la method POST. Et puis voila sa marche na.
@+
0
et je ne comprends pas non plus pourquoi par magie j'ai des variables x et y dans ma requete http (dans mon url).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
non dsl je suis con j'ai trouvé mon erreur tout seul comme un grand. Quel bouffon je fais ;)
@+
0