請問要怎麼設定用戶登入後
自動回到登入前頁面呢
我的是登入後會傳至
header('Location:xxx');
2013-10-24 15:44:26 補充
感謝回答
不知道小魚大大可否寫範例供小弟研究
2013-10-24 17:11:12 補充
需要登入的頁面我寫
SESSION_START();
if ($_SESSION['user'] == '')
{
header("location:login");
}
2013-10-24 17:16:07 補充
如果該頁探測沒有登入user
就進入login
但登入後還想要返回這個頁面該...
2013-10-25 15:52:51 補充
第一段是放在判斷是否有登入 沒有登入則到login對吧
2013-10-25 15:53:05 補充
第二段要放在哪裡
2013-10-25 16:07:34 補充
我查了一下那個環境變數
他是說" POST 或 GET 表单访问的页面,$_SERVER['HTTP_REFERER'] 才有效"
2013-10-25 16:11:21 補充
我現在是有三個頁面
第一個是xxx.php (需要做登入判斷的 如果你不是登入狀態 則會被轉到../member/?i=login
第二個是login.php
第三個是mysql_select.php
當使用者進入login.php時會post給mysql_select.php判斷對錯後
再header('Location:xxx.php');
er">
有兩種方法可以使用
1.用SESSION
在使用者原本的頁面,設定一個SESSION,記錄下此頁的網址,接下使用者案下登入時,登入頁面自動取此SESSION,然後你的header('Location:xxx');
這行XXX就是取SESSION的內容
2.用網址傳參數的方式
在使用者原本的頁面,要跳轉登入頁面的時候,丟給登入頁面參數
比如說,在原本的頁面header('Location:login.php')改成header('Location:login.php?url=.......') "..."部分是使用者原本的頁面
順帶一提
header前是不能有任何的輸出
要小心使用!
2013-10-25 10:49:03 補充
我寫了一個簡單的範例,只貼PHP部分
我所用的方法是第二個方法
我的網頁分成兩頁
第一頁是登入頁面
第二夜是使用者一進入的頁面
login.php
2013-10-25 10:51:02 補充
session_start() ;
if($_POST['text_user']!=""){
$_SESSION['user'] = 'login' ;
$url = (isset($_GET['url']))?$_GET['url']:'index.php' ;
header("location:".$url);
}
index.php此頁是當使用者一進入就是登入畫面所轉向的畫面
第二頁a.php
2013-10-25 10:51:43 補充
SESSION_START();
if ($_SESSION['user'] == ''){
$url = 'login.php?url='.$_SERVER["REQUEST_URI"] ;
header("location:".$url);
}
用?傳參數的方法,大約程式碼就是這樣
2013-10-25 10:54:23 補充
補充一點,我在查$_SERVER這個時候,看到一個蠻好用的環境變數
$_SERVER['HTTP_REFERER'] #鏈接到當前頁面的前一頁面的 URL 地址。
也就是不用這麼麻煩,可以直接跳上一頁
但這樣也有個問題,就是如果使用者,不是先進入別頁,而是一進入的就是登入頁面,那回上一頁,可能就需要加一些判斷了,比如說,判斷網址是否一樣之類的
你可以在測試看看
2013-10-25 10:55:02 補充
忘記貼$_SERVER['HTTP_REFERER'] #鏈接到當前頁面的前一頁面的 URL 地址。
這個的參考網址了
可參考
http://blog.xuite.net/dizzy03/murmur/44849031-%5B%E8%BD%89%5D%5BPHP%5D+$_SERVER%E7%9A%84%E5%8F%83%E6%95%B8%E5%92%8C%E7%94%A8%E6%B3%95%E8%AA%AA%E6%98%8E+(PHP%E6%8A%93%E5%8F%96%E7%9B%AE%E5%89%8D%E7%B6%B2%E5%9D%80)
留言列表