Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]klasa a wniej funkcja o zmienej liczbie parametrów
bałwan
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 21.02.2011

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


  1. <?php
  2. require './validate.php';
  3. ?>
  4.  
  5. <html><body>
  6. <form method="POST" action="register.php">
  7. Email: <input type="text" name="email" size="20" /><br />
  8. <input type="submit" value="OK" />
  9.  
  10. </form>
  11. </body></html>
  12. <?php
  13.  
  14. $as = $_POST['email'];
  15. if(isset($as) )
  16. $valid->validate($as);
  17.  
  18. if($valid->getEmail() == true)
  19. {
  20. echo 'ok';
  21. }
  22. else
  23. echo '!';
  24.  
  25. ?>

validate.php
  1. <?php
  2.  
  3. class validate
  4. {
  5. public $email;
  6. public $pass;
  7. public $login;
  8.  
  9. public function validate()
  10. {
  11. switch(func_num_args())
  12. {
  13. case 1:
  14. {
  15. $this->email = $email;
  16. }
  17. case 2:
  18. {
  19. $this->pass = $pass;
  20. }
  21. case 3:
  22. {
  23. $this->login = $login;
  24. }
  25. }
  26.  
  27.  
  28. }
  29. /*
  30.   * Function getEmail is to task validate email.
  31.   * $valid->getEmail($email);
  32.   * Function only takes is one param.
  33.   * Function returns false or true.
  34.   *
  35.   */
  36. public function getEmail()
  37. {
  38. if(preg_match('@^[A-Za-z0-9]{1}[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z]{2,4}$@D', $this->email))
  39. return true;
  40. else return false;
  41. }
  42. }
  43.  
  44.  
  45. $valid = new validate;
  46. ?>


Wywala błąd
  1. Undefined variable: email in C:\wamp\www\tr\validate.php on line 15

Jak dla mnie to zaraz po wysłaniu formularza do zmiennej $as i wywołaniu $valid->validate($as); w funkcji validate switch powinien ustawić sie na 1 i zdefiniować $this->email = $email;
Jest błąd czyli znaczy że źle myślę ale nic nie mogę innego wymyślić .
Proszę o pomoc .
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 20.08.2025 - 05:18