OVH Cloud OVH Cloud

apostrophe et script de commentaires

5 réponses
Avatar
cedric
Bonjour,
j'ai installé un script de commentaires sur mon site (commentaires v2.0 de
phpscripts-fr.net) et j'ai un petit problème : dès qu'un commentaire
contient une apostrophe, il ne s'enregistre pas dans la base de donnée. Tout
le reste marche bien.

comment faire ?
merci
cedric

5 réponses

Avatar
Nudrema
passe le commentaire à la fonction mysql_escape_string avant de
l'intégrer dans la requête...
Avatar
Jean-Marc Molina
Bonjour Cédric,

Ce script ne doit pas avoir été mis à jour pour PHP 4.1+.
La configuration de PHP a changé depuis et tous les ' et " sont "échappés",
remplacés par ' et " respectivement.
Je te renvoie au manuel PHP et à l'intro aux formulaires ($_GET/$_POST).

mysql_escape_string


Je te déconseille d'utiliser cette fonction spécifique à MySQL, il vaut
mieux utiliser une fonction plus générique comme addslashes pour échapper
les caractères ' et " ou stripslashes pour remplacer ' et " par ' et "
respectivement.

Bonne journée,
JM

--
Clé AntiPourriel : PASUNPOURRIEL (ne pas retirer)

Avatar
- Sebastien -
cedric écrivait :

Bonjour,
j'ai installé un script de commentaires sur mon site (commentaires v2.0
de phpscripts-fr.net) et j'ai un petit problème : dès qu'un commentaire
contient une apostrophe, il ne s'enregistre pas dans la base de donnée.
Tout le reste marche bien.

fonction addslashes() qui ajoute un devant.

Sinon l'apostrophe termine la chaine du query et la requête échoue.
et fonction stripslashes pour les enlever à l'affichage.


--
Sébastien.
Webmaster www.coste-du-rhone.com
Grands vins des Cotes du Rhone
(blabla dangereux santé et tout ça)

Avatar
Matthieu Dapvril
Solution n°1 :
Modifier le code source et ajouter des addslashes () avant l'insertion en
base
http://fr3.php.net/manual/fr/function.addslashes.php

Solution n°2 :
Si tu as la main sur la configuration du serveur
Positionne magic_quotes_gpc à on dans le fichier php.ini.
Avatar
Roland Matteoli
le Samedi 18 Octobre 2003 18:42, cedric écrivait:

Bonjour,
j'ai installé un script de commentaires sur mon site (commentaires
v2.0 de phpscripts-fr.net) et j'ai un petit problème : dès qu'un
commentaire contient une apostrophe, il ne s'enregistre pas dans la
base de donnée. Tout le reste marche bien.


L'apostrophe étant un caractère de contrôle de Mysql,
il faut noter l'apostrophe comme ça: l'apostrophe.
Pour ça on peut aussi utiliser la fonction addslashes(),
qui ajoute automatiquement les anti-slashes ().
Par exemple:
$chaine_pour_mysql = addslashes($chaine_saisie).

--
Roland Mattéoli