@ivanzuk761
Изучаю PHP

Регистрация php?

Ребят Регистрация работает все норм но у меня есть на 15 строке проверка если логн меньше 2 то пусть выдаёт ошибку но проверка не работает даже если значения меньше 2 он все ровно регистрирует
<?php

require "db/db.php";

$data = $_POST;

if (isset($data['do_signup']) )
{
    $errors = array( );
    if (trim($data['login']) == '' )
    {
        $errors[] = 'Введите Логин';
    }
    if(mb_strlen($data['login']) < 2 || mb_strlen($data['login']) > 10 )
    { 
                $errors[] = "Недопустимая Длина Логина"; 
    }
      if ( trim($data['email']) == '' )
    {
        $errors[] = 'Введите Email';
    }
     if(mb_strlen($data['email']) < 5 || mb_strlen($data['email']) > 20 )
     { 
               $errors[] =  "Недопустимая Длина E-Mail";        
    }
    if ( $data['password'] == '' )
    {
        $errors[] = 'Введите Пароль';
    }
    if(mb_strlen($data['password']) < 5 || mb_strlen($data['password']) > 20 ){ 
    
                $errors[] =  "Недопустимая Длина Пароль"; 
            }
    if ( $data['password_2'] !== $data['password'] )
    {
        $errors[] = 'Повторный Пароль Введёт Не верно!';
    }
    if (empty($errors))
    {
         if (R::count('users', "login = ?", array($data['login'])) > 0 ){
            $errors[] = 'Пользователь с таким логином есть!';
         }
        if (R::count('users', "email = ?", array($data['email'])) > 0 ){
            $errors[] = 'Пользователь с таким Email есть!';
        }
            $user = R::dispense('users');
            $user->login = $data['login'];
            $user->email = $data['email'];
            $user->password = $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT);
            R::store($user);
            ?>
        <div class="alert alert-danger" role="alert">
             <p>Вы Успешно Зарегистрировались</p>
        </div>
 <?php   }
    else{  ?>
        <div class="alert alert-danger" role="alert">
                  <?php  echo array_shift($errors); ?>
        </div>
<?php    } } ?>
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="../css/style.css">
    <link rel="shortcut icon" href="../img/icon.png" type="image/x-icon">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <title>Регистрация</title>
    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.13.0/css/all.css">
</head>
<body>
    
 <div class="container" style="height: 100vh;">
    <div class="row w-100 h-100 d-flex align-items-center justify-content-center">
       
      <div class="col-6 d-flex justify-content-center" style="box-shadow: 0 0 5px">
        <form class="text-center border border-light p-5" action="" method="post">
            <p class="h4 mb-4">Регистрация</p>
      
        <input type="text" class="form-control mb-4 w-70 mx-auto" placeholder="Логин" name="login" autocomplete="off">
        
        <input type="email" class="form-control mb-4 w-70 mx-auto" placeholder="Введите E-mail" name="email" autocomplete="off">
        
        <input type="password" class="form-control mb-4 w-70 mx-auto" placeholder="Пароль" name="password">
        
        <input type="password" class="form-control mb-4 w-70 mx-auto" placeholder="Пароль" name="password_2">

        <button class="btn btn-info btn-block w-70 mx-auto" type="submit" style="background:#F4C60E;color:black;border:none;font-size: 18px;font-weight: 500;"  name="do_signup">Войти</button>
          
          <p style="color:#777777;">Уже есть
              <a href="../pages/auth.php"class="mr-5 mt-5"> Аккаунт?</a>
          </p>
          
          </form>
      </div>
    </div>
  </div>
</body>
</html>
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
@kosmok
просто strlen
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽