【问题标题】:Redirect user on last page ( or page he came from ) PHP / JS在最后一页(或他来自的页面)上重定向用户 PHP / JS
【发布时间】:2016-03-12 02:09:43
【问题描述】:

在管理中,我有简单的用户列表(1 行 = 1 个用户)。和以前一样,我有一个“编辑”按钮和一个“详细”按钮。 这是每行的样子:

当用户点击详细信息或编辑时,会将他重定向到新地址(例如 detail/24(其中 24 是 ID)或 edit/24)

问题是:
1#如何将用户从详细信息重定向到他来自的页面(由于分页器,在特定页面上重定向很重要,例如:list.php?page=4

2# 如果用户按下 SAVE 之类的东西,基本上会重新加载编辑页面,因此他无法将其存储在任何地方,我该如何从编辑中重定向用户。

换句话说,#2,用户在页面 list.php?page=4 上并单击 EDIT,因此他在该页面上得到类似 /edit/32 的内容,他进行了一些更改并按下 SAVE 按钮。当他点击这个按钮时,PHP 发送 FORM 并刷新页面。

有没有办法在页面 list.php?page=4 上重定向用户而不知道他是否按 SAVE?

3# 还有其他方法可以在最后一页重定向吗?在浏览器中模拟“返回”按钮?

【问题讨论】:

  • 你可以使用http_build_query($data)返回带有header的数据

标签: javascript php


【解决方案1】:

如果您想在呈现 HTML 之前进行重定向,我建议您使用带有 $_SERVER 全局变量的标头。

if($condition === true)
header('Location: '.$_SERVER['HTTP_REFERER']);

$_SERVER['HTTP_REFERER'] (http://php.net/manual/en/reserved.variables.server.php) 返回用户来自的页面的 url。

请注意,header 函数只有在调用前没有输出时才有效。

希望能帮上忙!

【讨论】:

    【解决方案2】:

    2#Location.reload()

    location.reload();
    

    1#和3#Window.history

    <button onclick="goBack()">Go Back</button>
    
    <script>
         function goBack() {
             window.history.back();
         }
    </script>
    

    【讨论】:

    • 嘿@Co​​deiSir,谢谢您的回答,答案#1 和#3 看起来不错,但我认为我没有正确解释#2。请检查我的编辑
    • 我还是不明白#2?
    • 对不起,伙计。看来我的解释不好。 Tradicionaly 如果您在 PHP / HTML 中有页面,则将 FORM 发送到 PHP 脚本,如下所示:
      (它的简单示例,但应该足够了)所以当表单发送页面重新加载.这意味着 history.back () 是与我们 atm 相同的页面 :) 所以如果我按保存我的 list.php 页面是 2 个站点返回而不是 1
    • 我明白了。这应该通过 PHP 完成。在那里您可以设置header() 并重定向到上一页。 stackoverflow.com/questions/5285031/…header('Location: ' . $_SERVER['HTTP_REFERER']);
    猜你喜欢
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2017-05-01
    相关资源
    最近更新 更多