2012-09-12 39 views
0

我有一個頁面設置來獲取url的最後部分;即:查詢MySQL以基於頁面的url回顯列的值

$page = $_GET["page"]; 
echo 'The current page name is ' . '"' . $page . '"'; 

這將返回,例如:

當前頁面的名稱是「協和海軍武器站」

協和海軍武器站是URL的最後一部分:

http://www.andsoforth.com/shortRedirect.php?page=Concord%20Naval%20Weapons%20Station 

我需要的是這個頁面轉發用戶到:

http://www.andsoforth.com/reports.php?page=concord 

concord在題爲shortnameConcord Naval Weapons Station相同行中被設定爲longname列之中。

只是爲了回顧一下:當用戶點擊該頁面

http://www.andsoforth.com/shortRedirect.php?page=Concord%20Naval%20Weapons%20Station 

的頁面需要查詢表sites和網址+ shortname交換網址+ longname的價值,將用戶重定向到該頁面。

我不知道如何做到這一點。任何意見或提示,我甚至可以開始實現這一點將不勝感激!

+0

建議或提示?需要更多的上下文。你甚至沒有暗示過你正在使用什麼樣的MySQL層。希望它是一個像[CodeIgnighter](http://codeignighter.com/)或[CakePHP](http://cakephp.org/)的框架。希望它不是**'mysql_query'。 – tadman

+0

是的,我唯一使用的是mysql_query。使用其他框架會更容易嗎?如果是這樣,你能指出我的方向,可以幫助我找到我要找的東西嗎?感謝:) – spyrule

+0

我認爲你正在尋找URL重定向。它以這種方式完成,http://en.wikipedia.org/wiki/URL_redirection – FirmView

回答

0

您可以通過在MySQL數據庫中使用SELECT查詢來查找WHERE longname = Concord Naval Weapons Station然後回顯結果。這是一個相當低效的方式去做這件事,更多的信息我們可能會給你一個更好的答案。

+0

@ Number1SuperGuy,非常感謝回覆。比方說,我做這個查詢,即:SELECT * FROM sites WHERE longname ='$ page'...這是如何返回短名稱? – spyrule

+1

@ user1661045你應該使用預先準備好的語句(使用像http://php.net/manual/en/book.pdo.php這樣的東西)而不是執行'... longname ='$ page''這是一個安全風險(請參閱http://en.wikipedia.org/wiki/SQL_injection) –

+0

對於SQL注入攻擊是一個很棒的點,Patrick Q.應該指出的是,這些代碼在某些情況下有一些主要的安全漏洞。至於我的具體需求,我在我的MySQL數據庫中沒有重要的信息;只有網站的名稱,長和短,其相應的ID以及網站本身的描述。不過,我一定會考慮停止SQL注入。如果只是爲了好的措施。非常感謝! – spyrule