2011-08-02 18 views
5

Mam formularz w jednym pliku, który przesyłam za pomocą metody POST. W pliku do działania formularza używam $_SERVER['REQUEST_METHOD'] === 'POST', ale wykonanie zrzutu var z $_SERVER['REQUEST_METHOD'] pokazuje 'GET'.Metoda żądania serwera PHP

Czy wiesz, jak to się dzieje? Formularz jest w iframe z src = 'targetfile.php?id=30' tak kod wygląda mniej więcej tak:

<iframe src="targetfile.php?id=30"> 
    <form method="post" action="targetfile.php" target="credit_results"> 
     <input type="hidden" name="pid" id="hidden_pid" value="30" /> 
     <input type="text" class="std_grey" name="first_name_info" id="first_name_info"/> 
    </form> 
    <iframe name="credit_results" id="credit_results" scrolling="no" frameborder="0" width="960" height="1200"></iframe> 
</iframe> 
+0

Sprawdź, czy masz zarówno GET i wartości POST (również przekazać param wchodzić w iframe) . Nie mam wiele pracy z ramkami iframe ... –

+0

Czy var_dump() pokazuje "GET", gdy element iframe najpierw ładuje się, jak należy się spodziewać, aw dzienniku to jak, kiedy formularz wraca do siebie? –

+0

'targetfile.php' jest używany zarówno w kontekstach GET, jak i POST. Element iframe żąda pliku z GET, ale również przesyła się do siebie. Czy możesz pokazać swój kod? –

Odpowiedz

3

Ponieważ targetfile.php jest coraz zarówno GET i POST z uwagi na fakt, że jej wpis z powrotem do siebie i pierwotnie załadowanego zapytaniu GET , Zaleciłbym zmianę twojego php by sprawdzić konkretne zmienne $ _POST zamiast REQUEST_METHOD.

Do debugowania var_dump($_POST); powinno pokazać, że rzeczy tam są.

do faktycznego wykorzystania

if(!isset($_POST['varYouNeed'])) die('Missing varYouNeed variable'); 
+0

tak właśnie bym pomyślał, ale zmienna $ _POST wraca pusta –

+0

Zmienna $ _POST jest pusta, gdy element iframe najpierw ładuje się I kiedy formularz wraca do siebie? Czy możesz pokazać nam więcej html z iframe i formularza? –

+0

yes w obu przypadkach wyświetlana jest zmienna GET, ale nie zmienna POST z formularza –

-2

zmiana:

$_SERVER['REQUEST_METHOD'] === 'POST' 

do

$_SERVER['REQUEST_METHOD'] == 'POST' 
Powiązane problemy