2014-09-12 80 views
0

在這個頁面:page.php?id=value雙獲取發送數據

我有這個網站的代碼:

<form action="" method="get"> 
<input type="text" name="key" /> 
<input type="submit" name="send /> 
</form> 

它重定向我:page.php?key=value,我想重定向到:page.php?id=value&key=value,我怎麼能做到這一點?我必須使用PHP將它重定向到這個頁面?

+0

*洞察* => ['key'(HTTP://dev.mysql。 com/doc/refman/5.5/en/reserved-words.html) - *「這是一個搜索系統」* – 2014-09-12 18:00:08

回答

0

在你的形式把你想要的一切下一頁:

<form action="page.php" method="get"> 
<input type="text" name="id" value="<?php echo $_REQUEST['id'];?>" /> 
<input type="text" name="key" /> 
<input type="submit" name="send /> 
</form> 

真的不過,你應該使用POST發送數據,而上面的代碼是不安全的(允許任何一個網址輕鬆最後可能會產生一些SQL注入或XSS類型的問題

+0

SQL注入在這裏不是問題,但是您能否修復XSS漏洞? :) – PeeHaa 2014-09-12 17:58:37

+0

這是一個搜索系統,我控制,所以你;) – Carbos 2014-09-12 17:58:45

0

您需要將窗體的操作設置爲您希望提交給它的頁面,如果它是空白的,它會提交到同一頁面。

<form action="page.php?id=value&key=value" method="get"> 
<input type="text" name="key" /> 
<input type="submit" name="send /> 
</form> 
+0

@BhaveshGangani其實是的,你可以。這是非常可能的,我經常使用的工具。在投票答覆之前對其進行測試。 '<?php echo $ _GET ['fromform']; ?>

' – 2014-09-15 16:15:25

+0

Opp。正在請求表單的'method = get'解決方案..在你​​的示例中註釋它的'method = post'。 'GET'方法拒絕正在查詢字符串中使用的變量。 – 2014-09-15 18:47:54

+0

如果form的方法是'GET',那麼url中的變量將被完全忽略,只有它包含'name'屬性的字段纔會被考慮。檢查此代碼http://pastebin.com/AreUJHeM – 2014-09-15 19:00:01

1

你可以有ID作爲隱藏輸入表單

<form action="" method="get"> 
    <input type="hidden" value="<?php echo $my_id; /*Suppose this variable contain your value */ ?>" name="id" /> 
    <input type="text" name="key" /> 
    <input type="submit" name="send" /> 
</form> 
+0

第二個不起作用。當從表單輸入創建新的查詢字符串時,操作中的查詢字符串會被覆蓋。你在'name ='發送'後遺漏了'''' – andrew 2014-09-12 18:04:26

+0

你是對的;我忘了。更新 – Javad 2014-09-12 18:13:47

2

簡單,

<form action="page.php" method="get"> 
    <input type="hidden" name="id" value="<?php echo $value ?>"> 
    <input type="text" name="key" /> 
    <input type="submit" name="send" /> 
</form> 
+0

我不認爲op的意圖是id字面上是''value' – andrew 2014-09-12 18:08:21