Переменная php недоступна

Я использую JQuery Ajax для вызова переменных сеанса из файла PHP steamauth, но он не работает, с помощью этого кода (ниже), когда я заменяю "$ data ['test'] = $ _SESSION ['steamid'];" на "$ data ['test'] =" ok ";", он работает очень хорошо, но с исходным кодом не всплывает никаких окон предупреждений, а div (ok) по-прежнему установлен на '...'.

Понятия не имею, почему я не могу получить переменную $ _SESSION ['steamid'], если она установлена. Большое тебе спасибо

test.php:

<?php

header('Content-Type: application/json');
require ('steamauth/steamauth.php');
$data = array();
if(!isset($_SESSION['steamid'])) {
    $data['retour'] = "ok";
    $data['test'] = $_SESSION['steamid'];
    echo json_encode($data);
} else {
    include ('steamauth/userInfo.php');
    $data['retour'] = "not ok";
    echo json_encode($data);
}      
?>

И main.html:

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
        $.get("test.php", function(data, status){
            alert(data.retour);
            document.getElementById('ok').innerHTML = data.test;
        });
    });
});
</script>
</head>
<body>

<button>clic</button>
<div id='ok'>...</div>
</body>
</html>

Ваш if - !isset( - так что вы говорите, что если это поле не установлено, попробуйте его использовать.

Nigel Ren 31.10.2018 12:23

Убедитесь, что установлен $ _SESSION ['steamid'].

Madhusudan 31.10.2018 12:24

1. в test.php после <?php используйте session_start(); 2. Если условие !isset($_SESSION['steamid'] истинно, то $_SESSION['steamid'] недоступен, так как вы можете назначить это другой переменной?

Anant Kumar Singh 31.10.2018 12:24

в общем, ! там не должно быть, и это то, что мешает ему работать. Я голосую за то, чтобы закрыть это сообщение как опечатку.

Robin Zigmond 31.10.2018 12:47
0
4
88
1

Ответы 1

Сначала вам нужно запустить сеанс в test.php

<?php

session_start(); //HERE SESSION IS STARTED

header('Content-Type: application/json');
require ('steamauth/steamauth.php');
$data = array();
$_SESSION['steamed']='WHAT EVER YOU WANT';
if(!isset($_SESSION['steamid'])) {
    $data['retour'] = "ok";
    $data['test'] = $_SESSION['steamid'];
    echo json_encode($data);
} else {
    include ('steamauth/userInfo.php');
    $data['retour'] = "not ok";
    echo json_encode($data);
} 
?>

Выход должен быть

[{retour: ok},{test: WHAT EVER YOU WANT}]

Другие вопросы по теме