Помощь в написании серверной части очень простого приложения

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Помощь в написании серверной части очень простого приложения

Сообщение Derial »

Кто каким советом помогите новичку в этом деле.

"Приложение" будет состоять из:
-нескольких переменных
-и одной переменной которая будет отсчитывать время до чего либо(например через 10 мин можно собрать прибыль)

Мои знания базируются на знании actioscript 3.0, настроенном локальном хосте, подключенным phpmyadmin, умением создавать в нем таблицы и подключатся к ним при помощи php кода.(скромные знания даже для такого простого приложения)
У меня в голове все это перемешалось и я не могу понять как передать в Flash данные из php скрипта и обратно в него.

Моя задача состоит в том чтобы научить мое приложение "общаться" с сервером и сделать так чтобы переменная с отчетом времени продолжала работать в не зависимости того открыто приложение у пользователя или нет.

Заранее спасибо тем кто поможет, если тема повторилась извините не заметил.
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Помощь в написании серверной части очень простого приложения

Сообщение gpv123 »

Ввод данных в php тут и вывод тут.

На сервере надо хранить время окончания таймера, а во флеше отображать таймер, инициирующий разницу между текущим временем и временем, записанном на сервере.
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Re: Помощь в написании серверной части очень простого приложения

Сообщение Derial »

gpv123 писал(а):
На сервере надо хранить время окончания таймера, а во флеше отображать таймер, инициирующий разницу между текущим временем и временем, записанном на сервере.

А кто нибудь может на примере объяснить?
Заранее спасибо.
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Помощь в написании серверной части очень простого приложения

Сообщение gpv123 »

Derial писал(а):А кто нибудь может на примере объяснить?
Заранее спасибо.

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

var endTimeUnix:int;                                    //время в unixtime в секундах, взятое с сервераvar currentTime:Date = new Date();                      //текущее времяvar currentTimeUnix:int = (currentTime.getTime())/1000; //текущее время в unixtime в секундахvar relativeTime = endTimeUnix - currentTimeUnix;       //относительное времяvar secondsTimer:Timer = new Timer(1000); startTimer(); function startTimer(){    if (relativeTime > 0)    {        secondsTimer.start();        secondsTimer.addEventListener(TimerEvent.TIMER, onSecondsTimer);    }    else    {        secondsTimer.removeEventListener(TimerEvent.TIMER, onSecondsTimer);        trace('Время вышло');    }}function onSecondsTimer(event:TimerEvent){    relativeTime--;    trace('Осталось ' + String(relativeTime) + ' секунд');    startTimer();}
Это таймер в секундах. Минуты, часы и прочее подставите сами
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Re: Помощь в написании серверной части очень простого приложения

Сообщение Derial »

Как передать данные из бд чтобы AS_3 мог работать с ними?

Я почитал посты на эти темы, но там описывалось только как передать данные в php файл, а он в свою очередь отправлял потом эти данные обратно и они просто отображались во флэшке, а как присвоить эти данные переменной???
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Re: Помощь в написании серверной части очень простого приложения

Сообщение Derial »

С тем вопросом разобрался.

Теперь такая проблема:

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

    <?php    // данные доступа к базе данных    $db_host="...";       // обычно не нужно изменять    $db_user="...";        // имя пользователя БД    $db_password="...";        // пароль БД    $db_name = "...";      // имя БД    $table_name = "test";       // имя таблицы статистики. Если вы не меняли его в запросе, создающем БД, то и здесь менять его не надо         // данные приложения    $app_id = '2762196'; // id приложения    $api_secret = 'nyod53ZnAVg8nFgbDbtT'; // защищенный ключ приложения         $levl = $_POST['levls'];             // соединение с БД        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.'` (`levl`) VALUES ("'.$levl.'")         ON DUPLICATE KEY UPDATE  `visites` = (`visites`+1), `levl`=("'.$levl.'")';        $sql = mysql_query($query);        echo "OK";        ?>
Я получаю из флэшки переменную levls успешно сохраняю ее, но вот проблема, что id при повторном заходе в приложение создается новое а не дополняется старое.

Как это исправить? подскажите пожалуйста, заранее спасибо.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Помощь в написании серверной части очень простого приложения

Сообщение Александр »

Derial писал(а):id при повторном заходе
Какой id? И почему что-то должно обновляться?
Как создавал базу? Что такое levl?
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Re: Помощь в написании серверной части очень простого приложения

Сообщение Derial »

Начну по порядку.

id - универсальный номер при помощи которого "авторизуется" пользователь(не "контактовский")
обновляться должна строка visites = (`visites`+1) и levl обновлялось бы на значение присланное из флэшки(Ну это по моей задумке, а на практике я не смог этого добиться)

базу не создавал так как бесплатный хостинг.
таблицу создавал не SQL запросом.
levl переменная которой присваивается числовое значение присланное из флэшки, а также в таблице есть столбец с названием levl в который и должно сохраняться значение переменной levl
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Помощь в написании серверной части очень простого приложения

Сообщение gpv123 »

Зайдите в phpMyAdmin и создайте через него таблицу со столбцами `uid` (уникальный), `visits` (по умолчанию равен 1), `level` и т.п.
В `uid` лучше хранить id вк, не надо усложнять себе жизнь.
А потом уже при запросе, если такой uid уже существует в таблице, то обновляем значение, прибавляя единицу к `visits`.

Кстати, почему в post-запросе не передается viewer_id и auth_key? Ведь должна же быть хоть какая-то проверка данных...
Derial писал(а):базу не создавал так как бесплатный хостинг.
таблицу создавал не SQL запросом.
Каким, извиняюсь, местом у Вас получилось создать таблицу без базы данных и не через SQL? :?
Derial
Сообщения: 65
Зарегистрирован: 07 мар 2012, 17:22

Re: Помощь в написании серверной части очень простого приложения

Сообщение Derial »

gpv123 писал(а):Зайдите в phpMyAdmin и создайте через него таблицу со столбцами `uid` (уникальный), `visits` (по умолчанию равен 1), `level` и т.п.
В `uid` лучше хранить id вк, не надо усложнять себе жизнь.
Т.е не ставить Auto_Incriment(вроде так написал) автозаполнение?
А потом уже при запросе, если такой uid уже существует в таблице, то обновляем значение, прибавляя единицу к `visits`.

Кстати, почему в post-запросе не передается viewer_id и auth_key? Ведь должна же быть хоть какая-то проверка данных...
Derial писал(а):базу не создавал так как бесплатный хостинг.
таблицу создавал не SQL запросом.
Каким, извиняюсь, местом у Вас получилось создать таблицу без базы данных и не через SQL? :?
База данных там была создана автоматически при моей регистрации на хостинге. Таблицу можно создать SQL запросом а можно и просто кликая по кнопкам.

Попробую исправить по вашим советам, потом отпишусь).
Ответить