Caractère "\" intempestif
RésoluJ'ai un soucis. Pour ceux qui suivent mes (trop nombreuses) questions, je suis en train de créer un site qui permet de créer des pages php avec un contenu rentré dans un formulaire.
Soucis : quand je tape un caractère spécial dans le formulaire (" par exemple), il est échappe automatiquement. Mais ça ne me va pas, je ne sais pas pourquoi ça fait ça.
Bref, eu final, si je tape "test", j'obtiens \"test\", et si j'édite, \\\"test\\\" et ainsi de suite...
Pourquoi ça fait ça ? Comment contrer ça ?
Merci !
Configuration: Windows Vista Firefox 3.0.11
30 réponses
Le problème central est l’échappement automatique des guillemets lors de la saisie dans un formulaire PHP, probablement causé par l’option magic_quotes_gpc activée dans le php.ini. Il est fortement conseillé de la désactiver; cette option est notamment absente dans les versions PHP récentes et peut provoquer un double-échappement lors de l’édition, et elle n’existe plus en PHP 6. Pour corriger, modifier le php.ini en mettant magic_quotes_gpc Off et, le cas échéant, magic_quotes_runtime Off, puis redémarrer le serveur pour que les changements prennent effet. En cas de doute, vérifier quel php.ini est utilisé par le serveur et s’assurer que les changements sont bien pris en compte après redémarrage du service.
-
tu dis que stripslashes("\'"); te renvoi \' ?
c'est bizarre ça chez moi ça enlève bien le \-
-
@Dalidac'est fait exprès justement comme il l'a dis s'il met ' il le retrouve échappé donc \'
c'est cette chaîne que j'ai écrit sciemment
car si j'ai bien compris il cherchait a dé-échapper son ses apostrophes
-
-
pour ceux que ça interesse, j'ai une solution (mais c'est un peu con...) :
$texte = str_replace("\'" , "'" , $texte);
Voila !
En tout cas, merci à tous pour votre aide ! -
je me permet de faire un petit up, c'est un de mes derniers soucis pour ce site, et peut être aurais-je plus de chance de réponse à une heure moins tardive...
Merci à tous ! -
Bonsoir !
Alors, cette fonction qui n'échappe plus les ' ? Parce que quand je vais des recherches google, je trouve pas (ex : "ma vie m'échappe...")
Merci ! -
alors, stripslashes() n'échappe plus les ", mais comment ne pas échapper les ' ?
Merci ! -
hourra, je suis foutu !
Merci quand même, parce que avec ce que je fais, je crains que stripslashes() ne me sois d'aucun secours... -
Tu ne peux rien faire, je disais cela avant pasque je pensai que tu travaillais sur ton pc avec wamp ! Car c'est bien la premiere fois que je vois un hebergeur qui laisse l'option magic quote active !
-
je suis chez olympe network.
J'ai téléchargé wamp, j'ai mon fichier php.ini. Je fais comment pour l'uploader afin de modifier les champs qui m'intéressent ?
Merci ! -
Non du tout, ce fichier en fait est un fichier de configuration de PHP.. Si tu utilise php chez ton hebergeur de toute facon tu n'aura pas acces au fichiers de configuration..
Par contre j'aimerai bien savoir quel hebergeur tu utilise c'est plutot bizzare qu'un hebergeur ai laissé l'option magic quote active -
bon, vais-je être obligé d'installer apache ou wamp pour récupérer ce *:/"-éé_è' de php.ini ?
Merci ! -
Désolé, je n'ai pas de terminal, je tourne sous vista (et cette invite de commande n'est pas reconnue).
Par ailleurs, la recherche avec l'outils de recherche de windows n'a rien donnée...
Merci ! -
pour trouver ton php.ini,
ouvre un terminal et tape "locate php.ini" -
j'ai l'impression que tu n'as pas trouvé ton php.ini
tu peux utiliser ini_set() pour modifier les information -
Tu a eu ta réponse ???
-
oui, j'utilise php direct en ligne...
Merci ! -
tu utilise peut être la function stripslash() ou un truque dans le genre. je ne suis pas sur mais regarde.
ou peut être htmlspecialchars(). regarde tout de même on ne sait jamais. -
hmm, comment tu utilise php ? direct en ligne sur ton hebergeur ?
-
wamp ne me dit rien non plus... Qu'est ce que tous ces noms ?(oui, je passe pour un crétin...)
Merci ! -
Ben tu dois utiliser wamp non ? alors oui apache a été installé a l'insu de ton plein gré ^^
Si c'est le cas le php.ini doit etre dans un des repertoire de wamp
-
je n'ai pas installé apache (ou alors à l'insu de mon plein gré...)
- 1
- 2