$_SESSION 在使用 $.ajax 登录后不会更新


$_SESSION doesn't update after logged in with $.ajax

$_SESSION 在使用 $.ajax 登录后不会更新,即使在刷新页面后也是如此。

我所有的页面都以<?php session_start(); ?>开头

如果

if( isset($_SESSION['candidat_id'])&& isset($_SESSION['candidat_civilite'])&& isset($_SESSION['candidat_nom'])&& isset($_SESSION['candidat_prenom']))
{echo 'yes';}
else 
{echo 'no';} 

返回"no",即使 json 在我的登录模式中返回"Bienvenue Mme Fleur Deschamps!关闭模式后,页面将刷新,因此我的会话应该更新,但实际上并非如此。你能告诉我出了什么问题吗?谢谢。

这是我的代码。

$(document).ready(function() {
    $("#form_login").submit(function(event) {
        event.preventDefault();
        $.ajax({     
            type : 'POST',
            url : "ajx/process_login.php",
            data : $(this).serialize(),
            dataType: "json",
            encode : true
        }).done(function(data) { 
            if ( data.error.bienvenue$) {
                $('#infos_login').empty().append(data.error.bienvenue$); 
                $('#login_mdp_oublie').fadeOut();
            }
// data.error.bienvenue$  returns "Bienvenue Mme Fleur DESCHAMPS"

**这是我的完整process_login.php

$error =array();
if ( empty($_POST['email_login']) OR empty($_POST['pass']) )
   { $error['tous_les_champs'] ="Vous devez renseigner<br/>votre email et mot de passe";
   }
else  {  include('../pdo_connect.php'); 
        $email=$_POST['email_login'];
        $password1 =$_POST['pass'];
        $password=md5($password1);
        $query =$marInterim -> prepare('SELECT * FROM marinterim_candidats WHERE candidat_email=:candidat_email AND candidat_password=:candidat_password');
        $query ->bindParam(':candidat_email', $email, PDO::PARAM_STR);
        $query ->bindParam(':candidat_password',$password , PDO::PARAM_STR);
        $query ->execute();
        $rowCount=$query->rowCount(); 
     if ( $rowCount ==1)
        { $reponse = $query->fetch(PDO::FETCH_ASSOC);
         if (empty($_POST['remember_me']))
            {
                 $_SESSION['candidat_id']= $reponse['candidat_id']; 
                 $_SESSION['candidat_civilite']= $reponse['candidat_civilite']; 
                 $_SESSION['candidat_nom']= strtoupper($reponse['candidat_nom']); 
                 $_SESSION['candidat_prenom']= $reponse['candidat_prenom']; 
                 $_SESSION['candidat_email']= $reponse['candidat_email']; 
                 $error['bienvenue$'] ="Bienvenue ".$_SESSION['candidat_civilite']." ".$_SESSION['candidat_prenom']." ".$_SESSION['candidat_nom']." !" ;
            }
        else{    $_COOKIE['candidat_id']= $reponse['candidat_id'];
                 $_COOKIE['candidat_civilite']= $reponse['candidat_civilite']; 
                 $_COOKIE['candidat_nom']= strtoupper($reponse['candidat_nom']); 
                 $_COOKIE['candidat_prenom']= $reponse['candidat_prenom']; 
                 $_COOKIE['candidat_email']= $reponse['candidat_email']; 
                 setcookie ('candidat_id', $candidat_id, time()+3600*24*360, '/', null, false);
                 setcookie ('candidat_civilite', $candidat_civilite, time()+3600*24*360, '/', null, false);
                 setcookie ('candidat_nom', $candidat_nom, time()+3600*24*360, '/', null, false);
                 setcookie ('candidat_prenom', $candidat_prenom, time()+3600*24*360, '/', null, false);
                 setcookie ('candidat_email', $candidat_email, time()+3600*24*360, '/', null, false);
                 $error['bienvenueC'] ='Bienvenue '.$civc.' '.$prenomc.' '.$nomc.' !' ;                     
            }
        }
else{ $error['inconnu'] ='Désolés, les identifiants fournis ne correspondent à aucun candidat enregistré dans notre base de données.';   
    }
}
$data['error']  = $error;
include('array2json.php');
echo array2json($data);
************

现在,我的函数在模态关闭 ********

$('#close_login').click(function() {
    $('#ctn_modal_login').hide("slide", { direction: "left" }, 2000);
    $('#overlay').fadeOut(2000);
    setTimeout(function(){ window.location = '<?php echo $escaped_link;?>';  }, 3000); 
}); 
// $escaped_link = current page

您要发送会话 ID?

喜欢这个:

var param1= 'val1';
var sessionID = '<?php echo session_id(); ?>';
$.ajax({ 
  url: 'anyfile.php', 
  data: 'p1=' + param1+ '&sid=' + sessionID
});