Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在新窗口中设置会话设置_Php_Mysql - Fatal编程技术网

Php 如何在新窗口中设置会话设置

Php 如何在新窗口中设置会话设置,php,mysql,Php,Mysql,我已经使用PHP和MYSQL创建了一个登录名 如果登录该页面,它将转到新页面 我的问题是: 一旦注销我的登录页面,它将再次显示新页面本身,但我不想在注销后显示该页面 ?php session_start(); if (!isset($_SESSION['username'])) { $_SESSION['msg'] = "You must log in first"; header('location: login.php'); } if (isset($_

我已经使用PHP和MYSQL创建了一个登录名

如果登录该页面,它将转到新页面

我的问题是: 一旦注销我的登录页面,它将再次显示新页面本身,但我不想在注销后显示该页面

?php 
  session_start();


  if (!isset($_SESSION['username'])) {
    $_SESSION['msg'] = "You must log in first";
    header('location: login.php');
  }
  if (isset($_GET['logout'])) {
    session_destroy();
    unset($_SESSION['username']);
    header("location: login.php");
  }
试一试


这里
session_destroy()销毁成功登录后创建的所有会话。另一方面,
sesion\u write\u close()
确保在销毁会话之后以及将页面重定向到定义位置之前,不会写入进一步的冲突会话。然而,这是一个非常基本但清晰有效的注销指南。

执行调用header函数后的代码。您应该在我们尝试使用退出函数的
标题(“位置:…”)
之后添加
exit
语句。但是如果(!isset($_SESSION['username']){$_SESSION['msg']=“您必须首先登录”头('location:login.php');退出;}如果($_GET['logout']){SESSION destroy();unset($_SESSION['username']);头('location:login.php');退出;}我们已经厌倦了这段代码。同样的问题。此代码被添加到index.php文件中。是否正确?尝试
var\u转储($\u会话)
并查看您注销后是否存在任何会话。感谢您提供此代码段,它可能会提供一些有限的即时帮助。A通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请在你的回答中添加一些解释,包括你所做的假设。我不知道你的目录结构。我假设您向查询字符串传递了键
logout
。它是在查询字符串中还是一个对象?
if (isset($_GET['logout'])) {
session_destroy();
sesion_write_close();
header("Location: login.php");
exit(); 
}