Php 我的登录脚本会自动注销

Php 我的登录脚本会自动注销,php,session,Php,Session,我为自己制作了一个登录脚本,但现在当我登录时,它会转到主页,当我单击另一个页面时,它会将我注销。当我重新登录时。它确实有效 这是我的登录脚本: if(isset($_POST['login'])){ if($sQuery = $db->query("SELECT salt, id FROM users WHERE email='".$db- >real_escape_string($_POST['email'])."'")){ $sFetch = $sQuery->fe

我为自己制作了一个登录脚本,但现在当我登录时,它会转到主页,当我单击另一个页面时,它会将我注销。当我重新登录时。它确实有效

这是我的登录脚本:

if(isset($_POST['login'])){
if($sQuery = $db->query("SELECT salt, id FROM users WHERE email='".$db- >real_escape_string($_POST['email'])."'")){
    $sFetch = $sQuery->fetch_assoc();
    if($lQuery = $db->query("SELECT id FROM users WHERE email='".$db->real_escape_string($_POST['email'])."' AND password='".crypt($_POST['password'], $sFetch['salt'])."'")){
        if($lQuery->num_rows > 0){
            $_SESSION['email'] = $_POST['email'];
            $_SESSION['id'] = $sFetch['id'];
            header('Location: home'); 
            exit();
        }else{
            $errorlogin = "Je email of wachtwoord klopt niet.";
        }    
    }else{
        $errorlogin = "Er is iets misgegaan. Foutmelding: ".$db->error;
    }
}else{
    $errorlogin = "Er is iets misgegaan. Foutmelding: ".$db->error;
}
}  
这是我的索引:

<?php
session_start();
include_once("includes/class.database.php");


if(isset($_SESSION['id'])){
    include("ingelogd.php"); //When signed in
}else{
    include("inloggen.php"); //when not signed in
}
?>


我希望有人能帮助我

第一个
$db->real\u escape\u字符串中的空格是故意的吗?

第一个
$db->real\u escape\u字符串中的空格是故意的吗?

还要检查会话变量是否可用于脚本..使用empty()test而不是isset

if(!empty($_SESSION['id'])){
    include("ingelogd.php"); //When signed in
}else{
    include("inloggen.php"); //when not signed in
}

还要检查会话变量是否可用于脚本..使用empty()test而不是isset

if(!empty($_SESSION['id'])){
    include("ingelogd.php"); //When signed in
}else{
    include("inloggen.php"); //when not signed in
}

您是否在登录页上启动了会话?是否检查了索引页中的$\u session['id']变量?是否设置?请也发布“其他页面”的代码,以使您的问题更清楚。您是否在登录页面上启动了会话?是否检查了索引页面中的$\u会话['id']变量?设置与否?请将“其他页面”的代码也张贴出来,以使您的问题更清楚。