За последние 24 часа нас посетили 16902 программиста и 1647 роботов. Сейчас ищут 992 программиста ...

Несколько форм адресованы на одну страницу

Тема в разделе "PHP для новичков", создана пользователем VLK, 15 фев 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Подскажите, хорошая ли затея будет если со страниц регистрации, авторизации и т.д. данные будут отправляться на одну страницу, где будут проверятся и выполнятся соответствующие действие, по сути действия то одни и те же, проверить, а дальше или выполнить действие (зарегистрировать, авторизовать) или послать.

    т.е. есть 3 страницы - login.php, register.php, ctrl.php.
    login.php и register.php отправляют свои данные в ctrl.php, а там осуществляется проверка и или выполняются действия или возвращается на соответствующую страницу.



    И еще вопрос, как определить с какой именно формы пришли данные?
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Код (Text):
    1.  
    2. if(isset($_POST['name_submit']){
    3.  
    4.    }
    Я сам проверяю на той же странице, а если все впорядке передаю на на главную, или на текущую, на которой сделана авторизация.
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    но тут речь идет о конкретном input, а не о форме (form) в целом, т.е. получается надо будет проверять :

    Код (Text):
    1. if ( isset($_POST['register_name']) OR isset($_POST['register_email']) OR isset($_POST['register_password'])  )
    2. {...}
    так проверять как показано в коде выше надо в том случае если вдруг пользователь (дегенерат) ввел не все данные, по этому тут используется OR
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    тут речь идеть о конкретной форме, по идее. у формы есть кнопка и по нажатии кнопки можно судить какая форма.
    Лучше сначала проверить нажата ли кнопка, потом уже проверять правильность введенных данных.

    Добавлено спустя 56 секунд:
    если все норм, пользователь проходит авторизацию, в случае регистрации данные заносятся в БД и дальнейщие действия
     
  5. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    login.php - Пользователь логиниться если все ок, заносишь в сессию что он залогинился.

    register.php - зачем используется для регистрации. Проверь сессию залогинен или нет.

    ctrl.php - не знаю что это, но логика та же проверяй сессию.
    В чем вопрос?
     
  6. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Большое спасибо за подсказку, я просто отталкивался от тега form, задавал ему id и name, из этого ни чего не выходило, я не думал что можно, брать "в оборот" кнопку.

    smitt, когда пользователь выполняет какое то действие, допустим регистрируется, надо: проверить что он там ввел (пропустить через фильтры), ввел ли он вообще, проверить по БД (есть повторение или нет), при авторизации принцип действий примерно тот же, по этому хотелось бы унифицировать эти действия, так вот проверку данных и выполнение действия отводится файлу ctrl.php. ctrl.php это контроллер, который контролирует вводимые данные.

    или слишком все мудрено?

    PS и я не совсем понимаю причем тут Сессия, если пользователь авторизованный и пытается попасть на страницу авторизации или регистрации его отправит на главную страницу, это тоже все делается в ctrl.php
     
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Если честно не знаю что у тебя на уме, но вроде правильно мыслишь.

    Советую изучить фреимворк какой нибудь. Во многом разберешься.
     
  8. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    какой например, что бы попроще и без упора на JS (AJAX) т.к. не владею JS.
     
  9. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    PHP и javascript это разные языки.
    Учи любой. Сейчас здесь популярен Yii, но почему то мне кажется скоро будут переходить на laravel...