簡體   English   中英

返回上一頁在多頁站點上查看的頁面

[英]Back to last page viewed on multi page site

如果我把這個復雜化了,請原諒我。

我的目標:建立一個在線課程,允許用戶返回到他們在多頁html / php網站上最后一次停止的位置。

我購買了aMember腳本,它是一個PHP腳本,用於保護文件夾和文件並允許會員級別。 它不帶有任何預制的課程頁面等,而只是帶有服務器端保護。 它允許注冊用戶帳戶,並允許他們訪問特定的文件夾和頁面。

====我想做的是建立一個順序的html5課程,每個課程都有較小的信息塊,以便於學習。 構建菜單以進行跳轉對於這種類型的課程而言並不理想。 因此,我希望有一個按鈕將登錄的用戶帶回他們上次訪問的頁面,並將其包含在數據庫中,以便他們可以從任何地方登錄而不必依靠cookie。

我不是程序員,所以我很難用簡短的術語進行解釋,希望您能理解並指導我使用正確的資源。 謝謝!

創建一個包含在您網站的每個頁面中的腳本,該腳本會將有關用戶ID,上次訪問的頁面,時間等信息發送到數據庫,並且您的登錄腳本將從數據庫中的信息中相應地重定向用戶。 不應該那么難,如果您需要任何代碼示例,請詢問。

您應該在登錄腳本的會話中存儲用戶ID。 例如,用於保存的腳本應如下所示:

if(isset($_SESSION['u_id'])){
  $db_handler=mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die 
  ('ERROR: Could not connect.');
  $u_id = $_SESSION['u_id'];
  $ref = $_SERVER['HTTP_REFERER'];
  $query= "INSERT INTO user_activity(u_id,page) VALUES ($u_id, $ref);";
  $res = mysqli_query($db_handler,$query);
  if(!$res) {
    die("ERROR: " . mysqli_error($db_handler));
  }
}

在您的登錄腳本中,您應該具有以下內容:

if(isset($_POST['user'])){
  $db_handler=mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME) or die 
  ('ERROR: Could not connect.');
  $u_id = $_POST['user'];
  $query= "SELECT t.id,u.u_id,u.page from users t JOIN users_activity u ON t.id=u.u_id WHERE u.u_id=$u_id;";
  $res = mysqli_query($db_handler,$query);
  if(!$res) {
    die("ERROR: " . mysqli_error($db_handler));
  }
}    

應該給您一些想法,忙於工作,所以現在不能做得更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM