Моментальная лотерея на голоса (исходник)

Темы только для ознакомления. Уроки по использованию старой версии ВКонтакте API и устаревших методов.
bubbless
Сообщения: 28
Зарегистрирован: 17 июн 2012, 13:08

Re: Моментальная лотерея на голоса (исходник)

Сообщение bubbless »

У меня чего-то не пашет, в текстовом поле пишет "Ждите...", через секунду это пропадает и всё, никакого реагирования.....пичаль :cry: ....
 Вот что у меня в AS коде

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

g1.addEventListener(MouseEvent.CLICK,OnG1); var gol:int; function OnG1(e:MouseEvent):void{    gol = 1;    var loader:URLLoader = new URLLoader();    var request:URLRequest=new URLRequest("http://bubbless.xe0.ru/gol.php");    request.method=URLRequestMethod.POST;    var vars:URLVariables = new URLVariables();        result_tf.text='Ждите...';        vars['auth_key']=LoaderInfo(root.loaderInfo).parameters.auth_key;    vars['viewer_id']=LoaderInfo(root.loaderInfo).parameters.viewer_id;    vars['gol']=gol;    request.data=vars;    loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);    loader.addEventListener(Event.COMPLETE,onComplete);    loader.load(request);} function onComplete(event:Event):void {    var loader:URLLoader=event.target as URLLoader;    if (loader!=null)    {        result_tf.text=loader.data;    }     else     {        result_tf.text='Ошибка!';    }           }        function onError(event:Event):void {    result_tf.text = 'Ошибка! Попробуйте позже.';}
 Это в php

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

<?phprequire 'vkapi.class.php';include('bd.php'); $app_id = '*********';$api_secret = '5483а968п4вр4в86'; function get_url($query) {    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $query);    curl_setopt($ch, CURLOPT_HEADER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch, CURLOPT_TIMEOUT, 10);    return curl_exec($ch);    curl_close($ch);} $viewer_id = $_POST['viewer_id'];$auth_key = $_POST['auth_key'];$gol = $_POST['gol'];$uid = $viewer_id;$real_gol = $gol*100; 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'"); $real_key = md5($api_id."_".$viewer_id."_".$secret_key);if ($auth_key == $real_key){    $api = new VkApiNode($app_id, $api_secret);    $query = $api->getAppBalance();    $app_balance = new SimpleXMLElement(get_url($query)); if ($app_balance->balance >= 100) {     $api = new VkApiNode($app_id, $api_secret);    $query = $api->getBalance($uid);    $user_balance = new SimpleXMLElement(get_url($query));      if ($user_balance->balance >=$real_gol) {         $query = $api->withdrawVotes($uid, $real_gol);         $query = 'INSERT INTO `fish` (`id`, `fish`) VALUES ("'.mysql_real_escape_string($viewer_id).'", "'.$gol.'");';        $sql = mysql_query($query);         get_url($query); }    else {        echo 'На вашем счету должно быть не менее '.$gol.' голоса!';    }}   else    echo 'На балансе приложения нет голосов.';} ?>
Emeltil
Сообщения: 298
Зарегистрирован: 26 мар 2011, 15:29

Re: Моментальная лотерея на голоса (исходник)

Сообщение Emeltil »

bubbless писал(а):У меня чего-то не пашет, в текстовом поле пишет "Ждите...", через секунду это пропадает и всё, никакого реагирования.....пичаль :cry: ....
 Вот что у меня в AS коде

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

g1.addEventListener(MouseEvent.CLICK,OnG1); var gol:int; function OnG1(e:MouseEvent):void{    gol = 1;    var loader:URLLoader = new URLLoader();    var request:URLRequest=new URLRequest("http://bubbless.xe0.ru/gol.php");    request.method=URLRequestMethod.POST;    var vars:URLVariables = new URLVariables();        result_tf.text='Ждите...';        vars['auth_key']=LoaderInfo(root.loaderInfo).parameters.auth_key;    vars['viewer_id']=LoaderInfo(root.loaderInfo).parameters.viewer_id;    vars['gol']=gol;    request.data=vars;    loader.addEventListener(HTTPStatusEvent.HTTP_STATUS,onError);    loader.addEventListener(Event.COMPLETE,onComplete);    loader.load(request);} function onComplete(event:Event):void {    var loader:URLLoader=event.target as URLLoader;    if (loader!=null)    {        result_tf.text=loader.data;    }     else     {        result_tf.text='Ошибка!';    }           }        function onError(event:Event):void {    result_tf.text = 'Ошибка! Попробуйте позже.';}
 Это в php

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

<?phprequire 'vkapi.class.php';include('bd.php'); $app_id = '*********';$api_secret = '5483а968п4вр4в86'; function get_url($query) {    $ch = curl_init();    curl_setopt($ch, CURLOPT_URL, $query);    curl_setopt($ch, CURLOPT_HEADER, 0);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch, CURLOPT_TIMEOUT, 10);    return curl_exec($ch);    curl_close($ch);} $viewer_id = $_POST['viewer_id'];$auth_key = $_POST['auth_key'];$gol = $_POST['gol'];$uid = $viewer_id;$real_gol = $gol*100; 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'"); $real_key = md5($api_id."_".$viewer_id."_".$secret_key);if ($auth_key == $real_key){    $api = new VkApiNode($app_id, $api_secret);    $query = $api->getAppBalance();    $app_balance = new SimpleXMLElement(get_url($query)); if ($app_balance->balance >= 100) {     $api = new VkApiNode($app_id, $api_secret);    $query = $api->getBalance($uid);    $user_balance = new SimpleXMLElement(get_url($query));      if ($user_balance->balance >=$real_gol) {         $query = $api->withdrawVotes($uid, $real_gol);         $query = 'INSERT INTO `fish` (`id`, `fish`) VALUES ("'.mysql_real_escape_string($viewer_id).'", "'.$gol.'");';        $sql = mysql_query($query);         get_url($query); }    else {        echo 'На вашем счету должно быть не менее '.$gol.' голоса!';    }}   else    echo 'На балансе приложения нет голосов.';} ?>

читай внимательней
14.06.2010 Лотерея скорее всего уже не будет работать. Метод addVotes (для начисления выигрыша пользователю) - в списке устаревших методов ВКонтакте API, может некорректно работать или не работать вообще.
bubbless
Сообщения: 28
Зарегистрирован: 17 июн 2012, 13:08

Re: Моментальная лотерея на голоса (исходник)

Сообщение bubbless »

Emeltil
Я читал, а ты если бы посмотрел на код повнимательнее, может быть и понял о чём я спрашиваю.
P\s Я ту функцию вообще не использую :)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Моментальная лотерея на голоса (исходник)

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

bubbless
Запрос уходит на сервер? Какой ответ возвращает сервер? Используй Charles.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Моментальная лотерея на голоса (исходник)

Сообщение Serge »

Просто на всякий случай - лотереи запрещены ВК.
bubbless
Сообщения: 28
Зарегистрирован: 17 июн 2012, 13:08

Re: Моментальная лотерея на голоса (исходник)

Сообщение bubbless »

На серверную сторону посылается запрос который и ожидал, а в ответ - молчание
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Моментальная лотерея на голоса (исходник)

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

bubbless
Выясни на каком этапе что-то идёт не так как надо. Делай echo и print_r переменных и смотри их содержимое. Особенно внимательно изучи ответы от сервера ВКонтакте API.

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

print_r($user_balance);
и т.д.
Ответить