2015-09-02 89 views
1

我有鏈接../index.php?id=1相處參數。當用戶訪問此頁面時,他可以將他發佈的文章的時間延長他輸入的天數。我需要得到這個項目的ID從GET參數,但是當我提交表單鏈接變成只是../index.php沒有任何得到的參數。有什麼辦法可以提交表單而不會丟失get參數,或者類似的東西。形式:閱讀與submiting形式

<form action="index.php" method="post"> 

Enter number of days: 
<input type="text" name="days"> 
<input type="submit" name="submit" value="Submit"> 

</form> 
+1

'

' – Saty

回答

2

POST方法可具有GET參數。它們不是相互排斥的。

<form action="index.php?id=1" method="post"> 

對於您的具體情況:

<form action="index.php?id=<?= $_GET['id']?>" method="post"> 

當然,id在GET參數可以從$_GET訪問。

<?php 
/** 
    * Submit action target page (index.php in this case) 
    */ 

$id = $_GET['id']; // GET params 
$days = $_POST['days']; // POST params 
?> 
+0

謝謝,它有幫助。 –

0

更改窗體的方法獲取,你會得到$_GET['days']天變量。否則,您可以使用$_POST['days']獲得天數。

爲了保持GET參數,您可以在表單生成過程中的隱藏字段添加到窗體。

<form action="index.php" method="get"> 

Enter number of days: 
<input type="text" name="days"> 
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"> 
<input type="submit" name="submit" value="Submit"> 

</form> 

但是,請注意,它將不安全,因爲用戶可以在表單提交過程中修改它。