Rechercher : dans
Par :

PHp : Probleme d'apostrophe dans un formulair

Dernière réponse le 1 nov 2009 à 11:04:31 Fab, le 9 avr 2003 à 18:51:33 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un probleme:
J'ai un formulaire avec des champs de texte dont un qui peux contenir des phrases avec des apostrophes.Quand j'envoie le formulaire, pour qu'il enregistre dans la base de donnée le contenu des champs, j'ai l'erreur suivante:
you have an error in your SQL syntax near'blabla'
En fait j'en deduit aprés qqes test que c'est a cause d'un apostrophe que cette erreur apparait.

Je voudrais donc savoir comment faire pour que quand on saisis un apostrophe dans un champ texte destiné a une base de donnée cela ne donne pas cette erreur.

merci d'avance

Meilleures réponses pour « PHp : Probleme d'apostrophe dans un formulair » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Formulaires en ligne - Les champs de saisie VoirQuelles données saisir ? Comment dois-je saisir l'information L'organisation des champs de saisie Séparer les champs de saisie L'organisation des champs et des titres La longueur des champs Quelles données saisir ? Sur la plupart des...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

kalamit, le 9 avr 2003 à 18:54:41
  • +2

Salut,
En fait, le probleme vient du fait qu'il faut mettre un slash avant les apostrophes.
Utilise la fonction addslashes() et ca devrait fonctionner.
http://www.php.net/manual/fr/function.addslashes.php
A+ !

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)

Répondre à kalamit

2

Fab, le 9 avr 2003 à 19:02:02

Merci kalamit.

Mais ou dois je placer cette fonction?? au niveau du champ de texte conerné ou dans le script au moment de l'envoi et de l'enregistrement des données ds la base??
Excuse je suis debutant en php et je comprends pas encore tout.

pour cette fonction : string addslashes ( string str)

que dois je mettre a la place de string et de str dans la parenthese et a la place de string au debut de la fonction??

voilà, merci d'avance

@+

Fab

Répondre à Fab

3

kalamit, le 9 avr 2003 à 19:09:35
  • +3

Re Fab,
Il faut que tu places cette fonction avant la requete d'insert dans la base. Tu dois t'en servir comme ca:
$text = addslashes($text);
Et tu continues comme si de rien n'etait !
Et c'est tout !

Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@)

Répondre à kalamit

4

Fab, le 9 avr 2003 à 19:19:23

Merci Kalamit.

Ca marche nickel, c'est trop cool.

Je te remercie beaucoup, c'est vraiment sympa.

Fab qu'est trop content

Répondre à Fab

8

Sylvain, le 26 sep 2009 à 17:47:50

Et ben nickel! ca me sort d'une bien jolie panade!

Répondre à Sylvain

10

 bhab, le 1 nov 2009 à 11:04:31

Bonjour,
j'ai même problème, mais où insérer ce code? dans quelle page ?
dans le partie MYSQL ou DOCTYPE?

Répondre à bhab

5

oPyRuSo, le 23 déc 2006 à 18:11:02

Salut,

j'ai en ce moment le meme probleme que Fab, donc je l'ai resolu et c'est tant mieux...

Mais j'aimerai aller un peu plus loin, et savoir pourquoi la fonction addslash() ne m'a pas ete necessaire jusqu'a present?
En effet, en ce moment les meme script tournant sur le server de free et en local chez moi, ne fonctionne QUE chez free (sans les addslashes())?

Mistere et boule de gomme ou la raison existe et n'est pas complique a comprendre?

Merci beaucoup

opyruso
site: opyruso.free.fr

Répondre à oPyRuSo

6

lefou4, le 26 déc 2006 à 13:06:15

Cela est dû au fait que le magic_quotes_gpc est actif ou non sur certains serveurs. Le magic_quotes_gpc permet d'échapper automatiquement les caractères type guillemet ou apostrophe et donc pas besoin de la fonction addslashes.

Pour tester si magic_quotes_gpc est actif ou non il suffit d'utiliser la fonction "get_magic_quotes_gpc()".

Pour plus d'infos : http://www.manuelphp.com/php/function.get-magic-quotes-gpc.php

Répondre à lefou4

7

Laurent, le 4 mar 2007 à 20:04:50

Même problème, même solution ! Merci les gars!

Répondre à Laurent

9

bhab, le 1 nov 2009 à 11:01:55

Bonjour,
j'ai même problème, mais où insérer ce code? dans quelle page ?
dans le partie MYSQL ou DOCTYPE?

Répondre à bhab