Система login в php не функционирует (Checkear, если электронная почта и пользователь существует)

Сейчас проблема - что if( !count($results) ) это не функционирует, отпускают else прямо. Полный код этот, спасибо :).

<?php
require 'database.php';
    if (!empty($_POST['email']) && !empty($_POST['password']) && ($granted=="true")) {
        require 'database.php';
        $message = 'Ha ocurrido un error';
        $sql2= 'select id from users where email=\''. htmlentities($_POST['email'], ENT_QUOTES). '\''; 
        $records = $conn->prepare($sql2);
        $results = $records->fetch(PDO::FETCH_ASSOC);
        if( !count($results) ) {
            $message = '';
            if (!empty($_POST['email']) && !empty($_POST['password'])) {
                $sql = "INSERT INTO users (email, password, user) VALUES (:email, :password, :user)";
                $stmt = $conn->prepare($sql);
                $stmt->bindParam(':email', $_POST['email']);
                $stmt->bindParam(':user', $_POST['user']);
            }
            if($_POST['password']==$_POST['confirm_password']) {
                $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
                $stmt->bindParam(':password', $password);
            } else {
                $error = 'password';
            }   
            if ($stmt->execute()) {
                $message = 'Successfully created new user';
            } else {
                if($error=="password"){
                    $message = 'Credentials does not match';
            } else {
                $message = 'Sorry there must have been an issue creating your account';
            }
            }
        } else {
            $error = 'exist';
            $message = 'Account alredy exist';
        }
    } else {
        $message = 'No tienes permisos para realizar está acción.';
    }
?>
1
задан 03.03.2019, 14:17
2 ответа

Как комментирует AlfaBravo, тебе остается выполнять консультацию. AdemГЎs estГЎs, пробуя санкционировать booleano, и он правилен, неправильное состоит в том, чтобы ты попробовал санкционировать это с count() из-за способа. Ты cambiГ© имя в переменные для того, чтобы было mГЎs у чувства, что estГЎs делая.

DocumentaciГіn fetch ()

типов Привета

$sql2= 'select id from users where email=\''. htmlentities(

Как комментирует AlfaBravo, тебе остается выполнять консультацию. AdemГЎs estГЎs, пробуя санкционировать booleano, и он правилен, неправильное состоит в том, чтобы ты попробовал санкционировать это с count() из-за способа. Ты cambiГ© имя в переменные для того, чтобы было mГЎs у чувства, что estГЎs делая.

DocumentaciГіn fetch ()

типов Привета

[110]POST['email'], ENT_QUOTES). '\''; $stmt= $conn->prepare($sql2); $stmt->execute(); $data = $stmt->fetch(PDO::FETCH_ASSOC); if( $data ) { ... } else { echo 'No hay registros o falló la consulta'; }
0
ответ дан 19.11.2019, 22:36

ты размещаешь плохо result должен будь быть results

$row_count = $results->num_rows;
-3
ответ дан 19.11.2019, 22:36
  • 1
    Está используя драйвер PDO, не mysqli –  Alberto Siurob 17.04.2019, 09:02