IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur de syntaxe


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 42
    Points : 36
    Points
    36
    Par défaut Erreur de syntaxe
    Bonjour,

    J'ai une erreur de syntaxe dans mon code mais je ne sais pas où elle se trouve. Je vous mets tous les codes que liés à cette erreur et le message d'erreur en question en espérant que quelqu'un puisse m'éclairer.

    Je souhaite faire un livre d'or avec juste un champ pour rentrer des commentaires, mais je n'arrive pas à mettre des " ' ". Il ne me prend pas les apostrophes :

    Erreur de syntaxe près de 'asdf','adsfasdf','asfdhasd'fasdéflja'asdfasdf')' à la ligne 1

    Ma fonction est écrite comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function insert_comment($pseudo, $email, $commentaire){
    $requete = "INSERT INTO `livredor` (`pseudo`, `email`, `commentaire`) VALUES ('$pseudo','$email','$commentaire')";
    mysql_query($requete) or die (mysql_error());
    }
    L'appel de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    if (isset($_GET['submit'])){
     
    $pseudo = $_GET['pseudo'];
    $email = $_GET['email'];
    $commentaire = $_GET['commentaire'];
     
     if (($pseudo != "") && ($email != "") && ($commentaire != "")){
     
     insert_comment($pseudo, $email, $commentaire);
     
     }
     else {
     
     echo "Vous n'avez pas rempli tout les champs";
     
     }
     
    }
    Le formulaire généré par Dreamweaver :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <form id="form1" name="form1" method="GET" action="livreor.php" enctype="text/plain">
      <table width="600" border="0" cellpadding="0">
        <tr>
          <td width="129">Pseudo : </td>
          <td width="465"><input name="pseudo" type="text" id="pseudo" /></td>
        </tr>
        <tr>
          <td>Email : </td>
          <td><input name="email" type="text" id="email" /></td>
        </tr>
        <tr>
          <td>Commentaire :</td>
          <td><textarea name="commentaire" type="text" id="commentaire"></textarea></td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td><input type="submit" name="submit" value="Envoyer" /></td>
        </tr>
      </table>
    </form>
    Dans ma base de données PHPMYSQL le champs est de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      
     
    commentaire mediumtextlatin1_swedish_ci Non          Tout cocher  /  Tout décocher     Pour la sélection :
    Merci d'avance pour vos réponses!!

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour,

    essaie comme cela, car il te manque des . et des " :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "INSERT INTO `livredor` (`pseudo`, `email`, `commentaire`) VALUES ('".$pseudo."','".$email."','".$commentaire."')";
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Points : 442
    Points
    442
    Par défaut
    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function insert_comment($pseudo, $email, $commentaire){
    $requete = "INSERT INTO livredor (pseudo, email, commentaire) VALUES ('$pseudo','$email','$commentaire')";
    mysql_query($requete) or die (mysql_error());
    }

  4. #4
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    comme philippef te dis, il faut enlever tes "back ticks"(`).
    Je pense que tu as la solution en prennant le post de philippef et le mien
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  5. #5
    Membre régulier Avatar de harlock59
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2005
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 261
    Points : 107
    Points
    107
    Par défaut
    j'espère au moins que tu a créé une connexion à ta base aussi...
    --
    Dépanneur Informatique à Domicile dans le Valenciennois
    https://www.depannage-informatique-valenciennes.site/

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 42
    Points : 36
    Points
    36
    Par défaut
    Merci pour vos réponses...

    Malgré la bonne volonté, cela ne marche toujours pas...

    Oui ma connexion est bien créée.. je veux bien que je sois une newbee, mais pas à ce point là...

    Enfin, si qqun d'autre à une idée, je suis preneuse! Merci encore!!!!

  7. #7
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    peut tu faire un echo de ta requete? car c'est un message d'erreur sur ton insert
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $requete = "INSERT INTO `livredor` (`pseudo`, `email`, `commentaire`) VALUES ('".
       mysql_real_escape_string($pseudo)."','".
       mysql_real_escape_string($email)."','".
       mysql_real_escape_string($commentaire)."')";

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 42
    Points : 36
    Points
    36
    Par défaut [QUOTE]Résolu[/QUOTE]
    Merci à tous pour vos réponses... En fait, devant le nom de ma variable ('".$commentaire."') il faut rajouter un addslashes (ex : '".addslashes($commentaire)."')!

    J'espère que cela servira à d'autres personnes! !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Directives] Page blanche quand erreur de syntaxe
    Par syl2095 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 17/02/2006, 15h15
  2. [sql] erreur de syntaxe
    Par cmoa59 dans le forum JDBC
    Réponses: 14
    Dernier message: 03/05/2005, 11h41
  3. erreur de syntaxe en C++
    Par sergepmessa dans le forum C++
    Réponses: 6
    Dernier message: 11/03/2005, 18h15
  4. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  5. erreur de syntaxe javascript dans ma page
    Par Oluha dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/02/2005, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo