2016-03-30 26 views
0

ben ... PHP'de kıvrılıp yeniyim ve ben sadece PHP içine bu bukle komutu dönüştürmek için nasıl merak ediyorum: Şu anda varCurl, dizi PHP muhtemelen basit bir cevabı

curl https://ancient-test.chargebee.com/api/v1/portal_sessions \ 
    -u test_rdsfgfgfddsffds: \ 
    -d customer[id]="EXAMPLE" \ 
    -d redirect_url="https://yourdomain.com/users/3490343" 

:

{ "hataları": [{ "mesaj":

$post_data['customer']['id'] = "EXAMPLE"; 
$post_data['redirect_url']  = "http://" . SITE_URL . "/myaccount/"; 
$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,"https://ancient-test.chargebee.com/api/v1/portal_sessions"); 
curl_setopt($ch,CURLOPT_USERPWD,"test_rdsfgfgfddsffds:"); 
curl_setopt($ch,CURLOPT_POST,1); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data); 
$output = curl_exec($ch); 
curl_close($ch); 

Ama hata mesajı "gönderirken hatalar var"}, { "param": "müşteriyi [kimlik ] "," iletisi ":" bla olamaz nk "}]}

Yardımlarınız için teşekkürler! Burada bukle kullanma

Oca

+0

'$ müşteri ['id']' boş mu? – Kisaragi

+0

Projenizde Doktrin kullanıyor musunuz? – Tobias

+0

php'nin kıvrım uzantısı çok boyutlu dizileri (afaik) işlemez. Curl_setopt ($ ch, CURLOPT_POSTFIELDS, http_build_query ($ post_data)); veya ilk boyut dizi anahtarını el ile oluşturmalısınız. Ancak, geçerli kodunuz diziden dizeye dönüştürme uyarısı oluşturmalıdır. Gösterilen kodun test ettiğinizden emin misiniz? – Rangad

cevap

-1

muhtemelen cevap Posting with PHP and Curl, deep array

$post_data['customer[id]'] = "EXAMPLE"; 

Guzzle hayatınızı yapacak PHP'de müthiş bir HTTP istemci kitaplığı sarma bukle olan var

:) Böyle daha kolay V6 guzzle ile php kodunuz şöyle görünecektir:

$client = new GuzzleHttp\Client(); 
$res = $client->request('POST', 'https://ancient-test.chargebee.com/api/v1/portal_sessions', [ 
    'auth' => ['test_rdsfgfgfddsffds', 'password'], 
    'json' => [customer => [id => 'EXAMPLE']] 
]); 
+0

Guzzle'ı kullanmayı çok isterdim, ancak paylaşımlı bir barındırma ortamında sahip olmadığım Composer ... gerektirir. –

+0

Cevabımı güncelledim, denedin mi? – olaurendeau