Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> obsluga formularza
skowron-line
post
Post #1





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


  1. <?php
  2.  
  3. class obsluga_formularza {
  4.  
  5. public $nazwa;
  6. public $adres;
  7. private $wzorzec = '/^[a-zA-Z0-9.-_]+@[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}$/';
  8.  
  9.  
  10. function __construct($nazwa, $adres) {
  11.  
  12. $this -> nazwa = $nazwa;
  13. $this -> adres = $adres;
  14.  
  15. }
  16.  
  17. function policz_znaki() {
  18.  
  19. $ile_znakow = strlen($this -> nazwa);
  20. return $ile_znakow;
  21.  
  22. }
  23. function sprawdz_adres() {
  24.  
  25. if(!preg_match($this ->wzorzec, $this -> adres)){
  26. return "bledny adres e-mail";
  27. }else{
  28. return "adres e-mail jest poprawny";
  29. }
  30.  
  31. }
  32. function pokaz() {
  33. return $this -> policz_znaki().
  34. $this -> sprawdz_adres();
  35. }
  36. }
  37.  
  38.  
  39. echo'<form action="" method="post">
  40. nazwa:<input type="text" name="nazwa">
  41. adres:<input type="text" name="adres">
  42. <input type="submit" name="submit">';
  43.  
  44. if(isset($_POST['submit'])){
  45.  
  46. $parm = new obsluga_formularza($_POST['nazwa'], $_POST['adres']);
  47.  
  48. echo $parm -> pokaz();
  49.  
  50. }
  51. ?>


od jakiegos czasu usiluje sie nauczyc programowac obiektowo i napisalem cos takiego.
nie wiem czy jest to napisane poprawnie ale dziala jak ja to sobie zalorzylem.
lecz moje pytanie brzmi czy tak powinno to wyglada czy moze sprawdzanie poprawnosci wpisanych danych powinno byc poza klasa?? moze to zly przyklad ale chodzi mi o to ze jezeli teraz chcialbym sprawdzic czy pola zostaly wypelnione to czy mam to napisac w klasie czy poza nia??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Kod
Najprostrzy przyklad, twoja klasa "obsluga_formularza" jest odpowiedzialna za wyswietlenie DANEGO formularza, oraz metody do walidacji ma w sobie.

  1. <?php
  2. echo'<form action="" method="post">
  3. nazwa:<input type="text" name="nazwa">
  4. adres:<input type="text" name="adres">
  5. <input type="submit" name="submit">';
  6.  
  7. if(isset($_POST['submit'])){
  8.  
  9. $parm = new obsluga_formularza($_POST['nazwa'], $_POST['adres']);
  10.  
  11. echo $parm -> pokaz();
  12.  
  13. }
  14. ?>


formularz jest poza klasa dopiero po nacisnieciu submita jest wywolywana klasa.


czyli "mowisz" ze formularz tez powinien byc w klasie??, a walidacja w innej??

dopiero zaczynam przygode z OOP i samo jej uzycie jest dla mnie malo zrozumiale

Kod
Twojego przykladu nie da sie rozszerzac

w jakim sensie nie da sie go rozszerzac?? to co powinno tam jeszcze sie znajdowac??
Kod
Wiec obsluga_formularza powinna tez dzielic sie na wiele mniejszych obiektow. Chociazby lista pol, albo walidacje w klasie do obslugi formularzy.

nie kapuje dlaczego??
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.12.2025 - 21:19