Le plus simple pour désactiver les magic_quotes_gpc une bonne fois pour toute si jamais tu n'as pas accès au php.ini, c'est de placer ce bout de code dans le fichier qui est systématiquement inclus dans toutes tes pages avant toute autre exécution (on a toujours un «inc/common.php» pour cet usage) :
Code PHP :
<?php
if(get_magic_quotes_gpc()) {
foreach ($_GET as $i => $value) if (is_string($value)) $_GET[$i] = stripslashes($value);
foreach ($_POST as $i => $value) if (is_string($value)) $_POST[$i] = stripslashes($value);
foreach ($_COOKIE as $i => $value) if (is_string($value)) $_COOKIE[$i] = stripslashes($value);
}
Comme ça tu n'as plus à t'en préoccuper, par contre évidemment c'est dommage ces ressources perdues trois fois : une fois par l'option qui fait un addslashes, et une fois par le script qui fait des stripslashes, puis une troisième fois par le script qui refait un addslahes via mysql_real_escape_string(), mais on n'a hélas pas bien le choix.