php - $_SESSION 变量设置后不可用
问题描述
单击一个按钮执行此 Ajax 请求
$.ajax({
type: "GET",
url: "json-responses.php?fct=validationCode&userMail=" + userMail,
success: sendValidationCode()
});
如果成功,则调用 sendValidationCode() 函数,该函数执行另一个 Ajax 请求
function sendValidationCode()
{
$.ajax({
type: "GET",
url: "json-responses.php?fct=sendValidationCode&userMail=" + userMail,
success: function()
{
location.replace("reset-forgotten-pw?user=" + userMail);
}
});
}
这是 json-responses.php 文件中的代码:
if ($_GET['fct'] == 'validationCode')
{
$_SESSION['v_Code'] = random_str(6, '0123456789');
$result = createValidationCode($connectionObject, $_GET['userMail'], do_crypt($_SESSION['v_Code']));
echo $result;
}
if ($_GET['fct'] == 'sendValidationCode')
{
$volTo = $_GET['userMail'];
$volAckString = $image . "<h1>Password assistance</h1><p>To verify your identity, please use the following code:</p>".$_SESSION['v_Code'].;
unset($_SESSION['v_Code']);
}
我假设在 $_SESSION['V_Code'] 变量将被设置并在第二个文件调用'sendValidationCode'文件时可用之前调用'validationCode'部分。但是,用户收到的邮件不包含任何验证码。现在,如果我重新启动进程(意味着会话在 'validationCode' 部分保持打开状态,我会得到一个新的 $_SESSION 变量,并且在 'sendValidationCode' 部分中,“旧” $_SESSION['v_Code'] 会发送给用户。(除了未设置....没有任何效果。)
解决方案
推荐阅读
- azure-iot-edge - [Azure][ACR] IoT 边缘模块部署到 raspi 设备失败
- oracle - 我的更新语句似乎没有执行
- android - tensorflowlite.so 为 android 构建失败,如何修复错误“名称 'closure_proto_library' 未定义”
- c++ - 创建套接字时出现异常
- reactjs - 使用条件渲染渲染组件
- qt - 将 Qt 布局应用到随机放置的小部件 UI
- yii2 - 为什么 Yii2 中的 app.log 没有任何记录?
- angular - 在角度模板中动态传递输入参数
- python - 多个 matplotlib 数字
- html - DIV 中的 CSS 样式元素