我的会话似乎没有保存。我有一个登录页面,将用户 ID 保存为会话。但是当我离开页面并单击另一个页面时,会话不会保存。
这是我的代码。我有一个名为index .php的主页,如下所示:
<?php
if(!isset($_SESSION)){
session_start();
}
?>
<!DOCTYPE html> <HTML> <HEAD> </HEAD> <BODY>
<?php
$page_content = 'startpage.php';
if (isset($_GET['link']) && !empty($_GET['link']) ) {
$page_content = $_GET['link'];
}
include "$page_content";
include 'menu.php';
include 'footer.php';
?>
要登录,我使用这个名为admin.php的页面。在此页面中,我有可以正常工作的登录代码。如果用户写入了正确的用户名和密码,则会发生这种情况:
$_SESSION['user_id'] = $user_id;
print_r($_SESSION);
上面的代码显示了当前会话变量。但是一旦单击另一个页面,变量就会留空。
在 index.php 的底部是包含的footer.php页面,它看起来像这样:
<?php
if(!isset($_SESSION['user_id']) ){
echo "The sessions are not initiated. ";
}
if (empty ($_SESSION['user_id']) ) {
echo "The sessions are empty. ";
}
echo "<a href='index.php?link=admin.php'>Administration</a>";
?>
在此页脚中,我提出了两个 if 问题来检查会话。在我成功登录并单击另一个页面后,如果问题检测到我的会话为空且未启动。
我应该如何让会话正常工作?
也许我应该补充一点,我使用了一个使用 MySql 的租用数据库。