$_POST est vide à l'arrivée
Bonjour,
ça fait 3 jours que je traîne ce problème, j'ai écumé les forums divers (celui-ci m'a paru le meilleurs!) sans succés ... alors un peu d'aide me fera moin passer pour un c.. face à mon boss :?
Voici le problème, j'ai un formulaire remplis au chargement par une table mysql, les variables sont correctement extraites et affichées, quand je lance l'update (bouton submit, methode post) le submit se fait (rafraichissement de la page de traitement demande à renvoyer postdatas) mais $_POST est desesperement vide ! (pareil si $_GET : rien dans l'url ...)
Voici le code du formulaire :
Code:
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 30 31 32
| <div id="table-td">
<form action="securite/servclt-modifcompte-off.php" method="post" enctype="application/x-www-form-urlencoded" id="modifcompte">
<fieldset>
<legend>Vos informations personnelles :</legend>
<table>
<tr><td>Identifiant : </td><td><input type="hidden" id="idclt" value="<?php echo $ligne[0]; ?>" /><?php echo $ligne[0]; ?></td></tr>
<tr><td>Raison sociale* : </td><td><input type="text" id="raison" size="40" maxlength="40" value="<?php echo $ligne[1]; ?>" /></td></tr>
<tr><td>Adresse* : </td><td><input id="adr" size="40" maxlength="60" value="<?php echo $ligne[2]; ?>" /></td></tr>
<tr><td>Code Postal* : </td><td><input type="text" id="cp" size="40" maxlength="5" value="<?php echo $ligne[3]; ?>"/></td></tr>
<tr><td>Ville* : </td><td><input type="text" id="ville" size="40" maxlength="60" value="<?php echo $ligne[4]; ?>"/></td></tr>
<tr><td>Zone Géographique : </td><td><input type="text" id="geo" size="40" maxlength="10" value="<?php echo $ligne[5]; ?>"/></td></tr>
<tr><td>Tel* : </td><td><input type="text" id="tel" size="40" maxlength="20" value="<?php echo $ligne[6]; ?>"/></td></tr>
<tr><td>Fax : </td><td><input type="text" id="fac" size="40" maxlength="20" value="<?php echo $ligne[7]; ?>"/></td></tr>
<tr><td>Mail* : </td><td><input type="text" id="mail" size="40" maxlength="60" value="<?php echo $ligne[8]; ?>"/></td></tr>
<tr><td>Site Web : </td><td><input type="text" id="web" size="40" maxlength="100" value="<?php echo $ligne[9]; ?>"/></td></tr>
<tr><td>Nom du contact : </td><td><input type="text" id="nomctc" size="40" maxlength="40" value="<?php echo $ligne[10]; ?>"/></td></tr>
<tr><td>Tel du contact : </td><td><input type="text" id="telctc" size="40" maxlength="20" value="<?php echo $ligne[11]; ?>"/></td></tr>
<tr><td>Fax du contact : </td><td><input type="text" id="faxctc" size="40" maxlength="20" value="<?php echo $ligne[12]; ?>"/></td></tr>
<tr><td>Mail du contact : </td><td><input type="text" id="mailctc" size="40" maxlength="60" value="<?php echo $ligne[13]; ?>"/></td></tr>
<tr><td>Numéro SIRET* : </td><td><input type="text" id="siret" size="40" maxlength="14" value="<?php echo $ligne[14]; ?>"/></td></tr>
<tr><td>Numéro APE* : </td><td><input type="text" id="ape" size="40" maxlength="4" value="<?php echo $ligne[15]; ?>"/></td></tr>
<tr><td>SFAC* : </td><td><input type="text" id="sfac" size="40" maxlength="10" value="<?php echo $ligne[16]; ?>"/></td></tr>
<tr><td>Abonné aux de Newsletter * : </td><td><select id="news" size="1"><option value="true" selected>oui</option><option value="false">non</option></select></td></tr>
</fieldset>
<tr>
<td colspan='2'><h5><span id="table_tdbas"><input id='submmoficlt' type="submit" value=" Valider " onclick="document.form.modifcompte.submit()"/> ou <input type="button" value=" Annuler " onclick="window.location='index.php?page=espacemembre'" /> ( * champs obligatoires)</span></h5></td>
</tr>
</table>
</form>
</div>
<!-- fin div table_td --> |
et la page php de traitement (qui d'ailleurs ne me redirige pas, sans avoir d'erreurs dans les logs php, mysql ou même la console javascript ... un mystère 8O) :
Code:
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<?php
session_start();
include "../securite/sessionstarter.php";
require('connex.inc.php');
$idcltsess=$_SESSION['idclt'];
echo "<script language='JavaScript' type='text/javascript'>alert('idclt = $idcltsess')</script>";/*------------------ a virer ---------------------------*/
$idclt=$_POST['idclt'];
echo "<script language='JavaScript' type='text/javascript'>alert('idclt du post = $idclt')</script>";/*------------------ a virer ---------------------------*/
$nbpost=count($_POST);
$raison=$_POST['raison'];
$idclt=$_POST['idclt'];
$adr=$_POST['adr'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$tel=$_POST['tel'];
$mail=$_POST['mail'];
$siret=$_POST['siret'];
$ape=$_POST['ape'];
$sfac=$_POST['sfac'];
echo "$nbpost-$raison-$idclt-$adr-$cp-$ville-$tel-$mail-$siret-$ape-$sfac";/*--------------------------------a virer --------------------*/
if(!empty($_POST['raison']) && !empty($_POST['idclt']) && !empty($_POST['adr'])&& !empty($_POST['cp'])&& !empty($_POST['ville'])&& !empty($_POST['tel'])&& !empty($_POST['mail'])&& !empty($_POST['siret'])&& !empty($_POST['ape'])&& !empty($_POST['sfac']))
{
echo "<script language='JavaScript' type='text/javascript'>alert('dans if !empty')</script>";/*------------------ a virer ---------------------------*/
$raison_soc_clt=mysql_escape_string($_POST['raison']);
$adr_clt=mysql_escape_string($_POST['adr']);
$cp_clt=mysql_escape_string($_POST['cp']);
$ville_clt=mysql_escape_string($_POST['ville']);
$zone_geo_clt=mysql_escape_string($_POST['geo']);
$tel_clt=mysql_escape_string($_POST['tel']);
$fax_clt=mysql_escape_string($_POST['fax']);
$mail_clt=mysql_escape_string($_POST['mail']);
$site_clt=mysql_escape_string($_POST['web']);
$nom_ctc_clt=mysql_escape_string($_POST['nomctc']);
$tel_ctc_clt=mysql_escape_string($_POST['telctc']);
$fax_ctc_clt=mysql_escape_string($_POST['faxctc']);
$mail_ctc_clt=mysql_escape_string($_POST['mailctc']);
$siret_clt=mysql_escape_string($_POST['siret']);
$ape_clt=mysql_escape_string($_POST['ape']);
$sfac_clt=mysql_escape_string($_POST['sfac']);
$news_ok_clt=mysql_escape_string($_POST['news']);
//Requète SQL
echo "<script language='JavaScript' type='text/javascript'>alert('variable ok on construit requete')</script>";/*------------------ a virer ---------------------------*/
$requete="UPDATE client SET raison_soc_clt='".$raison_soc_clt."', adr_clt='".$adr_clt."', cp_clt='".$cp_clt."', ville_clt='".$ville_clt."', zone_geo_clt='".$zone_geo_clt."', tel_clt='".$tel_clt."', fax_clt='".$fax_clt."', mail_clt='".$mail_clt."', site_clt='".$site_clt."', nom_ctc_clt='".$nom_ctc_clt."', tel_ctc_clt='".$tel_ctc_clt."', fax_ctc_clt='".$fax_ctc_clt."', mail_ctc_clt='".$mail_ctc_clt."', siret_clt='".$siret_clt."', ape_clt='".$ape_clt."', sfac_clt='".$sfac_clt."', news_ok_clt='".$news_ok_clt."' WHERE id_clt='".$idclt."'";
echo "<script language='JavaScript' type='text/javascript'>alert('requete ok')</script>";/*------------------ a virer ---------------------------*/
$result=mysql_query($requete,$idcom);
echo "<script language='JavaScript' type='text/javascript'>alert('requete : $requete et id : $idcom')</script>";/*------------------ a virer ---------------------------*/
if(!$result)
{
echo "<h2>Erreur d'insertion dans la base de données \n n°",mysql_errno()," : ",mysql_error()."</h2>";
echo "<script language='JavaScript' type='text/javascript'>window.location='index.php?page=servcltmofidcompte'</script>";
}
else
{
echo "<script language='JavaScript' type='text/javascript'>window.location='index.php?page=servcltmofidcompte'</script>";
}
}
else {"<script language='JavaScript' type='text/javascript'>window.location='index.php?page=servcltmofidcompte'</script>";}
mysql_close();
?> |
Désolé pour la longueur mais je ne vois vraiment pas pourquoi le post arrive vide ... (il reste des echo et alert de debuggage).
Je précise que je n'ai qu'un petit niveau ...
Merci d'avance, je saigne du nez à force de mettre des coups de têtes dans l'ecran :aie:
Effectivement, c'est un reste de mes tests ...
Citation:
Envoyé par torvalds17
salut
pourquoi fais-tu une double validation de ton formulaire ? [...] pas besoin d'en remettre une couche en JS ;)
J'ai lu les references (pas par coeur, c'est mon premier job en création de sites), et sans le submit javascript ça donne la même chose ... le count($_POST) me donne 0 ...
PS: Woaww, super rapide la réponse, merci :D