简体   繁体   English

logout.php没有session_destroy

[英]logout.php does not session_destroy

My problem with logout.php but maybe not ! 我的logout.php问题, 但也许不是 Logout.php is definitely working. Logout.php肯定可以正常工作。 When user loged in and then he click logout button logout.php redirect index.php 当用户登录后,他单击注销按钮logout.php重定向index.php

My index.php is login and register page. 我的index.php是登录和注册页面。 When user loged in index.php redirect main.php , and then when user click logout user redirect index.php it still works. 当用户登录index.php重定向main.php ,然后单击注销用户重定向index.php它仍然有效。 Hoverwer if user write in url http://www.example.com/main.php after user logedout url said you are still loged in. 如果用户在用户注销url表示您仍在登录后输入url http://www.example.com/main.php ,则为Hoverwer。

index.php code index.php代码

<?php
ob_start("ob_gzhandler");
error_reporting(0);
include_once 'includes/db.php';
include_once 'includes/User.php';
session_start();
$session_uid=$_SESSION['uid']; 
if(!empty($session_uid))
{
    header("location:main.php");
}

$User = new User();

//Login
$login_error='';
if($_POST['user'] && $_POST['passcode'] )
{
    $username=$_POST['user'];
    $password=$_POST['passcode'];
    if (strlen($username)>0 && strlen($password)>0)
    {
        $login=$User->User_Login($username,$password);

        if($login)
        {
            $_SESSION['uid']=$login;
            header("Location:main.php");
        }
        else
        {
        $login_error="<span class='error'>Wrong password or username!</span>";
        }
    }
}

//Registration
$reg_error='';
if($_POST['email'] && $_POST['username'] && $_POST['password'] )
{
    $email=$_POST['email'];
    $username=$_POST['username'];
    $password=$_POST['password'];

    if (strlen($username)>0 && strlen($password)>0 && strlen($email) )
    {
        $reg=$User->User_Registration($username,$password,$email);

        if($reg)
        {
            $_SESSION['uid']=$reg;
            header("Location:main.php");
        }
        else
        {
            $reg_error="<span class='registererror'>Username or Email is already exists.</span>";
        }


    }
}

?>

session.php code session.php代码

 <?php
$session_uid=$_SESSION['uid']; 
// Session Private
if(!empty($session_uid))
{
    $uid=$session_uid;
    $login='1';
}
else if($_GET['username'] || $_GET['msgID'])
{
    $uid=$Wall->User_ID($username);
    $login='0';
}
else
{
    $url=$base_url.'index.php';
    header("location:$url");
}

?>

logout.php code logout.php代码

 <?php
error_reporting(0);
session_start();
$_SESSION['uid']=''; 
if(session_destroy())
{
    $url=$base_url.'index.php'; 
    //header("Location: $url");
    echo "<script>window.location='$url'</script>";
}
?>

I'm doing something wrong or missing. 我做错了什么或想念什么。 Please help me... Sory for my english :( 请帮助我... Sory我的英语:(

尝试只是这样做:

unset($_SESSION['uid']);

session.php您不启动会话:

session_start();

Try this code from logout.php : logout.php尝试以下代码:

<?php 
   session_start();
    session_destroy();
    header('Location: index.php');
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM