Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][OOP]1 klasa 2 funckje 2 tablice, Sam nie wiem jak to opisać
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


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

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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. }
Go to the top of the page
+Quote Post
krzysiekk
post
Post #3





Grupa: Zarejestrowani
Postów: 155
Pomógł: 17
Dołączył: 13.03.2006
Skąd: Jaworze

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


widze ze mnie nospor uprzedził (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post
ghastblood
post
Post #4





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


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.
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
ghastblood
post
Post #6





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 11:28