Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] logowanie i walidacja obiektowo
Forum PHP.pl > Forum > Przedszkole
!*!
Mam jakieś zaćmienie dziś i nie wiem jak rozwiązać prosty model obiektowy.

  1. class Login
  2. {
  3. /* tu metoda która sprawdza w bazie czy login, hasło istnieją i są poprawne, jak tak przekierowanie itp */
  4. }


  1. class Valid
  2. {
  3. /* tu metody do sprawdzania poprawności wysłanych danych przez formularz itp */
  4. }


I pytanie, czy styknie coś takiego

  1. if(isset($_POST['xxx'])
  2. {
  3. $form = new Valid;
  4. $form -> metoda('jakies_pole_form');
  5. }


Gdzie valid::metoda sprawdza poprawność pola, jak nie dodaje do zmiennej error i go wyświetla, a jak jest wszytko ok to uruchamia klasę Login (w tej klasie nie ma żadnej walidacji, tylko bezpośrednie odwołanie do bazy).

Czy jak połączyć klasę logowania z walidacją?
Navyman
Eee... no tak. Nie do końca chyba rozumiem o co Tobie chodzi albo to po prostu błaha rzecz i się zawiesiłeś.

  1. class Userdata_Validate {
  2. public function isCorrectLogin($userDataLogin) {
  3. // Sprawdź czy login został podany prawidłowo. @return bool
  4. }
  5. }
  6.  
  7. $userDataValidator = new Userdata_Validate();
  8. if($userDataValidator->isCorrectLogin == true) {
  9. // wykonaj logowanie
  10. } else {
  11. ErrorHandler::printError("Podałeś złe dane, nicponiu!");
  12. }
  13.  


Nie wiem czy o takie coś Ci chodzi, prościej nie jestem sobie w stanie tego wyobrazić biggrin.gif.
CuteOne
Hmm można potraktować formularz jako obiekt i przekazać go do obiektu walidacji i dopiero ona powinna sprawdzić poprawność danych
  1. $form = new LoginForm();
  2. $auth = new Authentication($form);
  3.  
  4. if($auth->isOk) { /*wiadomo ;) */ }
  5.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.