2013-02-11 68 views
3

我正嘗試在PHP中創建表單創建器。這是其中之一非常愚蠢的「需要再看一眼」的問題。我知道這個表單應該可以工作,但它根本不會發送任何$ _POST值。這是代碼。

<form method="post" action="http://projects.zesty-designs.co.uk/orderform" class="generatedform"> 
<label>Ebay Username</label><br /> 
<input type="text" name="ebay_username" value="" /><br /> 
<label>Email Address</label><br /> 
<input type="text" name="email_address" value="" /><br /> 
<label>Full Name</label><br /> 
<input type="text" name="full_name" value="" /><br /> 
<input type="submit" value="Submit" /><input type="reset" value="Start Again" /> 
</form> 

這是實時鏈接,如果有人想嘗試一下。 http://projects.zesty-designs.co.uk/orderform

+1

該HTML代碼沒有錯。它應該工作。服務器可能是重定向到另一個頁面,這意味着一個GET並丟失所有發佈的數據? – 2013-02-11 20:38:57

+0

嘗試通過完整的網址,http://projects.zesty-designs.co.uk/orderform/index.php – Afsar 2013-02-11 20:40:12

+0

感謝您的這種快速響應。我嘗試將操作更改爲「./」,並且它看起來工作得很好。所以也許這個網址有問題?我需要完整的網址,因爲我會將此表單放在外部網頁上。 – 2013-02-11 20:40:16

回答

2

看起來像大多數的意見是正確的。

似乎發送信息的URL需要尾部斜槓/或對直接文件的引用。

感謝您的回覆。

1

嘗試在action方法中傳遞完整的url;

http://projects.zesty-designs.co.uk/orderform/index.php 
0

您應該添加後綴.PHP喜歡動作=「domain.com/somepage.php」(如果它實際上是一個文件名)

+0

如果OP使用URL重寫,那麼'.php'應該或不應該基於他的規則存在。我們不能認爲這是需要的,因爲在這種情況下可能不需要。 – War10ck 2013-02-11 20:54:41

+0

這就是爲什麼我加了「如果它實際上是一個文件名」 – Yaakov 2013-02-11 20:57:50

0

嘗試escape your caracters像這樣:

http:\/\/projects.zesty-designs.co.uk\/orderform

反斜槓字符有幾種用途。首先,如果它後面跟着一個非字母數字字符,它將帶走字符可能具有的任何特殊含義。將反斜槓用作轉義字符既適用於內部字符類,也適用於外部字符類。

檢查鏈接瞭解更多信息:Escape sequences @ Php.net Manual

基本上在PHP你\字符用於echo'ing出標誌或轉義字符

0

我是有傳統的ASP完全相同的問題。 我有IIS規則重寫和web.config中設置如下:

<rule name="arulename"> 
<match url="somematch" /> 
<conditions> 
    <add input="{REQUEST_METHOD}" matchType="Pattern" pattern="POST" negate="false" /> 
</conditions> 
<action redirectType="Temporary" type="Rewrite" url="someurl" /> 
</rule> 

我的問題是,當我點擊提交按鈕,表單沒有提交。我的表單是完美的動作=「http://website.extension/someshorturl」,但沒有發佈數據。 換句話說,一切都是正確的,但發佈的數據丟失或丟失,沒有配置或編碼錯誤。我發現的是,因爲我已經設置了我的服務器本身,該域使用www。前綴,它重定向了沒有www的所有內容。先加前綴。我只是不得不改變我的表單來說action =「http://www.website.extension/someshorturl」,並且發佈了數據。

如果有人遇到同樣的問題,我希望這能幫助他們。

我搜索高和低,使用「POST DATA BEING LOST」並沒有得到任何幫助,直到我來到這裏,這指出我的問題。