Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   flash->php->MySQL (http://www.flasher.ru/forum/showthread.php?t=172545)

ChieF_Of_ReD 12.12.2011 16:53

flash->php->MySQL
 
И снова здравствуйте, да, я проблемный ^^, знаю. Но перейдем к делу
Суть : наладить обмен данными flash->php->mysql и обратно.

Обратный процесс, реализован через FlashVars. Ролик всё замечательно принимает и это радует. Но при передачи возникают проблемы. Flash использовал LOadvars работает всё замечательно, оправляет и принимает, но с небольшими нюансами.
В пхп стоит условие: Если $_POST то принимает, чутка обрабатывает и отсылаем обратно измененный результат.
Вроде всё хорошо, флеш принимает, отправленные переменные, но в пхп я их отловить не могу, элементарные действия возможны. но выловить увы.
Как пытался решить эту проблему:
Так как пхп страница уже сгенерирована сервером, то пост запросы без обновления страницы обрабатываются через одно место из которого как мне кажется у меня растут руки, но не буду отвлекаться.
При выполнение POST прописал header с редиректом на эту страницу. Но он выполняться не захотел.

Пока это безобразие работает через getURL(); что меня совершенно не устраивает.

Тестил несколько "разных" скриптов для отправки через LoadVars, но всё тщетно - всё таже фигня.
PS движок пхп - drupal . Мб мне на него грешить?

В общем, советы приветствуются, критика поощряется.

mooncar 12.12.2011 18:00

Если вам нужно без перезагрузки страницы отправлять и получать данные посредством запросов к PHP-скрипту, как к посреднику с базой, используйте метод LoadVars.sendAndLoad.
Никаких FlashVars и getURL. И тем более не надо никаких редиректов и header'ов.
Откройте пример по sendAndLoad в хелпе, там все есть и все для этих целей и придумано.
Это и совет и критика.
А если есть проблемы, лучше давать конкретику - код, скрипты, иначе пустая трата времени.

ChieF_Of_ReD 12.12.2011 18:19

Код AS1/AS2:

var dataOut:LoadVars = new LoadVars();
var dataIn:LoadVars = new LoadVars();
 
dataIn.onLoad = function() {
        if (this.valid == "1") {
                outputResult.text = 'Новые координаты внесены в базу '+this.cordx+' ; '+this.cordy;
                _root.buf_x = this.cordx;
                _root.buf_y = this.cordy;
                //trace (this.cordx);
                //trace (this.cordy);
                _root.centrovka();
        } else if (this.valid == "0") {
                outputResult.text = 'Извините, но произошла ошибка';
 
        }
 
};
senddata = function(){
        dataOut.x = logo_mc.ball._x;
        dataOut.y = logo_mc.ball._y;
        dataOut.bol = _root.bol;
        //trace(_root.bol);
        //trace(logo_mc.ball._x);
        //trace(logo_mc.ball._y);
 
        outputResult.text ='Обработка...';
        dataOut.sendAndLoad("adres_k_php",dataIn,"POST");
        //trace (dataOut);
 
 
}

PHP код:

<?
$cord 
= array(
      
'x'=> 31,
      
'y'=> 33);

echo 
'<p><object width="600" height="400" data="/karta.swf" type="application/x-//shockwave-flash">
<param name="quality" value="high">
<param name="src" value="/karta_t.swf">
<param name=FlashVars value="corx='
.$cord['x'].'&cory='.$cord['y'].'">
<EMBED width="600" height="400" src="/karta_t.swf" FlashVars="corx='
.$cord['x'].'&cory='.$cord['y'].'"> </EMBED></object></p>';

$d = array(
    
'x' => '0',
    
'y' => '0');
    
$found = false;


if (
$_POST){

  
$d['x'] = $_POST['x'] ;
  
$d['y'] = $_POST['y'] ;

      echo 
'&valid=1&cordx='.$d['x'].'&cordy='.$d['y'].'&';
 
}
 
/* elseif ($_POST['bol'] == 0) {
      echo '&valid=2&cordx='.$d['x'].'&cordy='.$d['y'].'&';
      $found = true;
      break;
 }*/


 
//echo($_POST['x']);
echo '13';
?>

примерно так

Добавлено через 6 минут
Хм, похоже я начинаю огадыватсья в чем проблема:
Я со страницы пхп загружаю флеш и пытаюсь на эту же страницу отсылать переменные, это может и вызывать баги. Хотя это пока просто догадка

Добавлено через 1 час 13 минут
Чушь говорю.

Добавлено через 20 часов 48 минут
Ну так как, есть мысли у кого?

Добавлено через 24 часа 59 минут
Кажись начинает работать. Хм, если подгружать флеш на странице пхп


Часовой пояс GMT +4, время: 14:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.