Bonjours, Sur mon site, lors de l'ajout d'un commentaire contenant une apostrophe, un antislash s'ajoute devant sous la forme : "moi, J\'aime les patates"
Je sais que si on n'en met pas, ca fait tout rater, alors comment faire pour qu'il n'apparaisse pas sur le site, mais qu'il soit présent dans la base de données ?
Tu te trompes : tu ne devrais pas en avoir en base de données ! Si t'en as c'est parce qu'il y a double échappement. Tes données sont échappées une fois de trop (probablement par les magic_quotes_gpc).
Ce que tu aurais dû faire c'est désactiver les magic_quotes_gpc (si ça vient de là, sinon il faut revoir ton code), qui n'existent plus en 5.4.
Et tu peux aussi simplement appliquer un simplissime str_replace avant insertion dans la base de donnée qui résout bien des problèmes tous en rendant tes textes plus esthétiques :
$string = str_replace( '\'' ; '’' ; $string );
Il s'agit simplement de remplacer le caractère minute (guillemet simple informatique) par le vrai caractère apostrophe typographique.
apparement il faut modifier le magic_quote_gpc dans le fichier php.ini, le probleme c'est que depuis mon cpanel, c'est impossible, je vais donc me pencher sur la solution de niconemo
Si vraiment tu ne peux pas modifier magic_quotes_gpc, utilises stripslashes à l'insertion (comme conseillé plus tôt par M.Gaetan89). Mais si PHP fonctionne comme module Apache, tentes déjà un .htaccess :
voilà, le striplashes ne marchait pas a cause d'un probleme venant de l'hébergeur... mais c'est rélgé
merci de votre aide, sujet résolu !
probleme d'apostrophes
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli