我正在学习 Zend 框架并且遇到了 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"; } } }
谢谢你。