2012-06-01 74 views
1

我在我的網站上有一個搜索表單, ,我想將表單中的文本傳遞到URL: ,例如:mysite.com/search.php?q=apples(如果搜索詞是蘋果)。
我認爲人們可以爲他們的搜索添加書籤。如何將簡單的搜索查詢傳遞到URL?

我認爲的一個解決方案是在search.php中搜索searchword,然後重新加載到新建的URL中。但這樣重新加載並不是很優雅。所以我該怎麼做 - 我的意思是,它通常如何完成?我需要使用jQuery嗎?

澄清:我知道如何從PHP中的URL獲取變量。我需要的是控制當用戶按SUBMIT時將打開的URL,並且URL需要包含用戶的搜索詞!就像谷歌或DuckDuckGo,我把「蘋果」和URL變成...?q =蘋果。但是 - 怎麼樣?! (那我就挑選了在search.php中,當然,但我知道如何做到這一點)。這是我現在有:

<div id="topnav"> 
<form action="search.php" method="post"> 
<input name="searchword" type="text"> 
<input type="submit"> 
</form> 

太謝謝你了。

+0

是的,你可以使用$。員額請求並返回結果。 – sephoy08

+0

您是否要求在提交表單後如何處理url *,以便用戶仍可以收藏書籤? –

+0

您必須研究HTTP請求的GET和POST之間的區別 –

回答

4

在閱讀澄清。你需要的是,提交您的search.php例如搜索表單:

<form action="search.php" method="get"> 
<input type="text" value="search word" name="q" /> 
<input type="submit" value="submit" /> 
</form> 

這將傳遞什麼價值在爲q到的search.php腳本輸入輸入。

+0

它會將它傳遞給search.php還是傳遞給URL?因爲我需要它去URL,以便用戶可以爲他的查詢添加書籤。非常感謝! – knutole

+0

@KoleOle是的,它會轉到URL,因爲你使用'get'方法。 – Monokh

+0

是的,這將導致(search.php?q = searchKeyword) – sephoy08

1

如果您發佈一個HTML表單,其中包含一個名稱爲「q」且值爲「apples」的文本字段,那麼所需的URL將由瀏覽器自動創建。你絕對不需要JQuery。

0

所以表單動作將是search.php,該字段將被稱爲q並且該方法將是Get?

如果我理解你想要實現的目標,你應該能夠從html表單處理所有這些。

0

,如果你有一個表格,然後必須聲明的形式在你methoed POST/GET

search.php你可以簡單地這樣做$_POST['name of the input field']得到字串,

,如果你想傳遞的url變量,那麼你需要通過<a href="you URL">Link </a>

0

如何使用POST-Redirect-GET模式? [http://en.wikipedia.org/wiki/Post/Redirect/Get]也http://blog.andreloker.de/post/2008/06/Post-Redirect-Get.aspx

這將讓你保持的URL在瀏覽器:

yoursite.com/search.php?q=apples 

或者,你可以使用JavaScript在瀏覽器中設置location.hash w /回發後的查詢信息;我懷疑這實際上是Google所做的。

例如,

yoursite.com/search.php#apples