|
|
|
| Доброго времени суток.
1) Хочу создать сайт (например, для Мортал Комбат) в котором люди смогут вызывать друг друга на поединок и, в зависимости от того выиграли или проиграли, набирать очки, что преобразуется в таблицу результатов. Подскажите, как правильно реализовать идею?
2) Будут ли пользователи считаться "зарегистрированными" (появятся ли в mysql таблице users) , если войдут на сайт через Login от Steam'a?
Три дня искал, прочитал пару книг, а решить вопрос не получается | |
|
|
|
|
|
|
|
для: dobermann
(16.01.2014 в 04:31)
| | 1. если вызвали игрока на поединок, то записывайте результаты в таблицу. типа:
user_id - int
game_id - айди игры или сессии
counts - int или как у вас очки считаются. записывать или сырые, или обработанные данные
как-то так.
2.делайте связь внешних логинов с внутренними. когда человек логинится, то проверяйте, есть он в базе или нет. если есть, берите данные из базы, если нет, создавайте нового пользователя. | |
|
|
|
|
|
|
|
для: Enter
(16.01.2014 в 11:29)
| | В этом и проблема, знания mysql и php почти нулевые. Пытаюсь читать учебники, но каждый раз убеждаюсь, что нужна практика. Может у кого есть код таблицы или урок, или видео урок, или еще что-то, что хоть как-то мне поможет? Вы ответили на два вопроса, у меня появилось еще пять. Может кто знает книгу хорошую, с примерами или картинками... И вообще, как лучше изучать php и mysql на дому? кто как учил? Желание есть, а вот почему-то не получается. | |
|
|
|
|
|
|
|
для: dobermann
(16.01.2014 в 16:58)
| | так задавайте, учитесь на практике. В книжках только основы языка, а практика даст опыт и решение проблем. | |
|
|
|
|
|
|
|
для: Enter
(16.01.2014 в 18:56)
| | Вот и я об этом же. Но проблема в том, что я нигде не могу найти коды "рейтинговой таблицы", что бы посмотреть что да как.
Как реализовать:
1) Когда человек заходит на сайт через Steam, я , так понимаю, ему вручается id (как авторизации через ВК) и этот id попадает в новую таблицу, где прописаны "id, win. lose. +\- (разница матчей), points, rating". Очки будут зачитываться за победу +3 и за поражение 0. Как это сделать?
2) Как отличить рейтинговую игру специально для моего сайта от обычной игры? id матча существует, но как понять, что он играет 1 на 1 для моего сайта, а не 5 на 5 просто так?
3) Как сайт будет понимать, кто выиграл, а кто проиграл?
4) как вывести в "мой профиль" 10 последних игр?
5) Это вообще реально сделать? | |
|
|
|
|
|
|
|
для: dobermann
(16.01.2014 в 19:21)
| | > 1) Когда человек заходит на сайт через Steam, я , так понимаю, ему
> вручается id (как авторизации через ВК) и этот id попадает в новую таблицу
Нет. Гуглите в сторону oauth2
> 5) Это вообще реально сделать?
Реально все что не запрещено политиками безопасности. Так что да. | |
|
|
|
|
|
|
|
для: dobermann
(16.01.2014 в 19:21)
| | 1. Ему передается публичный айди той соцсети или через что он входит. нужно изучать OAuth и апи тех сайтов, через которые люди могут заходить.
2. а что за сайт-то? если вы пользуетесь сторонним приложением (или чем?) то в это приложение должен передаваться ваш айди из сторонней системы. то есть ваш айди в сторонней системе. его и учитывайте.
3. по какому-то алгоритму. надо читать документацию, какой системой вы пользуетесь.
4. если из БД, то копайте в сторону limit, если из цикла, то используйте сортировки.
5. все реально. | |
|
|
|
|
|
|
|
для: Enter
(17.01.2014 в 01:20)
| | это сторонний сайт и приложение. (http://steamcommunity.com/)
Пытаюсь сделать авторизацию на сайте через этот код
<?php
include "apikey.php";
include "Openid.php";
$OpenID = new LightOpenID("localhost");
session_start();
if(!$OpenID->node){
if(esset($_GET['login'])){
$OpenID->identity = "http://steamcomunity.com/openid";
header("Location: {$OpenID->authUrl()}");
}
if(!isset($_SESSION['T25teamAuth'])){
$login = "<div id=\"login\">Welcome Guest. Please <a href=\"?login\"><img src=\"http://cdn.steamcommunity.com/public/images/signinthroughsteam/sits_large_noborder.png\"/></a> to *website action.</div>";
}
}
echo $login;
?>
|
Но выдаёт ошибку,
Fatal error: Uncaught exception 'ErrorException' with message 'You must have either https wrappers or curl enabled.' in Z:\home\localhost\www\steam\Openid.php:94 Stack trace: #0 Z:\home\localhost\www\steam\index.php(6): LightOpenID->__construct('localhost') #1 {main} thrown in Z:\home\localhost\www\steam\Openid.php on line 94
94 строка в openid.php
if(!function_exists('curl_init') && !in_array('https', stream_get_wrappers())) {
throw new ErrorException('You must have either https wrappers or curl enabled.');
}
|
что это может быть?
модератор: используйте теги [соde][/соde] когда пишете на форуме код. | |
|
|
|
|
|
|
|
для: dobermann
(17.01.2014 в 01:31)
| | у вас не подключен cUrl.
еще совет: когда скрипт выдает ошибку, то скопируйте сообщение об ошибке и поищите в гугле. наверняка там есть решение.
другой совет: денвер - зло. учитесь настраивать апач или иис. | |
|
|
|
|
|
|
|
для: Enter
(17.01.2014 в 01:37)
| | я смотрел и в гугле и в яндексе, ничего толкового нету. у каждого ситуация индивидаульна, ничего схожего с моим кодом я не заметил | |
|
|
|
|
|
|
|
для: dobermann
(17.01.2014 в 01:43)
| | подключите cUrl | |
|
|
|
|
|
|
|
для: Enter
(17.01.2014 в 01:45)
| | с этим я уже разобрался, доп пакет на денвер поставил. Огромнейшее спасибо, очень благодарен. Авторизация на сайт возможна через Стим и во многом благодаря Вам! Спасибо! Процентов на 10 свою мечту воплотил :D | |
|
|
|
|
|
|
|
для: dobermann
(17.01.2014 в 01:53)
| | лучше пользоваться апачем, а не денвером. | |
|
|
|
|
|
|
|
для: Enter
(17.01.2014 в 02:00)
| | на винде лучше Open Server, а если хочется реально хлебнуть, то тогда уж какая-нить Free-BSD с настоящим сервером и непременно командной строкой ;)
денвер это практически чистый WAMP только + мэйл заглушка и автоматические виртуальные хосты | |
|
|
|