Загрузка...

На что жалуется?

Тема в разделе Backend создана пользователем smoook92 5 мар 2022. 221 просмотр

  1. smoook92
    smoook92 Автор темы 5 мар 2022 15 14 май 2021
    Создаю блог на PHP, в ходе разработки возникла такая проблема:
    пишу проверку пользователя в бд, ввёл все данные в форме и нажимаю на отправить выходит такая ошибка:
    Notice: Trying to access array offset on value of type bool in E:\Ampps\www\blog\app\controllers\users.php on line 21

    Код:

    <?php
    include("app/database/db.php");

    $errMsg = '';

    if($_SERVER['REQUEST_METHOD'] === 'POST' ){
    $admin = 0;
    $login = trim($_POST['login']);
    $email = trim($_POST['mail']);
    $passF = trim($_POST['pass-first']);
    $passS = trim($_POST['pass-second']);

    if($login === '' || $email === '' || $passF === ''){
    $errMsg = "Заполните все поля!";
    }elseif(mb_strlen($login, 'UTF8') < 2){
    $errMsg = "Логин не должен быть короче 2 символов!";
    }elseif($passF !== $passS){
    $errMsg = "Пароли в обеих полях должны соответствовать!";
    }else{
    $existence = selectOne('users', ['email' => $email]);
    if($existence['email'] === $email){
    $errMsg = "Такой пользователь с такой почтой уже зарегистрирован!";
    }else{
    $pass = password_hash($passF, PASSWORD_DEFAULT);
    $post = [
    'admin' => $admin,
    'username' => $login,
    'email' => $email,
    'password' => $pass
    ];
    $id = insert('users', $post);
    }
    }
    }else{
    echo 'GET';
    $login = '';
    $email = '';
    }
     
  2. Обменник
    smoook92,
    PHP
    $existence = selectOne('users', ['email' => $email]);
    точно возвращаем массив?
     
    5 мар 2022 Изменено
    1. Посмотреть предыдущие комментарии (3)
    2. smoook92 Автор темы
      Обменник,
      function selectOne($table, $params = []){
      global $pdo;
      $sql = "SELECT * FROM $table";

      if(!empty($params)){
      $i = 0;
      foreach ($params as $key => $value){
      if(!is_numeric($value)){
      $value = "'" .$value. "'";
      }
      if ($i === 0){
      $sql = $sql . " WHERE $key=$value";
      }else{
      $sql = $sql . " AND $key=$value";
      }
      $i++;
      }
      }
    3. Обменник
      smoook92, 1. код не весь. 2. не вижу там prepare + execute или query
    4. Обменник
Загрузка...
Top