Всем привет! Помогите пожалуйста разобраться что тут не так. Код (Text): <?php class User { public $name = "Default"; private $surname = "None"; private $email; private $login; private $pass; function __construct($name, $surname, $login){ $this->$name = $name; $this->surname = $surname; $this->pass = pass; } function showAll($text = ""){ echo $text . $this->name . ", " . $this->surname . "<br>"; } function getsurname(){ return $this->surname; } } $admin = new User("John", "Marley", "Admin"); $admin->showAll("Пользователь: "); $str = $admin->getsurname(); echo $str; echo "<br>"; $redactor = new User("Bob", "abcd", "Login"); $redactor->showAll(); $moderator = new User("George", "Mad", "Madgeorge"); $moderator->showAll(); Переменной $name указано, что значение имени по умолчанию = default, но метод конструкт создает форму по которой в дальнейшем создается пользователь. Возьмем например пользователя admin. По форме указано, что его зовут John Marley и его логин Admin, проблема в том что имя не перезаписывается как по форме, а используется его начальное значение(default).
Внимательность! Код (Text): $this->name = $name; // тут $this->surname = $surname; $this->pass = $pass; // и тут
ты бы сравнил что ли, вот твой код $this->$name = $name; $this->surname = $surname; $this->pass = pass; Ничего не заметно? )))
всегда на локалке. и никогда на проде, т.к. дамп с ошибкой это средство для исследования скрипта хакером. выполняйте это действие в зависимости от конфигурации.