我在做一個使用PHP進行求職的網絡應用程序。檢查用戶是否登錄
我有一個查詢;當用戶沒有登錄並想通過點擊「應用」按鈕申請工作時,他重定向到登錄頁面。如果用戶是點擊時登錄,他應該直接進入應用程序頁面。我不知道如何實現這一點。
我很困惑,因爲我是PHP新手。
我在做一個使用PHP進行求職的網絡應用程序。檢查用戶是否登錄
我有一個查詢;當用戶沒有登錄並想通過點擊「應用」按鈕申請工作時,他重定向到登錄頁面。如果用戶是點擊時登錄,他應該直接進入應用程序頁面。我不知道如何實現這一點。
我很困惑,因爲我是PHP新手。
你的問題很模糊 - 可能與Authentication in PHP
你能,當用戶登錄時,分配$_Session
變量設置爲用戶啓動?即在認證之後,你設置了$_SESSION['user']
變量。
$_SESSION['user']='admin';
所以,如果你想檢查是否在此之後,用戶已經登錄,只要使用此:
if(isset($_SESSION['user']))
{
// user is login, direct to the job page
}
else
{
// no login, go to the login page
}
在設置Cookie會話的每個頁面到它們的頁面只是:
$expire=time()+60*60*24*30;
setcookie("wherewasi","",time() - 1000);
setcookie("wherewasi",$_SERVER['REQUEST_URI'], $expire);
然後登錄後,將用戶重定向:
$loc = ($_COOKIE['wherewasi'])?$_COOKIE['wherewasi']:'index.php';
header("location: ".$loc);
exit();
你可以存儲在名爲「登錄」會話的值,並將其設置當用戶登錄這也可以用來重新定向用戶,如果他們沒有被登錄:
<?php
// check that the session variable does exist
// check that the user 'LoggedIn' has been set to 1 (true)
if (!isset($_SESSION['LoggedIn']) && $_SESSION['LoggedIn'] != 1)
{
// redirect to login page for user to authenticate themselves.
// pass page location (with parameters if necessary) to redirect
// the user on successful login.
header("Location: Login.php?redir=ApplyForJob.php?JobID=12345");
}
else
{
// user is logged in
// redirect the user directly to the apply for job page.
header("Location: ApplyForJob.php?JobID=12345");
}
?>
那麼,當用戶點擊應用程序中的「應用」將用戶重定向到(你可以檢查用戶是否會話存在與否)登錄頁面,如果他沒有登錄,請記住,當你重定向頁面發送當前頁面的參數到您的登錄頁面的URL,這樣當他在用戶登錄可以重定向到前一頁,然後點擊申請特定作業.....
這是如何邏輯的工作,如果你想要的PHP,MySQL解釋它需要一些時間讓你理解,因爲你自己承認你是新來的PHP ..
有兩件事,你需要擔心關於...檢查他們是否已經登錄,然後在他們登錄後,將他們引導至正確的頁面。
這是關於跨頁面請求的'保存狀態'。要做到這一點,您需要使用cookie或更有用的會話(可以通過cookie完成或由PHP引擎自動處理)。
會議可能是一個好方法。要使用會話,每一頁都需要有
<?php session_start(); ?>
至少是開始,在這之前寫入瀏覽器的HTML代碼。
一旦這樣做了,你可以用你的會話變量來存儲
<?php $_SESSION['user']='joe_blow'; ?>
(檢查)
<?php
if(isset($_SESSION['user']) && $_SESSION['user']!='' {
// do something
}
?>
用戶是否登錄,他們需要被重定向到哪個頁面登錄後。
<?php header("location: ".$_SESSION['redirect_location']));
但爲了寫任何更多有用的代碼,我認爲人們需要知道你用什麼身份驗證方法...(你怎麼樣您的登錄?你存儲的ID在數據庫中?是你使用現成的軟件包嗎?)
你是不是一般的PHP或網頁開發新手? – halocursed 2009-10-08 10:35:26