안녕하세요. 내 사이트에 다음 로그인 컨트롤러를 만들었습니다. 로그 아웃 할 때 사용자를 로깅하는 것과 관련하여 문제가 없습니다. 내가하고 싶은 일은 성공한 페이지의 FlashMessenger에 로그인 한 사용자 이름을 반향시키는 것입니다. 내 코드가 어떻게 나타 났는지에 대해서 성공 페이지로 리디렉션되면 "Array로 성공적으로 로그인되었습니다."라는 메시지가 나타납니다. $ session-> user = $ adapter> getResultArray ('Password') 줄을 다음과 같이 물을 수 있습니까? 데이터베이스의 암호 값보다 적은 사용자 정보 배열을 작성하십시오. 사전에Zend Framework Zend_Session_Namespace에서 로그인 한 사용자 이름을 인쇄하는 방법
많은 감사,
IrishStudent76
<?php
class LoginController extends Zend_Controller_Action
{
public function init(){
$this->view->doctype('XHTML1_STRICT');
}
// login action
public function loginAction()
{
$form = new PetManager_Form_Login;
$this->view->form = $form;
/*
check for valid input from the form and authenticate using adapter
Add user record to session and redirect to the original request URL if present
*/
if ($this->getRequest()->isPost()) {
if ($form->isValid($this->getRequest()->getPost())) {
$values = $form->getValues();
$adapter = new PetManager_Auth_Adapter_Doctrine(
$values['username'], $values['password']
);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
if ($result->isValid()) {
$session = new Zend_Session_Namespace('petmanager.auth');
$session->user = $adapter->getResultArray('Password');
if (isset($session->requestURL)) {
$url = $session->requestURL;
unset($session->requestURL);
$this->_redirect($url);
} else {
$this->_helper->getHelper('FlashMessenger')
->addMessage('You have been successfully logged in as '.$session- >user);
$this->_redirect('/login/success');
}
} else {
$this->view->message = 'You could not be logged in. Please try again.';
}
}
}
}
public function successAction()
{
if ($this->_helper->getHelper('FlashMessenger')->getMessages()) {
$this->view->messages = $this->_helper
->getHelper('FlashMessenger')
->getMessages();
} else {
$this->_redirect('/login');
}
}
public function logoutAction()
{
Zend_Auth::getInstance()->clearIdentity();
Zend_Session::destroy();
$this->_redirect('/');
}
}
을 이런 식으로 뭔가를 시도? 당신은 당신의 auth 세션에 저장할 수 없습니까? '$ auth-> getStorage() -> 쓰기 ($ whatEverYouWantToStore); – Marcin