在PHP中取消设置会话

时间:2017-10-24 05:08:20

标签: php

我想知道如何在此方法中取消设置会话。

这是我的代码

<?php include  ('common/config.php');

     session_start();
     $curLocation =  $_SESSION['curLocation'];
      if($curLocation=='') 
    { 
      $curLocation='london';
      }
 ?>

我这样做

<?php
  session_destroy();  
  if ($curLocation='london') 
   {    
    unset($_SESSION['curLocation']);
   }

?>

5 个答案:

答案 0 :(得分:2)

请检查您的代码是否正确

您的错误代码

 if ($curLocation='london') 

正确

if ($curLocation=='london') 

答案 1 :(得分:1)

要销毁会话,您只需要:

<?php
    session_start();
    session_destroy(); 
?>

你不需要取消任何东西,因为无论如何你都要摧毁它。

但是,如果您只想取消设置特定变量,请执行以下操作:

unset($_SESSION['variableName']);

此外,此代码:

 $curLocation =  $_SESSION['curLocation'];
  if($curLocation=='') 
{ 
  $curLocation='london';
  }

可以写成:

if(! isset($_SESSION['curLocation']) ){
  $_SESSION['curLocation'] = 'london';
}

答案 2 :(得分:0)

使用两个=而不是一个

<?php
  session_destroy();  
  if ($curLocation=='london') //here
   {    
    unset($_SESSION['curLocation']);
   }
?>

您正在做的是为$curLocation分配一个值,而不是将其与某些内容进行比较

答案 3 :(得分:0)

最简单的版本:

unset($_SESSION['varname']);

session_destroy();

如果要创建LOGOUT脚本,请尝试以下方法:

// Clear session variables.
$_SESSION = array();

// Note: This will destroy the session, and not just the session data!
if(ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Destroy the session.
session_destroy();

// Set message
echo "Signing out..";

// Redirect to login page
header("Refresh:3; url=login.php", true, 303);

答案 4 :(得分:0)

在php中取消设置会话值使用session_destroy()函数,如果要单击注销按钮,则会销毁会话值并重定向到登录页面,因此请按照此代码在Web应用程序中尝试:

<?php   
session_start();
session_unset($_SESSION['user_id']); //to ensure you are using same session
session_destroy(); //destroy the session
echo "<script>window.location.href='index.php'</script>"; //to redirect back to "index.php" after logout
exit();
?>