Я новичок в мире кодирования, а также в PHP и только что углубился в территорию объектов, классов и методов. Мне трудно понять, как использовать объектно-ориентированное кодирование в следующем коде, который я пытаюсь собрать. У меня есть форма, которую пользователи должны заполнить, указав свое имя, фамилию и адрес электронной почты. В качестве первого шага я проверяю, заполнил ли пользователь какие-либо данные
Следовательно, мой код выглядит так
class myform {
var $firstname, $lastname, $email;
function User($firstname, $lastname, $email) {
$fname = isset($_POST['fname']) ? $_POST['fname'] : '';
$lname = isset($_POST['lname']) ? $_POST['lname'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
errormsg = array():
if(empty($fname)) {
$errormsg[0] = 'Please enter your first name';
}
if(empty($lname)) {
$errormsg[1] = 'Please enter your last name';
}
if(empty($email)) {
$errormsg[2] = 'Please enter your email address';
}
}
}
}
Теперь на моей HTML-странице я создаю экземпляр объекта
<?php
$validate = myform();
$validate->User($firstname, $lastname, $email)
?>
Когда я отправляю свою форму, я получаю сообщение об ошибке, что переменные $ firstname, $ lastname, $ email не были определены, если я не изменю функцию на чтение, как показано ниже, которое, как я понимаю, ссылается на переменные вместо копирования.
function User(&$firstname, &$lastname, &$email)
Теперь у меня второй вопрос: я прочитал, что не следует присваивать значения элементам данных или переменным следующим образом
<?php
$validate = myform();
$validate->firstname = isset($_POST['fname']) ? $_POST['fname'] : '';
$validate->User($firstname, $lastname, $email)
?>