If you have access to the php.ini of your webserver, the best thing would be to disable magic_quotes at all, because they are deprecated:
; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off
If you don't have server access, use a .htaccess file with the following option
php_flag magic_quotes_gpc Off
If you don't want to use that, the last thing that remains is using an unescape function such as
function ref_stripslashes(&$value,$key) {
$value = stripslashes($value);
}
if((function_exists("get_magic_quotes_gpc") && get_magic_quotes_gpc()) || (ini_get('magic_quotes_sybase') && (strtolower(ini_get('magic_quotes_sybase'))!="off")) ) {
array_walk_recursive($_GET,'ref_stripslashes');
array_walk_recursive($_POST,'ref_stripslashes');
array_walk_recursive($_COOKIE,'ref_stripslashes');
}
This was taken from the php manual, Lucifer's comment
json_decode($_POST['json_string'])
should then work.
var_dump($_POST['json_string'])
give you, orvar_dump($_POST)
for that matter? – deceze Dec 23 '12 at 8:20