我不知道那个问题的措辞是否正确,但我措辞非常仔细。基本上是这样的。我在本地机器上有两个目录。
/server/core/
和
/server/clients/
"核心"是处理所有数据处理的东西,这样做是为了如果我需要更新我的应用程序,那么我只需要更新"核心"和所有"客户端",包括和调用位于"核心"中的函数将自动更新。我想这个术语应该是"动态网站"。
基本上是这样的。我目前使用的是非常基本的课程,只是为了开始学习,但一旦我达到更高的水平,我肯定会改变一些东西。目前在我的"核心"我有以下代码位于login.php
if(canLogin) {
if(!isset($_SESSION)){session_start();};
$_SESSION['email'] = $email;
header('Location: index.php');
}
将加载位于"client"目录下的'index.php'。我是这样做的。
以下代码位于/server/core/function createIndex($SQLConnection, $SQLConfig, $PDOConnection) {
global $action;
global $days;
if(!isset($_SESSION)){session_start();}
if(empty($_SESSION['email']))
{
createLogin($PDOConnection, $SQLConfig);
}
}
下面的代码位于/server/clients/
<?php
$Configuration = include_once 'inc/Configuration.php';
include_once 'inc/Connection.php';
include_once '/opt/lampp/htdocs/eDashboard2/core/index.php';
createIndex($NormalConnection, $Configuration, $PDOConnection);
?>
它在核心上生成Index.php文件,并使用echo将网站转发回来。请忽略多个SQL连接,因为它是用于测试,将被删除。
基本上,问题是,会话没有被保存,或者…如果我必须猜测,那么会话将存储在/server/core/而不是/server/clients/
最终的结果是用户总是被要求登录,而不是像在"仅限客户端"版本中那样能够继续访问网站。((客户端版本只是一个静态网站,就像你通常看到的那样,动态方法是我自己尝试学习的经验))
我怎么做才能使会话将为登录的人存储
使用session_set_cookie_params
将目录设置为父目录:
<?php
$params = session_get_cookie_params();
session_set_cookie_params($params['lifetime'], '/server');
如果会话也必须存在于你的域的子域之间,你需要一个额外的参数:
session_set_cookie_params($params['lifetime'], '/server', '.website.com');