PHP + '

gilbert1995 Messages postés 519 Statut Membre -  
 __construct() -
Bonjour, voila mon code et le prob

Code "twitter2"
<?
            $membre = mysql_fetch_assoc(mysql_query("SELECT * FROM me_utilisateur WHERE identifiant='$s_identifiant'"));  

      
	  $msg_user= $s_identifiant;

    $avatar_msg= $membre['avatar'];


if(isset($_POST['titre']))      $titre=$_POST['titre'];
else      $titre="";

if(isset($_POST['msg']))      $msg=$_POST['msg'];
else      $msg="";
if($_POST) {
$db = mysql_connect('sql.olympe-network.com', '14059_gilbertsql', 'xxx');  // connexion à la base 
    mysql_select_db('14059_gilbertsql',$db);                  // sélection de la base 
     
        $sql = "INSERT INTO me_msg_twitter(msg_user, avatar_msg, titre, msg) VALUES('$msg_user','$avatar_msg','$titre','$msg')"; 
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());  
         
        // on affiche le résultat pour le visiteur 
        echo 'Votre message a été ajoutées.'; 
		
?><script type="text/javascript">window.setTimeout("location=('?page=twitter1');",3000);</script><? } else { header('Location: ?page=index'); } ?>

le code de la page qui post
<form method="POST" action="?page=twitter2">

<fieldset style="-border-radius: 10px; ">
<legend>Message des membres</legend>
	<fieldset style="border-radius: 10px; "><br /><center>
	Titre :<input style="font-size:20px" type="text" name="titre" size="20" value="" maxlength="70"><br />
Message: <textarea name="msg" rows="3" cols="60"></textarea><br />
<input type="submit" value="Envoyer" name="envoyer"><br />
</center>
</fieldset>
<br />
</fieldset>
</center>
</form>


le msg d'erreur

Erreur SQL !INSERT INTO me_msg_twitter(msg_user, avatar_msg, titre, msg) VALUES('gilbert1995','http://comps.fotosearch.com/comp/IMZ/IMZ312/webmaster-travail_~sps0547.jpg','Clan iGZ','gdfgfg j'ai pas oti')
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 'ai pas oti')' at line 1

le message poster

"J'aime les feuilles"

qui peux m'aider s.v.p.

3 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.

    Je suppose qu'après "oti" c'est un apostrophe ?
    Il faut protéger tes variables avec mysql_real_escape_string().
    Actuellement, si l'option magic_quotes n'est pas activée, il est possible de faire des injections SQL.
    2
  2. coeus Messages postés 3296 Statut Membre 120
     
    Je suis d'accord avec avion-f16, en fait je crois que ce qui fait boguer c'est l'apostrophe dans le j'ai de j'ai pas oti.
    C'est la bonne idée d'utiliser mysql_real_escape_string().
    0
    1. gilbert1995 Messages postés 519 Statut Membre 29
       
      je l'ajoute ou ?
      0
    2. Hubert J. Farnsworth Messages postés 1 Statut Membre
       
      Dans ta ligne d'insertion SQL, remplace ton $msg par ".mysql_real_escape_string($msg)." (avec les guillements).
      Il est indispensable d'échapper les données que les visiteurs entrent sur ton site, pour éviter tout problème de sécurité. Pense donc à faire de même pour tes autres variables issues des $_POST
      0
    3. gilbert1995 Messages postés 519 Statut Membre 29
       
      bon je sais que je vais parrte nul mais peut tu me maitre le code au complet que je doit insérer car je ne te suis pas :)
      0
    4. coeus Messages postés 3296 Statut Membre 120
       
      $sql = "INSERT INTO me_msg_twitter(msg_user, avatar_msg, titre, msg) VALUES('$msg_user','$avatar_msg','$titre','$msg')";
      mysql_query(mysql_real_escape_string($sql)) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
      0
    5. gilbert1995 Messages postés 519 Statut Membre 29
       
      Erreur SQL !INSERT INTO me_msg_twitter(msg_user, avatar_msg, titre, msg) VALUES('gilbert1995','http://comps.fotosearch.com/comp/IMZ/IMZ312/webmaster-travail_~sps0547.jpg','Gilbert','allo j'aie les feuille')
      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 '\'gilbert1995\',\'http://comps.fotosearch.com/comp/IMZ/IMZ312/webmaster-travail_' at line 1
      voila le code d'erreur
      0
  3. elghafoud Messages postés 129 Statut Membre 18
     
    function _escape($string = "") {
    return mysql_escape_string ( $string );
    }

    $sql = "INSERT INTO me_msg_twitter(msg_user, avatar_msg, titre, msg) VALUES ('" . _escape ( $msg_user ) . "','" . _escape ( $avatar_msg ) . "','" . _escape ( $titre ) . "','" . _escape ( $msg ) . "')";

    0
    1. gilbert1995 Messages postés 519 Statut Membre 29
       
      MERCI MILLE FOIS
      0
    2. gilbert1995 Messages postés 519 Statut Membre 29
       
      Une petite chose qu'elle code je rajoute et sur quel page pour mettre un alert comme quoi la personne a oublier de remplir un champ MERCI
      0