2015-08-24 118 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