Я делаю скрипт входа в PHP с сессиями.Я сделал сеанс под названием Пользователь.Если пользователь вошел в систему, сеанс будет запущен.На моем сервере веб-хостинга все выглядело нормально.Но на моем собственном сервере localhost xampp сеанс не был запущен.
Мой скрипт входа в систему с кодом:
<?php
session_start();
require ('connection.inc.php');
if(isset($_POST['Login'])) {
htmlspecialchars($userName = $_POST['UName']);
htmlspecialchars($password = $_POST['pwd']);
if(empty($_POST['UName']) || empty($_POST['pwd'])) {
header("location:../login.php?Empty= Vul alle velden in");
}
else {
$sql= "SELECT * FROM users WHERE UName=? AND Pass=?";
$stmt = mysqli_stmt_init($conn);
if(!mysqli_stmt_prepare($stmt, $sql)) {
header('Location: login.php?MYSQLI_ERROR');
}
else {
mysqli_stmt_bind_param($stmt, "ss", $userName, $password);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
}
if($row = mysqli_fetch_assoc($result)) {
if($row['2FAStatus'] == 0) {
$_SESSION['User'] =$row['UName'];
$_SESSION['ID'] =$row['ID'];
header("Location:../sessiontest.php?uid=".$row['UName']);
exit();
}
else if ($row['2FAStatus'] == 1) {
if(isset($_COOKIE['remember'])) {
$_SESSION['User'] =$row['UName'];
$_SESSION['ID'] =$row['ID'];
header("Location:../wellcome.php?uid=".$row['UName']);
exit();
}
else {
header('Location: ../2FALogin.php?request=valid');
exit();
}
}
}
else {
header("location:../login.php?Invalid= Verkeerd wachtwoord/gebruikersnaam combinatie");
exit();
}
}
}
else {
header('Location: inlogfail.html');
}
Мой файл sessiontest.php имеет следующий код:
if(isset($_SESSION['User'])) {
echo 'yes';
exit();
}
else {
echo 'no';
echo error_get_last();
exit();
}
Нет ничего из вывода error_get_last ().Я вижу только «нет».но на моем сервере я вижу да.Кто-нибудь знает, что происходит?С уважением,