我想在浏览时将变量存储在URL中。
例如: 一个菜单,当用户选择?category = shopping时,它会转到带购物的地图,他们可以点击一个地方,它应该转到?category = shop& id = 22。
如果他们返回菜单,那么应删除?类别,如果他们点击其他内容,例如?category = cafe。
我一直对此感到困惑,并感谢任何帮助 - 谢谢!
答案 0 :(得分:1)
很好用于会话变量。
$_SESSION["category"]="stuff";
然后你可以保留它直到你不再需要它,或者他们终止他们的会话
答案 1 :(得分:1)
如果您只需要在页面之间存储状态,如标题所示,那么您可以将此信息存储在$_SESSION
超全局数组中。在将任何输出发送到浏览器之前,通过将session_start()
作为任何新页面的第一行运行来启动新会话。当您在下一页以相同方式启动会话时,您在$_SESSION
内存储的任何内容都将可用。
如果您只对构建查询字符串感兴趣(即网址的?field=value&field2=value2
部分),正如您的问题内容所示,那么您可能需要查看{{3}功能。
关于你的实际目标是什么,你的问题对我来说似乎有些模棱两可,所以我给了你两种方法。请记住,您应该使用$_SESSION
表示州,http_build_query()
表示创建动态网址以指向特定内容。还要记住,如果数据需要是安全的,那么您不应该将其放在URL或用户可以修改它的任何其他地方,或者其他人可以读取它的地方(例如在浏览器地址栏中)。这类信息需要在$_SESSION
。
答案 2 :(得分:0)
我想在浏览时将变量存储在URL中。
您无法在网址中“存储”任何内容 如果要使用查询字符串将某些数据从一个页面传递到另一个页面,则必须将此数据添加到查询字符串中。
“购物地图”应该为每个链接添加类别 这就是每个Web应用程序的工作方式。
会话不是要走的路,因为网站上的每个网页都应该有地址,而您的类别是此地址的重要组成部分。如果您将其存储在会话中,则不能添加任何书签,也不会将任何链接发送给朋友,也不会有搜索引擎将您的商品编入索引。