За последние 24 часа нас посетили 23019 программистов и 1724 робота. Сейчас ищут 1717 программистов ...

Как добавить проверку при авторизации?

Тема в разделе "Сделайте за меня", создана пользователем maksimkaqq, 28 апр 2020.

  1. maksimkaqq

    maksimkaqq Новичок

    С нами с:
    23 апр 2020
    Сообщения:
    21
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3.     $data = $_POST;
    4.     if ( isset($data['do_login']))
    5.     {
    6.  
    7.         $errors = array();
    8.          $user = R::findOne('user', 'login = ?', array($_REQUEST['login']));
    9.         if( $user )
    10.         {
    11.          
    12.  
    13.             if ( password_verify($_POST['password_1'], $user->password))
    14.             {
    15.                $_SESSION['logged_user']= $_REQUEST['login'];
    16.  
    17.                echo '<img style="width: 15px;" src="image/ok.png" alt="!">&nbsp;Вы вошли в аккаунт:&nbsp;'.$_SESSION['logged_user'].'<hr>';
    18.  
    19.             } else
    20.             {
    21.                $errors[] = 'Не верно введен логин или пароль';
    22.             }
    23.  
    24.             } else
    25.  
    26.             {
    27.                $errors[] = 'Логин не найден';
    28.             }
    29.  
    30.             if( ! empty($errors) )
    31.             {
    32.                echo '<img style="width: 17px;" src="image/vnimanie.png" alt="!">&nbsp;'.array_shift($errors).'<hr>';
    33.             }
    34.  
    35.     }
    36.  
    37.  
    38. ?>
    Всем привет.
    Сделал чтобы после подтверждения почты у пользователя в базе данных значение "email_confirmed" менялось на 0.
    Вопрос:
    Как добавить проверку при авторизации, чтобы могли заходить пользователи только с " email_confirmed - 0 "?
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Очень логично взводить такой флаг нулевым значением :)

    «Считайте за пользователей» только тех, у кого email_confirmed содержит 0. На прочие записи не обращайте внимания.
    Код (Text):
    1. AND `email_confirmed`=0
     
  3. maksimkaqq

    maksimkaqq Новичок

    С нами с:
    23 апр 2020
    Сообщения:
    21
    Симпатии:
    0
    Спасибо, за отклик на мою проблему, но все же, понимаю для тебя это тупой вопрос, но куда это вставить?)
     
  4. lastdays

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

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    if, else, else if умеешь же?

    PHP:
    1.    
    2.  
    3.             //- 1 Проверка пароля
    4.  
    5.             //- 2 Проверка активации
    6.            else if ( $user["email_confirmed"] != 0 )
    7.             {
    8.                 $errors[] = 'E-mail не подтвержден';
    9.             }
    10.             //- 3 успех
    Если ценишь клиента, то оповести его. Т.к. многие могут пропустить, что ссылка для активации ушла на почту.
     
  5. maksimkaqq

    maksimkaqq Новичок

    С нами с:
    23 апр 2020
    Сообщения:
    21
    Симпатии:
    0
    А все, понял, спасибо большое)
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.840
    Симпатии:
    652
    Наверное, это лучше делать уже в какой-то «побочной ветке» ;)