<?php class user_manager { public $login; public $pass1; public $pass2; public $email; public function __get($nazwa) { return $this->$nazwa; } public function __set($nazwa, $wartosc) { $this->$nazwa = $wartosc; } public function __construct($login, $pass1, $pass2, $email) { require_once('funkcje/header.php'); $this->login = $login; $this->pass1 = $pass1; $this->pass2 = $pass2; $this->email = $email; } public function Exist_data_1() { if($this->login = '' or $this->pass1 = '' or $this->pass2 = '' or $this->email = '') { $_SESSION['blad_rej'] = 1; $_SESSION['login_r'] = "$this->login"; $_SESSION['mail_r'] = "$this->email"; my_header($do = 'zarejestruj.php', $czas = 0); exit; } } public function Login_ok() { { $_SESSION['blad_rej'] = 1; $_SESSION['login_r'] = "$this->login"; $_SESSION['mail_r'] = "$this->email"; my_header($do = 'zarejestruj.php', $czas = 0); exit; } } public function Haslo_ok() { if($this->pass1 != $this->pass2) { $_SESSION['blad_rej'] = 2; $_SESSION['login_r'] = "$this->login"; $_SESSION['mail_r'] = "$this->email"; my_header($do = 'zarejestruj.php', $czas = 0); exit; } } public function Zarejestruj() { $this->Exist_data_1(); $this->Login_ok(); $this->Haslo_ok(); $this->Email_ok(); $this->Zarejestruj_go(); } } ?>
wywoluje nastepujaca klase tak:
<?php require_once('obiekty/user_manager.php'); $usermng = new user_manager($login, $pass1, $pass2, $email); $usermng->Zarejestruj(); ?>
Jednak contruktor nie przypisuje zmiennym wartosci. Tak samo dzieje sie jezeli w kodzie dla kazdej zmiennej dam $usermng->login = $login; Dziala jedynie jak przekazuje niezbedne zmienne do kazdej funkcji, wtedy wywoluje bez $this-> . Co w tym kodzie jest nie tak ze nie przypisuje wartosci zmiennym clasy?