【问题标题】:Delete Individual Sessions in PHP在 PHP 中删除单个会话
【发布时间】:2015-08-17 12:49:09
【问题描述】:

我已经做了好几个小时了。 我有一个网站和一个博客。

我使用以下代码注册博客会话;

    session_id("blog");
    session_start();
    $_SESSION["blog"]["username"] = $_POST['username'];
    $_SESSION["blog"]["password"] = $_POST['password'];
    $_SESSION["blog"]["firstName"] = $row ['user_firstname'];
    $_SESSION["blog"]["lastName"] = $row ['user_lastname'];

我使用以下代码注册网站会话;

    session_id("web");
    session_start();
    $_SESSION["web"]["email"] = $_POST['email'];
    $_SESSION["web"]["password"] = $_POST['password'];
    $_SESSION["web"]["firstName"] = $row ['firstName'];
    $_SESSION["web"]["lastName"] = $row ['lastName'];

我使用下面的代码注销个别会话;

    session_id("web");
    session_start();
    session_destroy();

    session_id("blog");
    session_start();
    session_destroy();

这在注销网站时不起作用,因为在我签入 chrome 时只创建了一个 PHPSESSID。

  • 如何创建多个会话
  • 如何为它们分配变量
  • 如何独立注销它们

谢谢:)

【问题讨论】:

  • 您可以忽略 session_id。当你想销毁 web 会话时,而不是 session_destroy,只需 unset($_SESSION['web']);。同样,您可以 unset($_SESSION['blog']);

标签: php session


【解决方案1】:

您可以简单地使用unset 方法。

 // Lets start php sessions. This must go before any other headers
session_start();

// When setting
$_SESSION['web'] = array( 
                            "email" => "email@email.com",
                            "password" => "password",
                            "firstname" => "Jonas",
                            "lastname" => "M" 
                        );


// When unsetting
unset( $_SESSION['web'] );

// OR you can null it

$_SESSION['web'] = null;

【讨论】:

  • 谢谢你,我现在只是在测试它。如何获取数组中的元素以在查询中使用?
  • “在查询中使用”是什么意思?要输出会话的内容,只需说 $_SESSION['web']['email'] - Etc: echo $_SESSION['web']['email'];
  • 下面的查询无效; "SELECT * FROM qwickgrub_users WHERE email = $_SESSION['web']['email']";
  • 现在排序。谢谢!标记为答案!
【解决方案2】:
//start session - have to be only once 
session_start();

//create session variable - in your word create individual session and assign variable 
$_SESSION['session_name'] = "name";
$_SESSION["session_name"]["variable1"] = $variable1_value;
$_SESSION["session_name"]["variable2"] = $variable2_value;

//unset individual session variable - in your word logout individual session
unset($_SESSION['session_name']);

【讨论】:

  • 谢谢你,我现在只是在测试它。如何获取数组中的元素以在查询中使用?
  • 只使用 $_SESSION["session_name"]["variable"]
猜你喜欢
  • 2021-10-29
  • 2012-08-26
  • 2016-06-17
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多