如何在不重新登录的情况下重新加载会话
How to reload session without re-login
我有这个代码:
<?php
$data = $_POST;
$lastchange = date('l jS \of F Y h:i:s A');
if(isset($data['do_change'])) {
$user = R::findOne('users', 'login = ?', array($login));
if ($user) {
$user->lastchange = $lastchange;
$user->login = $data['newlogin'];
R::store($user);
}
}
?>
更新用户数据后,会话数据不是最新的。在该脚本之后,我可以以某种方式结束会话并重新启动它,而无需用户再次登录吗?
这是登录部分:
if (isset($data['do_login'])) {
session_start ()
if ($response != null && $response->success) {
$user = R::findOne('users', 'login = ?', array($data['login']));
if ($user) {
if (($data['password'] == $user->password)) {
$_SESSION['logged_user'] = $user;
header('Location: pcab.php');
exit;
}
}
}
}
您不需要重新加载会话,只需在更新用户数据后更新会话数据即可。
<?php
$data = $_POST;
$lastchange = date('l jS \of F Y h:i:s A');
if(isset($data['do_change'])) {
$user = R::findOne('users', 'login = ?', array($login));
if ($user) {
$user->lastchange = $lastchange;
$user->login = $data['newlogin'];
R::store($user);
$_SESSION['logged_user'] = $user; // update the logged-in user
}
}
?>
我有这个代码:
<?php
$data = $_POST;
$lastchange = date('l jS \of F Y h:i:s A');
if(isset($data['do_change'])) {
$user = R::findOne('users', 'login = ?', array($login));
if ($user) {
$user->lastchange = $lastchange;
$user->login = $data['newlogin'];
R::store($user);
}
}
?>
更新用户数据后,会话数据不是最新的。在该脚本之后,我可以以某种方式结束会话并重新启动它,而无需用户再次登录吗?
这是登录部分:
if (isset($data['do_login'])) {
session_start ()
if ($response != null && $response->success) {
$user = R::findOne('users', 'login = ?', array($data['login']));
if ($user) {
if (($data['password'] == $user->password)) {
$_SESSION['logged_user'] = $user;
header('Location: pcab.php');
exit;
}
}
}
}
您不需要重新加载会话,只需在更新用户数据后更新会话数据即可。
<?php
$data = $_POST;
$lastchange = date('l jS \of F Y h:i:s A');
if(isset($data['do_change'])) {
$user = R::findOne('users', 'login = ?', array($login));
if ($user) {
$user->lastchange = $lastchange;
$user->login = $data['newlogin'];
R::store($user);
$_SESSION['logged_user'] = $user; // update the logged-in user
}
}
?>