Взаимодействие Flash и PHP - помогите!!

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

Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

Уже весь день сижу, пытаюсь разобраться. Приложение должно снимать с текущего пользователя 1 голос при нажатии на кнопку.
Код во AS3:

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

import flash.events.MouseEvent;import flash.net.URLLoader;import flash.net.URLRequest;import flash.net.URLVariables;import flash.events.Event;import flash.system.Security; var flashVars:Object; if (stage) onAddedToStage();else addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);function onAddedToStage(event:Event = null) {    flashVars = stage.loaderInfo.parameters as Object;    tf.text = 'Please, click on the button below';    vk_tf.appendText('Your VK id: ' + String(flashVars.viewer_id) + ' ');    vk_tf.appendText('Your auth_key: '+ String(flashVars.auth_key));    Security.allowDomain("my_domain");} b.addEventListener(MouseEvent.CLICK, f);function f (event:MouseEvent) {    var loader:URLLoader = new URLLoader();    var request:URLRequest = new URLRequest("http://my_php_file.php");    request.method = URLRequestMethod.POST;    request.url = "http://my_php_file.php";    var vars:URLVariables = new URLVariables();    vars['viewer_id'] = flashVars.viewer_id;      //Current user    vars['auth_key'] = flashVars.auth_key;        //Auth key    //vars['viewer_id'] = '12345';    //vars['auth_key'] = 'qwert12345asdfg67890';    loader.addEventListener(Event.COMPLETE, onComplete);    request.data = vars;    loader.load(request);    function onComplete(event:Event) {        trace(loader.data);    } 


мой код на php:

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

<?php require('VkApi.class.php'); $app_id = '987654321';$api_secret = 'abcdefg12345abcdefg12345';  $UserID = $_POST['viewer_id'];$auth_key = $_POST['auth_key']; $real_key = md5($app_id."_".$UserID."_".$api_secret);if ($real_key == $auth_key) { 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);}$api = new VkApiNode($app_id, $api_secret);get_url($query = $api->withdrawVotes($UserID, 100));echo 'Transfer completed succesfully!';} ?> 
Запускаю php файл из браузера, вставляя нужные viewer_id, auth_key, app_id, app_secret - всё работает, голоса снимаются корректно. Запускаю на ВК само приложение - запрос не хочет отправляться (функция onCompleted не вызывается). Запускаю на компе - запрос идёт. Мой хостинг 000webhost.com - поддержка curl есть, crossdomain.xml настроен, в ответ на запрос приходит html с переадресованной страницы. голоса, соответственно, не переводятся. не пойму никак,в чём же дело.

Написал потом что-то вроде:

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

import flash.events.Event;import flash.net.*; var loader:URLLoader = new URLLoader();var request:URLRequest = new URLRequest("http://my_php_file.php");request.method = URLRequestMethod.POST;request.url = "http://my_php_file.php";var vars:URLVariables = new URLVariables();vars.votes = '100';request.data = vars;loader.dataFormat = URLLoaderDataFormat.BINARY;loader.addEventListener(Event.COMPLETE, onComplete);loader.load(request);function onComplete(event:Event) {    //do something    trace(loader.data);}  
и в php:

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

<?php$votes = $_POST['votes'];echo $votes;?>
но в ответ приходит сам исходник php файла вместо 100.

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

Re: Взаимодействие Flash и PHP - помогите!!

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

Влад Федосеев писал(а):в ответ на запрос приходит html с переадресованной страницы
Не понял этого.
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

сам код или что?
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

я хочу из Flash запустить скрипт php. сам скрипт снимает голоса. и это я проверил - работает. не получается осуществить запрос к файлу php на сервере. хостинг меня редиректит на другую html страницу. всё работает, если сделать navigateToURL(request, "_blank"); голоса снимаются. но это не то, что я хочу. запрос иначе не хочет доходить. этого никак понять не могу. может, я что вообще не те делаю?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Взаимодействие Flash и PHP - помогите!!

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

Влад Федосеев писал(а):хостинг меня редиректит на другую html страницу
Как это происходит? Почему?
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

может, что с хостингом? посоветуйте что-нибудь из бесплатного, пожалуйста. без curl даже. просто проверить. сделать file_put_contents('textfile.txt', $votes) и посмотреть, пересохранил ли php что-нибудь. т.е. проверить соединение с сервером.
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

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

Re: Взаимодействие Flash и PHP - помогите!!

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

Скорее всего причина именно в твоем бесплатном хостинге. Посоветовать не могу.
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

ясно. спасибо. а то уже все перепробовал. гугл перерыл - все нормально с кодом, вроде. попробую тогда платный какой-нибудь - надо разбираться))
Влад Федосеев
Сообщения: 15
Зарегистрирован: 16 янв 2012, 23:22

Re: Взаимодействие Flash и PHP - помогите!!

Сообщение Влад Федосеев »

попробовал на другом бесплатном хостинге 16mb.ru и всё работает!!! какие-то проблемы с 000webhost.com
Ответить