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

  • 8bitdigitaltv

    8bitdigitalt

    31 AĞUSTOS 2011
  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009