我的网站上有一个活动日历,我想将用户传回上一页。目前我正在使用几个PHP函数来执行此操作,但它没有有效地传回上一页,I.E。因为前一个网址使用&
,所以它会被新的超链接阻止。这是我正在使用的:
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; // Get The URL
<a href=\"event.php?id=$event_id&url=$url\"> // Pass Url To Next Page
if(isset($_GET['url'])) {
$backlink = $_GET['url'];
$user_backlink = "<a href=\"$backlink\"><div id=\"posts\" class=\"sidebarSectionLink sideback\">Back To Results</div></a>";
} else {
$user_backlink = "<a href=\"events.php\"><div id=\"posts\" class=\"sidebarSectionLink sideback\">Start A Search</div></a>";
}
echo $user_backlink // Link Back to previous
问题是这只有echo http://www.website.co.uk/events.php?type=def
(之后没有其他内容) - 我怎样才能让它传递完整的url字符串?
答案 0 :(得分:2)
使用javascript代替PHP可以省去很多麻烦:
<a href="window.history.go(-1);">previous page</a>
答案 1 :(得分:0)
您需要使用urlencode:
http://php.net/manual/fr/function.urlencode.php
所以
<a href=\"event.php?id=$event_id&url=$url\">
需要:
<a href=\"event.php?id=$event_id&url=".urlencode($url)."\">
那么结束,
$backlink = $_GET['url'];
需要:
$backlink = urldecode($_GET['url']);
答案 2 :(得分:0)
怎么样:: javascript + php
echo "<script language=javascript> javascript:history.back();</script>";
它将与浏览器中的上一个按钮相同