2012-07-25 82 views
0

我正在努力解決以前從未遇到的問題。我在頁面上有一個表單,通過POST將其數據提交到另一個頁面,但數據未到達其他頁面。如果我在頁面頂部用表格將action=""然後var_dump()打印出來,則POST數據將打印出正常,但如果我製作action="http://localhost/dir/"並將var_dump()置於該頁面的頂部,則會打印出array empty。究竟是什麼導致了這種行爲?我該如何調試?我迷路了。表單數據無法發佈到其他頁面

形式:在index.php文件頂部

<form id="form" method="post" action="http://localhost/dir"> 
    <input type="hidden" name="id" value="19"> 
    <select style="width: 60px;" name="number"> 
     <option value="1">1</option><option value="2">2</option><option value="4">4</option> 
    </select> 

    <input type="submit" class="input_submit" value="Submit" id="submitButton"> 
</form> 

代碼:

var_dump($_POST);die(); 
+0

當專家到達時,動作路由的文件名是什麼?索引文件? – manix 2012-07-25 02:38:30

+0

@Nate爲什麼你想要這樣的路徑?爲什麼不把文件名稱? – itsols 2012-07-25 02:43:32

+0

@manix - 是的,'index.php' – Nate 2012-07-25 02:44:21

回答

1

要發佈數據到一個網頁,是在不同的目錄中,使用相對路徑。

例如,考慮這一點。 DirSub1和DirSub2處於同一級別,它們都在DirTop中。

  • DirTop
  • DirSub1
  • DirSub2

現在,如果你的表格是在目錄DirSub1,你需要將它張貼在DirSub2到x.php,你寫的action屬性喜歡此:

行動= 「../ DirSub2/x.php」

希望這可以解決您的問題。

+0

喜歡itsols。我不想在URL中包含文件名,因爲那麼用戶會在url中看到'x.php',而不僅僅是目錄。您的評論激發了我開始討論URL的問題,並且我發現在操作URL末尾附加一個斜槓會導致數據被張貼,但沒有斜槓,也沒有數據。爲什麼會這樣? – Nate 2012-07-25 20:39:26

+0

我不知道爲什麼在你的情況下,但通常情況下,我認爲斜線表示目錄的結尾,然後尋找明顯的第一件事是索引或主要。因此,這可能是您的數據以斜線發佈的原因。也許這可以在Apache或Web服務器上配置。 – itsols 2012-07-26 08:23:42

+0

我想要做的就是不顯示與實際文件的交互,你有一個簡單的選擇。提交到相同的文件,然後執行服務器端重定向來執行處理,然後將用戶帶到不同的着陸頁。這樣,用戶將不知道他經歷了哪些地方。但這很奇怪你爲什麼要隱藏它。 – itsols 2012-07-26 08:25:21

1

嘗試

<form id="form" method="post" action="../dir/index.php"> 
    <input type="hidden" name="id" value="19"> 
    <select style="width: 60px;" name="number"> 
     <option value="1">1</option><option value="2">2</option><option value="4">4</option> 
    </select> 

    <input type="submit" class="input_submit" value="Submit" id="submitButton"> 
</form> 

假設「DIR」目錄是出側包含該形式的文件的目錄。

+0

嗨asprin。我不想在URL中包含文件名,因爲那麼用戶會在url中看到'x.php',而不僅僅是目錄。您的評論激發了我開始討論URL的問題,並且我發現在操作URL末尾附加一個斜槓會導致數據被張貼,但沒有斜槓,也沒有數據。爲什麼會這樣? – Nate 2012-07-25 20:39:49

+0

我不確定我是否知道確切的答案,但如果您不希望用戶在地址欄中看到文件名,則可以從'x.php'中刪除.php擴展名,以便用戶看起來像就像一個目錄'/ x'。如果您在Linux服務器上,或者在Windows服務器上使用web.config重寫URL,請使用.htaccess查看URL重寫。 – asprin 2012-07-25 23:02:10

相關問題