2015-12-02 38 views
0

我在頁面上有兩種形式 - 一種POSTs到同一個文件,另一種POSTs到另一個文件。成功提交POST頁面和關聯的VarDump時,第一種形式會給出預期值,但第二種腳本無法成功發送到下一頁。PHP - 簡單的POST不起作用,但GET做

的形式是相同的:
表1

<form action="" method="POST"> 
    <input type="text" value="stuff" name="test" /> 
    <input type="submit" value="see test" name="testsubmit" /> 
</form> 

表2

<form name="stuff" action="../artwork" method="post"> 
    <input type="text" value="stuff" name="test" /> 
    <input type="submit" value="next" name="submit" /> 
</form> 

數據使用GET時在另一端接收的;只有POST不起作用。 在我被問到之前 - 其他POST表單在幾乎相同的條件下在服務器上工作,只是這種表單不起作用。

+2

你的頁面真的是'../ artwork'還是irt有文件擴展名?查看錯誤日誌。 –

+0

把你的代碼放在後端-php服務器上。 –

+0

這實際上是'.../artwork',另一個腳本處理頁面並刪除.php擴展名。 – CrabLab

回答

-1

這實際上被證明是一個非常奇怪的服務器問題,即POST被「封殺」不知何故。我們不知道如何在Apache中允許它,並在PHP中啓用,我們認爲這是與頁面加載的方式有關(例如POST在某個完全不同的目錄中工作的頁面)。

解決方案:使用會話和GET。

-1

action="../artwork" 您正在瀏覽文件的擴展名。它應該是artwork.php,並檢查上層文件夾中是否有一個artwork.php文件。

+0

文件擴展名不是嚴格要求的,不一定是問題所在。 – user151841

+0

是的你是對的,這不是必需的。但是如果你考慮問題的性質,你認爲RewriteCond是寫在他的案例中嗎? – fatihn

+0

OP說:「這是真的...... /藝術品,另一個腳本處理頁面並刪除.php擴展名」〜在答案前40分鐘。 – user151841

-1

嘗試使用大寫字母method值。

<form name="stuff" action="../artwork" method="POST">

+0

我嘗試過的第一件事並沒有什麼區別 – CrabLab