Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Problem z Zend Auth
Damiankossek
post 5.03.2011, 12:12:22
Post #1





Grupa: Zarejestrowani
Postów: 118
Pomógł: 8
Dołączył: 10.12.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z Zend_Auth, logowanie przebiega z sukcesem lecz nie zapisuję mi sesji.
Kod logowania:
  1. public function loginAction()
  2. {
  3. print_r($this->ZendAuth->getIdentity());
  4.  
  5. if($this -> getRequest() -> isPost())
  6. {
  7. $auth = new Zend_Auth_Adapter_DbTable($db);
  8.  
  9. $auth -> setTableName('users')
  10. -> setIdentityColumn('name')
  11. -> setCredentialColumn('password');
  12.  
  13. $auth -> setIdentity($this -> getRequest() -> getPost('name'))
  14. -> setCredential($this -> getRequest() ->getPost('password'));
  15.  
  16. $result = $auth -> authenticate($auth);
  17.  
  18. if($result -> getCode() == Zend_Auth_Result::SUCCESS)
  19. {
  20. $this -> view -> status = "Logowanie się powiodło";
  21.  
  22. }
  23. else
  24. {
  25. $this -> view -> status = 'Logowanie się nie powiodło';
  26. }
  27. }
  28.  
  29. $this -> view -> content = self::buildForm();
  30. }


W zmiennej status w widoku ladnie sie pojawia ze logowanie sie powiodlo wrazie podania prawidlowych danych lecz gdy odswieze strone drugi raz to powinno zadzialac print_r($this->ZendAuth->getIdentity()); lecz niestety nic nie wyswietla ... Nawet hasIdentity zwraca za kazdym razem FALSE. Co moze byc nie tak ?

Ten post edytował Damiankossek 5.03.2011, 12:16:26
Go to the top of the page
+Quote Post
bendi
post 5.03.2011, 18:57:54
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Chyba jeszcze musisz zapisac wyniki, cos w stylu:
  1. $auth->getStorage()->write($ident);


--------------------
Go to the top of the page
+Quote Post
Damiankossek
post 6.03.2011, 19:25:38
Post #3





Grupa: Zarejestrowani
Postów: 118
Pomógł: 8
Dołączył: 10.12.2009

Ostrzeżenie: (0%)
-----


Dzięki smile.gif

Natomiast teraz mam drugi problem, generuje sobię Zend_Formem formularz.

  1. private function buildForm()
  2. {
  3. $form = new Zend_Form();
  4. $form -> setMethod('POST') -> setAction('/login/process');
  5.  
  6. $username = $form -> createElement('text', 'name');
  7. $password = $form -> createElement('password', 'password');
  8.  
  9. $username -> setRequired(true);
  10. $password -> setRequired(true);
  11.  
  12. $username -> setLabel('Username');
  13. $password -> setLabel('Password');
  14.  
  15. $form -> addElement($username);
  16. $form -> addElement($password);
  17. $form -> addElement('submit', 'Sign In');
  18.  
  19. return $form;
  20. }


I wychodzi mi coś takiego:


Jak ustawić labele zeby były obok inputów lub nad nimi ?
Go to the top of the page
+Quote Post
melkorm
post 6.03.2011, 20:34:56
Post #4





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Poczytaj o dekoratorach, akurat Zend z tym kuleje i jest to ciężki orzech do przetrawienia wink.gif

Jedna z pierwszych pozycji must-read to : link .


--------------------
Go to the top of the page
+Quote Post
bendi
post 6.03.2011, 20:52:30
Post #5





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Eee to proste jest - dodajesz Zend_Form_Decorator_Html, z odpowiednia nazwa taga i juz smile.gif. Poza artykulem podanym przez melkorma mozesz jeszcze rzucic okiem tutaj


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 12:28