当我刷新页面时,PHP会话重置

当我刷新页面时,PHP会话重置,php,session,Php,Session,嗨,说到PHP,我是一个noob,但我正在制作一个页面,在你登录后,你可以进入主页,但当我在主页登录并刷新页面时,我会注销 这里是我登录的代码。 ` 还有我的index.php的代码 <?php require'connect.php'; session_start(); if (!isset($_SESSION['username'])){ echo" not logged in"; }else { echo "logged in"; } ?> 您的

嗨,说到PHP,我是一个noob,但我正在制作一个页面,在你登录后,你可以进入主页,但当我在主页登录并刷新页面时,我会注销

这里是我登录的代码。 ` 还有我的index.php的代码

<?php 
require'connect.php';
session_start();



if (!isset($_SESSION['username'])){
echo" not logged in";


}else {
    echo "logged in";

}   
?>

您的登录页面有:

session_start();
require('connect.php');
require'connect.php';
session_start();
鉴于您的主页有:

session_start();
require('connect.php');
require'connect.php';
session_start();
尽量保持一致。从:

要使用基于cookie的会话,必须在将任何内容输出到浏览器之前调用会话_start()

确保先在两个页面中调用
session\u start()
。确保没有任何空白或任何其他先输出的内容。例如:

对的:
看起来是个小问题,因为这里涉及的php代码不多。
试着运行这个代码

require('connect.php')


如果仍然无法解决,我建议您检查connect.php文件中的代码。

我认为这与您的浏览器设置有关,您很容易受到攻击。对于会话,请检查每页上的
session\u id()
。如果id正在更改,则会导致会话cookie丢失,并且每次都会创建一个新的/空会话。您好,感谢您的回答,我检查了会话id(),但它在刷新时没有更改。@如果会话id没有更改,请取消报价,那么你不会丢失会话。但是如果im登录并刷新站点,那么if函数怎么会变为not logging then呢?我认为@mister的解决方案可以解决你的问题,但是如果没有,那么你需要检查所有浏览器上的代码或者检查php会话设置来发现问题。
// white space above PHP tag

<?php

session_start();