0

мне кажется что чего-то не хватает в html коде, помогите кто знает.

<?php
session_start();
require_once 'connect.php';

//$login = htmlspecialchars($_POST['login']);//$_POST['login']; //$email = htmlspecialchars($_POST['email']);//$_POST['email']; //$password = htmlspecialchars($_POST['password']);//$_POST['password']; //$password_confirm = htmlspecialchars($_POST['password_confirm']);//$_POST['password_confirm'];

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

$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$password_confirm = $_POST['password_confirm'];

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

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

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

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

?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <link href="https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,regular,italic,500,500italic,700,700italic,900,900italic" rel="stylesheet" >
    <link rel="stylesheet" href="..\register_form\css\login.css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="wrapper">
    <form action="..\register_form\vendor\signup.php" enctype="multipart/form-data" class="form__body" method="post">  
        <input type="text"  name="login" placeholder="Логин" class="login">
        <input type="e-mail"  name="email" placeholder="e-mail" class="email">
        <input type="password"  name="password" placeholder="Введите пароль"class="password">
        <input type="password"  name="password_confirm" placeholder="Подтвердите пароль"class="password">

        <button type="submit"  class="form__button"> Зарегистроваться </button>
        <p class="p_reg" >
            У вас есть аккаунт? - <a href ="..\index.php">авторизироваться</a>
        </p>

    </form>
</div>
</body>
</html>
  • 1
    !isset( восклицательный знак зачем? проверьте ваше условие, в блок проверок по моему вы попадаете когда у вас НЕ определены $_POST переменные. – Андрюха Jun 13 '22 at 18:24

1 Answers1

0

попробуйте изменить условие входа в блок проверок на

if(isset($_POST['login'],$_POST['email'],$_POST['password'],$_POST['password_confirm'])) 
Андрюха
  • 387
  • 2
  • 6