2011-08-02 63 views
5

我在一個文件中使用方法POST提交表單。在表單操作的文件中,我使用$_SERVER['REQUEST_METHOD'] === 'POST',但執行$_SERVER['REQUEST_METHOD']的var轉儲顯示'GET'PHP服務器請求方法

任何想法如何發生這種情況?該形式是src = 'targetfile.php?id=30'一個iframe中,使代碼看起來是這樣的:

<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

檢查,如果你有GET和POST值(也通過在iframe一個get PARAM) 。我沒有用iframes工作過很多... –

+0

當iframe第一次加載時,var_dump()顯示'GET',應該如預期的那樣,並且在日誌中顯示錶單何時提交回自己? –

+0

'targetfile.php'正在GET和POST上下文中使用。 iframe使用GET請求文件,但它也會提交給自己。你能顯示你的代碼嗎? –

回答

3

因爲targetfile.php越來越GET和POST由於其張貼回到本身原先裝有一個GET查詢的事實,我會建議改變你的PHP來檢查特定的$ _POST變量,而不是REQUEST_METHOD

對於調試var_dump($_POST);應該顯示的東西在那裏。

在實際使用

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

這就是我會想到的,但$ _POST變量回來了空 –

+0

當iframe第一次加載和表單提交回自己時,$ _POST變量爲空?你能告訴我們更多的iframe和窗體的HTML? –

+0

是在這兩種情況下GET變量顯示,但不是形式 –

-2

變化:

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

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