mam problem z zalogowaniem się na mojej stronie
oto cały kod akcji w kontrolerze
<?php public function zalogujAction() { $this->view->headTitle('Zaloguj się'); $f = new Zend_Filter_StripTags(); $users_table = new tUsers(); $staticsalt = functions::staticSalt(); $login = $f->filter($this->_getParam('login')); $pass = $f->filter($this->_getParam('pass')); $authAdapter = new Zend_Auth_Adapter_DbTable( $users_table->getAdapter(), 'users', 'user_pass', \"SHA1(CONCAT(?, user_salt, '$staticsalt')) AND user_status != '0'\" ); $authAdapter->setIdentity($login)->setCredential($pass); $result = $authAdapter->authenticate(); switch ($result->getCode()) { case Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND: case Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID: default: $this->view->msg = 'Podano błędne dane. Login lub hasło jest niepoprawne.'; break; case Zend_Auth_Result::SUCCESS: $this->view->msg = 'Zalogowałeś się.'; //print_r($authAdapter->getResultRowObject()); break; } } ?>
zwróćcie uwagę na dwie funkcję var_dump, pierwsza zwraca true, druga false, switch wyświetla 'zalogowałeś się'
czyli wszystko niby wszystko jest ok, jednak nie jestem zalogowany ;/
gdzie tu jest błąd ?
////////////// edit
tak to jest jak się z pamięci pisze a potem prosi o pomoc
napisałem $result = $authAdapter->authenticate();
a powinno być $result = Zend_Auth::getInstance()->authenticate($authadapter);
temat do usunięcia / zamknięcia
