Php $\设置后会话变量不可用
单击按钮执行此Ajax请求Php $\设置后会话变量不可用,php,Php,单击按钮执行此Ajax请求 $.ajax({ type: "GET", url: "json-responses.php?fct=validationCode&userMail=" + userMail, success: sendValidationCode() }); function sendValidationCode() { $.ajax({ type
$.ajax({
type: "GET",
url: "json-responses.php?fct=validationCode&userMail=" + userMail,
success: sendValidationCode()
});
function sendValidationCode()
{
$.ajax({
type: "GET",
url: "json-responses.php?fct=sendValidationCode&userMail=" + userMail,
success: function()
{
location.replace("reset-forgotten-pw?user=" + userMail);
}
});
}
如果成功,将调用sendValidationCode()函数,该函数将执行另一个Ajax请求
$.ajax({
type: "GET",
url: "json-responses.php?fct=validationCode&userMail=" + userMail,
success: sendValidationCode()
});
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']);
}
if($\u GET['fct']=='validationCode')
{
$_SESSION['v_Code']=random_str(6,'0123456789');
$result=createValidationCode($connectionObject,$\u GET['userMail'],do\u crypt($\u SESSION['v\u Code']);
回声$结果;
}
如果($\u GET['fct']=='sendValidationCode')
{
$volTo=$_GET['userMail'];
$volAckString=$image。“密码帮助要验证您的身份,请使用以下代码:”$\u会话['v\u代码]。;
取消设置($_会话['v_代码]);
}
我假设在第二个文件调用“sendValidationCode”文件时,$\u SESSION['V\u Code']变量将被设置并可用之前调用“validationCode”部分。但是,用户收到的邮件不包含任何验证代码。现在,如果我重新启动进程(意味着会话在“validationCode”部分保持打开状态,我会得到一个新的$\u会话变量,而在“sendValidationCode”部分,“old”$\u会话['v\u Code']会发送给用户(除了未设置的…,没有任何效果)。不要忘记
会话\u start();
…我没有在您的代码中看到它。它包含在标题中(我没有在这里打印)