Zend Framework를 배우고 Zend_Session_Namespace에 문제가 있습니다. 여기 사용자가 페이지 간을 전환 할 때 세션이 다시 설정되지 않습니다.
는 시나리오 :- 홈페이지 (로그인-지수 컨트롤러에 사용자가 클릭)
- 로그인 페이지 (사용자 인증이 done-> 로그인 컨트롤러) 로그인에 성공한
- : 새 만들기 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"; } } }
코드가 정상적으로 작동하므로 ** loginaction() ** 대신 ** loginAction() **을 대신 사용하십시오. 죄송합니다. 나는 나쁜 영어입니다. –