2009-11-15 40 views
7

'da veri olduğunda, hem $ _GET hem de $ _POST veri elde etmek mümkün mü? Ve bu, $ _REQUEST cinsinden ne ile ilgilidir?

cevap

16

Evet, mümkün. Bu formu, $_GET["a"] == "123", $_GET["b"] == "456", $_POST["a"] == "llama", $_POST["b"] == "duck" ve $_POST["go"] == "Submit me!" göndererek On

<form action="foobar.php?a=123&b=456" method="post"> 
    <input type="text" name="a" value="llama"> 
    <input type="text" name="b" value="duck"> 
    <input type="submit" name="go" value="Submit me!"> 
</form> 

: buna benzer bir form düşünün. the php.ini documentation açıkladığı gibi bu $_REQUEST süper küresel ilgilidir Nasıl

, request_order (veya daha eski variables_order) PHP yapılandırma ayarının değerine bağlıdır.

+0

Yani, bu bana 123 llamas ve 456 ördeklerimi masamdan kalkmadan görebilme olanağı veriyor! güzel. – Don

+0

Bu llamas ve ördekler söz konusu olduğunda yardım için mutlu. :) – bcat

1

Bu mümkündür. request_order veya (eğer bu ayarlanmamışsa) variables_order yönergesi, her ikisi de bir anahtar ayarlandığında, $_REQUEST'da hangisinin öncelikli olacağını belirler.

2

kesinlikle hem ... Aşağıdaki (çok basit) sayfasını düşünün veri olabilir: Formun action bir sorgu dizesi içerdiğini

<body> 
    <form method="post" action="params.php?myparam=myval"> 
    <input type="text" name="param1"></input> 
    <input type="submit" name="submit" value="submit" /> 
    </form> 
</body> 

Bildirim ve yöntem post olduğunu. $_GET$_POST formu params içeren, sorgu dizesi params içerir ve $_REQUEST hem dizilerden birleştirilmiş parametrelerini içerir: süper globaller $_REQUEST işlenir nasıl kontrol etmek için

array(3) { 
    ["myparam"]=> 
    string(1) "myval" 
    ["param1"]=> 
    string(0) "" 
    ["submit"]=> 
    string(6) "submit" 
} 

atın request_order.

0

PHP'de mümkündür, çünkü adlarına rağmen $ _GET ve $ _POST gerçekten bir GET veya POST'a ihtiyaç duymaz.

  • $ _GET, form kodlanmış değişkenler olarak ayrıştırılan querystring'i içerir.
  • $ _POST formu kodlanmış değişkenler

Fiili istek yöntemidir önemi yok olarak çözümlenen istek gövdesini içeren - bir PUT olabilir ve bu superglobals hala doldurulan olacaktır.

İlgili konular