problème pas original sur les espace (casse)

Eléphanteau du PHP | 35 Messages

03 juil. 2008, 13:44

bonjour à tous

Désolé je viens vous casser les pieds mais j'ai pas vraiment trouvé ce que je voulais

sur une page je récupère des informations d'une base, et je propose à l'user de changer ces infos, de les mettre à jour quoi. Et bien pour des valeurs du genre "ciel de lune", dans ma table ça va mettre à jour "ciel" alors que quand l'user à créé pour la première fois la valeur sur une autre page ça avait bien inscrit "ciel de lune" et pourtant je ne vois pas l'erreur.

formulaire pour mettre à jour :
<tr><td><div align="right"><font size=5>Nom de l'émission:</font></div></td><td><select name='nomE'>
                                           <?php
                                                echo "<option value=$nome>$nome"; ?>
                                                	<?php
                                                $connexion=mysql_Pconnect("localhost","duplex","duplex1234");
                                                if (!mysql_select_db("duplex",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from emission ORDER BY nom_emission  ");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                   $r = $ligne["nom_emission"];
                                                   echo "<option value=\"$r\" >";
                                                   echo "$r";
                                                   echo'</option>';
                                                 }?>
Page de validation (envoi du formulaire) :
$numaf=$_POST["num-aff"];
$dated=$_POST["date1"];
$dated=mysql_real_escape_string($dated);
$datec=$_POST["date2"];
$datec=mysql_real_escape_string($datec);
$t_inv1=$_POST["t_inv1"];
$t_inv1=mysql_real_escape_string($t_inv1);
$t_inv2=$_POST["t_inv2"];
$t_inv2=mysql_real_escape_string($t_inv2);
$heured=$_POST["heured"];
$heured=mysql_real_escape_string($heured);
$heuref=$_POST["heuref"];
$heuref=mysql_real_escape_string($heuref);
$nomE=$_POST["nomE"];
$nomE=mysql_real_escape_string($nomE);
$typeE=$_POST["typeE"];
$typeE=mysql_real_escape_string($typeE);
$emetteur=$_POST["emetteur"];
$emetteur=mysql_real_escape_string($emetteur);
$recepteur=$_POST["recepteur"];
$recepteur=mysql_real_escape_string($recepteur);
$stdE=$_POST["stdE"];
$stdE=mysql_real_escape_string($stdE);
$stdR=$_POST["stdR"];
$stdR=mysql_real_escape_string($stdR);
$qualite=$_POST["qualite"];
$qualite=mysql_real_escape_string($qualite);
$inv1=$_POST["inv1"];
$inv1=mysql_real_escape_string($inv1);
$inv2=$_POST["inv2"];
$inv2=mysql_real_escape_string($inv2);
$N_com=$_POST["N_com"];
$N_com=mysql_real_escape_string($N_com);
$tel_com=$_POST["tel_com"];
$tel_com=mysql_real_escape_string($tel_com);
$obs=$_POST["obs"];
$obs=mysql_real_escape_string($obs);
$etat=$_POST["etat"];
$etat=mysql_real_escape_string($etat);
$id=$_POST["id"];
$id2=$_POST["id2"];
$id3=$_POST["id3"];

$l1=$_POST["l1"];
$l2=$_POST["l2"];
$l2=mysql_real_escape_string($l2);
$l3=$_POST["l3"];
$l3=mysql_real_escape_string($l3);
$l4=$_POST["l4"];
$l4=mysql_real_escape_string($l4);
$l5=$_POST["l5"];
$l5=mysql_real_escape_string($l5);
$l6=$_POST["l6"];
$l6=mysql_real_escape_string($l6);
$l7=$_POST["l7"];
$l7=mysql_real_escape_string($l7);
$l8=$_POST["l8"];
$l8=mysql_real_escape_string($l8);
$l9=$_POST["l9"];
$l9=mysql_real_escape_string($l9);
$l10=$_POST["l10"];
$l10=mysql_real_escape_string($l10);
$l11=$_POST["l11"];
$l11=mysql_real_escape_string($l11);
$l12=$_POST["l12"];
$l12=mysql_real_escape_string($l12);
$l13=$_POST["l13"];
$l13=mysql_real_escape_string($l13);
$l14=$_POST["l14"];
$l14=mysql_real_escape_string($l14);
$l15=$_POST["l15"];
$l15=mysql_real_escape_string($l15);
$l16=$_POST["l16"];
$l16=mysql_real_escape_string($l16);
$l17=$_POST["l17"];
$l17=mysql_real_escape_string($l17);
$l18=$_POST["l18"];
$l18=mysql_real_escape_string($l18);
$l19=$_POST["l19"];
$l19=mysql_real_escape_string($l19);
$l20=$_POST["l20"];
$l20=mysql_real_escape_string($l20);
$l21=$_POST["l30"];
$l21=mysql_real_escape_string($l21);


$resultat="UPDATE duplex SET etat='$etat',type_emission='$typeE',observations='$obs',numero_studioR='$stdR',recepteur='$recepteur',numero_studioE='$stdE',
nom_commanditaire='$N_com',tel_inv1='$t_inv1',nom_invite2='$inv2',tel_inv2='$t_inv2',qualite='$qualite',emetteur='$emetteur',numero_affaire='$numaf',nom_emission='$nomE',
nom_invite1='$inv1',date_creation='$datec',date_duplex='$dated',heure_debut='$heured',heure_fin='$heuref' WHERE  id=$id" or die ('requête invalide:'.mysql_error());
$titi=mysql_query($resultat);

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

03 juil. 2008, 15:34

Corrige d'abord ici en entourant $nome par des " dans la clause value et en ajoutant </option>:
<?php
                                                echo "<option value=\"$nome\">$nome</option>"; ?>
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 35 Messages

03 juil. 2008, 15:52

je pense que ça a du améliorer certaines choses...

Malheureusement je ne vois toujours que "ciel" au lieu de "ciel de lune" dans la valeur modifiée. Ce qui me parait étrange c'est que quand je vais pour modifier cette valeur, au lieu de choisir ciel de lune, je vois écris ciel\de\lune. Et après je valide et ça m'affiche"ciel", peut etre ça l'erreur...?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

03 juil. 2008, 16:21

C'est quoi le champ que tu modifies ? et n'oublies pas de nous donner aussi le code source de ton formulaire.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 juil. 2008, 13:40

Afficher et regarde également la requête générée avant de l'envoi à ta base de données, tu verras bien si le mot est complet ou pas, et s'il n'y a rien qui cloche.. Si ca cloche, vérifies les valeurs que tu récupères du formulaire en les affichant. Si elles ne sont pas bonnes non plus, regarde du côté du source du formulaire comme suggéré par sadeq et vérifie que la valeur envoyé est bonne au départ, etc.

En remontant ainsi étape par étape tu arriveras à la source du problème et tu pourras aisément le corriger :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...