Mam nastepujacy problem. Napisalem taka klase (dla skrocenia kodu wyrzucilem pare funkcji, ale to nie istotne):
<?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);
}
}
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);
}
}
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);
}
}
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?