Ik probeer om via een XHR de waarde $_SESSION["user"] op te halen. Ik heb al een zeer simpel PHP script dat werkt, wanneer ik echter via een XHR dezelfde waarde probeer op te halen krijg ik alleen maar false.
De functie bovenin werkt prima wanneer ik hem in een andere PHP pagina oproep, wanneer ik via een XHR het onderste stukje code aanroep krijg ik echter altijd false als resultaat, ongeacht of de variabele geset is of niet.
Dit is hoe ik de XHR aanmaak en afhandel:
Het resultaat in mijn console is dus altijd false, wanneer ik de checkLogin() methode op mijn pagina echo krijg ik echter gewoon een 1 wanneer ik ingelogd ben.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| <?PHP function checkLogin() { if (isset($_SESSION["user"])) { return true; } else { return false; } } if (isset($_REQUEST["method"])) { if ($_REQUEST["method"] == "checkSession") { $result = checkLogin(); $jsonText = json_encode($result); echo $jsonText; } } ?> |
De functie bovenin werkt prima wanneer ik hem in een andere PHP pagina oproep, wanneer ik via een XHR het onderste stukje code aanroep krijg ik echter altijd false als resultaat, ongeacht of de variabele geset is of niet.
Dit is hoe ik de XHR aanmaak en afhandel:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function checkSession() { var params = "method=checkSession"; $.ajax({ type : "GET", url : "backend/checkSession.php?" + params, beforeSend : function(xhr) { xhr.overrideMimeType("text/plain; charset=x-user-defined"); } }).done(function(data) { if (console && console.log) { console.log(data); } }); } |
Het resultaat in mijn console is dus altijd false, wanneer ik de checkLogin() methode op mijn pagina echo krijg ik echter gewoon een 1 wanneer ik ingelogd ben.