0
public function run()
    {
        $postFields = 'cmd=_notify-validate';

        foreach($_POST as $key => $value)
        {
            $postFields .= "&$key=".urlencode($value);
        }

        $ch = curl_init();

        curl_setopt_array($ch, array(
            CURLOPT_URL => $this->_url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => $postFields
        ));

        $result = curl_exec($ch);
        curl_close($ch);

        $fh = fopen('result.txt', 'w');
        fwrite($fh, $result . ' -- ' . $postFields);
        fclose($fh);

        echo $result;
    }
}
?>

次のようなテキストファイルで結果を取得します。

?cmd=_notify-validate&test_ipn=1&payment_type=instant&payment_date=02:39:41 Oct 06, 2011 PDT&payment_status=Completed&address_status=confirmed&payer_status=verified&first_name=John&last_name=Smith&payer_email=buyer@paypalsandbox.com&payer_id=TESTBUYERID01&address_name=John Smith&address_country=United States&address_country_code=US&address_zip=95131&address_state= CA&address_city=San Jose&address_street=123, any street&business=seller@paypalsandbox.com&receiver_email=seller@paypalsandbox.com&receiver_id=TESTSELLERID1&residence_country=US&item_name=something&item_number=AK-1234&quantity=1&shipping=3.04&tax=2.02&mc_currency=USD&mc_fee=0.44&mc_gross=12.34&mc_gross_1=9.34&txn_type =web_accept&txn_id=41106939¬ify_version=2.1&custom=xyz123&charset=windows-1252&verify_sign=AB3bSjvFd3wXL7rCt.OOGW-nSKg-Ahh5RbboVG4bn9LSAon94Wjt2Oj9

この文字列をデコードして mysql データベースに入れるにはどうすればよいですか?

顧客の名、姓、住所、電子メール、アイテム番号、アイテム名、数量、配送、タイムスタンプをデータベースに入れる必要があります。コードをここまでたどり着きました。コードをデコードしてデータベースに取り込む方法を教えてください。ありがとう

4

3 に答える 3

0

& で文字列を展開して各パラメーターをその値で取得し、次に = で展開してキーと値を取得できます。

$params = explode('&', $result);

$paypal_result_arr = array();

foreach($params AS $param) {
   $param_arr = explode('=', $param);

   if(count($param_arr) == 2) {
       $paypal_result_arr[$param_arr[0]] = $param_arr[1];
   }
}

$paypal_result_arr 連想配列は、paypal から返されたすべての値を提供します。その後、コード $paypal_result_arr['first_name'] などを使用して名前を取得できます...

于 2013-04-18T02:51:12.810 に答える