【问题标题】:unset a session by value?按值取消会话?
【发布时间】:2012-05-25 23:20:12
【问题描述】:

是否可以通过它的值取消设置会话?

我有一个聊天应用程序,它使用名为 username 的会话识别用户/梨,我希望能够从管理面板取消设置每个会话。

我在管理员中有用户会话值,我可以将其发送到聊天应用程序以通过 ajax 取消设置该特定用户。

$kick_out = $_post['username'];
if($_session['username'] == $kick_out )
unset( $_session['username']  );

但问题是我不想取消所有 $_session['username'] 的设置,只是有 $kick_out value 的那个

【问题讨论】:

标签: php session


【解决方案1】:

然后做条件:

if{$_session['username'] == $kick_out} unset( $_session['username']);

【讨论】:

  • 我不想取消设置所有用户名会话,这会取消所有设置
【解决方案2】:

在您的代码中,您分配了踢出值,您没有对其进行比较。 如果你有一个 $_SESSIONS["username"] 你可以 var 转储它,所以我们得到一个胶水它是什么?对象?数组?多维数组?字符串?

【讨论】:

    【解决方案3】:

    您不能修改其他用户的会话。如果您想强制注销某人,您需要在数据库中存储一个标志,该标志会在登录用户的每个请求时检查。

    【讨论】:

    • 没有登录也没有数据库(至少对于用户来说)。当用户打开页面时,我要求一个昵称并设置会话。
    【解决方案4】:

    如果你想取消某人的会话,这是不可能的。你可以将会话 id 存储到数据库中,当你想踢某人时,将会话 id 设置为空,每次检查用户的 $_SESSION 是否与用户名相等的数据库相同登录用户名..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      • 2013-09-03
      • 2019-07-31
      • 2013-01-04
      • 2018-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多