Zend Framework を学んでいて、Zend_Session_Namespace に問題があります。
シナリオは次のとおりです。
- ホームページ (ユーザーがログイン インデックス コントローラーをクリック)
- ログインページ(ユーザー認証完了→ログインコントローラー)
- ログインに成功した場合: 新しい zend_Session_Namespace("login") を作成し、ホームページ ボタンのある別のページに移動します。
- ユーザーがホームページ ボタンをクリックします。セッションからユーザー名にアクセスし、ウェルカム メッセージを表示できます。
ユーザーが再度ログイン ページをクリックします。isset($session->name) をチェックして、再度ログインできないようにし、代わりに別のページに移動します。--> 私はここで失敗しています。セッションが何らかの形でリセットされました。何が欠けているのかよくわかりません。
class IndexController extends Zend_Controller_Action { public function init() { } public function indexAction() { $session = new Zend_Session_Namespace("login_session"); //Check if the session is already valid if(isset($session->name)) { $this->view->userLoggedIn="true"; $this->view->name=$session->name; } } } class LoginController extends Zend_Controller_Action { public function loginaction(){ $session = new Zend_Session_Namespace("login_session"); if(isset($session->name)){ //Redirect to New Page-Already Logged In } else { //Authenticate the user and if login is successful $session->name="USER_NAME"; } } }
ありがとうございました。