impossible d'inserer dans ma base ..

impossible d'inserer dans ma base .. - PHP - Programmation

Marsh Posté le 24-05-2005 à 18:29:48    

bonjour a tous.
 
Tout marche bien sur mon formulaire quand je valide le texte.
 
Mais si je met un mot qui comprend una apostrophe , ca marche pas , rien ne s'insere dans la base.
 
le fichier de validation:
 

Code :
  1. <?php session_start(); ?>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Language" content="fr">
  5. <title>Waz</title>
  6. <link rel="stylesheet" href="style.css" type="text/css">
  7. </head>
  8.   <body bgcolor="#000055">
  9. <?php
  10.       $host="localhost";
  11.       $user="***";
  12.       $pass="***";
  13.       $base="***";
  14.       $id=$_SESSION['id'];
  15.       $date = time();
  16.       $connection= mysql_connect($host,$user,$pass)
  17.           or die("Impossible de se connecter<br>" );
  18.       $db=mysql_select_db($base)
  19.           or die("Impossible de selectionner la base" );
  20.          
  21.       $query="INSERT INTO comment VALUES('','$id','$comment','$pseudo','$date')";
  22.       $result=mysql_query($query);
  23.       echo " <center>Nouveau commentaire ajouté</center><br>";
  24.       echo "  <hr><br><br>";
  25.       echo "<a href='news.php'> Revenir au News</a>";
  26.       ?>
  27.    <br></br>
  28.       </body>
  29.       </html>


 
 
et le formulaire
 

Code :
  1. <?php
  2. $id = $_GET['id'];
  3. $host = "localhost";
  4. $login = "***";
  5. $pass = "***";
  6. $base = "***";
  7. $_SESSION['id']=$_GET['id'];
  8. $bd=mysql_connect($host , $login , $pass);
  9. $bd=mysql_select_db($base);
  10. $query="SELECT * FROM news1 WHERE id='$id'";
  11. $result=mysql_query($query);
  12. $row = mysql_fetch_array($result);
  13.         $news = nl2br($row[news]);
  14.         $titre = $row[titre];
  15.         $cat = $row[cat];
  16.         $date = $row[date];
  17.         $annee = date("Y", $date);
  18.         $mois = date("m", $date);
  19.         $jour = date("d", $date);
  20.         $heures = date("H", $date);
  21.         $minutes = date("i", $date);
  22.         $date = " Poster le ".$jour."/".$mois."/".$annee." à ".$heures."h".$minutes;
  23.         ?>
  24.         <table border="0" cellspacing="0" cellpadding="5" width="100%" align="center" style="border:1px solid black">
  25.           <form name="register" method="post" action="addcomment.php">
  26.             <tr>
  27.               <td bgcolor="#94BEDA" collspan="2"> <div align="center"> Poster
  28.                   un nouveau commentaire pour la news: <br>
  29.                   <font color="#990000" size="4"><?php
  30.     echo $titre;
  31.    
  32.      ?></font>
  33.                 </div></tr>
  34.             <tr>
  35.               <td bgcolor="#FFFFFF" collspan="2">
  36.                 <div align="center">
  37. <div>
  38.                     <div align="center"><font color="#FF0000">Ne remplissez pas
  39.                       cette case</font> , votre pseudo apparaitra automatiquement
  40.                       quand vous posterais votre commentaire
  41.                       <input type="textaera" name="$_SESSION['pseudo']" maxlenght="25">
  42.                     </div>
  43.                   </div>
  44.                 </div></tr>
  45.             <tr>
  46.               <td collspan="2"> <div align="center">
  47.                   <div align="center">Ajouter un commentaire</div>
  48.                   <textarea name="comment" cols="80" rows="10"></textarea>
  49.                 </div>
  50.             <tr>
  51.               <td colspan="3"> <div align="center">
  52.                   <input type="submit" value="Poster" name="Poster">
  53.                 </div></td>
  54.             </tr>
  55.             <br>
  56.           </form>
  57.         </table>
  58.         <p>&nbsp;</p>
  59.       </div>
  60.       <div align="center">
  61.         <table border="0" cellspacing="0" cellpadding="5" width="100%" align="center" style="border:1px solid black">
  62.           <tr>
  63.             <td bgcolor="#94BEDA">
  64.               <div align="left"> Titre de la news :
  65.                 <?php
  66.     echo $titre;
  67.    
  68.      ?>
  69.               </div></td>
  70.           </tr>
  71.           <tr>
  72.             <td width="100%" align="center" bgcolor="#FFFFFF">
  73.               <?php
  74.         $query='SELECT * FROM comment ORDER BY `idcom` DESC ';
  75.         $result=mysql_query($query);
  76.         while ($row = mysql_fetch_array($result)) {
  77.         $idnews = $row[idnews];
  78.         if ($idnews == $id) {
  79.     $comment = nl2br($row[comment]);
  80.     $pseudo = $row[pseudo];
  81.     $date = $row[date];
  82.         $annee = date("Y", $date);
  83.         $mois = date("m", $date);
  84.         $jour = date("d", $date);
  85.         $heures = date("H", $date);
  86.         $minutes = date("i", $date);
  87.         $date = " Message de ".$pseudo." le ".$jour."/".$mois."/".$annee." à ".$heures."h".$minutes;
  88.         echo $date;
  89.         echo "<br></br>";
  90.         echo $comment;
  91.         echo "<hr>";
  92.         }
  93.         } ?>
  94.             </td>
  95.           </tr>
  96.         </table>


 
 

Reply

Marsh Posté le 24-05-2005 à 18:29:48   

Reply

Marsh Posté le 24-05-2005 à 18:40:51    

Code :
  1. // Déjà pour reprendre les données du formulaire  
  2. $comment = $_POST['comment'];
  3. // Et ensuite tu met des slash pour que les guillemets soient échappés lors de l'insertion  
  4. $comment = addslashes($comment);


 
Voilà je pense avoir répondu à ton problème[:alexis27].

Reply

Marsh Posté le 24-05-2005 à 18:52:19    

j'ai fait ca  
 
dans le formulaire d'insertion
 
 

Code :
  1. $query="INSERT INTO comment VALUES('','$id','$comment = addslashes($comment);','$pseudo','$date')";


 
 
et ca sur la page d'affichage
 
 

Code :
  1. $comment = $_POST['comment'];


 
 
 
ben ca marche toujours pas


Message édité par wydook le 24-05-2005 à 18:52:38
Reply

Marsh Posté le 24-05-2005 à 20:05:58    

wydook a écrit :

j'ai fait ca  
 
dans le formulaire d'insertion
 
 

Code :
  1. $query="INSERT INTO comment VALUES('','$id','$comment = addslashes($comment);','$pseudo','$date')";


 
 
et ca sur la page d'affichage
 
 

Code :
  1. $comment = $_POST['comment'];


 
 
 
ben ca marche toujours pas


 
Essaye sinon avec :  

Code :
  1. extract($_POST,EXTR_OVERWRITE);
  2. $query="INSERT INTO comment VALUES('','$id','$comment = addslashes($comment);','$pseudo','$date')";


 
Tu as quoi comme message d'erreur ?  
 
 
 

Reply

Marsh Posté le 24-05-2005 à 20:21:13    

aucun message d'erreur , le message n'estpas pris en compte quand il y a une apostrophe , pour le reste ca marche sinon

Reply

Marsh Posté le 24-05-2005 à 20:32:54    

maintenant avec ta methode , meme si j'ecrit par exemple  
 
 
bonjour  
 
ca me met  
 
bonjour = addslashes(bonjour);
 
 
et toujours rien avec un apostrophe
 

Reply

Marsh Posté le 25-05-2005 à 07:11:47    

oups :p

Reply

Marsh Posté le 25-05-2005 à 07:40:50    

Merci beaucoup , ca marche :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed