class Uzytkownik { function __set($parametr, $wartosc) { switch ($parametr) { case 'id': if(!sprawdzCzyliczbaNaturalna($wartosc)) throw new Exception(); break; case 'mail': if(!(filtrMail($wartosc))) return false; break; case 'haslo': $wartosc = $this->szyfrujHaslo($wartosc); break; default: throw new Exception(); } $this->dane[$parametr] = $wartosc; } function zapisz() { { wyslijZapytanie("UPDATE users SET ".pobierzListeDanych($this->dane)." WHERE id=$this->dane[id]"); } else { wyslijZapytanie("INSERT INTO users (id,mail,haslo,data) VALUES ('','0','".$this->dane[mail]."','".$this->dane[haslo]."','".$this->dane[data]."')"); } } function usun() { wyslijZapytanie("DELETE FROM users WHERE id=$this->dane[id])"); } function wczytaj() { $wynik = wyslijZapytanieSelect("SELECT id,mail,haslo,data FROM users WHERE ".pobierzListeDanych($this->dane)); else $wynik = wyslijZapytanieSelect("SELECT id,mail,haslo,data FROM users"); return $wynik; } function szyfrujHaslo($haslo) { $haslo = sha1( $haslo.'yk[d' ); return $haslo; } }
{ $Mail = filtrZmienna($_POST['Mail']); $Haslo = filtrZmienna($_POST['Haslo']); $uzytkownikSprawdz = new Uzytkownik; if( $uzytkownikSprawdz->mail=$Mail ) { $bledy[]='Mail'; } else $bledy[]='Mail'; { $uzytkownikNowy = new Uzytkownik; if( ($uzytkownikNowy->mail = $Mail) && ($uzytkownikNowy->haslo=$Haslo) ) $uzytkownikNowy->zapisz(); else $wyswietlFormularz = true; } else $wyswietlFormularz = true; } else $wyswietlFormularz = true;
Witam,
powyzej zamiscilem kod ktory pisalem sobie na wlasne potrzeby do tworzenia,usuwania,edytkowania uzytkownikow w bazie danych. Nie jestem bardzo doswiadczony w rozwiazaniach obiektowych.
Kombinowałem sobie w taki sposob zeby w klasie Uzytkownik poprzez funckcje __set sprawdzac wszystkie wprowadzane dane i ona przy wprowadzaniu jakiejs danej zwracalaby true lub false w zaleznosci od tego czy dana byla poprawna:
if( !($uzytkownikNowy->mail = $Mail) echo "Wprowadzono niepoprawny adres e-mail";
Niestety nie działa

Da sie jakos to zrobic zeby ($uzytkownikNowy->mail = $Mail) zwrocilo false lub true , jezeli wiecie o co mi chodzi?? Czy musze sobie zrobic inna metode odpowiedzialna za wprowadzanie wartosci do klasy?