【发布时间】:2017-02-15 06:19:57
【问题描述】:
我尝试在 Live Server (NameCheap) 中处理 SESSION,但是当我刷新页面时会话会自动销毁。表示该会话未存储在 Live Server 中。
点击登录按钮后,Session被存储,但是当我将页面或标题刷新到另一个页面时,会话被自动销毁。
// 开始会话
session_start();
error_reporting(E_ALL);
// 如果设置按钮
if(isset($_POST["btnStudent"])){
// 从输入中获取值
$studentUsername = input($_POST["studentUsername"]);
$studentPassword = input($_POST["studentPassword"]);
//查询数据库中的用户
$QUERYSTUDENT = mysqli_query($con, "SELECT `USERNAME` FROM `".DBPREFIX."student`.`background`
WHERE `USERNAME` = '$studentUsername' AND `PASSWORD` = MD5('$studentPassword') AND `STATUS` = '1'
LIMIT 1")
or die(mysqli_error($con));
// If User Exist
if(mysqli_num_rows($QUERYSTUDENT) > 0){
$_SESSION["STUDENT"] = mysqli_fetch_assoc($QUERYSTUDENT)["USERNAME"];
}
}
var_dump($_SESSION);
这里的实时服务器:https://sts-dgpp.com 谢谢
【问题讨论】:
-
你检查过
mysqli_fetch_assoc($QUERYSTUDENT)["USERNAME"]的输出了吗?看看它是否包含任何东西。 -
当您仍然直接在查询中插入参数时,
mysqli的意义何在? -
@Blinkydamo 是的,它包含准确的用户输入。你可以试试:用户名:limsocheat,密码:123456sts-dgpp.com
-
@S.I. mysqli 我使用简单的
mysqli仅连接到数据库。 -
@S.I.感谢您的回复,由于
php.ini,我已经发现了问题。我的session_save_path在我 remove 会话工作后因为php.ini不可写。谢谢