我的网站被组织成主题。用户可以随时在任何页面上切换主题。我希望能够逐页传递此主题。我猜这应该在一个PHP文章或变量。我可以从帖子中获取主题或获取变量,然后运行我的网站的其余部分。但是,这似乎需要在每个页面上传递此变量的表单。截至目前,我通过发布或获取变量的唯一方法是从上一页的表单。我从来没有将这些变量传遍几页。我需要每页上的表单来传递这些变量吗?另外,这是做这个的标准方式吗?PHP GET变量在浏览期间传递
0
A
回答
1
您应该使用GET,因为它听起来像只是试图显示不同的信息,POST应该用于执行更改或操作。
如果你决定使用GET变量,所有你需要做的就是把它们添加到链接的href的末尾:
<a href="something.php?topic=bananas">MORE BANANAS</a>
1
这样做的最高效方法是添加一些JavaScript,设置每次有人导航到新主题时都会有一个cookie。这会假设你能以某种方式选择符合主题(大概槽类)所有的链接
一个更好的方法 - 因为兼容性,可靠性和开销 - 但不一定是可行的,如果大量的链接需要改变,是使用GET请求,为another poster suggested
0
您可以创建一个辅助函数来生成你的锚标记,只是任何现有的查询字符串追加到它,所以不是这样的:
<a href="page2.php?foo=bar&baz=bat">Foobar</a>
你可以这样做:
<?php echo anchor('page2.php','Foobar'); ?>
在您的功能应该是这样的:通过一个PHP回声声明放置主题为每个URL肯定会工作的
/**
* Function creates an anchor tag and optionally
* appends an existing query string
* @param string $url
* @param string $txt
* @param bool $attach_qs Whether or not to follow a query string
*/
function anchor($url, $txt, $attach_qs = true)
{
$qs = '';
if ($attach_qs === true) {
$qs = (!empty($_SERVER['QUERY_STRING'])) ? '?' . $_SERVER['QUERY_STRING'] : '';
}
return '<a href="' . $url . $qs . '">' . $txt . '</a>';
}
0
Kolink的建议。然而,我感到惊讶的另一个选择还没有出现。
您可以使用PHP会话管理器来存储变量。它类似于使用cookie;然而,这只是暂时的(限于会议)。 cookie可以在多个会话中保留的地方。
<?php
// use this code before the page is generated, before the topic is decided.
session_start();
if (isset($_GET['topic']) && $_GET['topic'] != $_SESSION['topic']) {
// GET['topic'] is set, session variable does not match
// you may want to sanitize or limit what can be passed via ?topic=
$_SESSION['topic'] = $_GET['topic'];
} else if (isset($_SESSION['topic'])) {
// Session topic is not empty, run code to display appropriate content
} else {
// No topic is set, display default
}
?>
这绝不是唯一的解决方案,但它确实会给你一个额外的选择。
相关问题
- 1. 传递GET变量
- 2. 传递GET变量时PHP htaccess错误
- 3. 传递GET变量到php EXEC
- 4. 函数调用期间浏览变量
- 5. 在PHP和JavaScript之间传递变量
- 6. 在PHP表单之间传递变量。
- 7. 在脚本之间传递PHP变量
- 8. 在帧之间传递php变量
- 9. 在flex和php之间传递变量
- 10. 在php页面之间传递变量
- 11. 计算在$ .get()中使用的时间传递变量
- 12. 在php中跨浏览器cookie。在不同浏览器之间传递Cookie
- 13. 的X WWW浏览器的GET变量
- 14. 在load()中传递多个GET变量?
- 15. 传递变量 - PHP
- 16. PHP变量传递
- 17. PHP变量传递
- 18. 传递php变量
- 19. PHP - 传递变量
- 20. 传递PHP变量
- 21. 传递变量 - PHP
- 22. 在php中传递变量
- 23. 传递变量在PHP
- 24. PHP:类间传递动态变量
- 25. 403 GET变量传递URL时
- 26. 将PHP变量通过GET传递给另一个PHP页面
- 27. 将变量传递给AJAX XML GET
- 28. Rails 3.2 button_to不传递GET变量
- 29. 未能将变量传递给Get-Content
- 30. mod_rewrite的,$ _ GET不沿变量传递
但如果用户正在浏览网站并访问不同的网页,我该如何不断传递“香蕉”。对我来说,似乎我必须将每个链接变成一个from,这样变量才能继续。 – kirby
类似于'MORE BANANAS'。此外,+ 1让我笑香蕉。香蕉很好。 –