Formulaire PHP (les apostrophes)
dragonfire59
Messages postés
167
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Ayant créer un formulaire pour rentré des personnes dans une BDD, je rencontre une difficulté, j'ai parcouru divers forum et n'ai trouvé de vraiment utile, quand je rentre mes données dans les champs de saisies sans apostrophes tout ce passe bien, une fois qu'il y a un champ adresse avec "23 rue de l'alabama", la requete ne s'éxécute pas, y a t il un moyen de passer outre ce problème ? j'ai vu sur des forums le addslahes mais je n'ai compris
Ayant créer un formulaire pour rentré des personnes dans une BDD, je rencontre une difficulté, j'ai parcouru divers forum et n'ai trouvé de vraiment utile, quand je rentre mes données dans les champs de saisies sans apostrophes tout ce passe bien, une fois qu'il y a un champ adresse avec "23 rue de l'alabama", la requete ne s'éxécute pas, y a t il un moyen de passer outre ce problème ? j'ai vu sur des forums le addslahes mais je n'ai compris
A voir également:
- Formulaire PHP (les apostrophes)
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
4 réponses
avant de rentrer les valeurs dans la bdd, passes par la fonction mysql_real_escape_string
ex: $adresse=mysql_real_escape_string($_POST['adresse']);
ça échappe les ' entre autre
par contre après pour afficher il faut appliquer stripslashes($adresse)
ex: $adresse=mysql_real_escape_string($_POST['adresse']);
ça échappe les ' entre autre
par contre après pour afficher il faut appliquer stripslashes($adresse)
décidément le père tu y tiens:
mysql_real_escape_string() protège une commande SQL de la chaîne unescaped_string, en "échappant" les caractères spéciaux tout en prenant en compte le jeu de caractères courant de la connexion link_identifier. Le résultat peut être utilisé sans problème avec la fonction mysql_query(). Si des données binaires doivent être insérées, cette fonction doit être utilisée.
mysql_real_escape_string() appelle la fonction mysql_escape_string() de la bibliothèque MySQL qui ajoute un anti-slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.
donc si la valeur avant est l'alabama la fct transforme en l\'alabama
mysql_real_escape_string() protège une commande SQL de la chaîne unescaped_string, en "échappant" les caractères spéciaux tout en prenant en compte le jeu de caractères courant de la connexion link_identifier. Le résultat peut être utilisé sans problème avec la fonction mysql_query(). Si des données binaires doivent être insérées, cette fonction doit être utilisée.
mysql_real_escape_string() appelle la fonction mysql_escape_string() de la bibliothèque MySQL qui ajoute un anti-slash aux caractères suivants : NULL, \x00, \n, \r, \, ', " et \x1a.
donc si la valeur avant est l'alabama la fct transforme en l\'alabama
mea culpa
je viens de faire un petit script de test, effectivement bien que la lecture du descriptif de cette fonction ne le précise pas
ce qui est effectivement enregistré dans la BDD est sans \
donc cela depend de magic_cote_gpc
milles excuses !!
je viens de faire un petit script de test, effectivement bien que la lecture du descriptif de cette fonction ne le précise pas
ce qui est effectivement enregistré dans la BDD est sans \
donc cela depend de magic_cote_gpc
milles excuses !!
Pas de problème ^^
Note qu'il est normal que ces backslashes ne se retrouvent pas enregistrés dans la base, il n'ont rien à y faire. Comme tous les caractères d'échappement, il servent juste à éviter que les caractères spéciaux jouent leur fonctions spéciales. Mais ils ne font pas partie des données.
Note qu'il est normal que ces backslashes ne se retrouvent pas enregistrés dans la base, il n'ont rien à y faire. Comme tous les caractères d'échappement, il servent juste à éviter que les caractères spéciaux jouent leur fonctions spéciales. Mais ils ne font pas partie des données.
par contre après pour afficher il faut appliquer stripslashes($adresse)
Absolument pas. Si tu as besoin de le faire, c'est que tu avais déjà des slashes en trop avant d'insérer tes données dans la base, ça ne vient pas de mysql_real_escape_string