simple world Ответов: 1

PHP и mysql login script не работают так, как должны работать


Привет,
У меня большая проблема с моим PHP-скриптом, я делаю простой логин/регистрацию в php и mysql.
Все работает нормально, за исключением того, что на странице входа в систему он регистрирует любую электронную почту, даже незарегистрированную...


include("connect.php");
include("functions.php");


$error = "";
 if(isset($_POST['submit'])) //this line means that if the submit button is pressed do the following code.
 {

     $email = mysqli_real_escape_string($con,$_POST['email']);
     $password = mysqli_real_escape_string($con,$_POST['password']);

     if(email_exists($email,$con))
     {
         $result=mysqli_query($con,"SELECT password FROM users WHERE email='$email'");
         $retrievePassword=mysqli_fetch_assoc($result);

         if(md5($password)!==$retrievePassword['password'])
         {
             $error="Password is inccorect";
         }
     }
     else
     {
         $_SESSION['email']=$email;
         header("location: profile.php");
     }
}
?>


Что я уже пробовал:

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

1 Ответов

Рейтинг:
0

simple world

Я нашел решение.
Я просто публикую его на случай, если это кому-то поможет.
В моем исходном коде у меня была проверка электронной почты в function.php файл, теперь я принес его в login.php файл, как видно ниже.
Я надеюсь, что это кому-то поможет

$ошибка = "";
if (isset ($_POST ['submit'])) //эта строка означает, что при нажатии кнопки submit выполните следующий код.
{

$написать = mysqli_real_escape_string($кон,$_POST, где['электронной почты']);
$password = mysqli_real_escape_string($con,$_POST ['password']);

$результат=mysqli_query($Con, то"выберите ID от пользователей, где написать='$email' и пароль='$пароль");
$retrievePassword=mysqli_fetch_assoc($result);
если(email_exists($электронной почты,$кон))
{
$result=mysqli_query($con, "выберите пароль от пользователей, где email= '$email'");
$retrievePassword=mysqli_fetch_assoc($result);

if (mysqli_num_rows($result) == 1)
{
$_SESSION ['email']=$email;
заголовок ("местоположение: profile.php");

}
}
ещё
{
$error= " Emai или пароль inccorect, проверьте еще раз";
}
}
?>