Accueil > Forum > > > > mysql_real_escape_string ne marche pas dans mon cas :'(
mysql_real_escape_string ne marche pas dans mon cas :'(
mardi 31 août 2010 à 15:18:57 |
mysql_real_escape_string ne marche pas dans mon cas :'(

ju0123456789
|
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 PHP :
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);
[b]$PostCodeAlbum = mysql_real_escape_string( $PostCodeAlbum );[/b]
$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'
|
|
mardi 31 août 2010 à 16:38:34 |
Re : mysql_real_escape_string ne marche pas dans mon cas :'(

47
|
Réponse acceptée !
Bonjour,
vérifie si tu n'as pas magic_quotes_gpc activé (voir la fonction get_magic_quotes_gpc() ou dans ton php.ini)
s'il est activé le problème est ici:
$_POST['nom_album'] = explode("\\", $_POST['nom_album']);
à remplacer par:
$_POST['nom_album'] = explode("\\", stripslashes($_POST['nom_album']));
car le ' est remplacer par \' donc quand tu fais ton explode tu te retrouve avec la 1ère partie de ta chaine
bonne soirée
|
|
mardi 31 août 2010 à 17:10:30 |
Re : mysql_real_escape_string ne marche pas dans mon cas :'(

ju0123456789
|
Bonjour,
Merci pour ta réponse!
Dans phpinfo j'ai effectivement :
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
je dois donc rajouter dans mon php.ini (je suis chez 1&1, et c'est vraiment naz !) :
magic_quotes_gpc = off; ?
|
|
mardi 31 août 2010 à 17:50:12 |
Re : mysql_real_escape_string ne marche pas dans mon cas :'(

ju0123456789
|
Probleme corrigé en partie. Ma page ne saute plus, et certains programmes se mettent à marcher.
Mais là mon dossier se créé sous "test\'test" quand je tappe "test'test", mais aucune insertion dans la base ne se fait :/
|
|
jeudi 2 septembre 2010 à 12:01:47 |
Re : mysql_real_escape_string ne marche pas dans mon cas :'(

narkos2
|
Réponse acceptée !
Hello,
Si l'enregistrement ressemble à ça "test\'test" sur mysql c'est oki.
Après quand tu l'affiche tu fais:
<?php
print stripslashes($res['ton_champ_sql_contenant_test_test']);
?>
stripslashes() (Supprime les \ dans la chaine donnée en paramètre)
Bonne continuation
|
|
jeudi 2 septembre 2010 à 15:45:21 |
Re : mysql_real_escape_string ne marche pas dans mon cas :'(

ju0123456789
|
Bon le dossier s'est bien copié, mais l'enregistrement ne se faisait pas car ça marquait :
Code PHP : $SQL = "INSERT INTO matable (dossier) values ('test'test')";
J'ai rajouté mysql_real_escape_string dans ma variable qui contenait "test'test" et je n'ai plus de probleme.
Souci résolu merci beaucoup.
Bonne fin de journée.
Ju'
|
|
Cette discussion est classée dans : code, mysql, dossier, post, album
Répondre à ce message
Sujets en rapport avec ce message
Impossible de faire un update de ma base???? [ par pimpa4real ]
Bonjour à tous, j'ai un gros proble et ce serait sympa que quelqu'un puisse m'aider. Voici le code avec lequel j'aimerai faire un update de ma base:[c
[PHP & SQL] Création de compte (Ajout d'un champ) [ par Zobaree ]
Salut à tous...J'ai fait un site simple où les gens peuvent se créer un compte, cependant j'ai ajouté une nouvelle colonne dans la table des comptes d
Vérification formulaire livre d'or [ par Danamel ]
Bonjour à tous J'ai actuellement sur mon site un livre d'or qui fonctionne mais désirant le modifier afin de changer sa présentation je fait un s
probleme d'insertion avec ma requette [ par cyrilherve ]
bonjour,voici un bout de code qui me permet d'enregistrer un utilisateur dans ma table 'UTILISATEURS' à partire du fichier 'enregistreruser.php'[CODE]
Code page php , sql injection? file injection? je ne comprends plus [ par Chazius ]
Bonjour a tous Je m'adresse a vous car je suis dans la detresse. Cela fait quelques années que je fais des codes php et derniérement je n'arrete pas d
probleme insertion dans table mysql a partir de données formulaire [ par LaTatadu91 ]
Bonjour,Voici un bon moment que je n'ai pas utilisé ni PHP ni MySQLet je me retrouver eprdu pour un truc tout simple: insérer des champs dans une tabl
Valeur formulaires dans une boucle [ par nanti ]
Bonsoir, Je souhaite concevoir un back-office et pour cela, j'ai généré un formulaire récupérant les valeurs de ma bdd dans les différents champs et
Espace Membre [ par jackdaniel9 ]
J'ai ce code pour commencer la session d'un membre : [code=php] Allo-money.com <!-- body,td,th { font-family: A
php [ par sheryl22 ]
voila c est page d insertion qui peut lire depius une autre table aussi je pense q u il lui manque klk chose j arrive pas a trouve le prob help me p
calcul par annee [ par tchaw ]
bonjour, bonjour je veux calculer la total d'un somme d'un champs(MTTC) du table (vente) à chaque année dans MYSQL et je veux afficher le résultat dan
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|