如何将 $_SESSION 变量从另一个页面发送回索引文件?

How to send the $_SESSION variable back to index file from another page?

我有一个名为 $_SESSION['user_name'] 的全局变量,当我单击表单中的“提交”按钮时,它被设置为 POST 值。

在这个 php 文件中,我检查 $_SESSION['user_name'] 是否为空。

如果是,我必须提交表格,如果不是,则意味着会话仍在继续,它会将您发送到个人资料。

无论如何,在我填写表格后,它会比较这个变量是否与另一个变量匹配,然后如果为真则前往profile.php

在这个页面上,我有一个按钮是为 "logout" 用户准备的。

按下后,它会将您带到另一个 php 文件,我在其中更改了变量 (我之前回显过它,它确实改变了它)

但它不会将其转发回主页(index.php)并且变量仍然具有来自 $_POST 的值,尽管它在 logout.php 中有所不同,因为我改变了它。


我在 logout.php 的代码:

<?php
  session_start();

  $_SESSION['user_name'] = ""; // makes it empty
  echo $_SESSION['user_name'];
?>

还有一些 html 我使用元标记重定向回索引。


Now, my question is, how can I forward the changed variable back to the index or form page? Or is there any other way of doing that?

谢谢:)

尝试将您的 logout.php 文件设置为如下内容:

<?

require_once('functions.php');

log_out_user();
header("Location: login.php");
exit;

?>

例如,现在在您的函数文件中,尝试编写此函数:

function log_out_user() {
   unset($_SESSION['username']);
   // You can also use: session_destroy();
   return true;
}

希望对您有所帮助!