kıvırmak php url değerini geçmek için nasıl

2 Cevap php
$description = "some test data and url";
$description .="http://www.mydata.com?test=1&user=4&destination=645&source=stackoverflow";

curl_setopt($sch, CURLOPT_URL, "myserverurl");
curl_setopt($sch, CURLOPT_HEADER, 0);             
curl_setopt($sch, CURLOPT_POST, true);
curl_setopt($sch, CURLOPT_RETURNTRANSFER , 1);
curl_setopt($sch, CURLOPT_POSTFIELDS, "orgid=$orgid&description=$description&external=1");
curl_setopt ($sch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($sch, CURLOPT_SSL_VERIFYPEER, 0);

i sunucu (myserverurl) kontrol zaman.

Ben gibi açıklama alanını görebilirsiniz

"Bazı test verileri ve url http://www.mydata.com?test=1".

i sonra açıklama kayıp '&'

evet, biz curl ile göndermeden önce url kodlamak, ama bu üçüncü parti API sunucusuna yeniden url çözmek için erişim yok

2 Cevap

Eğer urlencode the value Her parametrenin ne gönderirken?

Sen diğer tarafta çözme konusunda endişelenmenize gerek yok: bu GET / POST ile veri göndermenin standart yolu

Gibi bir şey:

curl_setopt($sch, CURLOPT_POSTFIELDS, 
    "orgid=" . urlencode($orgid) 
    . "&description=" . urlencode($description) 
    . "&external=1"
);

Bu işe yaramazsa, rawurlencode ile deneyin? (Eğer doğru hatırlıyorum alanlar için bir fark var)

Kolay. Girildikten sonra sadece geçerli URL alabilirsiniz.

Yani girerseniz

http://www.mydata.com?test=1&user=4&destination=645&source=stackoverflow

Eğer çok kolayca echo, (I mydata.com sunucu olduğunu varsayıyorum):

$url = str_replace("?","",$_SERVER['REQUEST_URI']);
echo $url;

Ve yukarıdaki yankı vermelidir:

test=1&user=4&destination=645&source=stackoverflow

O andan itibaren, sadece ya da veritabanına tüm dizeyi kaydedebilir, ya da either $_SERVER['test'] ile bağımsız değişkenler (test, kullanıcı, hedef, kaynak) kaydedebilir, ya da, bunların sayısı değişir, bunları patlayabilir & karakteri ile dinamik olarak onları kurtarmak için.