Сохранение денег в приложении

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Dima22007
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16

Сохранение денег в приложении

Сообщение Dima22007 »

Я уже 3 месяца ломаю голову как сохранить игровые деньги пользователя на сервере. Смотрел уроки ведение статистики, не помогло. Ну никак не пойму как сделать чтобы когда пользователь набрал любое колво денег, и когда наново зашел в игру, была такая же сума денег )
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Сохранение денег в приложении

Сообщение gaponj88 »

Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:

Код: Выделить всё

 var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['scores']=scores;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text=очки записаны;}
таким же образом выводи очки, читай разбирайся, если ты малейшего представления не имеешь, тебе уже никто не поможет
Dima22007
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16

Re: Сохранение денег в приложении

Сообщение Dima22007 »

gaponj88 писал(а):Dima22007
Да 3 месяца это диагноз. Что тут сложного? Создай базу, создай таблицу, из приложения отправляй очки, PHP скриптом(в котором путь к базе, к таблице)
Отправляй таким образом:

Код: Выделить всё

 var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['scores']=scores;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text=очки записаны;}
таким же образом выводи очки, читай разбирайся, если ты малейшего представления не имеешь, тебе уже никто не поможет
Спасибо, это мне поможет. А вывести точно так же ?
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Сохранение денег в приложении

Сообщение gaponj88 »

Код: Выделить всё

var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://твой скрипт_out.php');request.method=URLRequestMethod.POST;var vars:URLVariables = new URLVariables();vars['viewer_id']=viewer_id;request.data=vars;loader.load(request);loader.addEventListener(Event.COMPLETE, onComplete);function onComplete(event:Event):void {result_tf.text= loader.data;}
вытаскивай очки, по uid
Аватара пользователя
alexei
Разработчик
Разработчик
Сообщения: 836
Зарегистрирован: 21 янв 2010, 19:44

Re: Сохранение денег в приложении

Сообщение alexei »

Главное не забывайте проверять авторизацию на сервере.

А так:
Table:

Код: Выделить всё

id: int //id baseuid: int //id vkontaktecash: int // player cash
Сохранение:
Проверяем есть ли запись с таким uid, если да, то обновляем (Update ... where uid=@uid), нет — создаем. (insert ...)

Получение:
Тупой SELECT запрос where uid=@uid.
Аватара пользователя
drcode
Сообщения: 80
Зарегистрирован: 16 окт 2011, 00:07

Re: Сохранение денег в приложении

Сообщение drcode »

Будь аккуратнее что бы запрос не перехватили и циферку не изменили. Создавай перед отправкой хэш этих данных, потом из полученных данных генерируй хэш и проверяй эти 2 хэша на совместимость. Если они будут разные значит где то проблема. Что бы человек не додумался подменить и сам хэш используй секретную переменную.
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Сохранение денег в приложении

Сообщение gaponj88 »

drcode
Ухахахахаха)Ну ты загнул, хеш)))Если он 3 месяца говорит, не может в базу просто цыфры записать, а ты про хеш, и мд5))
Dima22007
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16

Re: Сохранение денег в приложении

Сообщение Dima22007 »

gaponj88 писал(а):drcode
Ухахахахаха)Ну ты загнул, хеш)))Если он 3 месяца говорит, не может в базу просто цыфры записать, а ты про хеш, и мд5))
3 месяца я образно сказал ) Неделю точно парюсь. Про мд5 знаю на actionscript2
Dima22007
Сообщения: 88
Зарегистрирован: 28 фев 2012, 19:16

Re: Сохранение денег в приложении

Сообщение Dima22007 »

Вот я пишу код в as

Код: Выделить всё

var stat_loader:URLLoader = new URLLoader();            var stat_request:URLRequest = new URLRequest("http://fish.gamer-rus.net/stat.php");// заменяем на ссылку к вашему скрипту            stat_request.method = URLRequestMethod.POST;            // добавление параметров в запрос            var stat_vars:URLVariables = new URLVariables();            stat_vars['auth_key'] = LoaderInfo(root.loaderInfo).parameters.auth_key;// auth_key из FlashVars            stat_vars['viewer_id'] = LoaderInfo(root.loaderInfo).parameters.viewer_id;// ID просматривающего приложение            stat_vars['money'] = money;            stat_request.data = stat_vars;            // выполнение запроса            stat_loader.load(stat_request);                        loader.addEventListener(Event.COMPLETE, onComplete);            function onComplete(event:Event):void {                result_tf.text="очки записаны";
Вот код в php:

Код: Выделить всё

<?php// данные доступа к базе данных$db_host="localhost";       // обычно не нужно изменять$db_user="**";      // имя пользователя БД$db_password="**";      // пароль БД$db_name = "**";        // имя БД$table_name = "&&";     // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо // данные приложения$app_id = '**'; // id приложения$api_secret = '**'; // защищенный ключ приложения с вкладки платежи  $auth_key  = $_POST['auth_key'];$viewer_id = $_POST['viewer_id']; $real_key = md5($app_id."_".$viewer_id."_".$api_secret);if ($auth_key == $real_key){    // соединение с БД    mysql_connect($db_host, $db_user, $db_password) or die (mysql_error());    mysql_select_db($db_name) or die (mysql_error());    mysql_query("SET NAMES 'utf8'");     // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (`visits` = (`visits`+1))    $query = 'INSERT INTO `'.$table_name.'` (`uid`, `last_date`) VALUES ("'.$viewer_id.'","'.time().'") ON DUPLICATE KEY UPDATE  `visits` = (`visits`+1), `last_date`="'.time().'";';    $sql = @mysql_query($query);    echo "OK";}?>
Что нужно еще написать в php, чтобы деньги сохранялись ?
Аватара пользователя
gaponj88
Сообщения: 433
Зарегистрирован: 21 окт 2011, 12:26

Re: Сохранение денег в приложении

Сообщение gaponj88 »

Dima22007
Скинул правильный вариант тебе в личку
Ответить