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 :

Pb dans formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut Pb dans formulaire
    Bonjour

    Voici mon pb

    ALors j ai créer un formulaire donc voivi le code

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <form method="POST" action="formclient3.php" enctype="multipart/form-data" name="formclient" >
    <div align="center"></div>
    <p align="center">
     
     
    <table width="566" border="0" align="center">
    <p align="center"></p><tr>
          <td><font face="Verdana" size="2">Nom * </font></td>
     
            <td><input name="nom" type="text"style="background-color: #FFFFFF;font: Verdana; border: 0px;"></td>
    </tr><tr>
    	  <td><font face="Verdana" size="2">Prénom * </font></td>
          <td><input name="prenom" type="text"style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" /></td>
        </tr><tr>
    	  <td width><font face="Verdana" size="2">Societe</font></td>
          <td width><input name="societe" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Adresse</font></td>
          <td width><input name="adresse" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Code Postal</font></td>
          <td width><input name="cp" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Ville</font></td>
          <td width><input name="ville" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Tel * </font></td>
          <td width><input name="tel" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Fax</font></td>
          <td width><input name="fax" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr><tr>
    	  <td width><font face="Verdana" size="2">Email * </font></td>
          <td width><input name="email" type="text" style="background-color: #FFFFFF;font: Verdana; color: #000000; border: 0px;" ></td>
    	</tr>
    	<tr>
          <td valign="top">
            <p>&nbsp;</p>
          <p>&nbsp;</p></td><td><div align="center">
            <input type="reset" name="Reset" value="Effacer" />
            <input type="submit" name="envoi" value="Envoyer" onclick="valider()" />
    </div></td>
        </tr>
      </table>
      <div align="center"></div>
    </form>
    Le souci c est que lorsque je rentre une ' dans des champs il refuse de l ajouter dans la BDD et me mets ce message d erreur


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Notice: Undefined variable: sql in c:\program files\easyphp1-8\www\actimac\formclient3.php on line 60
    Erreur SQL !
    Erreur de syntaxe près de 'ombre','14000','caen','0231202020','0231202021','juliend@act.fr'' à la ligne 1
    dans ma bdd le type du champ est de TEXT et c est pareil quand il est VARCHAR

    Comment faire Merci

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    mysql_real_escape_string saves the day

  3. #3
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    ou encore addslash et stripslash

    Bon courage et pense à cliquer sur

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    je n ai pas compri vos solutions

  5. #5
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    l'idée, c'est que l'apostrophe (')(ou le guillemet (") selon les cas) est considéré comme une fin de chaine de caractère, et du coup, ta commande SQL ne veut plus rien dire. Il faut donc les 'échaper', c'est à dire rajouter un backslash devant, afin que PHP ne ferme pas la chaine à cet endroit.

    Pour cela, il faut utiliser une des fonctions citées ci-dessus sur la chaine que tu récupère de ton input.
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 220
    Par défaut
    ok j ai bien compri l utilité du backslash mais je le rajoute ou exactement?
    D'aprés ce que j ai compri je devrai le récuper dans le traitement de mon formulaire si c est bien ca mais ou je sais pas?

    VOici comment je récupére ce qui est saisi par l utilisateur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (isset($_POST['adresse']))      $adresse=$_POST['adresse'];
    else      $adresse="";
    ce serait donc ici que je devrai mettre le backslash mais ou ?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/07/2005, 17h04
  2. suppression en cascade dans formulaire et sous-formulaire
    Par tooneygirl dans le forum Access
    Réponses: 7
    Dernier message: 20/06/2005, 14h17
  3. Réponses: 4
    Dernier message: 29/11/2004, 16h51
  4. Figer colonnes dans formulaire continu
    Par Mr.Gus dans le forum IHM
    Réponses: 10
    Dernier message: 30/11/2003, 13h59
  5. touche entrée dans formulaire
    Par pram dans le forum XMLRAD
    Réponses: 8
    Dernier message: 15/04/2003, 09h13

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