Problème d'apostrophe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème d'apostrophe

par Aureusms » 26 avr. 2008, 09:57

Ce formulaire prend le nom de l'émission et recherche dans la table EMISSION à quelle radio appartient cette émission, mais il ne trouve pas l'émission car dans la table EMISSION, les émissions sont rentrées sans slash, je suppose...
As tu vérifié au moins ?

Essaye pour vérifier :

$resultat2= mysql_query("SELECT nom_emission FROM emission") or die ('requête invalide:'.mysql_error());
while ($resultat_text = mysql_fecth_row($resultat2))
{
echo $resultat_text[0].'</br>';
}

par rastignac » 23 avr. 2008, 11:51

Alors voici le code qui récupère les données enregistrées de la table DUPLEX (c'est une opération de radio) :
<html>
<body  bgcolor=#e8eae8>
<?php
$id=$_GET['id'];
$connexion=mysql_Pconnect("localhost","duplex","duplex1234");
if (!mysql_select_db("duplex",$connexion)) {
exit; }

$resultat1= mysql_query("SELECT * FROM duplex WHERE  id=$id");
$sql=mysql_fetch_array($resultat1);
$nom_com=$sql["nom_commanditaire"];
$nom_com=mysql_real_escape_string($nom_com);
$nom_em=$sql["nom_emission"];
$nom_em=mysql_real_escape_string($nom_em);
$resultat2= mysql_query("SELECT * FROM emission WHERE  nom_emission='stripslashes($nom_em)'") or die ('requête invalide:'.mysql_error());
$resultat3= mysql_query("SELECT * FROM commanditaires WHERE  nom_commanditaire='$nom_com'")or die ('requête invalide:'.mysql_error());
$sql2=mysql_fetch_array($resultat2);
$sql3=mysql_fetch_array($resultat3);
echo $nom_em;
?>



<center><tr><img src=logos/fip.gif align=center><img src=logos/inter.gif align=center> <img src=logos/info.gif align=center> <img src=logos/mrf.jpg align=center>
        <img src=logos/culture.gif align=center><img src=logos/mouv.gif align=center><img src=logos/musique.gif align=center>  <img src=logos/bleu.gif align=center></tr></center>

<center><table><br /><tr bgcolor=#FFCC99><td width=900> <div align=center><font size=5> Visualisation du duplex</font></div></td></tr></table>
<center><table>
<tr><td><div align=left><font size=5><b><i>N° d'affaire :</i></b></font></div></td><td><font size=5><?php echo $sql["numero_affaire"];?></font></td><td><div align=left><font size=5><b><i>Nom de l'émission :</i></b></font></div></td><td><font size=5><?php echo stripslashes($sql["nom_emission"]) ;?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Date de création :</i></b></font></div></td><td><font size=5><?php echo $sql["date_creation"];?></font> </td><td><div align=left><font size=5><b><i>Date du duplex :</i></b></font></div></td><td><font size=5><?php echo $sql["date_duplex"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Heure de début :</i></b></font></div></td><td><font size=5><?php echo $sql["heure_debut"];?></font></td><td><div align=left><font size=5><b><i>Heure de fin :</i></b></font></div></td><td><font size=5><?php echo $sql["heure_fin"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Type de l'émission :</i></b></font></div></td><td><font size=5><?php echo $sql["type_emission"];?></font></td><td><div align=left><font size=5><b><i>Chaîne :</i></b></font></div></td><td><font size=5><?php echo $sql2["nom_radio"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Commanditaire :</i></b></font></div></td><td><font size=5><?php echo $sql3["nom_commanditaire"];?></font></td><td><div align=left><font size=5><b><i>Tel commanditaire :</i></b></font></div></td><td><font size=5><?php echo $sql3["telephonne_commanditaire"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Invité 1 :</i></b></font></div></td><td><font size=5><?php echo $sql["nom_invite1"];?></font></td><td><div align=left><font size=5><b><i>Telephonne invité  :</i></b></font></div></td><td><font size=5><?php echo $sql["tel_inv1"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Invité 2:</i></b></font></div></td><td><font size=5><?php echo $sql["nom_invite2"];?></font></td><td><div align=right><font size=5><b><i>Telephonne invité :</i></b></font></div></td><td><font size=5><?php echo $sql["tel_inv2"];?></font></td></tr>
<tr><td><div align=left><font size=5><b><i>Qualité :</i></b></font></div></td><td><font size=5><?php echo $sql["qualite"];?></font></td><td></td> </tr>

<table><tr><td width=900 bgcolor=#FFCC99><div align=center><font size=5> Emetteur</font></div></td></tr> </table>

<center><table><tr><td><font size=5><b><i>Studio emetteur :</i></b></font></td><td><font size=5><?php echo $sql["numero_studioE"];?></font></td> </tr>
<tr><td><font size=5><b><i>Emetteur :</i></b></font></td><td><font size=5><?php echo $sql["emetteur"];?></font></td> </tr></center></table>

<table><tr><td width=900 bgcolor=#FFCC99><div align=center><font size=5> Recepteur</font></div></td></tr></table>

<center><table><tr><td><font size=5><i><b>Studio recepteur :</i></b></font></td><td><font size=5><?php echo $sql["numero_studioR"];?></font></td> </tr>
<tr><td><font size=5><b><i>Recepteur :</i></b></font></td><td><font size=5><?php echo $sql["recepteur"];?></font></td> </tr>
</center></table>
<center><table><tr width=1000><td width=200><div align="right"><br /><font size=5><b><i>Observations :</i></b></font></div></td><td width=600><br /><font size=5><?php echo $sql["observations"];?></font></td></tr></center></table>

<center><table>
<br /><tr><td bgcolor=#FFCC99>

<?php
echo " <a href=\"rduplex4.php?id=$id\"><font size=4>Modifier</font></a>";
echo "\n";
?>

<br>
</br>

<?php echo " <a href=\"essaipdf4.php?id=$id\"><font size=4>Afficher PDF</font></a>";?>


</td>
</tr>
</table></center>
</body>
<center><br /><a href="coordinateur.php"><font size=4>Revenir à la page d'accueil des coordinateurs</font></a></center>
</html>
Ce formulaire prend le nom de l'émission et recherche dans la table EMISSION à quelle radio appartient cette émission, mais il ne trouve pas l'émission car dans la table EMISSION, les émissions sont rentrées sans slash, je suppose...

par yaug » 23 avr. 2008, 11:45

tu aurais un bout de code à montrer que je puisse t'aider?

par rastignac » 23 avr. 2008, 11:41

Encore merci, pour l'affichage, ça marche aucun problème, parcontre il reste une mini-erreur, j'explique :


le nom de l'émission "L'humeur du jour" est associée à un nom de radio.
Dans la base de donnée des émission, l'émission a été enregistrée comme telle : " L'humeur du jour", après je manipuler les apostrophes pour faire ce que je veux.
Mais dans un formulaire de recherche d'enregistrement d'un évènement, l'utilsateur choisis dans un menu déroulant le nom de l'émission (donc affiché par la base de données, donc sans les slash) et le nom de la radio doit se générer automatiquement.
Mais quand l'émission porte un " ' " dans la base de données, ça ne marche pas...

Vous avez une idée?

Encore merci !

par yaug » 23 avr. 2008, 11:24

pour ensuite supprimer le '\' en trop, utilise stripslashes();

donc :
- Pour l'enregistrement : addslashes()
- Pour l'affichage : stripslashes()

Voila.

par rastignac » 23 avr. 2008, 11:21

Alors, avec cette fonction j'ai effectivement vu que dans ma base phphpyadmin, il y avait à la place de par exemple " l'humeur du jour " il y avait " l\'humeur du jour".

Parcontre un problème subsiste, quand j'affiche la variable envoyée à la base de données, ça m'affiche " L\\\'humeur du jour" mais ce n'est à priori pas un problème vu que dans la base il y a bien marqué " l\'humeur du jour".


Parcontre, quand je veux afficher cette variable ensuite récupérée de la table, ça m'affiche " L\'humeur du jour" avec le slash, qui ne m'intéresse pas...comment faire?

par yaug » 23 avr. 2008, 10:59

la fonction addslashes() devrait pouvoir solutionner ton problème.
Tu enregistreras du coup " L\'humeur vagabonde"

Problème d'apostrophe

par rastignac » 23 avr. 2008, 10:55

Bonjour à tous,
j'ai un petit problème qui, j'en suis sûr, ne vous prendra qu'une minute alors que pour moi c'est le flou.

Voilà j'ai une page en php qui doit récupérer les valeurs d'un champ dans une table pour pouvoir afficher des informations concernant ce champ.
Dans cette table, il y a des données qui sont écrites avec des " ' " du genre " L'humeur vagabonde".
Alors quand je veux récupérer ces données, il me dit une erreur du genre :

requête invalide:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'humeur vagabonde'' at line 1

Tout simplement parce qu'évidemment il ne récupère la variable qu'après l'apostrophe et donc ne retrouve pas le champ, c'est normal. Mais je ne sais pas comment rectifier ce problème

Une idée?

Voici le code qui récupère l'information

<?php
$id=$_GET['id'];
$connexion=mysql_Pconnect("127.0.0.1","root","");
if (!mysql_select_db("radiofrance",$connexion)) {
exit; }
$resultat1= mysql_query("SELECT * FROM duplex WHERE  id=$id");
$sql=mysql_fetch_array($resultat1);
$nom_com=$sql["nom_commanditaire"];
$nom_em=$sql["nom_emission"];
$resultat2= mysql_query("SELECT * FROM emission WHERE  nom_emission='$nom_em'") or die ('requête invalide:'.mysql_error());
$resultat3= mysql_query("SELECT * FROM commanditaires WHERE  nom_commanditaire='$nom_com'");
$sql2=mysql_fetch_array($resultat2);
$sql3=mysql_fetch_array($resultat3);
$date=date("d/m/Y");
$heure=date("H:i");
$x=$sql["id"];
$n1= $sql["nom_invite1"];
$n2= $sql["nom_invite2"];
$t1=$sql["tel_inv1"];
$t2=$sql["tel_inv2"];
$qualite=$sql["qualite"];
$numaf=$sql["numero_affaire"];
$date1=$sql["date_duplex"];
$date2=$sql["date_creation"];
$nome=$sql["nom_emission"];
$typee= $sql["type_emission"];
$heured= $sql["heure_debut"];
$heuref=$sql["heure_fin"];
$recepteur=$sql["recepteur"];
$emetteur=$sql["emetteur"];
$stde=$sql["numero_studioE"];
$stdr=$sql["numero_studioR"];
$etat=$sql["etat"];
$tcom=$sql3["telephonne_commanditaire"];
$ncom=$sql["nom_commanditaire"];
$obs=$sql["observations"];

?>
<html>
<body  bgcolor=#e8eae8>
<center><font size=7><b>Duplex</b></br></font>
<form name="rduplex4" method="POST" action="rduplex5.php">
<table border='0'><center><tr bgcolor=#FFCC99><td width='1000' div align='center'><font size=5><b><i>Modification du duplex</i></b></font></td></tr></center></table>
<table border="0">
<table border="0">
 <?php
echo "<input type=\"hidden\" name=\"l1\" value=\"$ncom\">
<input type=\"hidden\" name=\"l2\" value=\"$tcom\">
<input type=\"hidden\" name=\"l3\" value=\"$etat\">
<input type=\"hidden\" name=\"l4\" value=\"$stde\">
<input type=\"hidden\" name=\"l5\" value=\"$stdr\">
<input type=\"hidden\" name=\"l6\" value=\"$emetteur\">
<input type=\"hidden\" name=\"l7\" value=\"$recepteur\">
<input type=\"hidden\" name=\"l8\" value=\"$heuref\">
<input type=\"hidden\" name=\"l9\" value=\"$heured\">
<input type=\"hidden\" name=\"l10\" value=\"$typee\">
<input type=\"hidden\" name=\"l11\" value=\"$nome\">
<input type=\"hidden\" name=\"l12\" value=\"$date2\">
<input type=\"hidden\" name=\"l13\" value=\"$date1\">
<input type=\"hidden\" name=\"l14\" value=\"$n1\">
<input type=\"hidden\" name=\"l15\" value=\"$n2\">
<input type=\"hidden\" name=\"l16\" value=\"$t1\">
<input type=\"hidden\" name=\"l17\" value=\"$t2\">
<input type=\"hidden\" name=\"l18\" value=\"$qualite\">
<input type=\"hidden\" name=\"l19\" value=\"$numaf\">
<input type=\"hidden\" name=\"l20\" value=\"$obs\">
<input type=\"hidden\" name=\"l30\" value=\"$x\">";

      ?>

<tr><br />
<td colspan="20">
<div align="center"><font size=5>Numéro d'affaire :<br /><br /></font></td><td><input type='text' name='num-aff' value="<?php echo $numaf;?>"><br /><br /></td></tr>
<tr><td><div align="right"><font size=5>date </font><i>(JJ/MM/AAAA)</i> :</div></td><td><input name='date1' type='text' value="<?php echo $date1;?>"></td><td><div align="right"><font size=5>date de création</font> <i>(JJ/MM/AAAA)</i>:</div></td><td><input name="date2" type="text"value="<?php echo $date2; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Heure Début</font> <i>(00:00:00)</i> :</div></td><td><input name="heured" type="text" value="<?php echo $heured; ?>"></td><td><div align="right"><font size=5>Heure Fin</font> <i>(00:00:00)</i>:</div></td><td><input name='heuref' type='text' value="<?php echo $heuref; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Nom de l'émission :</font></div></td><td><input name='nomE' type='text' value="<?php echo $nome; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Le type de l'émission est :</font></td><td><font size=5><b><i><?php echo $typee;?></i></b></font></div></td><td><div align="right"><font size=5>Modifier le type :</font></div></td><td><input type='radio' name='typeE' value="Direct" checked="checked" />Direct<br></br>
					<input type="radio" name="typeE" value="<?php echo $typee; ?>" />Enregistré</td></tr>

<tr><td><div align="right"><font size=5>Emetteur (chaine):</font></div></td><td><select name='emetteur'>
						<?php
                                                echo "<option value=$emetteur>$emetteur"; ?>
                                                	<?php
                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from radios ");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                   $r = $ligne["nom_radio"];
                                                   echo "<option value=\"$r\" >";
                                                   echo $r;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td><td><div align="right"><font size=5>Recepteur(chaine) :</font></div></td><td><select name='recepteur'>
						<?php
						echo "<option value=$recepteur>$recepteur"; ?>
     	                                        	<?php
                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from radios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                   $r = $ligne["nom_radio"];
                                                   echo "<option value=\"$r\" >";
                                                   echo $r;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td></tr>
<tr><td><div align="right"><font size=5>Numero studio E :</font></div></td><td><select name='stdE' value="<?php echo $stde;?>">
					<?php

                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from studios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                       $v = $ligne["numero_studio"];
                                                   echo "<option value= \"$v\" >";
                                                   echo $v;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td><td><div align="right"><font size=5>Numero studio R :</font></div></td><td><select name='stdR' value="<?php echo $sql["numero_studioR"];?>">
					<?php

                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from studios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                       $v = $ligne["numero_studio"];
                                                   echo "<option value= \"$v\" >";
                                                   echo $v;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td></tr>
<tr><td><div align=right><font size=5>Qualité</font></div></td><td><select name="qualite">
                                                <?php
                                                 echo "<option value=$qualite>$qualite";
                                                ?>
                                                <option>aucune
						<option>7 khz
						<option>15 khz Mono
						<option>15 khz Stereo</option>
						</select></td></tr>

<tr><td><div align='right'><font size=5>Invité 1 :</font></div></td><td><input name="inv1" type='text' value="<?php echo $n1; ?>"></td><td><div align="right"><font size=5>Invité 2 :</font></div></td><td><input name='inv2' type='text' value="<?php echo $n2;?>"></td></tr>
<tr><td><div align='right'><font size=5>Telephonne invité 1:</font></div></td><td><input name="t_inv1" type="text" value="<?php echo $t1;?>"></td><td><div align="right"><font size=5>Telephonne invité 2:</font></div></td><td><input name='t_inv2' type='text' value="<?php echo $t2;?>"></td></tr>
<tr><td><div align='right'><font size=5>Nom du commanditaire :</font></div></td><td><input name="N_com" type="text" value="<?php echo $ncom; ?>"></td><td><div align="right"><font size=5>Tel commanditaire :</font></div></td><td><br /><input name="tel_com" type="text" value="<?php echo $tcom; ?>"><br /><br /></td></tr>
<tr><td><div align='right'><font size=5>l'état de la demande est :</font></div><td><font size=5 color="#FF0000"><b><i><?php echo $etat; ?></i></b></font></div></td><td><div align=right><font size=5 color="#0000FF">Modifier l'état?</font></div></td><td><input type='radio' name='etat' value='validé' checked="checked" /><font size=5 color="#0000FF">Validé </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='certifié' /><font size=5 color="#0000FF">Certifié </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='annulé' /><font size=5 color="#0000FF">Annulé </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='reporté' /><font size=5 color="#0000FF">Reporté </font></td><td></td></tr>
                                        <tr><td><div align="right"><br /><font size=5>Observations complémentaires :</font></div></td><td colspan="20"><br /><textarea name="obs"  rows="3" cols="90" value="<?php echo $sql["nom_commanditaire"];?>"></textarea></td></tr>

<tr><td><input type="hidden" name='id' value="<?php echo $x;?>"</td></tr>
<tr><td><input type="hidden" name='id2' value="<?php echo $sql2["id"];?>"</td></tr>
<tr><td><input type="hidden" name='id3' value="<?php echo $sql3["id"];?>"</td></tr>




<tr><td colspan="20"><br /><br /><div align="center"><input type="submit" name="submit" value="valider la modification"></td></tr>
</table>
</center>
</form>
<center><br /><a href="coordinateur.php"><font size=4>Revenir à la page d'accueil des coordinateurs</font></a></center>
<?php echo $v ?>
</body>
</html>