![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z edycja konta użytkownika a dokładnie z zmianą hasła z starego na nowe. W formularzu mam 3 pola: Stare hasło: [____] Nowe hasło: [____] Powtórz hasło: [____]. Mój problem jest taki że nie wiem jak mam napisać class-e validatora. Największy problem to taki że nie mogę sprawdzić Doctriną czy wogole istnieje takie hasło w bazie danych bo może ktoś ma takie same, więc musze pobrać id użytkownika i wyszukać go w bazie a następnie pobrać dotychczasowe hasło i porównać jes z hasłem wpisanym w polu formularz Stare hasło. Wyszukanie w bazie to nie problem ale pobranie id użytkownika. Oto co ma razie udało mi się napisać: FORMS
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 12.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pierwsza sprawa, żeby sprawdzić, czy hasło nowe i powtórzenie jest takie same polecam użyć Validatora.
Co do sprawdzenia, czy takie hasło istnieje w bazie, przychodzi mi na myśl coś takiego:
A w inpucie:
Ten post edytował taro 21.01.2011, 18:34:32 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A standardowe walidatory nie wystarczą?
Cytat Największy problem to taki że nie mogę sprawdzić Doctriną czy wogole istnieje takie hasło w bazie danych bo może ktoś ma takie same, więc musze pobrać id użytkownika i wyszukać go w bazie a następnie pobrać dotychczasowe hasło i porównać jes z hasłem wpisanym w polu formularz Stare hasło - do soli hasła często dodaje się ID użytkownika, poza tym możesz przecież wykorzystać standardowy walidator db_exists/db_noexists, wystarczy poza hasłem dodać warunek id_usera = nasz user.I jeśli robimy jakiś walidator wykorzystywany tylko w jednym miejscu, to ja bym radził umieścić go po prostu w formularzu przeciążając metodę is_valid. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
@Pilsner, @taro - @tejek wyraźnie napisał, że korzysta z Doctrine, także podane przez was rozwiązania odpadają, ponieważ trzeba by było ładować biblioteki i nawiązywać jeszcze raz połączenie z bazą. Do konstruktora walidatora możesz przekazać identyfikator użytkownika i wykorzystać go w metodzie isValid - ot taki urok obiektówki (IMG:style_emoticons/default/happy.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 5 Dołączył: 9.02.2011 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tu przykład Validatora sprawdzającego hasło. Musisz go tylko dostosować do swojej bazy. A samo id użytkownika nie możesz przechwycić ze zmiennej Storage w Zend_Auth?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 23:46 |