【问题标题】:what happened if SESSION is already created and now i'm going to create SESSION of same name in Php如果已经创建了 SESSION 会发生什么,现在我要在 Php 中创建同名的 SESSION
【发布时间】:2014-01-16 04:30:51
【问题描述】:

我在我的网站中创建了登录表单并使用了 SESSION。 我的会话代码是

$_SESSION['USERSESSION'] = 'ID'.$value[0];

我成功创建了 SESSION。

现在我要创建同名的 SESSION

$_SESSION['USERSESSION'] = 'ID'.$value[0];

然后发生了什么?

它是否被覆盖?

删除旧的 SESSION 并创建新的 SESSION? 还有什么?

【问题讨论】:

  • 顺便说一句,如果您正确使用会话(在脚本开头使用session_start()),那么您所做的就是用与以前相同的值覆盖数组索引,因为会话对每个客户都是独一无二的。
  • 是的,对于属于该会话的客户端,它已被覆盖。
  • 有史以来最无意义的问题?他们可能表现出其他任何理智的行为吗?
  • 谢谢@gnat,但其他一些程序员实际上不明白我的问题,我是新手,所以我问听听。为了帮助我,他们记下了我的问题并说没有用。
  • @JonathonReinhart 你的意思是?

标签: php session


【解决方案1】:

检查的简单方法是读取值

$_SESSION['USERSESSION']

设置新值之前和之后。

【讨论】:

  • 没错,这些东西不应该被问成问题
【解决方案2】:
$_SESSION['USERSESSION'] = "value1";  // creates new session `USERSESSION` and assign value1

echo $_SESSION['USERSESSION']; // output : value1


$_SESSION['USERSESSION'] = "value2"; // this will update the session value by value2


echo $_SESSION['USERSESSION']; // output : value2

因此,当您在会话变量中分配值时,它会创建变量并分配值(如果不存在)。如果存在则更新。

你也可以像这样检查会话变量是否存在

if(isset($_SESSION['USERSESSION']))
{
  // session is set
}
else
{
  // session is not set
}

【讨论】:

  • 更新意味着它添加新旧值或将value1替换为value2
  • 它将 value1 替换为 value2
  • @Albert 如果它回答了您的问题,请将此答案标记为正确。
猜你喜欢
  • 2018-05-04
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 2018-02-03
  • 1970-01-01
  • 2014-11-07
  • 2016-08-04
  • 2012-12-14
相关资源
最近更新 更多