Так я получаю курс BTC с внешнего источника:
$url_api_btc = file_get_contents('https://min-api.cryptocompare.com/data/price?fsym=BTC&tsyms=BTC,USD');
$data_api_btc = json_decode($url_api_btc,1);
$bitcoin_rate = $data_api_btc['USD'];
При этом весь контент сайта загружается с некоторой задержкой. То есть при открытии страницы, сначала идет задержка на 2-3 секунды или больше, а после уже загрузка всего контента сайта. Вероятнее всего потому, что этот код расположен вверху, над всем контентом. Потому что нужен вывод курса в шапке сайта, это обязательно. Существует ли какой-то способ сделать это иначе, при том чтобы переменная $bitcoin_rate работала выше всего контента?
Второй вопрос связан с тем, как правильно обработать ошибки в случае если внешний сервер не работает или не отвечает по каким-то причинам. Да, в интернете читал, смотрел разные варианты, но к какому-то единому определенному решению, который будет самым верным, не пришел.
И последний вопрос. Очень странная ситуация. Есть код регистрации вместе с авторизацией:
if (isset($_POST['reg'])) {
//здесь всякое разное по регистрации
//дальше авторизация, и дальше куки
setcookie("user_cookies", time(), time()+ 86400 * 30,"/" );
setcookie("user_authorization", md5($_POST['password']), time()+ 86400 * 30,"/" );
header("Location: profile.php");
exit();
}
На страницах, которые доступны только зарегистрированным и авторизованным пользователям, следующий код:
if (isset($_COOKIE['user_cookies'])
&& isset($_COOKIE['user_authorization']) &&
array_key_exists($_COOKIE[''user_cookies'],$list_id)) {
// отправляем на авторизацию
}
Так вот, если я убираю код, который берет курс BTC с внешнего источника, то все работает отлично. После регистрации пользователь автоматически авторизуется и автоматом переходит на страницу для зарегистрированных и авторизованных пользователей.
Но если я добавляю код, который берет курс BTC с внешнего источника, то чаще всего (не всегда, но почти всегда), пользователя отправляет на авторизацию и не пускает на страницу для зарегистрированных и авторизованных пользователей. Притом, что (очень важно), весь код регистрации и авторизации обрабатывается без ошибок и все куки в браузер добавляются.
Вот эту ситуацию я особенно не понимаю.