|
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 117
|
||||||||||||||||
Почему возникают ошибки при отсутствии ошибок?11.09.2025, 00:37. Показов 1336. Ответов 14
Метки нет (Все метки)
Здравствуйте уважаемые специалисты. У меня есть несколько вопросов, касаемо одной темы, прошу вашей помощи и полезных советов.
Так я получаю курс BTC с внешнего источника:
Второй вопрос связан с тем, как правильно обработать ошибки в случае если внешний сервер не работает или не отвечает по каким-то причинам. Да, в интернете читал, смотрел разные варианты, но к какому-то единому определенному решению, который будет самым верным, не пришел. И последний вопрос. Очень странная ситуация. Есть код регистрации вместе с авторизацией:
Но если я добавляю код, который берет курс BTC с внешнего источника, то чаще всего (не всегда, но почти всегда), пользователя отправляет на авторизацию и не пускает на страницу для зарегистрированных и авторизованных пользователей. Притом, что (очень важно), весь код регистрации и авторизации обрабатывается без ошибок и все куки в браузер добавляются. Вот эту ситуацию я особенно не понимаю.
0
|
||||||||||||||||
| 11.09.2025, 00:37 | |
|
Ответы с готовыми решениями:
14
Изучаю ООП и возникают ошибки "unexpected '(', expecting ',' or ';'" Uninitialized string offset возникают ошибки |
|
Невнимательный
|
|||
| 11.09.2025, 01:22 | |||
|
Скрипт страницы берёт значения из сохранённого в локальный файл/бд. Ajax-запрос , если время сохранённого больше интервала обновлений, дёргает скрипт запроса обновлнения данных, на странице и сохраняемых. +/- если пусто или не обновляется .... варианты с показом доп.сообщений / заполнителей И непонятное какое-то условие ... за что и куда шлёт, если всё есть, и даже есть ключ в массиве $list_id. ... хотя который и не ключ, а время в секундах из куки. ... типа аналог user_id ?))
1
|
|||
|
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 117
|
|||
| 11.09.2025, 02:22 [ТС] | |||
|
ft4l, спасибо вам за ваш ответ.
$list_id - это отдельным кодом берется из общего файла, в котором добавлены все пользователи. Берется оттуда ID пользователя, ну и соответственно если нет такого, то не пускает. То есть, здесь
0
|
|||
|
Модератор
|
|||
| 11.09.2025, 04:49 | |||
|
Так и непонятно, зачем вы записываете в 'user_cookies' штамп времени вот здесь:
1
|
|||
|
Невнимательный
|
|||||||||
| 11.09.2025, 05:10 | |||||||||
пока догрузит страницу , уже поменяетсяПопробовал сделать ещё реже... раз в 2 минуты например
Но проверка только присутствия ключей это как-то непохоже на проверку авторизованности... хэш пароля ещё как-то хотябы сравнивать Добавлено через 13 минут
1
|
|||||||||
|
1310 / 1002 / 232
Регистрация: 01.10.2018
Сообщений: 3,896
|
|||
| 11.09.2025, 08:47 | |||
|
Выше верно написали про кэширование или AJAX-запрос для загрузки данных в "сквозное" содержимое страниц. Дополню только, что AJAX-запрос можно выполнять напрямую к стороннему API, если он позволяет.
Добавлено через 3 минуты Добавлено через 7 минут
1
|
|||
|
5119 / 1080 / 158
Регистрация: 16.01.2023
Сообщений: 2,664
|
|||
| 11.09.2025, 10:08 | |||
|
Намного лучше вариант, когда у вас отдельный скрипт периодически запрашивает актуальный курс. И сохраняет это значение локально. И при загрузке страницы вы просто выдергиваете это значение из своего кэша. Можно использовать быстрые хранилки типа Redis или Memcache. Ну или просто вашу базу данных. Добавлено через 1 минуту
1
|
|||
|
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 117
|
|||||
| 11.09.2025, 15:06 [ТС] | |||||
|
estic, ифреймы и скрипты принципиально не используются, потому что сайт в сети TOR, ну а там если пользователь поставит безопасный режим браузера, то ни то ни другое просто работать не будет. Поэтому только PHP. Вот в чем дело. ft4l, посмотрел ваш код. Скажите, я правильно понимаю, что запись данных будет сохраняться и каждые Nсек пересохраняться во временном файле и читаться уже из него? И еще хотел спросить вот что, я привел только пример того, что беру курс только BTC. Но на самом деле, я беру оттуда курсы двух монет - битка и Monero: https://min-api.cryptocompare.... ms=BTC,USD https://min-api.cryptocompare.... ms=XMR,USD Не совсем понимаю, это мне тогда под каждую монету получается писать отдельный код и сохранять данные в разных файлах, или же как-то можно это объединить? Извиняюсь конечно, я не супер специалист в PHP, поэтому многого еще не понимаю и возможно задаю много глуповатых вопросов, не бейте сильно)
0
|
|||||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
||
| 11.09.2025, 15:31 | ||
|
1
|
||
|
Невнимательный
|
||||
| 11.09.2025, 15:59 | ||||
|
Например https://min-api.cryptocompare.... ms=USD,EUR выхлоп : {"BTC":{"USD":113960.81,"EUR":97217},"ETH":{"USD":4411.67,"EUR":3762.71}}Добавлено через 8 минут + по хорошему блокировать файл надо ... чтобы возможно одновременно кто-то тоже ждал... или надо подумать,) как идеальнее )) Добавлено через 8 минут Добавлено через 3 минуты логирование надо на такие моменты прикрутить и наблюдать
1
|
||||
|
1 / 1 / 0
Регистрация: 06.03.2024
Сообщений: 117
|
||||
| 11.09.2025, 16:03 [ТС] | ||||
|
0
|
||||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
||
| 11.09.2025, 16:20 | ||
|
1
|
||
|
Невнимательный
|
||
| 11.09.2025, 16:53 | ||
|
Просто если представить что каждую секунду будет стучаться десяток запросов страницы, то одновременно для нескольких кеш может оказаться устаревшим, и несколько/все они начнут его обновлять одновременно. Но если первый из них успеет сделать touch — Устанавливает время доступа и модификации файла, так чтобы до проверки другими... то обновит только он. Без логирования и испытания под нагрузкой я затрудняюсь даже сказать насколько такое будет срабатывать... шанс улучшения есть. Грамотнее конечно по крону, о чём здесь сказали, .... проще и вообще не напрягая клиентские запросы... мой вариант более сердитый )) Интересен тоько тем что интересно пощупать вживую как и что с конкурентными заросами/доступом.
1
|
||
|
1310 / 1002 / 232
Регистрация: 01.10.2018
Сообщений: 3,896
|
|||
| 11.09.2025, 19:27 | |||
![]() "По крону" выполняете запрос к API с таймаутом, получаете данные (или не получаете) и можете сразу формировать файловый кэш блоков "сквозняка". Даже без сохранения полученных данных в базе данных. Роль источника данных здесь будет исполнять непосредственно сторонний API.Добавлено через 7 минут Сравнивайте сформированные образы блоков в памяти и ранее сохраненные в кэше, чтобы без толку не переписывать кэш каждые N минут/секунд.
1
|
|||
|
100 / 70 / 26
Регистрация: 19.12.2014
Сообщений: 332
|
|||||||||||
| 25.09.2025, 12:21 | |||||||||||
Сообщение было отмечено Kuzma92 как решение
Решение
По поводу кеширования не нужно ничего усложнять.
Самый простой вариант загрузить курс при помощи JS, для этого даже не нужно к бэку обращаться:
1
|
|||||||||||
| 25.09.2025, 12:21 | |
|
Помогаю со студенческими работами здесь
15
В php возникают ошибки Периодически возникают ошибки подключения Почему при отсутствии атрибута name в php поток нет ввода ?
Почему возникает ошибка? Call to undefined function: xmldoc() Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|