Я прохожу курс по веб-разработке.В настоящее время я создаю веб-страницу, где люди могут делать заметки.Моя форма регистрации работает нормально, активация работает, значения БД создаются с именем пользователя и паролем.Проблема в том, что при попытке войти с активированным именем пользователя и паролем, он не перенаправляет на мою страницу входа в систему.Я перепробовал много вещей и просто не могу найти, где проблема.Я проверил свое соединение с базой данных, и все, кажется, работает.Я сравнил код с моим преподавателем курса, и не могу найти никакой разницы.Тем не менее, его работы, мои нет.Спасибо за любые предложения!
Вот мой код с вызовом Ajax для формы входа
$("#loginform").submit(function (event) {
event.preventDefault();
var datatopost = $(this).serializeArray();
console.log(datatopost);
$.ajax({
url: "login.php",
type: "POST",
data: datatopost,
success: function (data) {
if (data == "success"){
window.location = "mainpageloggedin.php";
}else{
$("#loginmessage").html(data);
}
},
error: function () {
$("#loginmessage").html("<div class='alert alert-danger'>There was an error with the Ajax Call. Please try again later!</div>");`
}
});
});
<?php
session_start();
//Connect to database
include("connections.php");
//Check user inputs
// Define error messages
$missingEmail = '<p><strong>Please enter your email!</strong></p>';
$missingPassword = '<p><strong>Please enter a password!</strong></p>';
if(empty($_POST["loginemail"])){
$errors .= $missingEmail;
}else{
$email = filter_var($_POST["loginemail"], FILTER_SANITIZE_EMAIL);
}
//GET PASSWORDs
if(empty($_POST["loginpassword"])){
$errors .= $missingPassword;
}else{
$password = filter_var($_POST["loginpassword"], FILTER_SANITIZE_STRING);
}
if($errors){
$resultMessage = '<div class="alert alert-danger">' . $errors . '</div>';
echo $resultMessage;
}else{
$email = mysqli_real_escape_string($link, $email);
$password = mysqli_real_escape_string($link, $password);
$password = hash('sha256', $password);
$sql = "SELECT * FROM users WHERE email = '$email' AND password='$password' AND activation='activated'";
$result = mysqli_query($link, $sql);
if(!$result){
echo '<div class="alert alert-danger">Error running the query!</div>';
exit;
}
if($count !== 1){
echo '<div class="alert alert-danger">Wrong username or password</div>';
}
else{
//log the user in: set session variables
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$_SESSION['user_id']=$row['user_id'];
$_SESSION['username']=$row['username'];
$_SESSION['email']=$row['email'];
// header('location: mainpageloggedin.php');
}
}
?>
Спасибо