Как правильно реализовать отправку $_POST данных и возвращение ошибки? В общем, есть маленькая mvc, пишу на ней
Сейчас пишу регистрацию, и возникло "размышление"
Метод register принимает введенные данные с инпута - что мне дальше делать? Ну, т.е - проверить на корректность веденных данных и пустоту, и если все норм - передаю данные в метод(модель) reg и там уже делаю все что нужно(добавление в бд) или же, лучше передавать веденные данные в модель(сразу) и там уже проверять, если ошибка - возвращаю return false и проверяю if(!Auth::reg($_POST['login'].....) $this->error('Не верно введены данные')
И еще, как лучше будет делать условие if($_POST['submit']) ?

21 Авг 2019 в 07:04
167 +1
1
Ответы
1

Для реализации отправки данных через $_POST метод и возвращения ошибок в маленьком MVC проекте, можно следовать следующему подходу:

В методе контроллера register принимать данные из $_POST массива и проводить базовую проверку на корректность и заполненность данных.Если данные прошли базовую проверку, передавать их в метод модели reg для дальнейшей обработки (например, добавление в базу данных).В методе модели проводить дополнительную проверку данных (например, уникальность логина), и при наличии ошибок возвращать false.В контроллере проверять результат выполнения метода модели и в случае ошибки выводить сообщение об ошибке с помощью метода error.

Пример:

// Контролле
public function register()
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit']))
$login = $_POST['login']
$password = $_POST['password']
// Проведем базовую проверку данны
if (!empty($login) && !empty($password))
$result = $this->model->reg($login, $password)
if (!$result)
$this->error('Ошибка при регистрации')

} else
$this->error('Не все данные были заполнены')



// Модел
public function reg($login, $password)
// Проверяем уникальность логина, например, в базе данны
if ($this->isLoginUnique($login))
// Добавляем данные пользователя в базу данны
// Возвращаем true в случае успешной регистраци
return true
} else
// Возвращаем false в случае ошибк
return false

}

Что касается условия if($_POST['submit']), его следует проверять для определения того, что была отправлена форма. В данном случае, проверка if(isset($_POST['submit'])) будет более надежной, так как она будет true только в случае нажатия кнопки submit на форме.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир