4

javascriptを使用して電子メールアドレスの配列をjson文字列にエンコードし、ajaxを使用してabc.phpに送信する必要があります。abc.phpでは、それをデコードして、その配列内のすべてのアドレスに電子メールを送信する必要があります。

現在、私は配列をjsonにエンコードしています

var json_string = JSON.stringify(myarray);

abc.phpで私はそれを使用してデコードしています

$emails = json_decode($_POST['json_string']);
// json_string was passed as POST variable using ajax

ただし、印刷するとNULLになります。

どうすればそれをデコードしてphpファイルの個々のメールにアクセスできますか

4

1 に答える 1

3

Web サーバーの php.ini にアクセスできる場合、magic_quotes は非推奨であるため、まったく無効にすることをお勧めします。

; 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

サーバーにアクセスできない場合は、次のオプションを指定して .htaccess ファイルを使用します。

php_flag magic_quotes_gpc Off

それを使いたくない場合、最後に残るのは、次のような unescape 関数を使用することです。

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');
}

これはphpマニュアル、ルシファーのコメントから取られました

json_decode($_POST['json_string'])その後、動作するはずです。

于 2012-12-23T09:52:10.267 に答える