У меня есть некоторые проблемы с использованием глобальной переменной PHP. Я искал из StackOverflow, но ничего похожего на мое (по крайней мере, я не нашел).
У меня есть 2 страницы php. Index.php и Account.php . Index.php вызывает account.php через ajax. Account.php должен получить некоторые данные XML с другого URL-адреса и сохранить их. После этого Index.php должен использовать его.
на index.php:
$("#login-submit").click(function(){
$("#span-login-loading").css('visibility','visible');
var dataString = 'user='+ $("#login-name").val() + '&pass=' + $("#login-pass").val();
$.ajax({
type: "POST",
url: "pages/account.php",
data: dataString,
success: function(data) {
$("#login-form").html(data);
$("#span-login-loading").css('visibility','hidden');
if (data.substr(0, 12) == "Logged in as"){
$("#div-login-submit").html('<a href="pages/account.php?logout=1" id="logout">Гарах</a>');
}
}
});
return false;
});
на account.php:
$xml_data = "<loginRequest>
<username>" . $_POST['user'] . "</username>
<password>" . $_POST['pass'] . "</password>
</loginRequest>";
$url = "url here";
$username = "name here";
$password = "pass here";
$process = curl_init($url);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_TIMEOUT, 10);
curl_setopt($process, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($process, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($process, CURLOPT_POSTFIELDS, $xml_data);
$return = curl_exec($process);
$info = curl_getinfo($process);
$xml = simplexml_load_string($return);
curl_close($process);
Как я могу передать $ xml в index.php? Мой вопрос больше похож на «Как я могу хранить объект типа xml в сессии». Потому что в настоящее время я использую сессию для хранения данных. Но в случае строковых данных он работает с окном ниже строки:
$_SESSION['user_name'] = (string)$xml->request->username;
Если я удаляю (строку) из нее, она делает ошибку, такую как Неустранимая ошибка: исключение, выбрасываемое без фрейма стека в поле Неизвестно в строке 0 , но мне нужен проходной объект, а не строка.