SORU
17 Ocak 2012, Salı


PHP "://php giriş" vs $_POST

Ajax ile JQuery istekleri etkileşim yöntemi php://input $_POST yerine kullanmaya yönelik olmuştur. Anlamıyorum ne bu vs $_POST $_GET küresel yöntemini kullanmanın yararları.

CEVAP
17 Ocak 2012, Salı


Nedeni php://input istek HTTP başlıkları, içerik türü ne olursa olsun sonuçta ham verileri döndürür.

PHP superglobal* *7, sadecegerekiyorduya veri sarın

  • application/x-www-form-urlencoded (basit standart içerik türü-mesaj formu)
  • multipart/form-data-kodlanmış (genelde dosya yükleme için kullanılır)

Bu must be supported by user agents sadece içerik türleri vardır çünkü. Sunucu ve PHP, geleneksel olarak, herhangi bir diğer içerik türü bulamaz anlamına gelmez) almak için beklemeyin.

Sadece iyi bir HTML YAZI eğer form istek, bu gibi görünür:

POST /page.php HTTP/1.1

key1=value1&key2=value2&key3=value3

Ama eğer çalışma ile Ajax bir sürü, bu probaby de içerir alışverişi daha karmaşık veri türleri (string, int, bool) ve yapılarını (diziler, nesneler), bu yüzden çoğu durumda JSON olduğunu en iyi seçim. Ama JSON-yük bir istek bu gibi bir şey olacaktır:

POST /page.php HTTP/1.1

{"key1":"value1","key2":"value2","key3":"value3"}

İçeriği şimdi application/json (ya da en azından hiçbiri söz) olur, $_POST-poşetiydi PHP (henüz) işlemek için nasıl bilmiyor.

Veri hala orada, sadece sarıcı ile erişemiyorum. Gidip kendin içinfile_get_contents('php://input') raw formatı(as long as it's not multipart/form-data-encoded)sana çok ihtiyacım var.

Bu XML veri veya standart olmayan herhangi bir diğer içerik türü erişiminin nasıl da.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Avast

    Avast

    27 NİSAN 2006
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012