Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
0 / 0 / 1
Регистрация: 07.06.2015
Сообщений: 51

Авторизация через Steam API

29.06.2015, 21:48. Показов 4608. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, столкнулся со странной проблемой:
Имею два сайта с одинаковым "движком" (самописный скрипт), с первого сайта залил на второй, поменял только доммен, зарегал для него steam api key нажимаю аторизоваться и выводит ошибку на 84 строке:
PHP Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
          foreach ($json_decoded->response->players as $player) {
            $sessionid = md5(rand(100000, 999999) . rand(100000, 999999));
            $sessionid .= md5(rand(100000, 999999) . rand(100000, 999999));
            $sessionid = $db->real_escape_string($sessionid);
            $avatar = $db->real_escape_string($player->avatarfull);
            $personaname = $db->real_escape_string($player->personaname);
            $profileurl = $db->real_escape_string($player->profileurl);
            $query = $db->query("SELECT * FROM `users` WHERE `steamid` = '{$steamid}'");
            if($query->num_rows > 0) {
                $db->query("UPDATE `users` SET `sessionid` = '{$sessionid}', `img` = '{$avatar}', `name` = '{$personaname}', `profile` = '{$profileurl}' WHERE `steamid` = '{$steamid}'");
            } else {
                $db->query("INSERT INTO `users` (`steamid`, `sessionid`, `img`, `name`, `profile`) VALUES ('{$steamid}', '{$sessionid}', '{$avatar}', '{$personaname}', '{$profileurl}')");
            }
            setcookie('steamid', $matches[1], time() + $one_year, '/');
            setcookie('sessionid', $sessionid, time() + $one_year, '/');
            header("Location: /");
        }
на самой первой строке: foreach ($json_decoded->response->players as $player) {
Ошибка: Warning: Invalid argument supplied for foreach()
В чём проблема? На 1 сайте такой нету ошибки, код одинаковый.

Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2015, 21:48
Ответы с готовыми решениями:

Авторизация через Steam API
Создаем авторизацию с помощью Steam API (OpenID) 1. Создаем в директории сайта папку "lightopenid" и в этой папке создаем...

Steam API - как можно получить медиану цен через API?
Ребят, как можно получить медиану цен через API ? Интересует количество продаж за последний день. Инфу по предмету получаю таким...

Авторизация через steam
привет . Кто понимает как работает OpenId помогите решить проблему . у меня есть код <?php include "apikey.php"; ...

2
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
30.06.2015, 09:35
Что будет показывать
PHP Скопировано
1
var_dump($json_decoded);
перед циклом на первом сайте и на втором? Сравните результаты.
0
0 / 0 / 1
Регистрация: 07.06.2015
Сообщений: 51
30.06.2015, 14:41  [ТС]
На первом сайте, на котором всё работало, теперь появились ошибки:
На 73 строке:
PHP Скопировано
1
header('Location: ' . $openid->authUrl());
Warning: Cannot modify header information - headers already sent by (путь...)
Вот фрагмент кода, с 73 строкой:
PHP Скопировано
1
2
3
4
5
6
7
8
if(!$openid->mode) 
{
    if(isset($_GET['login'])) 
    {
        $openid->identity = 'http://steamcommunity.com/openid/?l=english'; 
        header('Location: ' . $openid->authUrl());
    }
} else {
А на втором сайте, к сожалению, всё та-же ошибка..
(Я правильно сделал?:
PHP Скопировано
1
2
var_dump($json_decoded);
        foreach ($json_decoded->response->players as $player) {
Добавлено через 9 минут
В похожей теме говорят, что возможно надо поменять file_get_contents на "cUrl версию" кто знает, как?

Добавлено через 3 часа 45 минут
... Ответ был прост: https://www.cyberforum.ru/post7183766.html
Клозед!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2015, 14:41
Помогаю со студенческими работами здесь

Авторизация через steam openID
При попытке авторизоваться на сайте через steam, выдает вот такую ошибку Warning: Cannot modify header information - headers already sent...

Не логинится через steam web api
Здравствуйте. Делаю рулетку для cs go (взял паблик исход), подключил БД и указал API key в настройках, при заходе адрес указывается куда...

Получить account_id dota 2 через steam api
Добрый день всем. Разобрался как делать авторизацию через стим апи. Разобрался как делать всякие разные вопросы, Но. Мне нужно получить...

Не могу создать авторизацию на сайте через Steam web API
Пересмотрел все способы добавления авторизации, но ничего не понял, пожалуйста кто может помочь, помогите.

Steam и Api
Здравствуйте!Для общего развития решил сделать сайт,поставить авторизацию через стим по данной статье...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер