$_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
});