проверка электронной почты FILTER_VALIDATE_EMAIL не работает, но моя ошибка не решена функция nbot не работает - PullRequest
0 голосов
/ 14 июля 2020
<?php 
function validateUser($user)
{

    $errors = array();

    if (empty($user['username'])) {
        array_push($errors, 'Username is required');
    }

    if (empty($user['email']) && !filter_var($user['email'], FILTER_VALIDATE_EMAIL)) {
        array_push($errors, 'Email is required');
    }

    // if (!filter_var(($user, FILTER_VALIDATE_EMAIL) {
    //  array_push($errors, 'Email is required');
    // }

    if (empty($user['password'])) {
        array_push($errors, 'Password is required');
    }
    // if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
 //      $emailErr = "Invalid email format";
 //    }

    if ($user['passwordconf'] !== $user['password']) {
        array_push($errors, 'password do not match');
    }

    $existingUser = selectOne('users', ['email' => $user['email']]);
    if ($existingUser) {

        if (isset($user['update-user']) && $existingUser['id'] != $user['id']) {
            array_push($errors, 'Email alraedy exists');
        }
        
        if (isset($user['create-admin'])) {
            array_push($errors, 'Email alraedy exists');
        }
    }
    return $errors;
}

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

Если вы хотите проверить либо пустой адрес электронной почты, либо недействительный, если:

<?php
if (empty($user['email']) || !filter_var($user['email'], FILTER_VALIDATE_EMAIL)) {
    array_push($errors, 'Email is required or invalid.');
}
0 голосов
/ 14 июля 2020

измените это

if (empty($user['email']) && !filter_var($user['email'], FILTER_VALIDATE_EMAIL)) {
    array_push($errors, 'Email is required');
}

на это

if (empty($user['email']) || (!empty($user['email']) && !filter_var($user['email'], FILTER_VALIDATE_EMAIL))) {
    array_push($errors, 'Email is required');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...