سؤال

يمكن شخص من فضلك قل لي أين هو الخطأ في هذا الرمز ؟ ، يمكنني استخدام الهاتف المحمول اي فون التطبيق استدعاء البرنامج النصي php ثا سوف ترسل المعلومات إلى أبل.أبل ثم العودة سلمان كائن يحتوي على العديد من القيم في مجموعة النقابي.

أريد أن أصل إلى 'حالة' القيمة ولكن في كل مرة أقوم بتشغيل التعليمات البرمجية في الهاتف, php النصي يرسل لي كاملة أبل عاد السلسلة.في كسكودي المصحح تلقى سلسلة تبدو مثل:

[DEBUG]...responseString :{"الإيصال":{"item_id":"328348691", "original_transaction_id":"1000000000081203", "bvrs":"1.0", "product_id":"julia_01", "purchase_date":"2009-10-05 الساعة 23:47:00 الخ/بتوقيت غرينتش", "كمية":"1", "عطاء":"com.latin3g.chicasexy1", "original_purchase_date":"2009-10-05 23:47:00 الخ/بتوقيت غرينتش", "transaction_id":"1000000000081203"}, "المركز":0}

ولكن فقط قطعة يهمني في السلسلة هو "حالة" قيمة.لقد بدا بالفعل داخل الوثائق ولكن لا يمكن العثور على حل.أنا جديد في php ولكن هذا الحصول على فترة طويلة جدا.هنا البرنامج النصي:

<?php
//The script takes arguments from phone's GET call
$receipt = json_encode(array("receipt-data" => $_GET["receipt"]));

//Apple's url
$url = "https://sandbox.itunes.apple.com/verifyReceipt";

//USe cURL to create a post request
//initialize cURL
$ch = curl_init();

// set the target url
curl_setopt($ch, CURLOPT_URL,$url);

// howmany parameter to post
curl_setopt($ch, CURLOPT_POST, 1);

// the receipt as parameter
curl_setopt($ch, CURLOPT_POSTFIELDS,$receipt);

$result = curl_exec ($ch);
//Here the code "breaks" and return the complete string (i've tested that)
//and apparently doesn't get to the json_decode function (i think something's wrong there, so code breaks here)
curl_close ($ch);

$response = json_decode($result);   

echo $response->{'status'};


?>

حتى لو كنت لا تضع أي صدى في نهاية البرنامج النصي لا يزال يعود كاملة سلسلة (الغريب بالنسبة لي)

شكرا مقدما و apollogies إذا أصر مرة أخرى من سؤال آخر

هل كانت مفيدة؟

المحلول

حاول إعداد RETURNTRANSFER الخيار 1 حتى تتمكن من التقاط الإخراج من عنوان URL المطلوب كسلسلة.يبدو أن السلوك الافتراضي حليقة هو إخراج النتيجة مباشرة إلى المتصفح:

...
$ch = curl_init();

// set the target url
curl_setopt($ch, CURLOPT_URL,$url);

// howmany parameter to post
curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // <---- Add this


// the receipt as parameter
curl_setopt($ch, CURLOPT_POSTFIELDS,$receipt);
...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top