Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][inne]Flash odebranie zmiennej z PHP
Forum PHP.pl > Forum > Przedszkole
Szymciosek
Mam w php pewien skrypt, deklaruję tam zmienną $zmienna = "tekst";
Chciałbym ją teraz odebrać we flashu, ale nie wiem jak.

Dodam, że takie coś:
print "zmienna = tekst";
odbieram bez problemu, ale nie o to mi chodzi.
wookieb
zobacz co to flashvars
albo po prostu załaduj te dane z flasha (URLLoader)

tylko musisz powiedzieć w jakim AS piszesz.
Szymciosek
AS3
Jak potrzeba to dam nawet kod którego używam.

Chce pobrać zmienną do flasha jako tekst i przypisać tą zmienną do pola tekstowego.


Mam skrypt PHP:
Kod
<?php
$uname = $_POST['uname'];
$login1 = Szymciosek;
$login2 = Undefinedman;

if ($uname == $login1 || $uname == $login2) {
    print "var1=$uname dziękujemy Ci za zalogowanie.";
    print "&var2=$uname teraz możesz edytować swoją stronę.";
    print "&var3=Zalogowano";
            print "mojaZmienna=dupa";
}
else {
    print "var1=$uname - Zły login";
    print "&var2=$uname - Zły login.";
    print "&var3=Podano zły login";
}

?>


print "mojaZmienna=dupa"; - jeśli zmienną umieszczam w IF to działa, ale co zrobić, żeby ta zmienna była przed IF ?

Odświeżam, to ważne sad.gif
wookieb
Wstawić tą zmienną przed ifa.
Bardzo przydatnym debugerem do tego typu akcji jest firebug i zakładka sieć. Ona pokaże Ci jak wyglądają wczytywane przez flasha dane i nawet fajnie by było gdybyś ten wynik wkleił tutaj.
Szymciosek
Jeśli daje przed IF to nie chce działać... nie wiem co jest grane.
wookieb
Wystaw to publicznie abyśmy mogli zobaczyć. Albo daj fla i php do pobrania.
Burned
Kiedyś o tym pisałem: flashvars
Szymciosek
AS:
Kod
submit_btn.addEventListener(MouseEvent.CLICK, btnDown);

function btnDown(event:MouseEvent):void {
    var variables:URLVariables = new URLVariables();
    
    var varSend:URLRequest = new URLRequest("config_flash.php");
    varSend.method = URLRequestMethod.POST;
    varSend.data = variables;
    
    var varLoader:URLLoader = new URLLoader;
    varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
    varLoader.addEventListener(Event.COMPLETE, completeHandler);
    
    variables.uname = uname_txt.text;
    variables.upass = upass_txt.text;
    varLoader.load(varSend);
}
function completeHandler(event:Event):void {    
    
    var phpVar1 = event.target.data.var1;
    var phpVar2 = event.target.data.var2;
    var phpVar3 = event.target.data.var3;
    
    result1_txt.text = phpVar1;
    result2_txt.text = phpVar2;
    ustatus_txt.text = phpVar3;

    if (event.target.data.redirect == "good") {
        var redi = "http://www.wp.pl";
        var targetURL:URLRequest = new URLRequest(redi);
        navigateToURL(targetURL, "_self");
    }
    
}



PHP:
Kod
<?php
$login = Szymciosek; //Login
$pass = Szymek; //Hasło

$uname = $_POST['uname'];
$upass = $_POST['upass'];

if ($uname == $login1 || $upass == $pass) {
    print "var1=$uname dziękujemy Ci za zalogowanie.";
    print "&var2=$uname teraz możesz edytować swoją stronę.";
    print "&var3=Zalogowano";
    print "&redirect=good";
}
else {
    print "var1=$uname - Zły login";
    print "&var2=$uname - Zły login.";
    print "&var3=Podano zły login";
    print "&redirect=bad";
}

?>



Krótki opis działania:
1) Uruchamia się strona we flashu www.szymciosek.hostgame.pl/phpp/logowanie/
2) Musimy wpisać login i hasło
3) Jeśli login i hasło się zgadzają zostaniemy przekierowani na wp
3a) W przeciwnym wypadku zostanie wyświetlony komunikat

---
1) Flash wysyła do php tekst jako zmienne z pół tekstowych LOGIN i HASŁO
2) PHP porównuje te dane, jeśli się zgadzają to wykonuje dalsze czynności.


Przy okazji jak już piszę to jest druga sprawa:
Mam kod który wypisuje mi pliki z katalogu:

PHP
Kod
<?php

$katalog = "./"; //Ścieżka do katalogu

//############

$katalog = (!strstr($katalog,"*") || $katalog =="./" ) ? $katalog."*" : $katalog;

$files = glob($katalog);

for($i=0; $i < sizeof($files); $i++) {
    echo basename($files[$i])."<br/>";
}
?>

Chciałbym nazwy tych plików (elementy katalogu) załadować do tablicy, a całą tablicę odebrać później we flashu, potrzebne mi to do zrobienia menu.
wookieb
No i logowanie działa smile.gif

Jeżeli chodzi o listę plików to polecam do tego celu format xml, albo JSON ( http://json.org ).
Dane odczytujesz identycznie jedyne co zmieniasz to sposób odczytania
[JAVASCRIPT] pobierz, plaintext
  1. // xml
  2. var xml:XML = new XML(event.target.data);
[JAVASCRIPT] pobierz, plaintext


// json
http://code.google.com/p/as3corelib/
Szymciosek
Owszem działa, ale ta zmienna poza instrukcjami warunkowymi nie chce działać.

Możesz opisać dokładniej sposób z XML ?
Wiem jak działa XML, podobnie do tablic, więc jakbym z PHP załadował tablicę do Flash'a to mógłbym się po niej poruszać.
wookieb
A pokaż jak umieszczasz poza ifem?

W php generujesz xmla np
Kod
<files>
<file>plik.txt</file>
<file>plik2.txt</file>
...
</files>

I wczytujesz we flashu w identyczny sposób jak teraz poza drobnymi zmianami completeHandlerze, które opisalem.
Szymciosek
PHP
Kod
<?php
$login = Szymciosek; //Login
$pass = Szymek; //Hasło

$uname = $_POST['uname'];
$upass = $_POST['upass'];

print "mojaZmienna=jakistekst"; //tutaj dodaje ta zmienna

if ($uname == $login1 || $upass == $pass) {
    print "var1=$uname dziękujemy Ci za zalogowanie.";
    print "&var2=$uname teraz możesz edytować swoją stronę.";
    print "&var3=Zalogowano";
    print "&redirect=good";
}
else {
    print "var1=$uname - Zły login";
    print "&var2=$uname - Zły login.";
    print "&var3=Podano zły login";
    print "&redirect=bad";
}

?>


Tak tylko w XML'u musiałbym to chyba ręcznie robić, za każdym razem gdy dodam plik, a nie o to mi chodzi sad.gif. === Teraz doczytałem, że w PHP generuję XML, ale jak smile.gif
Myślę właśnie, żeby te dane które się wypisują w PHP załadować do tablicy, a samą tablicę przesłać do Flasha, później we flashu już nie będzie problemu.
wookieb
  1. print "mojaZmienna=jakistekst&"; //tutaj dodaje ta zmienna


Załamujesz mnie totalnie...
http://www.google.pl/#hl=pl&source=hp&...804a89cea128776
Szymciosek
Działa, mam skrypt który generuje tego nieszczęsnego XML'a, ale to mi nie potrzebne, ja potrzebuję utworzyć plik XML, aby później się do niego podłączyć sad.gif
http://szymciosek.hostgame.pl/phpp/xml/
wookieb
No przecież masz xmla... Tak trudno podać taki adres do flasha?

Daruj sobie takie żałosne próby.
http://forum.php.pl/index.php?showtopic=14...mp;#entry710430

Po co bierzesz się za programowanie, skoro nawet myszką trzeba za ciebie ruszać.
Masz już format xml? masz.
Nie wiesz jak zapisać to do pliku to google
http://www.lmgtfy.com/?q=php+zapis+do+pliku
A żebyś potem nie pytał że zapis do pliku to według ciebie nie to to samo co zapis xml do pliku wiec masz
http://www.lmgtfy.com/?q=php+zapis+xml+do+pliku

I żebyś znowu nie pytał jak to pobrać we flashu
http://www.lmgtfy.com/?q=action+script+3+wczytywanie+xml

Masz o taki komfort, że "tutoriale" masz po polsku.
Cysiaczek
@Szymciosek - dobrą praktyką jest używanie google, jeśli już zdefiniujesz problem i sformułujesz pytanie w ludzkim języku. Wbrew pozorom tak jest szybciej i wygodniej i nie narazisz się przy tym na gniew forumowiczów.
Nie rób wałków w stylu "a przy okazji ten xml...", albo "jaką książkę mi polecisz?". Są od tego stosowne topiki, a nawet całe fora
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.