Flash 8 Profesional - Zapis danych do pliku txt

Technologia Flash, czyli animacja na potrzeby stron WWW to świat daleko odbiegły od zwykłego programowania i kodu. Zapytaj o pomoc i podziel się z nami Twoimi problemami z zakresu Flasha.
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Przeszukałem forum, jednak nie znalazłem informacji, które w pełni by mi pomogły. Chcę by po wpisaniu imienia do pola tekstowego we flashu, imię to zostało zapisane w pliku txt . Kolejne imię wpisane w filmiku flash spowoduję kolejny zapis tego imiona do pliku txt....

plik txt

Ania
Marek
Magda
...
...
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

Słabo szukałeś.
W dziale Flash zajrzyj do FAQ, a q dziale o PHP poszukaj o zapisie do pliku. Gwarantuję, że znajdziesz wszystko, co jest potrzebne do Twojej aplikacji.
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Jeśli chodzi o to http://forum.webinside.pl/viewtopic.php?p=60340#60340
to przeglądałem tę stronę łącznie z przykładami, które z tejże strony ściągnąłem. Przykłady odnoszą się jedynie do odczytu z pliku. Domyślam się, że najpierw trzeba było by stworzyć jakieś pola tekstowe input , nazwać je jakoś itd... W FAQ nie pisze nic na ten temat, nie wiem jak powiązać flasha z kodami PHP, które w dziale PHP się znajdują.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

Przykład z FAQ pokazuje jak wysłać i odebrać dane z PHP. Jeśli to już wiesz to pozostaje tylko obsługa po stronie PHP. Oczywiście, że we Flashu trzeba stworzyć jakieś tekstowe pola wejściowe, których wartości będą przekazywane do obiektu LoadVars.

Nie wymagaj żeby FAQ opisywało wszystkie możliwe przypadki połączeń Flaasha z PHP :)
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Oki.

Tworzę pole tekstowe Input, w którego var wpisuję imie.
Tworzę mc o instance name myGuzik
w Pierwszej klatce filmiku wstawiam akcję:

Kod: Zaznacz cały

myGuzik.onRelease = function() {
loadVariables("http://server.pl/test.php",_root,"POST");
}

Po naciśnięciu guzika, flash powinien odnieść się do pliku php o nazwie test , który zawiera kod:

Kod: Zaznacz cały

<?php
$fp = fopen ("imiona.txt", "a"); 



  fwrite($imie); 
  fclose($fp); 

?> 
Niestety ten kod nie zapisuje mi w pliku txt tego co wpisuję w polu tekstowym input. Dlaczego ?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

A może logiczniej byłoby poszukać w nowym FAQ o przesyłaniu danych?

Flash:

Kod: Zaznacz cały

// imieTxt - pole tekstowe input
// sendMc - button
var php:String = "plik.php";
var loadLv:LoadVars = new LoadVars();
var sendLv:LoadVars = new LoadVars();
loadLv.onLoad = function(success:Boolean) {
	if (success) {
		if (this.stan == "ok") {
			trace("Dane zostały zapisane");
		} else if (this.stan == "no") {
			trace("Nie udało się zapisac danych");
		}
	} else {
		trace("Błąd przy połączeniu z serwerem");
	}
};
sendMc.onRelease = function() {
	if (imieTxt.length > 2) {
		sendLv.imie = imieTxt.text;
		sendLv.sendAndLoad(php + "?" + new Date().getTime(), loadLv, "POST");
	} else {
		trace("Wpisz imię");
	}
};
PHP:
[php]<?php
define('FILE_TXT', 'dane.txt');
if(isset($_POST['imie'])){
$file = @fopen(FILE_TXT, 'a');
if(fwrite($file, $_POST['imie']."\r\n")){
echo '&fill&stan=ok&end';
}else{
echo '&fill&stan=no&end';
}
fclose($file);
}
?>[/php]
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Marku, wkleiłem kod, który mi udostępniłeś, do pierwszej klatki filmiku. Oczywiście plik.php zamieniłem na nazwę mojego pliku php wraz ze ścieżką dostępu tego pliku na serwerze. Utworzyłem pole tekstowe input gdzie do var przypisałem imieTxt, oraz stworzyłem guzik w instance name wpisując sendMc. W kodzie php zmieniłem nazwę pliku tekstowego na imiona.txt , który umieszczony jest na serwerze w tym samym katalogu co plik php. Niestety dalej nie mogę zapisać nic do pliku. Oto efekty moich starań do wglądu.
http://cyryl.i365.pl/test.rar
Dopiero uczę się operacji w action script i kodów php. Z tego co rozumiem jeżeli flashowi nie uda się ustanowić połączenia z plikiem php, powinien wyświetlić komunikat Błąd przy połączeniu z serwerem itp. W mojej aplikacji nie wyświetla się tego typu informacja. Myślę, iż to dlatego, że w jakiś sposób powinno się wskazać filmikowi miejsce wyświetlania tych komunikatów, np tworząc nowe dynamiczne pole tekstowe z przypisanym var . Dobrze rozumuję ?
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

Do pól tekstowych odwołuj się zawsze poprzez instance name nie Var.

Poza tym, jeśli plik tekstowy masz w necie to nadaj mu odpowiednie chmody z prawami do zapisu.
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Nadałem plikowi txt chmod 777 i dalej nic. Poza tym nie wiem jak przypisać polu tekstowemu wartości zwracane przez serwer typu - połączenie nieudane , udane lub błąd itp.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

Poprzez nazwę instancji i właściwość text. Sprawdź też czy sam plik PHP wywołany w przeglądarce zapisze coś do pliku
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Skrypt wywołany w przeglądarce wyświetla mi całą białą stronę w przeglądarce, przy czym niczego nie wpisuje do pliku txt.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

Żeby sprawdzić bez Flasha musisz zmodyfikować skrypt:
[php]<?php
define('FILE_TXT', 'imiona.txt');
$file = @fopen(FILE_TXT, 'a');
fwrite($file, "TESTOWA TRESC\r\n");
fclose($file);
?>[/php]
hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Przy takim kodzie dopisuje się '' tesowa tresc'' w pliku txt. Jak teraz przenieść imię wpisane we flashu , o to jest pytanie :)
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: Marek_bf »

hdhkff
Nowy
Nowy
Posty: 101
Rejestracja: pt sty 04, 2008 10:52 pm

Re: Flash 8 Profesional - Zapis danych do pliku txt

Post autor: hdhkff »

Działa. Prześledzę dokładnie kod żeby zrozumieć wszystkie zależności między flashem i php. Dziękuję.
ODPOWIEDZ