<?php require './validate.php'; ?> <html><body> <form method="POST" action="register.php"> Email: <input type="text" name="email" size="20" /><br /> <input type="submit" value="OK" /> </form> </body></html> <?php $as = $_POST['email']; $valid->validate($as); if($valid->getEmail() == true) { } else ?>
validate.php
<?php class validate { public $email; public $pass; public $login; public function validate() { { case 1: { $this->email = $email; } case 2: { $this->pass = $pass; } case 3: { $this->login = $login; } } } /* * Function getEmail is to task validate email. * $valid->getEmail($email); * Function only takes is one param. * Function returns false or true. * */ public function getEmail() { if(preg_match('@^[A-Za-z0-9]{1}[a-zA-Z0-9\.\-\_]+\@[a-zA-Z0-9\.\-\_]+\.[a-z]{2,4}$@D', $this->email)) return true; else return false; } } $valid = new validate; ?>
Wywala błąd
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 .