PHP Problèmes ' dans création dossier
TRUNCKS
Messages postés
1066
Statut
Membre
-
Navid_92 Messages postés 778 Statut Membre -
Navid_92 Messages postés 778 Statut Membre -
Bonjour,
J'ai une fonction qui me crée un dossier pour enregistrement du chemin du dossier dans une bdd.
Mais pour éviter les erreurs, j'ai enlevé les accents etc avant d'enregistrer.
Mon soucis, c'est que quand je met un ' dans mon champ et que j'enregistre, il me l'interprété comme cela:
coucou' ----> coucou\-
Je suis sensé avoir coucou-.
J'ai fait cela:
--
J'ai une fonction qui me crée un dossier pour enregistrement du chemin du dossier dans une bdd.
Mais pour éviter les erreurs, j'ai enlevé les accents etc avant d'enregistrer.
Mon soucis, c'est que quand je met un ' dans mon champ et que j'enregistre, il me l'interprété comme cela:
coucou' ----> coucou\-
Je suis sensé avoir coucou-.
J'ai fait cela:
$avec_accent = utf8_decode("ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖOEØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñSsoe '²|',;:!¿/(){}[]+=*~<>&¢€£\$¤¥§©ø÷×µ¶®°±¨@#");
$sans_accent = utf8_decode("abcdefghijklmnopqrstuvwxyzAAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso--------------------------------------------");
$nom_categorie_dossier = strtr(utf8_decode($nom_categorie), $avec_accent, $sans_accent);
$nom_categorie_dossier = utf8_encode($nom_categorie_dossier);
$nom_categorie_dossier = mysql_real_escape_string($nom_categorie_dossier); // (pour enregistrement en Bdd)
--
2 réponses
-
Bah qu'est ce qu'il y , c'est normal car c'est ce que tu lui as dis de faire.
Je m'explique :
Ta fonction strtr et ta fonction mysql_real_escape_string rentre en conflit.
De plus, tu utilises beaucoup de fonction utf8_, sont-elles vraiment nécessaire ?
Good Luck
-
Tu peux essayé ma fonction (beta) ?
<?php function getFolderName($string) { $string = str_replace(array("à","á","â","ã","ä","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ù","ú","û","ü","ý","ÿ","À","Á","Â","Ã","Ä","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","Ý","\n", "'", "`", "'", "?", """, """, """, "?", '"', "\"","\\","/","*","'","=","-","#",";","<",">","+","%"), array("a","a","a","a","a","c","e","e","e","e","i","i","i","i","n","o","o","o","o","o","u","u","u","u","y","y","A","A","A","A","A","C","E","E","E","E","I","I","I","I","N","O","O","O","O","O","U","U","U","U","Y","", "'", "'", "'", "'", "\"", "\"", "\"", "\"", "\"", "","","","","","","","","","","","",""), $string); if (get_magic_quotes_gpc()) $string = stripslashes($string); $string = htmlspecialchars($string, ENT_QUOTES, 'UTF-8', TRUE); return (realpath(mysql_real_escape_string($string))); } ?>