PHP将变量附加到地址栏中的url

Posted

技术标签:

【中文标题】PHP将变量附加到地址栏中的url【英文标题】:PHP append variable to url in address bar 【发布时间】:2015-11-27 05:05:13 【问题描述】:

我想知道是否可以在页面加载时将变量附加到地址栏中的 url。

演示:http://communityimpact.com/discussions/

当前页面已定位,如果类别 = 奥斯汀市中心...希望 URL 加载为 http://communityimpact.com/discussions/central-austin

<?php echo $my_category; ?> = Central Austin
<?php echo $my_category_slug; ?> = central-austin

有什么建议吗?

【问题讨论】:

【参考方案1】:

如果您需要将变量附加到 url,实际上标题是您最好的选择。

例子:

$my_category = "Central Austin";
$my_category_grub = "central-austin";


    header("location: community-impact/discussions/$my_category_grub");
//or append a var like this:
header(" location: community-impact/discussions/?location=$my_category_grub");
//then you could handle the request on the new page

但是这两种方法都会重定向你。

如果你想使用 $_SESSION 变量会更有意义。我看不到在不重定向的情况下将变量附加到 URL 的任何可能性。 Url 是地址,如果您更改 Url,那么您必须更改页面。但是会话变量会一直存在,直到它们离开您的站点。并且可以保存该信息,希望对您有所帮助,我不确定您的目的是什么。

$_SESSION["category"] = "central-austin";

但你必须有

session_start();

在页面的开头。

【讨论】:

需要在这 2 个变量的值周围加上引号 :) 是的,哈哈。对不起,错别字。修复。【参考方案2】:

尝试使用带有headers 的重定向,例如

header("Location: http://communityimpact.com/discussions/central-austin");

【讨论】:

这并没有真正附加 URL - 它强制浏览器到不同的页面。 @HPierce ...包含值,因此效果很好^^【参考方案3】:

您可能应该使用 javascript,这里有两个选项:

带有重定向

// similar behavior as an HTTP redirect
window.location.replace("http://communityimpact.com/discussions/central-austin");

// similar behavior as clicking on a link
window.location.href = "http://communityimpact.com/discussions/central-austin";

Without redirection

【讨论】:

以上是关于PHP将变量附加到地址栏中的url的主要内容,如果未能解决你的问题,请参考以下文章

如何获取地址栏中的url

地址栏中的URL重写

Java Web开发 - 将浏览器地址栏中的 Request 参数显示成中文

从浏览器地址栏中复制 URL 并使用 html 粘贴到表单中?

在页面加载时将正斜杠附加到url的末尾

获取URL地址栏中的参数并返回值