【问题标题】:PHP $SESSION deosn't store in Live Server after refresh page or header to another pages刷新页面或标题到另一个页面后,PHP $SESSION 不会存储在 Live Server 中
【发布时间】: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 不可写。谢谢

标签: php session server


【解决方案1】:

由于php.ini,我已经发现了问题。我的session_save_path 在我删除 会话工作后因为php.ini 不可写。谢谢

希望它对某人有所帮助。

【讨论】:

  • 你到底删除了什么?
  • @Sylvesterhillary,我删除了 php.ini 文件,因为我是从另一台服务器下载的。
  • 好的,我明白了,但你为什么从另一台服务器下载 php.ini?是不是问题的原因?
  • @Sylvesterhillary,是的,我做到了,我从自动生成 php.ini 文件的云 IDE 下载。
猜你喜欢
  • 2019-04-28
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
相关资源
最近更新 更多