我正在使用zend框架。我建立了一個簡單的登錄屏幕。當用戶登錄時,我想設置一個會話,然後在其成員區域控制器的init函數中進行檢查,以檢查會話並授予訪問權限,否則重定向到登錄屏幕。在不同的控制器中應用並調用會話
我已經把我的登錄控制器像這樣,這個檢查用戶名和密碼,並設置會話:
if (isset($_POST['loginSubmit']) && $form->isValid($_POST)){
$inputtedUsername = $_POST['username'];
$inputtedPassword = $_POST['password'];
if ($inputtedUsername == $username && $inputtedPassword == $password) {
$loggedIn = new Zend_Session_Namespace('loggedIn');
$loggedIn->success;
$this->_forward('index', 'home');
} else {
echo 'invalid';
}
}
我有一個家控制器,它只有登錄用戶應該能夠看到,所以在我有的innit函數: $ loggedIn = new Zend_Session_Namespace('loggedIn');
if (isset($loggedIn->success)) {
echo 'success';
}else{
$url = $this->view->url(array(
'controller' => 'index',
'action' => 'index'));
header('Location:' . $url);
}
}
當我登錄時,使用正確的憑據,它將我重定向到登錄屏幕,如else函數中所述。
我在做什麼錯?
+1指導提問者正確的資源:) – Karma