PHP更改会话变量

时间:2014-05-11 04:58:06

标签: php session

我在用户更新其个人资料后更改会话变量时遇到问题。

例如,

我的settings.php页面将当前$_SESSION['first_name']设置为变量,如下所示:

session_start();
$first_name = $_SESSION['first_name'];

并且在表格中我可以像这样回应第一个名字:

<input type="text" name="first_name" value="<?php echo htmlentities($first_name); ?>">

然后在用户更改输入值并点击提交按钮后,表单将在同一页面上处理,如下所示:

if (isset($_POST['submit'])) {
  $first_name = mysqli_prep($connection, $_POST ['first_name']);

  unset($_SESSION['first_name']);
  $_SESSION['first_name'] = $first_name;

  redirect_to('settings.php');
  exit();
}

但是当使用我的redirect_to函数刷新页面时,会话变量没有改变。

我确实将更改插入到数据库中,为了简单起见,我在上面的代码中省略了这些更改,并且准确插入了新值,因此我知道问题在于会话,而不是输入或表单处理

我尝试在重定向之前添加session_regenerate_id(true);,但它什么也没做。有人可以帮忙吗?

0 个答案:

没有答案