2015-08-24 171 views
0

也許我使用了錯誤的搜索條件來嘗試在線查找,但我試圖完成在URL路徑中傳遞變量的任務,一個標識符。從URL中獲取PHP變量(沒有?)

例如,這裏是我當前的URL:http://www.myurl.com/test/index.php?name=bob

在我index.php頁,我會成立沿$name = $_GET['name'];線的東西,並有使用這個變量沒有問題。

但是,我的目標是使用URL:http://www.myurl/test/bob/,並且仍然能夠在腳本中接收「bob」作爲名稱變量。

這是可能的,假設?謝謝!

回答

0

把你的htaccess一個mod_rewrite的聲明像

RewriteRule ^test\/([a-z]+)\/?$ index.php?name=$1 
0

一個最簡單的方法可以做到這一點(也安全些)是不是使用GET語句,使用會話變量。您可以按照您的建議使用mod_rewrite來更改網址,無論您如何使用mod_rewrite,但仍然可以在沒有任何特別的情況下訪問該變量。

例如,你剛開始你會像這樣

session_start(); 

然後設置會話變量,像這樣(假設你已經定義$name):

$_SESSION['name'] = $name; 

,然後在頁面上您想要獲取名稱的位置,請在頁面頂部放置session_start();,然後代替$_GET['name'],而只需將該變量作爲$_SESSION['name']調用即可。

這樣您就不必擔心使用URL將變量從一個頁面傳遞到另一個頁面。它不會受到重寫的影響。

當然,如果您希望繼續使用它作爲GET變量,您的其他選項是:https://stackoverflow.com/a/8228851/3044080