Не срабатывает ошибка о не совпадение паролей!

Думаю ошибка в основном if но не пойму в чем!

<?php

session_start(); 

require_once 'connect.php';

if(!empty($_POST['full_name']) && !empty($_POST['login']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password_confirm'])){  

    $full_name = $_POST['full_name'];

    $login = $_POST['login'];

    $email = $_POST['email'];

    $password = $_POST['password'];

    $password_confirm = $_POST['password_confirm'];

$query = "INSERT INTO users (full_name, login, email, password) VALUES ('$full_name','$login','$email','$password')";
$result = mysqli_query($connect, $query);


$_SESSION['message'] = "Регистрация прошла успешно";
header( 'Location: index.php');

}   else if ($_POST['full_name'] == ""){
    $_SESSION['message'] = "Вы не ввели ФИО";
    header('Location: register.php');

}   else if($_POST['login'] == ""){
    $_SESSION['message'] = "Вы не ввели логин";
    header('Location: register.php');

}   else if($_POST['email'] == ""){
    $_SESSION['message'] = "Вы не ввели email";
    header('Location: register.php');

}   else if($_POST['password'] == ""){
    $_SESSION['message'] = "Вы не ввели пароль";
    header('Location: register.php');

}   else if($_POST['password_confirm'] != $_POST['password']){
    $_SESSION['message'] = "Пароли не совпадают";
    header('Location: register.php'); 
}

Ответы (2 шт):

Автор решения: Sergey Danyleiko
$full_name = $_POST['full_name'];
$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$password_confirm = $_POST['password_confirm'];

if (!empty($full_name) && !empty($login) && !empty($email) && !empty($password) && 
   $password == $password_confirm) {
   $query = "INSERT INTO users (full_name, login, email, password) VALUES ($full_name, $login, $email, $password)";
   $result = mysqli_query($connect, $query);
   $_SESSION['message'] = "Регистрация прошла успешно";
   header('Location: index.php');

} else if (empty($full_name)) {
    $_SESSION['message'] = "Вы не ввели ФИО";
    header('Location: register.php');

} else if (empty($login)) {
    $_SESSION['message'] = "Вы не ввели логин";
    header('Location: register.php');

} else if (empty($email)) {
    $_SESSION['message'] = "Вы не ввели email";
    header('Location: register.php');

} else if (empty($password)) {
    $_SESSION['message'] = "Вы не ввели пароль";
    header('Location: register.php');

} else if ($password_confirm != $password) {
    $_SESSION['message'] = "Пароли не совпадают";
    header('Location: register.php');
}
→ Ссылка
Автор решения: nightflash

У вас сначала идёт проверка на заполнение всех полей. И только если одно из полей не заполнено, то только тогда проверяются условия. Это неверно.

if(!isset($_POST['full_name']) && !isset($_POST['login']) && !isset($_POST['email']) && !isset($_POST['password']) && !isset($_POST['password_confirm'])){ 

$full_name = $_POST['full_name'];

$login = $_POST['login'];

$email = $_POST['email'];

$password = $_POST['password'];

$password_confirm = $_POST['password_confirm'];

if (empty($full_name)) {
    $_SESSION['message'] = "Вы не ввели ФИО";
    header('Location: register.php');

} else if (empty($login)) {
    $_SESSION['message'] = "Вы не ввели логин";
    header('Location: register.php');

} else if (empty($email)) {
    $_SESSION['message'] = "Вы не ввели email";
    header('Location: register.php');

} else if (empty($password)) {
    $_SESSION['message'] = "Вы не ввели пароль";
    header('Location: register.php');

} else if ($password_confirm != $password) {
    $_SESSION['message'] = "Пароли не совпадают";
    header('Location: register.php');
} else {
   $query = "INSERT INTO users (full_name, login, email, password) VALUES ($full_name, $login, $email, $password)";
   $result = mysqli_query($connect, $query);
   $_SESSION['message'] = "Регистрация прошла успешно";
   header('Location: index.php');
}
}
→ Ссылка