wielka prosba o pomoc - formularz do wysylania maili

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.
intruder2600
Nowy
Nowy
Posty: 103
Rejestracja: śr wrz 08, 2004 10:48 am
Lokalizacja: krakow
Kontakt:

wielka prosba o pomoc - formularz do wysylania maili

Post autor: intruder2600 »

Witam,

blagam nie smiejcie sie - zupelnie nie znam sie na php - musze na jutro (na dzisiaj w zasadzie) zrobic formularz do wysylania maila we flashu, który za pomoca php bedzie wysylal maila,

dlubie sie z tym juz od tygodnia - juz czas minal a ja dalej nic, to dochodzi mail bez niektórych pol, to wogóle nie dochodzi - nie mam juz do tego nerwów, teoretycznie wszytsko jest ok a i tak nie dziala.

jezeli ktos moglby mi pomoc - pod tym linkiem jest formularz www.kusnierczyk.com/form.zip

jak ktos ma chcwilke niech zobaczy co tam jest nie tak i jak moze odesle na [email protected]

sorry za glupia prosbe ale czas mi sie skonczyl i juz nie mam innego wyjscia,

z gory dzieki ;)
xflash
Posty: 2
Rejestracja: pn lut 21, 2005 7:49 pm

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: xflash »

zobacz http://xflash.prv.pl i w tutorialach masz ;)
intruder2600
Nowy
Nowy
Posty: 103
Rejestracja: śr wrz 08, 2004 10:48 am
Lokalizacja: krakow
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: intruder2600 »

dzieki, ale jest malutki problem - po odpaleniu na serwerze mimo ze wpisuje "imie" dalej wymaga zeby je wpisac i nie chce puscic dalej :roll:
Balas
Moderator
Posty: 252
Rejestracja: wt sie 02, 2005 12:53 pm
Lokalizacja: Inowroclaw
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Balas »

Kod: Zaznacz cały

on (release) {
	if (name.value.length<3) {
		komunikat = "Wpisz imię !";
		gotoAndPlay (2);
	} else if ((mail_goscia.value.length<5) || (mail_goscia.value.indexOf('@', 0) == -1) || (mail_goscia.value.indexOf('.', 0) == -1)) {
		komunikat = "Wpisz e-mail !";
		gotoAndPlay (2);
	} else if (tresc.value.length<3) {
		komunikat = "Wpisz treść !";
		gotoAndPlay (2);
	} else {
		komunikat = "Wysyłam !";
		email = "[email protected]";
		// tu oczywiscie zmien na swoj e-mail
		temat = "Xflash.mail";
		// temat tez mozesz zmienic
		if (radio.value.length<3) {
			radio = "tak";
		} 
		wys = "name=" add name add "&mail_goscia=" add mail_goscia add "&email=" add email add "&temat=" add temat add "&radio=" add radio add "&tresc=" add (escape(tresc));
		loadVariablesNum ("poczta.php3?" add wys, 0);
		gotoAndPlay (10);
	}
}
U mnie dzieje sie to samo... gdy wykasowalem linijke proszącą o imie prosi o e-mail i to samo z trescia. Gdzies w kodzie jest błąd ale ja sie na AS za bardzo nie znam.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

formularz php

Post autor: Marek_bf »

intruder2600 Twój link nie działa nie mogę, więc stwierdzić, jakie pola ma mieć formularz.

Podany przykład jest bardzo stary opiera się na kodzie, który nie jest preferowany od wersji Flash 5, więc może nie działać prawidłowo w nowych Platerach.

Odradzam walidacje (oprócz testu wypełnienia wymaganych pól) formularzy w samym Flashu, nie obsługuje on wyrażeń regularnych. Walidację lepiej jest robić, już w samym PHP po tym jak skrypt otrzyma dane z Flasha.

Najprościej: Przykładowo we Flashu mamy 3 pola input o nazwach user_txt, mail_txt, body_txt oraz button o nazwie my_btn.

Kod dla Flasha:

Kod: Zaznacz cały

var myVars = new LoadVars();
my_btn.onRelease = function() {
	if (user_txt.length > 0 && mail_txt.length > 0 && body_txt.length > 0) {
		myVars._user = user_txt.text;
		myVars._mail = mail_txt.text;
		myVars._body = body_txt.text;
		myVars.send("index.php?send=OK", "_self", "POST");
	} else {
		trace("wypełnij wszystie pola");
	}
};
Kod dla PHP:
[php]<?php
if($_GET['send'] == 'OK'){
$_user = validF($_POST['_user']);
$_mail = validF($_POST['_mail'])
$_mail = validF($_POST['_body'])
if(!eregi('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$', $_mail)){
echo 'Niepoprawny E-mail';
}else{
mail('[email protected]', 'Temat',"
User: $_user
E-mail: $_mail
Tresc: $_body", "From");
}
}
function validF($arg){
return stripcslashes(strip_tags(trim($arg)));
}
?>[/php]

P.S. NA PHP się słabo znam, jeżeli można zrobić to lepiej proszę mnie poprawic.
Balas
Moderator
Posty: 252
Rejestracja: wt sie 02, 2005 12:53 pm
Lokalizacja: Inowroclaw
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Balas »

Moze i jest nie na temat ale mam problem... sciagnalem z innej strony forumlarz... działał ladnie, nawet po moich zminach w nim (az dziwne :P), ale gdy wkleilem go na moja strone (do flesha jako owy mc[wszystko skopiowalem]) to niby wysyla maila ale nie chce pokazac sie wiadomosc o dostarczeniu maila.

Tu jest moja strona: http://www.clan-one.gaa.pl
A tu sam forularz: http://www.clan-one.gaa.pl/send_mail_5.html (tu wszystki dziala dobrze)

Moge przeslac plik zrodlowy jezeli ktos bylby chetny mi pomoc. :]
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Marek_bf »

Pokaż co masz w pliku: send_mail_5.php
I czy ten plik jest w tym samym folderze co plik send_mail_5.swf

Dlaczego nie użyjesz przykładu, który podałem wyżej? :)
Balas
Moderator
Posty: 252
Rejestracja: wt sie 02, 2005 12:53 pm
Lokalizacja: Inowroclaw
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Balas »

W tym pliku jest all OK bo nic nie zmienialem... mi sie wydaje ze cos z klatkami jest... ze nie chce isc dalej. Moge ci przeslac wszystkie pliki.

A to mam w pliku send_mail_5.php

Kod: Zaznacz cały

<?php
		/*
				skrypt do przykładu send_mail_3 - wysyłanie emaila za pomocą akcji loadVariables
		*/

		header("Content-type: application/x-www-urlformencoded");	// ustawienie naglowka
		$sended='sended='.urlencode(date('H:i:s'));	// pobranie czasu z serwera
		$res=$sended.'&error='.urlencode('brak adresata');	
		@ $to=$HTTP_POST_VARS["to"] or die ($res);	// gdy nie zostala przeslana zmienna to koniec i przeslanie tego co w $res
		$res=$sended.'&error='.urlencode('wpisz numer gadu-gadu');
		@ $from=$HTTP_POST_VARS["from"] or die ($res);
		$res=$sended.'&error='.urlencode('wpisz swoje nick');
		@ $subject=$HTTP_POST_VARS["subject"] or die ($res);
		$res=$sended.'&error='.urlencode('wpisz imie i specjalizacje');
		@ $content=$HTTP_POST_VARS["content"] or die ($res);
		$res=$sended.'&error='.urlencode('nie mozna bylo wyslac wiadomosci');
		/* Dla prezentacji zapisanej w swf MX bez użycia dyrektywy System.useCodePage=true */
		//@ mail($to, $subject, $content, "MIME-Version: 1.0\r\n"."Content-type: text/plain; charset=utf-8\r\n"."From: $from\r\n") or die ($res);
		/* Dla prezentacji zapisanej w swf Flash 5 lub MX z użyciem dyrektywy System.useCodePage=true */
		@ mail($to, $subject, $content, "MIME-Version: 1.0\r\n"."Content-type: text/plain; charset=windows-1250\r\n"."From: $from\r\n") or die ($res);
		$res=$sended.'&error=ok';	// tu sie znajdujemy gdy wiadomosc zostala wyslana
		echo $res;
?>
Wszystko wysyła wiec php jest chyba dobre... a z tego samego kozystam i na stronie i na formularzu!!
Ostatnio zmieniony pt sie 05, 2005 8:59 pm przez Balas, łącznie zmieniany 1 raz.
Marek_bf
Administrator
Posty: 4419
Rejestracja: czw lut 24, 2005 2:14 am
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Marek_bf »

Prześlij, ale i tak odpowiedź jutro, bo idę spac :)
Balas
Moderator
Posty: 252
Rejestracja: wt sie 02, 2005 12:53 pm
Lokalizacja: Inowroclaw
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Balas »

Dostalem jakas odpowiedz od ciebie (chyba) i tam bylo tylko neidokonczone archiwum :idea:
Balas
Moderator
Posty: 252
Rejestracja: wt sie 02, 2005 12:53 pm
Lokalizacja: Inowroclaw
Kontakt:

Re: wielka prosba o pomoc - formularz do wysylania maili

Post autor: Balas »

Dobra.. wykozystalem ten twoj kod.. odpowiednio go modygikujac :)

teraz tak: mam 4 pola o nazwach: gg, nick, imie, spec

kod na stronie:

Kod: Zaznacz cały

var myVars = new LoadVars(); 
my_btn.onRelease = function() { 
   if (gg.length > 0 && nick.length > 0 && imie.length > 0 && spec.length > 0) { 
      myVars._gg = gg.text; 
      myVars._nick = nick.text; 
      myVars._imie = imie.text; 
	  myVars._spec = spec.text; 
      myVars.send("wyslij.php?send=OK", "_self", "POST"); 
   } else { 
      trace("wypełnij wszystie pola"); 
   } 
};
a w wyslij.php tak:
[php]<?php
if($_GET['send'] == 'OK'){
$_gg = validF($_POST['_gg']);
$_imie = validF($_POST['_imie'])
$_nick = validF($_POST['_nick'])
$_spec = validF($_POST['_spec'])
{
mail('[email protected]', 'Rekrutacja',"Tresc: $_gg $_imie $_nick $_spec", "From");
}
}
function validF($arg){
return stripcslashes(strip_tags(trim($arg)));
}
?>
[/php]

Jesli jest gdzies tu byk to moglby ktos poprawic ?? :wink:
ODPOWIEDZ