Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][OOP]1 klasa 2 funckje 2 tablice
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam mam pewnie kolejny błahy problem. Więc tak chodzi o to że mam klasę w której mam np Weryfikacja i spradz_hasła.

Kod:


  1. class test{
  2.  
  3. public function weryfikacja($haslo, $haslo1){
  4. $this->error['haslo'] = $this->sprawdz_haslo($haslo, $haslo1);
  5. }
  6.  
  7. private function sprawdz_haslo($haslo, $haslo1){
  8. $error = array();
  9.  
  10. if($haslo !== $haslo1){
  11. $error['porownanie '] = "Wpisane hasła nie pasują do siebie";
  12. }
  13.  
  14. return $error;
  15.  
  16. }
  17. }
  18.  
  19. $test = new test();
  20.  
  21. $weryfikacja = $test->weryfikacja('123', '1233');
  22. $error = $test->error;
  23.  
  24. echo '<pre>';
  25. var_dump($error);
  26.  


otrzymuje tablice

  1. array(1) {
  2. ["haslo"]=>
  3. array(1) {
  4. ["porownanie "]=>
  5. string(36) "Wpisane hasła nie pasują… do siebie"
  6. }
  7. }


gdy hasła są takie same otrzymam tablice

  1. array(1) {
  2. ["haslo"]=>
  3. array(0) {
  4. }
  5. }


Moje pytanie brzmi jak powinienem zrobić klasę weryfikacja żeby była pustą tablicą w przypadku gdy nie ma błędów. Na przykład potrzebował bym otrzymać taką pustą tablicę żeby wykonać rejestrację czyli

  1. Jeżeli tablica "jakas nazwa" jest pusta to $test->rejestracja($zmienna); inaczej wyświetl błędy

nospor
No to zapisuj do $this->error dopiero wtedy gdy jest błąd.... nie sądzisz, że to dość logiczne?

  1. public function weryfikacja($haslo, $haslo1){
  2.  
  3. $error = $this->sprawdz_haslo($haslo, $haslo1);
  4. if (!empty($error))
  5. $this->error['haslo'] = $error;
  6.  
  7. }
krzysiekk
widze ze mnie nospor uprzedził smile.gif


ja bym chyba sprawdzał w ten sposób
  1.  
  2. if($haslo !== $haslo1){
  3. return false;
  4. }
  5. else{return true;
  6. }


co daje nam to że komunikaty możemy dodawać lub nie poza klasą w zależności od wartości zwróconej .


KK
ghastblood
jeszcze jedno głupie pytanie jak pozbyć się komunikatu

  1. Notice: Undefined property: test::$error in



komunikat wyświetla się w przypadku gdy nie ma żadnych błędów.
nospor
Zadeklaruj wpierw w klasie tę $error.... Wiecej info jak zwykle w manualu. Już poraz kolejny cię proszę byś zajrzał tam, bo masz jeszcze duże braki.

http://pl1.php.net/manual/en/language.oop5.basic.php
http://pl1.php.net/manual/en/language.oop5.properties.php
ghastblood
Cytat(nospor @ 4.03.2013, 10:07:06 ) *
Zadeklaruj wpierw w klasie tę $error.... Wiecej info jak zwykle w manualu. Już poraz kolejny cię proszę byś zajrzał tam, bo masz jeszcze duże braki.

http://pl1.php.net/manual/en/language.oop5.basic.php
http://pl1.php.net/manual/en/language.oop5.properties.php



Nie no faktycznie sorki taki banał a ja od razu piszę to logiczne było że muszę zadeklarować zmienna. Dzięki za pomoc.
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.