【问题标题】:Check last visited between two php pages检查两个php页面之间的最后访问
【发布时间】:2014-04-24 19:21:24
【问题描述】:

是否有某种 PHP 代码可以让我找出最后访问的两个页面中的哪一个。

这就是我需要它的原因。

我有 3 个页面叫做:

user-management.php, manage-membership.php and manage-user.php

有两种方法可以访问 manage-user.php。一种是在user-management.php中点击用户名,另一种是在membership-management中点击会员账户持有人。用户管理和会员管理是完全不同的页面,所以请不要告诉我合并它们以使其更容易,因为它不会变得更容易。

我想做的是跟踪我来自哪里。

例如,如果我要从 user-management.php 到 manage-user.php,当所有编辑完成后,我希望它重定向回 user-management.php,对于会员资格也是如此-管理。

如何检查我来自两个页面中的哪一个并相应地重定向回这些页面?

【问题讨论】:

    标签: php


    【解决方案1】:

    让您的每个脚本在 $_SESSION 中记录它们的名称,这样您就可以跟踪您的来源:

    用户管理.php:

    $_SESSION['came_from'] = 'user-management.php';
    

    然后在你的 manage-user.php 脚本中:

    <a href="<?php echo $_SESSION['came_from'] ?>">Back</a>
    

    这比使用 HTTP 引用更可靠,因为不是每个人都发送引用,或发送实际引用。

    【讨论】:

    • 现在这个,我喜欢而且看起来比$_SERVER['HTTP_REFERER']可靠得多
    • +1 这个;似乎有人不这么认为。
    • 同意。会话很容易做到这一点。谢谢:)
    【解决方案2】:

    你可以使用$_SERVER['HTTP_REFERER']; 但这不是那么安全,最好将页面存储在会话中 那就去看看吧。

    session_start();
    ...
    $_SESSION['log'][] = $_SERVER['PHP_SELF'];
    ...
    if ($_SESSION['log'][count($_SESSION['log'])-1] == "xxx") {
      do code...
    }
    

    【讨论】:

      【解决方案3】:

      试过了吗? -> $_SERVER["HTTP_REFERER"]

      您可以阅读更多内容:http://www.electrictoolbox.com/php-http-referer-variable/

      【讨论】:

        【解决方案4】:

        您可以使用$_SERVER['HTTP_REFERER'];,但用户也可以将他们的浏览器设置为不发送引用标头。你也可以这样做:

        页面开头:

        session_start();
        $lastVisited = $_SESSION['last_visited'];
        

        结束:

        $_SESSION['last_visited'] = $thisPagename;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-04
          • 1970-01-01
          • 1970-01-01
          • 2015-06-12
          • 1970-01-01
          相关资源
          最近更新 更多