PHP Problèmes ' dans création dossier

Fermé
TRUNCKS Messages postés 1030 Date d'inscription vendredi 10 août 2007 Statut Membre Dernière intervention 3 juin 2023 - Modifié par TRUNCKS le 19/11/2011 à 15:15
Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 - 20 nov. 2011 à 00:57
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:

$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) 

--
A voir également:

2 réponses

Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 87
20 nov. 2011 à 00:14
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
0
Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 87
20 nov. 2011 à 00:57
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)));
}
?>
0