如何在包含来自最后一页的OTHER变量的URL中传递目标变量?
基本上,当我打开时index.php?year=2014&month=3,当我点击edit.php链接时我希望它记住(index.php?year=2014&month=3)所以它在编辑后将它返回到那里...我把它放在$destination但它与我的URL变量冲突...
SERVER['REQUEST_URI'] 收益: index.php?year=2014&month=3
我的PHP代码:
$destination = $_SERVER['REQUEST_URI'];
$edit_url = "edit.php?id=$id&proj=$proj&t=$t&year=$year&month=$month&day=$day&destination=$destination";
Run Code Online (Sandbox Code Playgroud)
当我点击编辑链接时:
http://www.site.com/edit.php?id=5&proj=3&t=1&year=2014&month=4&day=13&destination=/index.php?year=2014&month=3
一旦它需要我,edit.php我注意到它没有捕获&month=3
源中显示的隐藏输入:
<input type="hidden" name="destination" value="/index.php?year=2014">
Run Code Online (Sandbox Code Playgroud)
它应该显示:
<input type="hidden" name="destination" value="/index.php?year=2014&month=3">
Run Code Online (Sandbox Code Playgroud)
我知道这是因为&导致这种情况的迹象......是否有可能使url.php?blah=1&destination=/page.php?var=1&var=2??? 如果是这样,有人可以告诉我怎么样?
在将其添加到URL之前,您应该使用urlencode()编码$destination.
基本上,您要为URL添加一个值,其中包含一个URL,该URL &是用于URL中其他目的的特殊字符.服务器正在看到这个角色并且缩短了价值.通过编码,您应该获得正确的值.
您可以使用urldecode()以后将值恢复为正常值.