Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [FLASH][PHP]Prosta komunikacja flasha z php
Forum PHP.pl > Forum > Przedszkole
phpiotr
Witam i prosze o pomoc!
Moja animacja flashowa posiada klika buttonów, chciałbym aby po kliknięciu w dowolny button wartość zmiennej o nazwie cyfra była przenoszona do pliku php o nazwie oddzialy.php

Mój kod niestety nie przenosi wartości tej zmiennej:

on (release){
cyfra = 1;
this.loadVariables("oddzialy.php","POST");
}


kod PHP:

<?php
$cyfra=$HTTP_POST_VARS['cyfra'];
echo $cyfra;
?>
wookieb
1) http://help.adobe.com/en_US/AS2LCR/Flash_1...t=00001174.html
Masz ta dobry przykład
2) Używam $_POST a nie $HTTP_POST_VARS http://pl2.php.net/manual/en/reserved.variables.post.php
phpiotr
Zmianiłem zmienną i dalej nic tylko komunikat na pasku przeglądarki "Przesyłanie danych z localhost"
Odnośnie tego na Adobe to nie kumam tego.

Prosze podpowiedź co jest ewentualnie źle w moim kodzie.
Używam Flasha MX.
wookieb
Kod
// obiekt ktory odbierze dane
var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = function(success:Boolean)
{
    if (success)
    {
        this.cyfra;// zmienna z php
        // w naszym przypadku bedzie to "zmienna_do_wyslania00"
    }
    else
    {
        // tutaj mozesz obsluzyc blad polaczenia
    }
};

// obiekt ktory wysyla dane
var send_lv:LoadVars = new LoadVars();
// zmienna ktora wysylamy do php
send_lv.zmienna = "wartosc_do_wyslania";
send_lv.sendAndLoad("oddzialy.php", result_lv, "POST");


php
  1. $cyfra=$_POST['zmienna'];
  2. // najpierw nazwa zmiennej dla flasha a potem jej wartość
  3. echo 'cyfra='.$cyfra.'00';


Odpal, potestuj. Wyjaśniłem dość prosto jak to działa.
phpiotr
Wrzuciłem to do flasha i do php.
Brak reakcji
Nic się nie dzieje.

We flashu dałem to między

on (release){ Twój kod }

Może jeszcze gdzieś coś musze zmienić?
wookieb
No a co zrobiłeś ze zmienną odebraną we flashu? Pokaż cały kod jaki masz.
phpiotr
Poniżej mój kod:
tyle, że ja potrzebuję miec rekację na stronie oddzialy.php
W tym momenice nie potzrebuję zwrotnej informacji z oddzialy.php do flasha.


on (release){
// obiekt ktory odbierze dane
var result_lv:LoadVars = new LoadVars();
result_lv.onLoad = function(success:Boolean)
{
if (success)
{
this.cyfra;// zmienna z php
// w naszym przypadku bedzie to "zmienna_do_wyslania00"
}
else
{
// tutaj mozesz obsluzyc blad polaczenia
}
};

// obiekt ktory wysyla dane
var send_lv:LoadVars = new LoadVars();
// zmienna ktora wysylamy do php
send_lv.zmienna = "wartosc_do_wyslania";
send_lv.sendAndLoad("oddzialy.php", result_lv, "POST");

}
wookieb
Co rozumiesz pod pojęciem "reakcję na oddzialy.php" ?
phpiotr
Jedyny kod jaki mam to ten przypisany do buttona i zdarzenia on (release)
Póżniej chcę go powielić na następne buttony, tyle że pozmieniam wartości zmiennych.
wookieb
Ale to nie jest odpowiedź na pytanie.
Powiedz od samego początku do samego końca co chcesz dokładnie osiągnąć.
phpiotr
OK.
Mam mapkę fashową z podziałem na województwa na stronie oddzialy.php
Po kliknięciu w jakieś województwo strona powinna się ewentualnie przeładować i mają się wyświetlić hurtownie na danym terenie.
Póki flash nie skomunikuje się z php to nie bedę się wyświetlać dane hurtowni z określonego województwa.

Ale wykaz hurtowni bedzie opracowany w pliku php a nie flash.
Więc nie potrzebuję zwrotnej informacji do flasha.
Akcja na poziomie flash ma się zakończyc po kliknięciu dane województwo.
wookieb
No to zupełnie inna bajka.
Moja prosta propozycja...

Ajax + flash

We flashu (as2) wywołujesz funkcję javascript w następujący sposób
Kod
on(release)
{
// 2 to cyferka ktora chcesz wyslac
getURL('java script: getOddzialy(2);');
}


Funkcja javascript (dla uproszczenia używam jQuery o którym poczytasz w googlach)
[JAVASCRIPT] pobierz, plaintext
  1. function getOddzialy(numer)
  2. {
  3. // plik oddzialy.php powinien wyswietlic sam html, ktory zostanie wstawiony do elementu o id oddzialy_div
  4. $('#oddzialy_div').load('oddzialy.php?numer='+numer);
  5. }
[JAVASCRIPT] pobierz, plaintext
phpiotr
Bibliotekę sciągnąłem i dołączyłem do pliku.
Na razie nic nie działa.
Jutro będę temat meczył dalej.
Na razie dzieki, zapraszam na cd. bo pewnie bez dalszej pomocy nie uda mi się tego odpalic.
wookieb
To pokaż co wyskrobałeś. Najlepiej wystaw to na publiczny serwer abyśmy mogli się pobawić.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.