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

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

Для реализации отправки данных через POSTметодивозвращенияошибоквмаленькомMVCпроекте,можноследоватьследующемуподходу:</p><ol><li>Вметодеконтроллераregisterприниматьданныеиз_POST метод и возвращения ошибок в маленьком MVC проекте, можно следовать следующему подходу:</p><ol><li>В методе контроллера register принимать данные из P OSTметодивозвращенияошибоквмаленькомMVCпроекте,можноследоватьследующемуподходу:</p><ol><li>Вметодеконтроллераregisterприниматьданныеиз_POST массива и проводить базовую проверку на корректность и заполненность данных.Если данные прошли базовую проверку, передавать их в метод модели reg для дальнейшей обработки (например, добавление в базу данных).В методе модели проводить дополнительную проверку данных (например, уникальность логина), и при наличии ошибок возвращать false.В контроллере проверять результат выполнения метода модели и в случае ошибки выводить сообщение об ошибке с помощью метода error.

Пример:

// Контроллер
public function register() {
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['submit'])) {
$login = POST[′login′];_POST['login'];
P OST[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 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир