2011-01-05 14 views
16

poniższy link jest linkiem w mojej witrynie php. Po kliknięciu tego przycisku sesja użytkownika powinna zostać zakończona i powinien zostać ponownie przekierowany na stronę główną. Napisałem kodowanie dla tego koncepcja następująco ale pokazuje mi tylko pustą stronę (nie jest przekierowany do strony głównej) .. proszę poprawić moje kodowaniaWylogowanie i przekierowanie sesji w php

<a href="Logout.php"> 
click here to log out</a> 

kodowania w Logout.php a następująco

<? 
session_start(); 
session_unset(); 
session_destroy(); 
ob_start(); 
header("location:home.php"); 
ob_end_flush(); 
include 'home.php'; 
//include 'home.php'; 
exit(); 
?> 

Odpowiedz

46

Tylko że jest to konieczne

session_start(); 
unset($_SESSION["nome"]); // where $_SESSION["nome"] is your own variable. if you do not have one use only this as follow **session_unset();** 
header("Location: home.php"); 
+1

Twój kod naprawdę działał ... dzięki za pomoc przyjacielu ... –

+0

Muszę poczekać jeszcze 3 minuty, aby zaakceptować twoją odpowiedź. –

+0

W porządku, miło, że pracuje dla ciebie. Sesja jest na pierwszy rzut oka czymś bardzo dziwnym, ale gdy nauczysz się już jej używać, nigdy jej nie zapomnisz. :-) – B4NZ41

17

Użyj tego zamiast:

<? 
session_start(); 
session_unset(); 
session_destroy(); 

header("location:home.php"); 
exit(); 
?> 
+0

nie działa .. nie wiem powód .. otherthings działa bardzo dobrze z wyjątkiem strona wylogowania –

+1

użytku ini_set ("display_errors", 1); error_reporting (E_ALL); przed sesson_start i zobacz czy jakikolwiek błąd popup (trudny nie powinien) –

+0

Odpowiedź "Fernando Costa" zadziałała dla mnie .. również dziękuję za natychmiastową odpowiedź –

5
<?php 
session_start(); 
session_destroy(); 
header("Location: home.php"); 
?> 
-1
<?php //initialize the session if (!isset($_SESSION)) { session_start(); } 
// ** Logout the current user. ** 
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; 
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ 
    $logoutAction .= "&". htmlentities($_SERVER['QUERY_STRING']); 
} 

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")) { 
    // to fully log out a visitor we need to clear the session variables 
    $_SESSION['MM_Username'] = NULL; 
    $_SESSION['MM_UserGroup'] = NULL; 
    $_SESSION['PrevUrl'] = NULL; 
    unset($_SESSION['MM_Username']); 
    unset($_SESSION['MM_UserGroup']); 
    unset($_SESSION['PrevUrl']); 
    $logoutGoTo = "index.php"; 

    if ($logoutGoTo) { 
     header("Location: $logoutGoTo"); 
     exit; 
    } 
} ?> 
+4

Proszę nie wysyłać odpowiedzi tylko do kodu. Wyjaśnij, dlaczego Twój kod jest odpowiedzią. –

+2

ahahaha odpowiada na @LeeTaylor przez linię kodu, nie wiem, czy chcę płakać, czy się śmiać –

2
<?php 

session_start(); 

session_unset(); 

session_destroy(); 

header("location:home.php"); 

exit(); 

?>