我正在制作带有会话的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()中没有任何内容。 我只看到“否”。 但是在我的服务器上,我看到了。 有人知道发生了什么吗?
答案 0 :(得分:0)
在您本地的xampp上,您可能忘记了将session.save_path设置为php.ini ...还要检查您的会话路径是否存在...例如,我在php.ini中具有以下值:
session.save_path = 'F:\Apache24\tmp'
(http://php.net/manual/en/session.configuration.php#ini.session.save-path)
也放入您的:sessiontest.php
<?php if (session_status() == PHP_SESSION_NONE) { session_start(); } ?>
如下
<?php
if (session_status() == PHP_SESSION_NONE) { session_start(); }
if (isset($_SESSION['User'])) {
echo 'yes';
exit();
} else {
echo 'no';
echo error_get_last();
exit();
}
?>
别忘了将此行放在会话工作的顶部...
希望获得帮助。