2013-06-20 56 views
0

我試圖張貼表單到一個URL如下,但它只是抹表格和單擊提交時不發佈任何東西。

任何想法?我看不到任何錯誤,所以需要另一套眼睛。

<form class="form-inline" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<input type="text" name="code" class="input" placeholder="Enter Passcode Here.."> 
<button type="submit" class="btn">Submit</button> 
</form> 

如果我把12345667890在代碼輸入,然後點擊提交,我希望的URL顯示 www.domain.com/index.php?code=1234567890。這不會發生,它只是抹去窗體並加載www.domain.com/index.php

+1

您的表單操作會將數據發送回自己。那是你想要做的嗎? – andrewsi

+0

是的,我要從網址獲取數據,但目前它甚至不會發布到它。 – K20GH

+0

add method =在代碼頂部獲得 – VeNoMiS

回答

1

在使用passcode.php作爲文件名,示例輸入爲12345,將按預期輸出: http://www.example.com/passcode.php?code=12345

這裏的全面測試和工作代碼:

<form class="form-inline" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<input type="text" name="code" class="input" placeholder="Enter Passcode Here.."> 
<button type="submit" class="btn">Submit</button> 
</form> 

您必須使用GET方法來實現這一目標,不POST

呼應URL的滿弦,使用以下命令:

<?php 

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
echo $url; 

?> 

<form class="form-inline" method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
<input type="text" name="code" class="input" placeholder="Enter Passcode Here.."> 
<button type="submit" class="btn">Submit</button> 
</form> 

在使用12345作爲輸入,將輸出(回聲):http://www.example.com/passcode.php?code=12345

+0
+0

@Quentin True,將編輯我的答案。 –

+0

@Quentin - 編輯。 –

0

此時窗體完全按照您的要求進行操作。 它將表單提交到同一頁面。然後你不會對帖子數據做任何事情。腳本只是再次返回相同的HTML。

+0

雖然我發佈數據,所以它應該發佈到URL。如果使用代碼1234567890,它應該發佈https://domain.com/submit.php?code=1234567890。它不,它只是抹去表格和URL保持爲https://domain.com/submit.php – K20GH

+1

更改方法=發佈到方法=得到 –

+2

閱讀我的評論你正在使用方法=發佈沒有得到 – VeNoMiS

2

您的形式是method="post"

POST數據被編碼到HTTP請求的正文中,而不是寫入URL中。它仍然可以被表單提交到的服務器端腳本訪問。

如果您希望數據顯示在URL中,請使用method="GET"

(但請參閱the specification,爲什麼您應該使用POST或GET並使用這些來決定您應該使用哪個)。