2014-03-18 42 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;