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

时间:2016-04-20 17:07:25

标签: php session

嗨,我是一个菜鸟,但是我在你登录后创建了一个页面,你去了主页,但是当我在主页上登录并刷新页面时,我会退出。

这是我登录的代码。 `

session_start();

require('connect.php');

if (isset($_POST['username']) and isset($_POST['password'])){

     $username = $_POST['username'];

     $password = $_POST['password'];


     $query = "SELECT * FROM `user` WHERE username='$username' and password='$password'"; 

     $result = mysqli_query($connection, $query) or die(mysqli_error($connection));

     $count = mysqli_num_rows($result);

if ($count == 1){

    $_SESSION['username'] = $username;

     header("Location: index.php");

    }else{
        echo "Invalid Login Credentials.";

和我的index.php的代码

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



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


}else {
    echo "logged in";

}   
?>

2 个答案:

答案 0 :(得分:2)

您的登录页面有:

SELECT <your_fileds> 
FROM (
  SELECT 
    <your_fileds>, 
    ROW_NUMBER() OVER(PARTITION BY id ORDER BY timestanp DESC) AS most_recent_row
  FROM my_dataset.my_table 
)
WHERE most_recent_row = 1

而您的主页有:

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

尽量保持一致。来自manual

  

“要使用基于cookie的会话,必须在向浏览器输出任何内容之前调用session_start()。”

确保您在两个页面中首先调用require'connect.php'; session_start(); 。确保没有任何空白区域或首先输出任何其他内容。例如:

正确的:

session_start()

不正确的:

<?php

session_start();

这应该可以解决你的问题。

答案 1 :(得分:0)

看起来像一个小问题,因为这里涉及的PHP代码不多。 尝试在没有

的情况下运行此代码
  

要求( 'connect.php');

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