Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создать таблицу рейтинга
 
 автор: dobermann   (16.01.2014 в 04:31)   письмо автору
 
 

Доброго времени суток.
1) Хочу создать сайт (например, для Мортал Комбат) в котором люди смогут вызывать друг друга на поединок и, в зависимости от того выиграли или проиграли, набирать очки, что преобразуется в таблицу результатов. Подскажите, как правильно реализовать идею?
2) Будут ли пользователи считаться "зарегистрированными" (появятся ли в mysql таблице users) , если войдут на сайт через Login от Steam'a?
Три дня искал, прочитал пару книг, а решить вопрос не получается

  Ответить  
 
 автор: Enter   (16.01.2014 в 11:29)   письмо автору
 
   для: dobermann   (16.01.2014 в 04:31)
 

1. если вызвали игрока на поединок, то записывайте результаты в таблицу. типа:
user_id - int
game_id - айди игры или сессии
counts - int или как у вас очки считаются. записывать или сырые, или обработанные данные
как-то так.

2.делайте связь внешних логинов с внутренними. когда человек логинится, то проверяйте, есть он в базе или нет. если есть, берите данные из базы, если нет, создавайте нового пользователя.

  Ответить  
 
 автор: dobermann   (16.01.2014 в 16:58)   письмо автору
 
   для: Enter   (16.01.2014 в 11:29)
 

В этом и проблема, знания mysql и php почти нулевые. Пытаюсь читать учебники, но каждый раз убеждаюсь, что нужна практика. Может у кого есть код таблицы или урок, или видео урок, или еще что-то, что хоть как-то мне поможет? Вы ответили на два вопроса, у меня появилось еще пять. Может кто знает книгу хорошую, с примерами или картинками... И вообще, как лучше изучать php и mysql на дому? кто как учил? Желание есть, а вот почему-то не получается.

  Ответить  
 
 автор: Enter   (16.01.2014 в 18:56)   письмо автору
 
   для: dobermann   (16.01.2014 в 16:58)
 

так задавайте, учитесь на практике. В книжках только основы языка, а практика даст опыт и решение проблем.

  Ответить  
 
 автор: dobermann   (16.01.2014 в 19:21)   письмо автору
 
   для: 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) Это вообще реально сделать?

  Ответить  
 
 автор: Sfinks   (16.01.2014 в 23:38)   письмо автору
 
   для: dobermann   (16.01.2014 в 19:21)
 

> 1) Когда человек заходит на сайт через Steam, я , так понимаю, ему
> вручается id (как авторизации через ВК) и этот id попадает в новую таблицу

Нет. Гуглите в сторону oauth2

> 5) Это вообще реально сделать?
Реально все что не запрещено политиками безопасности. Так что да.

  Ответить  
 
 автор: Enter   (17.01.2014 в 01:20)   письмо автору
 
   для: dobermann   (16.01.2014 в 19:21)
 

1. Ему передается публичный айди той соцсети или через что он входит. нужно изучать OAuth и апи тех сайтов, через которые люди могут заходить.

2. а что за сайт-то? если вы пользуетесь сторонним приложением (или чем?) то в это приложение должен передаваться ваш айди из сторонней системы. то есть ваш айди в сторонней системе. его и учитывайте.

3. по какому-то алгоритму. надо читать документацию, какой системой вы пользуетесь.

4. если из БД, то копайте в сторону limit, если из цикла, то используйте сортировки.

5. все реально.

  Ответить  
 
 автор: dobermann   (17.01.2014 в 01:31)   письмо автору
 
   для: 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] когда пишете на форуме код.

  Ответить  
 
 автор: Enter   (17.01.2014 в 01:37)   письмо автору
 
   для: dobermann   (17.01.2014 в 01:31)
 

у вас не подключен cUrl.

еще совет: когда скрипт выдает ошибку, то скопируйте сообщение об ошибке и поищите в гугле. наверняка там есть решение.

другой совет: денвер - зло. учитесь настраивать апач или иис.

  Ответить  
 
 автор: dobermann   (17.01.2014 в 01:43)   письмо автору
 
   для: Enter   (17.01.2014 в 01:37)
 

я смотрел и в гугле и в яндексе, ничего толкового нету. у каждого ситуация индивидаульна, ничего схожего с моим кодом я не заметил

  Ответить  
 
 автор: Enter   (17.01.2014 в 01:45)   письмо автору
 
   для: dobermann   (17.01.2014 в 01:43)
 

подключите cUrl

  Ответить  
 
 автор: dobermann   (17.01.2014 в 01:53)   письмо автору
 
   для: Enter   (17.01.2014 в 01:45)
 

с этим я уже разобрался, доп пакет на денвер поставил. Огромнейшее спасибо, очень благодарен. Авторизация на сайт возможна через Стим и во многом благодаря Вам! Спасибо! Процентов на 10 свою мечту воплотил :D

  Ответить  
 
 автор: Enter   (17.01.2014 в 02:00)   письмо автору
 
   для: dobermann   (17.01.2014 в 01:53)
 

лучше пользоваться апачем, а не денвером.

  Ответить  
 
 автор: Valick   (17.01.2014 в 02:07)   письмо автору
 
   для: Enter   (17.01.2014 в 02:00)
 

на винде лучше Open Server, а если хочется реально хлебнуть, то тогда уж какая-нить Free-BSD с настоящим сервером и непременно командной строкой ;)
денвер это практически чистый WAMP только + мэйл заглушка и автоматические виртуальные хосты

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования