I've got a weird problem were php session variables are not working on pages accessed by ajax.
Server Side Code: s2.php
<?php
session_start();
header("Access-Control-Allow-Origin: *");
echo '{"response":"'.$_SESSION["email"].'"}';
exit();
?>
Client Side Code: index.php
$.ajax({
url: 'mysite.com/s2.php',
data: info,
error: function() {
console.log("broke :( ");
},
dataType: 'json',
success: function(data) {
console.log(data);
},
type: 'POST'
});
when I navigate to mysite.com/index.php i see: {response: ""} in the console.
When I navigate to mysite.com/s2.php I see {response: "email@address"} displayed in the browser.
I just don't understand why s2.php can access the session normally but not when run by an ajax call.
Also, when I run it on my home server, everything seems fine. But it's when it's run on my wife's bluehost.com server is when it has problems. Is this something with their settings?
$_SESSTION["email"]session_start()method in each one of pages where you are going to use the session, so try to callsession_start()in your index.php.