2013-04-04 31 views
-2

我有一個簡單的網站設置:兩個PHP頁面,其中第一個只是一個搜索框,第二個顯示基於用戶搜索框輸入的信息。我如何根據搜索結果爲第二頁提供唯一的網址?類似於website.com/query=query+goes+here而不是所有的網址都是相同的website.com/results.php?如何爲搜索項創建特定的URL

+0

瞭解關於.htaccess的更多信息 – samayo 2013-04-04 17:07:52

+0

對我來說更具體嗎? – devirkahan 2013-04-04 17:08:57

+0

你可以在1頁上做到這一點,只是檢查看看$ _GET ['query'] isset,如果沒有設置,顯示普通搜索框,如果它設置,顯示結果。 – 2013-04-04 17:11:17

回答

1

,這是很簡單的:它可能會解決你的問題。只需使用get形式的行動:

<form action="results.php"> 
Search: <input type="text" name="search"><br> 
<input type="submit" value="Submit"> 
</form> 

然後通過你的results.php一個$ _GET要求得到該變量:

<?php 
$search_term = $_GET['search']; 
//do SQL query or whatever else you need to do here 
?> 
+0

它不會生成像「website.com/query=query+goes+here」這樣的網址 – 2013-04-04 17:13:10

+0

是的,我不確定使用$ _GET會爲我在這裏做什麼... – devirkahan 2013-04-04 17:15:02

0

您可以使用apache的htacessmodrewrite來創建它。

編輯:

只需檢查下面的鏈接以生成動態URL。如果我理解正確的問題

URL Generation

+0

可以肯定的是,你說使用GET風格url的方式是使用url重寫? – enhzflep 2013-04-04 17:13:03

+1

在get url中將會是pageName.php?Fildname = value&fieldName = value而不是「website.com/query=query+goes+here」 – 2013-04-04 17:14:41

+0

還有一些微型框架可以爲你處理這個問題。所以你可以做一個HTTP獲取:查詢=查詢+去+在這裏,它會處理你的重定向,你只需要解析它。不一定更好,但一個選項,如果你想避免url重寫... – 2013-04-04 17:16:02

0

你可以嘗試這樣的事:

的.htaccess :

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    <IfModule mod_vhost_alias.c> 
     RewriteBase/
    </IfModule> 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ results.php?query=$1 [L,QSA] 
</IfModule>