Php 将会话应用到正确的位置?

Php 将会话应用到正确的位置?,php,session,Php,Session,我不知道那个问题的措辞是否正确,但我措辞非常谨慎。基本上就是这样。我在本地机器上有两个目录 /server/core/ 及 “核心”是处理所有数据处理的工具,这样做的目的是,如果我需要更新我的应用程序,那么我只需更新“核心”,所有包含和调用位于“核心”中的函数的“客户机”将自动更新。我相信这个词是“动态网站” 所以,基本上是这样的。。我目前使用非常基本的课程只是为了开始学习,但一旦我达到更高的水平,我肯定会改变周围的事情。目前在我的“核心”中,我有以下代码位于login.php if(canL

我不知道那个问题的措辞是否正确,但我措辞非常谨慎。基本上就是这样。我在本地机器上有两个目录

/server/core/

“核心”是处理所有数据处理的工具,这样做的目的是,如果我需要更新我的应用程序,那么我只需更新“核心”,所有包含和调用位于“核心”中的函数的“客户机”将自动更新。我相信这个词是“动态网站”

所以,基本上是这样的。。我目前使用非常基本的课程只是为了开始学习,但一旦我达到更高的水平,我肯定会改变周围的事情。目前在我的“核心”中,我有以下代码位于login.php

if(canLogin) {
    if(!isset($_SESSION)){session_start();};
    $_SESSION['email'] = $email;
    header('Location: index.php');
}
它将加载位于“客户端”目录上的“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);
    }
}
<?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);
?>
以下代码位于/server/clients/

function createIndex($SQLConnection, $SQLConfig, $PDOConnection) {
    global $action;
    global $days;
    if(!isset($_SESSION)){session_start();} 
    if(empty($_SESSION['email'])) 
    {
        createLogin($PDOConnection, $SQLConfig);
    }
}
<?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文件,并使用echos将网站转发回来。请忽略多个SQL连接,因为它是用于测试的,将被删除

所以基本上,问题是,会话没有被保存,或者。。。相反,如果我不得不猜测,会话存储在/server/core/上,而不是/server/clients/

最终的结果是,用户总是被要求登录,而不是像在“仅客户端”版本中那样继续登录网站。((客户端版本只是一个静态网站,就像你通常看到的,动态方法是我自己尝试学习的东西,只是为了体验))


如何进行此操作,以便为登录人员存储会话。

使用
会话\u设置\u cookie\u参数
将目录设置为父目录:

<?php
$params = session_get_cookie_params();
session_set_cookie_params($params['lifetime'], '/server');

您的
核心
客户端
是否可以从同一域访问?例如
www.example.com/clients
www.example.com/core
或来自不同的域(如
www.core.com
www.clients.com
)?目前它们在我的本地计算机上,我的客户将在子域上,如
client.website.com
,而我计划在
core.website.com
或只是
website.com/core
上进行核心访问。如果是为了登录,我希望父目录是服务器(core)还是客户机?您必须将其设置为包含这两个脚本的目录,这样在一个目录中启动的会话将在另一个目录中继续。嗯。。。那么,我到目前为止使用的方法是否会不正确?考虑到我让核心(服务器)将所有结果回显到客户端?也许我误解了你说的话。仍然是我第一周与php打交道。您进行了显示子域分区的编辑,但是。。如果用户使用演示帐户登录到
demo.website.com
,然后转到
example.website.com
,他们还会登录到其他子域吗?还是仅仅是他们要求的那个?每个客户端都有自己的数据库用于登录和轮询数据。是的,它们仍将登录。将
.website.com
放入cookie意味着它适用于所有子域。将目录放入cookie意味着它适用于所有子目录。默认情况下,会话仅应用于设置它的子域和目录。您不能仅授予对某些子域的访问权限。这是一个等级制度。特定子域或子目录中的网页可以使其cookie和会话对祖先域和目录可见,然后对其所有后代可见。