2014-03-18 40 views
1

是否有某种PHP代码可以让我找出最后一次访问这两个页面中的哪一个。检查两个php页面之间的最后一次访问

这就是为什么我需要它。

我有3个网页叫:

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

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

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

例如,如果我要从user-management.php管理user.php,当所有编辑完成后,我希望它重新导向到user-management.php,并且对于成员资格也是一样的-管理。

如何查看我来自哪两页,然后重定向到相应页面?

回答

2

让每个脚本在$ _SESSION记录他们的名字,所以你跟踪你从哪里来的来自:

用户management.php:

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

,然后在你的管理,user.php的脚本:

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

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

+0

现在这一点,我很喜欢,而且似乎比'$ _ SERVER ['HTTP_REFERER更可靠']' –

+0

I ** + 1 ** this;有人似乎认为不然。 –

+0

同意。会议很容易做到这一点。谢谢 :) –

1

你可以使用$_SERVER['HTTP_REFERER']; 但这不是很安全,更好地存储在一个会话中的页面和 然后检查它。

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

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

在网页的开头:

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

在结束:

$_SESSION['last_visited'] = $thisPagename;