2011-01-05 20 views
16

el siguiente es el enlace en mi sitio php .. después de hacer clic en este botón la sesión del usuario debe ser terminada y debe ser redirigido nuevamente a la página de inicio. He escrito la codificación para esto concepto de la siguiente manera pero me muestra sólo una página en blanco (no se redirige a la página principal) .. favor corregir mi codificacionescierre de sesión y redirigir sesión en php

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

codificaciones en el logout.php a sigue

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

Respuesta

46

Sólo esto es necesario

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 tu código realmente funcionó ... gracias a ti por tu ayuda amigo ... –

+0

tengo que esperar 3 minutos más para aceptar tu respuesta ... –

+0

Bien, está bien para ti. La sesión es algo muy extraño a primera vista, pero una vez que haya aprendido a usarla, nunca la olvidará. :-) – B4NZ41

17

Use esto en su lugar:

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

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

no está funcionando .. No sé la razón .. otherthings funciona muy bien, excepto la página de cierre de sesión –

+1

uso ini_set ('display_errors', 1); error_reporting (E_ALL); antes de sesson_start y ver si hay algún error emergente (difícil que no debería) –

+0

La respuesta de "Fernando Costa" funcionó para mí ... también gracias por tu respuesta inmediata –

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

No solo publique respuestas de solo código. Por favor explique por qué su código es la respuesta. –

+2

ahahaha respondiendo a @LeeTaylor por una línea de código, no sé si quiero llorar o reír –

2
<?php 

session_start(); 

session_unset(); 

session_destroy(); 

header("location:home.php"); 

exit(); 

?> 
Cuestiones relacionadas