Попытка получить доступ к смещению массива по значению типа bool в - PullRequest
0 голосов
/ 11 июля 2020

У меня есть форма входа и регистрации в php. Я создал несколько пользователей с этой регистрацией пользователя:

    <?php
  require 'database.php';

$message = '';

  if (!empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['username'])) {
    $sql = "INSERT INTO users (email, password, username) VALUES (:email, :password, :username)";
    $stmt = $conn->prepare($sql);
    $stmt->bindParam(':email', $_POST['email']);
    $stmt->bindParam(':username', $_POST['username']);
    $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
    $stmt->bindParam(':password', $password);

    if ($stmt->execute()) {
      $message = 'El usuario ha sido creado';
      header("Location: login.php");
    } else {
      $message = 'Debes rellenar los tres campos';
    }
  }
 ?>

Я создал одного пользователя и пароль соответствует, но когда я go на мой логин, он говорит мне эту ошибку:

Попытка получить доступ к смещению массива для значения типа bool в C: \ xampp \ htdocs \ lapapaya \ login. php в строке 18 Это строка 18 в моем логине. php

if (count($results) > 0 && password_verify($_POST['password'], $results['password']))

И это полный код:

    <?php

  session_start();

  if (isset($_SESSION['user_id'])) {
    header('Location: lapapaya'.$user_id);
  }
  require 'database.php';

  if (!empty($_POST['email']) && !empty($_POST['password'])) {
    $records = $conn->prepare('SELECT id, email, password FROM users WHERE email = :email');
    $records->bindParam(':email', $_POST['email']);
    $records->execute();
    $results = $records->fetch(PDO::FETCH_ASSOC);

    $message = '';

    if (count($results) > 0 && password_verify($_POST['password'], $results['password'])) {
      $_SESSION['user_id'] = $results['id'];
      header("Location: /");
    } else {
      $message = 'Lo sentimos las claves no coinciden.';
    }
  }

?>

Кто-нибудь из вас мог видеть ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...