За последние 24 часа нас посетили 6249 программистов и 481 робот. Сейчас ищут 150 программистов ...

Показ ошибок при заполнении формы

Тема в разделе "Сделайте за меня", создана пользователем flautr, 29 ноя 2018.

  1. flautr

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

    С нами с:
    4 авг 2015
    Сообщения:
    112
    Симпатии:
    0
    Привет, использую простую регистрацию на сайте.

    index.php
    <form method="post" action="register.php">
    <p><input type="text" name="login"></p>
    <p><input name="password" type="password"></p>
    <p><input name="password2" type="password"></p>
    <p><input type="submit" name="enter"></p>
    </form>

    register.php
    ...
    if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
    {
    $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";
    }
    if(strlen($_POST['password']) != strlen($_POST['password2']))
    {
    $err[] = "Пароли не совпадают";
    }
    # Если нет ошибок, то добавляем в БД нового пользователя
    if(count($err) == 0)
    {

    Как передать в index.php сообщения об ошибках?
     
  2. flautr

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

    С нами с:
    4 авг 2015
    Сообщения:
    112
    Симпатии:
    0
    Может я и сам разберусь мне бы хоть подсказку в нужном направлении))
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.462
    Симпатии:
    480
    register.php
    PHP:
    1. if (!empty($err)) {
    2.     header('Location: /?' . http_build_query(['error' => $err]));
    3.     exit;
    4. }
    index.php
    PHP:
    1. $auth = filter_input_array(INPUT_GET, [
    2.   'error' => [
    3.     'filter' => FILTER_SANITIZE_STRING,
    4.     'flags' => FILTER_FORCE_ARRAY
    5.   ]
    6. ]);
    7.  
    8. if(!empty($auth['error'])) {
    9.     echo implode(PHP_EOL, $auth['error']);
    10. }
     
    flautr нравится это.
  4. flautr

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

    С нами с:
    4 авг 2015
    Сообщения:
    112
    Симпатии:
    0
    @Deonis Спасибо Вам. Я долго ковырялся и сначала не смог подключить почему то, но сейчас разобрался)
     
  5. PHP-Chainik12

    PHP-Chainik12 Новичок

    С нами с:
    31 янв 2018
    Сообщения:
    32
    Симпатии:
    2
    Лучше используй Ajax
    --- Добавлено ---
    типа такого
    Код (Javascript):
    1. $('#btn').on('click',function(){
    2. var
    3.      login = $('#login').val();
    4.      password = $('#password').val();
    5. $.ajax({
    6. url:'file.php',
    7. type:'POST',
    8. cache:false,
    9. data:{
    10. 'login':login,
    11. 'password':password
    12. },
    13. success:function(data){
    14. $('#output').html(data)
    15. }
    16.    })
    17. });
    Библиотека jQuery если что
    и там где функция можно указать куда будут падать ошибки или слова и тд
    --- Добавлено ---
    Почитай про ajax