我正在为大学做一个数据库项目,我在这里遇到了一个问题。我试图在没有会话时显示"登录",而在有会话时则显示"注销"。但实际上,即使在我登录后,它仍然显示我"登录",并且我尝试打印_r($_SESSION);它告诉我变量是未定义的
我有一个注销文件:
<?php
session_start();
session_destroy();
header("Location:index.php");
?>
和一个init.php文件:
<?php
session_start();
?>
当我登录时调用init.php。
以下是index.php的一部分:
<?php
require 'db/connect.php';
require 'functions/security.php';
?>
<html>
<head>
<title>Home</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/common.css">
</head>
<body>
<div id="linking">
<?php
//print_r($_SESSION);
if (session_status() === PHP_SESSION_NONE) {
?>
<a href="login.php">Log In</a>
<?php
} else {
?>
<a href="logout.php">Log Out</a>
<?php
}
?>
<a href="new_customer.php">Register</a>
<a href="trips.php">Search for trips</a>
</div>
<hr>
<section id="section">
当您在登录页面上登录成功时。
session_start();
$_SESSION['user_logged_in'] = true;
在您的注销页面
session_start();
unset($_SESSION['user_logged_in']);
session_destroy();
在您的主页
<?php
session_start();
if(isset($_SESSION['user_logged_in'])) {
?>
< a href='logout.php'>Logout</a>
<?php
}
else {
?>
< a href='login.php'>Login</a>
<?php
}
?>