За последние 24 часа нас посетили 11789 программистов и 973 робота. Сейчас ищут 69 программистов ...

форма php, обработка данных из формы

Тема в разделе "PHP для новичков", создана пользователем viktor72, 25 июн 2021.

  1. viktor72

    viktor72 Активный пользователь

    С нами с:
    20 дек 2015
    Сообщения:
    322
    Симпатии:
    6
    Вопросы о форме в php
    1. сейчас на проектах, которые сложнее чем лендинг, используют php для создания форм (форма авторизации, редактирования данных пользователя и т.д.) или используются другие технологии ( js и прочее)?

    2. обработка данных из формы:
    PHP:
    1. function getLoginController()
    2.     {
    3.         $email = $_POST['email'];
    4.         $password = $_POST['password'];
    5.        
    6.         if($this->userModel->authorization($email, $password) == true){
    7.             header("Location: /my/cabinet/index/");
    8.         }else{
    9.             header("Location: /my/main/index/");
    10.         }
    11.     }
    Данные из поста надо обработать. Перед тем как попадают в контроллер, в контроллере или передать в модель и уже в моделе обрабатывать ? Я так понимаю это называется валидация.
    В поиске задавал запрос - к сожалению понятных ответов не нашел.
    .
    моё предположение - данные из поста приходят в контроллер , контроллер создает объект "валидация", в него передаются данные, затем то что возвратил передается в модель для обработки.
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.225
    Симпатии:
    533
    Что это значит? Простая форма – это практически статик. Ну, еще может быть какой-нибудь ключ прикручен вроде CSRF-токена.

    Первичная валидация, естественно, в контроллере. Вот так никогда не делайте:
    PHP:
    1.         $email = $_POST['email'];
    2.         $password = $_POST['password'];
    Это мегаламерство.
    --- Добавлено ---
    Принцип простой: любые входные данные нужно проверять, прежде чем их использовать. Вы не проверили существование POST-параметров с указанными ключами. Сразу видно, что вы в принципе не программист. Я когда в Web пришел из др. подразделения, мне такие элементарные вещи не нужно было объяснять.
    --- Добавлено ---
    Тут тоже простой принцип: передаете на обработку в модель и т.п. только то, что модель и т.п. способна нормально обработать, т.е. чтобы не было оверхеда.
    --- Добавлено ---
    P.S. Если сами делаете и то, и другое, то, естественно, и сами баланс ищете. Модель, естественно, ничего не должна знать про $_POST и т.п.
    --- Добавлено ---
    P.P.S. И учтите, что в элементах $_POST и т.п. могут быть массивы. Я когда-то думал, что только строки, пока мне не вправили мозги.
    --- Добавлено ---
    Валидация на JS – это свистоперделки для пользователей. На сервере в любом случае нужно все проверять.