【问题标题】:Pass back to exact previous page using php使用 php 返回到确切的上一页
【发布时间】:2013-09-16 20:11:12
【问题描述】:

我的网站上有一个活动日历,我想将用户传回上一页。目前我正在使用几个 php 函数来执行此操作,但它并没有有效地传递回上一页,即因为以前的 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 字符串?

【问题讨论】:

  • 您可以使用会话来存储 URL。

标签: php url hyperlink


【解决方案1】:

这个怎么样 :: javascript+php

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

它将与浏览器中的上一个按钮相同

【讨论】:

    【解决方案2】:

    你需要使用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']);
    

    【讨论】:

      【解决方案3】:

      使用 javascript 代替 PHP 可以省去很多麻烦:

      <a href="window.history.go(-1);">previous page</a>
      

      【讨论】:

      • 谢谢,我正在考虑使用它作为一个简单的解决方案,但我的一些访问者希望来自社交网络帖子,我希望他们留在我的网站上而不是被传回 ;) - 所以如果他们来自我的网站,他们会返回结果页面,否则他们会进入新的搜索页面
      猜你喜欢
      • 2022-12-03
      • 1970-01-01
      • 2019-06-05
      • 2019-02-23
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多