2011-01-05 2 views
16

le ci-dessous est le lien dans mon site php .. après avoir cliqué sur ce bouton la session de l'utilisateur devrait être terminée et il devrait être redirigé à nouveau à la page d'accueil .. J'ai écrit le codage pour cette concept comme suit, mais il me montre seulement une page vide (il n'est pas redirigé vers la page d'accueil) .. s'il vous plaît corriger mes codagesse déconnecter et rediriger session en php

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

codages dans l'un logout.php suit

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

Répondre

46

Seulement cela est nécessaire

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

ya votre code vraiment travaillé .. merci pour vous aider ami ... –

+0

je dois attendre 3 minutes de plus pour accepter votre réponse .. –

+0

Très bien, ça fonctionne pour vous. La session est quelque chose de très étrange à première vue, mais une fois que vous avez appris à l'utiliser, vous ne l'oublierez jamais. :-) – B4NZ41

17

Utilisez-le à la place:

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

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

il ne fonctionne pas .. Je ne sais pas la raison .. otherthings fonctionne très bien, sauf la page de fermeture de session –

+1

utilisation ini_set ('display_errors', 1); error_reporting (E_ALL); avant sesson_start et voir si des erreurs popup (difficile, il ne devrait pas) –

+0

"réponse de Fernando Costa" a travaillé pour moi .. je vous remercie aussi pour votre réponse immédiate –

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

S'il vous plaît ne pas poster seulement des réponses de code seulement. S'il vous plaît expliquer pourquoi votre code est la réponse. –

+2

ahahaha répondant à @LeeTaylor par une ligne de code, je ne sais pas si je veux pleurer ou rire –

2
<?php 

session_start(); 

session_unset(); 

session_destroy(); 

header("location:home.php"); 

exit(); 

?>