Bonjour,
J'ai un problème avec l'utilisation de mysql_real_escape_string sur un tableau expédié via $_POST[].
C'est simple, j'ai plusieurs checkbox :
Quand le formulaire est envoyé, à réception, je cherche à le filtrer avant d'utiliser son contenu dans une requête sql (question de sécurité, bien sûr).
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="checkbox" name="supprimer[]" value="'.$R[id].'">
Donc je fais ça :
La requête sql, c'est ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $_POST['supprimer']= htmlentities(mysql_real_escape_string($_POST['supprimer']));
Donc la requête fonctionne bien si je supprime le filtre par mysql_real_escape_string, mais si je le laisse j'obtiens les erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT id FROM messagerieRecu WHERE id IN (".implode(',', $_POST["supprimer"]).")
Le problème bien sûr c'est que je dois filtrer ma variable $_POST[supprimer] avant de l'utiliser dans la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in /home.2/site/www/messages-recus.php on line 35 Warning: implode(): Bad arguments. in /home.2/site/www/messages-recus.php on line 36 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home.2/site/www/messages-recus.php on line 39 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home.2/site/www/messages-recus.php on line 44
Alors comment puis-je faire ici svp ?
Partager