2

Web サイトにイベント カレンダーがあり、ユーザーを前のページに戻したいと考えています。現時点では、いくつかのphp関数を使用してそれを実行していますが、前のページに効果的に戻っていません.IEは前のURLが使用し&ているため、新しいハイパーリンクからブロックされています. これが私が使用しているものです:

$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

問題は、これだけがエコーアウトすることhttp://www.website.co.uk/events.php?type=defです (他には何もありません) - 完全な URL 文字列を渡すにはどうすればよいですか?

4

3 に答える 3

2

PHP の代わりに JavaScript を使用すると、多くの問題を回避できます。

<a href="window.history.go(-1);">previous page</a>
于 2013-09-12T12:33:16.827 に答える
0

これはどうですか:: javascript + php

echo "<script language=javascript> javascript:history.back();</script>";

ブラウザの前のボタンと同じように機能します

于 2014-04-26T12:17:37.883 に答える
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']);
于 2013-09-12T12:33:40.173 に答える