Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][inne]Flash odebranie zmiennej z PHP
Szymciosek
post 5.02.2010, 11:51:59
Post #1





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
wookieb
post 5.02.2010, 11:56:54
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




zobacz co to flashvars
albo po prostu załaduj te dane z flasha (URLLoader)

tylko musisz powiedzieć w jakim AS piszesz.


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 5.02.2010, 17:21:44
Post #3





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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

Ten post edytował Szymciosek 5.02.2010, 13:16:33
Go to the top of the page
+Quote Post
wookieb
post 5.02.2010, 22:00:23
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.

Ten post edytował wookieb 5.02.2010, 22:00:46


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 5.02.2010, 22:53:44
Post #5





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


Jeśli daje przed IF to nie chce działać... nie wiem co jest grane.
Go to the top of the page
+Quote Post
wookieb
post 5.02.2010, 22:57:51
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Wystaw to publicznie abyśmy mogli zobaczyć. Albo daj fla i php do pobrania.


--------------------
Go to the top of the page
+Quote Post
Burned
post 5.02.2010, 23:18:40
Post #7





Grupa: Zarejestrowani
Postów: 67
Pomógł: 8
Dołączył: 19.05.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Kiedyś o tym pisałem: flashvars
Go to the top of the page
+Quote Post
Szymciosek
post 6.02.2010, 08:58:37
Post #8





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Szymciosek 6.02.2010, 09:09:59
Go to the top of the page
+Quote Post
wookieb
post 6.02.2010, 09:25:14
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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/


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 6.02.2010, 09:53:06
Post #10





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
wookieb
post 6.02.2010, 10:15:28
Post #11





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 6.02.2010, 10:17:27
Post #12





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Szymciosek 6.02.2010, 10:19:33
Go to the top of the page
+Quote Post
wookieb
post 6.02.2010, 10:25:18
Post #13





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1. print "mojaZmienna=jakistekst&"; //tutaj dodaje ta zmienna


Załamujesz mnie totalnie...
http://www.google.pl/#hl=pl&source=hp&...804a89cea128776


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 6.02.2010, 20:09:45
Post #14





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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/
Go to the top of the page
+Quote Post
wookieb
post 7.02.2010, 00:02:48
Post #15





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post 8.02.2010, 17:00:51
Post #16





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@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
Powód edycji: [Cysiaczek]: [Cysiaczek]:


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 00:46