2015-05-22 72 views
2

當我嘗試用這個結構:形式上的動作如何獲得價值?

<form name="confirm" method="get" accept-charset="utf-8" enctype="multipart/form-data" action="confirm_sent.php?name=<?PHP echo $name; ?>"> 
...........//sth doing at here 
<input type="submit" class="popUpButton" name="confirmButton" id="submitPage4" value="Confirm" /> 

這個名字是從URL中獲得:

http://localhost/reserve/app/confirm.php?name=$name 

但是,當我按一下按鈕confirmButton這將直接給confirm_sent.php 但那裏的URL的名稱的值不顯示只顯示此:

http://localhost/reserve/app/confirm_sent.php?confirmButton=Confirm 

所以,我想問它它是我的觀念錯了還是我做錯了?

感謝您的幫助/建議... :)

對不便之處,敬請原諒。

+0

你不能在'GET'請求中使用'multipart/form-data',只能'POST'。 – Barmar

+0

@Barmar意味着我需要更改爲POST 如果我更改爲POST的名稱的值不能正確嗎? –

+0

即使使用「POST」,URL參數始終位於'$ _GET'中。 – Barmar

回答

2

如果您使用method="GET",則不能將參數置於action URL中。您應該使用隱藏的輸入字段改爲:

<form name="confirm" method="get" accept-charset="utf-8" action="confirm_sent.php"> 
<input type="hidden" name="name" value="?PHP echo $name; ?>"> 

但是,如果你需要使用multipart/form-data,因爲你有一個文件輸入,您不能使用method="GET",你必須使用method="POST"。在這種情況下,您可以在URL中或隱藏字段中輸入參數。

<form name="confirm" method="post" accept-charset="utf-8" enctype="multipart/form-data" action="confirm_sent.php?name=<?PHP echo $name; ?>"> 

name的參數將在$_GET['name'],所有的其它輸入將在$_POST(除文件的輸入將在$_FILES)。

+0

謝謝!它的工作~~~ :) –