2013-04-11 124 views
0

我有一個頁面,只允許用戶在登錄後訪問該頁面。說這頁是登錄後重定向用戶

http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323

這是場景:當用戶訪問URL時沒有登錄,用戶將被重定向到登錄頁面。我的登錄頁面URL:

http://www.example.com/login.php

後成功登錄,用戶將再次被自動重定向到他/她嘗試高級訪問的頁面(在這種情況下:>http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323)就像Facebook的。

背後有什麼想法? Thx

+0

使用Cookie或使用會話(您必須啓動它在登錄之前) – x4rf41 2013-04-11 09:41:08

+0

有沒有使用cookie或會話的另一種方法? – 2013-04-11 09:47:16

回答

0

請查閱php手冊中的標題方法,這裏有一個重定向的例子。

http://php.net/header

複製&從那裏粘貼:

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 

/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 
0

事情是這樣的:

<?php 

session_start(); 

if (!$_SESSION['logged_in']) { 
    header('location: login.php'); 
    die; 
} 

//other code 

?> 
+0

關於標題,我很清楚。我需要的是如何記住用戶之前訪問的網址,而不使用會話和Cookie,以便我可以將他/她重定向到該網頁 – 2013-04-11 09:46:23

1

一種選擇是存儲重定向位置的某處。這可以在url或我的首選選項中完成:在隱藏字段中。

1

商店頁面中的cookie值

$_COOKIE['visit'] = "http://www.example.com/secret/data/important.php?id=23&pin=2if24scrtw2323"; 
and then from login 
header('location: '.$_COOKIE['visit']); 
1

首先你需要使用PHP的GET和POST或要求如$ _GET [ '身份證']

成功登錄後檢查ID和PIN值你可以在$ _SESSION ['id']這樣的會話中設置值,並在agin上重定向thr用戶或重新加載頁面,並檢查會話值是否存在或相等以獲得值

2

您閱讀了您登錄頁面的url。它存儲在$ _SERVER中,除非我錯了。 (我建議在做print_r($_SERVER)以查看可用的內容)或者,您將$_SERVER['REQUEST_URI']作爲參數(如header('login.php?came_from=' + $_SERVER['REQUEST_URI']))重定向到用戶登錄時將登錄頁面帶入。把它作爲隱藏的輸入。然後登錄後,您仍然可以將該網址作爲腳本中的參數,以便您現在可以輕鬆使用header('yourpage.php')重新導向:)