pb de magic_quotes_gpc
Posté : 14 oct. 2010, 23:08
Bonjour tout le monde !
Dans uns script qui effectue une modif dans une base de données à partir du post d'un formulaire, je fais la chose suivante :
- un test pour savoir si les magic_quotes sont à on ou à off
- si off, j'échappe d'éventuelles apostrophes avec addslashes, et si on, j'envoie la modif sur les valeurs tels quelles.
Ca donne ceci :
Par contre chez mon hébergeur, magic quotes est à On. Pourtant, l'échappement automatique qui devrait avoir lieu ne se fait pas.
Du coup, sur toutes les chaînes de caractères avec des apostrophes, forcément, ça marche pas....
J'ai essayé de mettre un ini_set('magic_quotes_gpc', 'Off'); pour forcer le passage par addslash, ça ne marche pas mieux...
Quelqu'un aurait une idée ?
Merci !!
Z
Dans uns script qui effectue une modif dans une base de données à partir du post d'un formulaire, je fais la chose suivante :
- un test pour savoir si les magic_quotes sont à on ou à off
- si off, j'échappe d'éventuelles apostrophes avec addslashes, et si on, j'envoie la modif sur les valeurs tels quelles.
Ca donne ceci :
if (isset($_POST["envoyer"])) {
if (!get_magic_quotes_gpc()) {
$nomdept = addslashes($dept[$_POST["dept"]]);
$_POST["nom"] = addslashes($_POST["nom"]);
$_POST["zone"] = addslashes($_POST["zone"]);
} else {
$nomdept = $dept[$_POST["dept"]];
}
$reqmodif = "UPDATE ".$table." SET
`nom` = '".$_POST["nom"]."',
`nomdpt` = '".$nomdept."',
`zone` = '".$_POST["zone"]."',
WHERE `num` = ".$nsel;
}
En local ça marche très bien, mes magic quotes sont à off, donc tout est échappé à la main.Par contre chez mon hébergeur, magic quotes est à On. Pourtant, l'échappement automatique qui devrait avoir lieu ne se fait pas.
Du coup, sur toutes les chaînes de caractères avec des apostrophes, forcément, ça marche pas....
J'ai essayé de mettre un ini_set('magic_quotes_gpc', 'Off'); pour forcer le passage par addslash, ça ne marche pas mieux...
Quelqu'un aurait une idée ?
Merci !!
Z