Quelqu'un pourrait-il me dire pourquoi mes variables $ _SESSION ne sont pas reportées sur mon autre page PHP qui est appelée avec ajax.AJAX + PHP: Session timeout
Toutes les pages ont session_start();
Il fonctionne sur ma machine locale, mais quand je télécharge sur mon serveur, cela ne fonctionne pas, et le rafraîchir me ramène à l'écran de connexion ...
EDIT:
les variables de session enregistrées une fois qu'un utilisateur se connecte à
$_SESSION['user_id'] = $user_id;
$_SESSION['username'] = $user_email;
$_SESSION['name'] = $un;
$_SESSION['login_times'] = $login_time;
$_SESSION['profile_pic'] = $profile_pic;
Et quand le script ajax appelle l'autre PHP:
session_start();
$user_id = $_GET['id'];
$newsfeed_id = $_GET['nf_id'];
$comment = $_GET['comment'];
$conn = mysql_connect('localhost', 'admin', 'root') or die(mysql_error());
mysql_select_db('main') or die(mysql_error());
// insert new comment
$query = "INSERT INTO newsfeed_comments ".
"VALUES ('', '{$_SESSION['user_id']}', '{$comment}', '{$newsfeed_id}')";
mysql_query($query) or die(mysql_error());
Mais rien n'est renvoyé dans le texte de la réponse et les valeurs de $ _SESSION ["nom_utilisateur"] ont été désactivées et je suis redirigé vers la connexion.
Est-ce que quelqu'un sait quel est le problème?
Merci!
Ce qui n'est pas exactement reporté, certaines données de session ou toute la session? S'il vous plaît soyez plus précis. –
Est-ce que 'session_start' est appelée dans le script de connexion? Vous devez tracer si l'ID de session est passé (essayez le débogueur proxy Fiddler) –
oui c'est. session_start(); est au-dessus de chaque page. Session travail partout, ils échouent seulement quand j'appelle une demande AJAX – Stephen