mysql_real_escape_string ne marche pas dans mon cas
Bonjour,
Sur mon site, il y a possibilité d'ajouter des albums photos, ça fonctionne très bien, jusqu'à ce qu'un membre ajoute un album contenu une apostrophe. J'ai pourtant utilisé mysql_real_escape_string mais ça ne fait rien.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
if( isset( $_POST['ajout_album'] ) )
{
$_POST['nom_album'] = explode("\\", $_POST['nom_album']);
$_POST['nom_album'] = $_POST['nom_album'][0];
if( isset( $_POST['nom_album'] ) && $_POST['nom_album'] == "" )
{
$ErreurAlbum = "<font face='arial' size='1' color='red'>Il faut que tu remplisses ce champs !</font>";
}
if( isset( $_POST['sorties'] ) && $_POST['sorties'] == "rien" )
{
$ErreurSortie = "<font face='arial' size='1' color='red'>Il faut que tu sélectionne ce champs !</font>";
}
if( ( isset( $_POST['sorties'] ) && $_POST['sorties'] != "rien" ) && ( isset( $_POST['nom_album'] ) && $_POST['nom_album'] != "" ) )
{
$PostCodeSortie = $_POST['sorties'];
$PostAlbum = $_POST['nom_album'];
// Verifie si l'utilisateur a rentre des caracteres speciaux, si c'est le cas, le programme renvoie une erreur
if( VerifAlphanumerique($PostAlbum) == false )
{
$ErreurAlbum = "<font face='arial' size='1' color='red'>Erreur de caractère ! Caractères acceptés : <br />";
$ErreurAlbum.= "<strong>abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789_-+()*%/.!?</strong><br />";
$ErreurAlbum.= "(ATTENTION ! les accents ne sont pas acceptès</font>";
}
else
{
$PostCodeAlbum = str_replace(" ", "_", $PostAlbum );
$Conn = mysql_connect($host,$user,$pwd);
mysql_select_db($bdd,$Conn);
mysql_query("SET NAMES 'UTF-8'");
// Verification de doublon
$sql = "select CODE_DOSSIER from albums where CODE_DOSSIER = '".$PostCodeAlbum."' ";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
if( $num > 0 )
{
$ErreurAlbum = "<font face='arial' size='1' color='red'>Un album porte déjà ce nom. Utilise en un autre stp.</font>";
}
else
{
//$PostCodeAlbum = str_replace("'", "", $PostCodeAlbum);
$PostCodeAlbum = mysql_real_escape_string( $PostCodeAlbum );
$AlbumFolder = "..".$CheminPhotos.$PostCodeSortie."/".$PostCodeAlbum;
$sql = "insert into albums (CODE_DOSSIER,DOSSIER,CODE_SORTIE,AJOUTE_PAR,DATE_AJOUT,IP_AJOUT) values ";
$sql.= "('".strtolower($PostCodeAlbum)."','".$PostAlbum."','$PostCodeSortie','$SessionLogin','$date','$ip') ";
mysql_query("SET NAMES 'UTF-8'");
$res = mysql_query($sql);
//echo $sql;
// traitement de copie du dossier de l'album, dans le dossier du type de sortie correspondante
// Apres Insertion du dossier dans la BDD, copie physique de ce dossier sur le serveur
if(!is_dir(strtolower($AlbumFolder)))
{
echo "[".$AlbumFolder."]";
mkdir(strtolower($AlbumFolder));
$FolderCreated = "<font size=2 color='green' face='arial'><center><b>Dossier copié et enregistré avec succès.</b></center></font>";
}
}
mysql_close($Conn);
}
}
} |
Je veux essayer d'inserer "salut' sa va" en tant que nom d'albums, mais ma base ne prend en compte que "salut" et donc la suite du code ne s'execute pas.
Merci d'avance.
Ju'