gpt4 book ai didi

php - 使用多个 PHP 处理 PHP servlet 的 session

转载 作者:行者123 更新时间:2023-11-30 22:36:30 25 4
gpt4 key购买 nike

我正在开发一款使用 PHP servlet 访问数据库的安卓游戏。它们是多个 PHP 文件。我的 android 应用程序向 PHP 文件询问存储在数据库中的数据。我正在尝试为我的 PHP servlet 实现某种 session 控制。在指向用户登录的 PHP (login.php) 中,我添加了

session_start();
// set time-out period (in seconds)
$inactive = 1800;

// check to see if $_SESSION["timeout"] is set
if (isset($_SESSION["timeout"])) {
// calculate the session's "time to live"
$sessionTTL = time() - $_SESSION["timeout"];
if ($sessionTTL > $inactive) {
session_destroy();
echo "fazer_login_novamente";
}
}

$_SESSION["timeout"] = time();
while($row=mysql_fetch_assoc($result)){
$json[]=$row;
}

在用户成功登录之后。现在,在登录之后,应用程序通过连接到另一个 PHP 文件来请求存储在数据库中的单词。这个新的 php (words.php) 通过此链接的 checkSession PHP 函数检查用户是否已经开始 session 或者它是否是劫持之王:http://php.net/manual/pt_BR/function.session-regenerate-id.php

但是当连接到 words.php 时,用户似乎总是得到“没有 session 开始”的异常。

我做错了什么?你能帮帮我吗?

编辑:这里是 words.php 的链接:https://www.dropbox.com/s/23em2h3l3hj1via/login.php?dl=0

编辑:这是 login.php 的链接:https://www.dropbox.com/s/1hp6udivy8whvl8/words.php?dl=0

最佳答案

也许,在 login.php 中添加一个变量,如

$_SESSION['session_set']=true;

然后,在 words.php 中,这样做:

session_start();
if(isset($_SESSION['session_set']) {
//session set (by login.php)
}
else {
//session not set (by login.php)
}

您必须知道,在每个 php 文件的开头,您必须使用 session_start(); 来访问 $_SESSION 变量。

关于php - 使用多个 PHP 处理 PHP servlet 的 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32404081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com