Jako ze dopiero zaczynam zabawę z WWW, php itd. Natrafiłem na pewien problem z którym nie potrafię sobie poradzić. a mianowicie jest to wysłanie maila ze strony flash AS3. Ogólnie mail się wysyła ale chciał bym dodać opcje sprawdzenia w php czy dane pola są uzupełnione w formularzu, z tego wzgledu ze mozna wysywal pusta wiadomosc :/. Kombinuje na rożne sposoby ale nie bardzo mi to wychodzi. Poniżej dodam dok AC3 jak również php.
Kod AS3
Kod
package main.strona.controlers
{
import mx.controls.Alert;
import mx.managers.CursorManager;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import spark.components.TextInput;
public class ContactController
{
[Bindable]
public var imie:TextInput;
[Bindable]
public var nazwisko:TextInput;
[Bindable]
public var email:TextInput;
[Bindable]
public var temat:TextInput;
[Bindable]
public var wiadomosc:TextInput;
private var _contactService:HTTPService;
public function ContactController()
{
}
public function sendEmail():void
{
CursorManager.setBusyCursor();
disableForm(false);
_contactService = new HTTPService();
_contactService.url = "http://******.pl/php/emaila.php";
_contactService.resultFormat = "text";
_contactService.method = "POST";
_contactService.addEventListener(ResultEvent.RESULT, onResultSendEmailData);
_contactService.addEventListener(FaultEvent.FAULT, onFault);
var obj:Object = new Object();
obj["verify"] = "******.098";
obj["imie"] = imie.text;
obj["nazwisko"] = nazwisko.text;
obj["mail"] = email.text;
obj["temat"] = temat.text;
obj["wiadomosc"] = wiadomosc.text;
_contactService.send(obj);
}
private function onResultSendEmailData(event:ResultEvent):void
{
var obj:Object = event.result;
if (obj)
{
var isEmailSent:Boolean = String(obj) == "ok" ? true : false;
if (isEmailSent)
{
var mainApp:Main = imie.parentApplication as Main;
mainApp.currentState = "Wyslany_email";
}
}
disableForm(true);
CursorManager.removeBusyCursor();
}
private function onFault(event:FaultEvent):void
{
Alert.show("Nie udało się wysłać wiadomości");
disableForm(true);
CursorManager.removeBusyCursor();
}
public function disableForm(isDisabled:Boolean):void
{
imie.enabled = isDisabled;
imie.alpha = isDisabled ? 1 : 0.5;
nazwisko.enabled = isDisabled;
nazwisko.alpha = isDisabled ? 1 : 0.5;
temat.enabled = isDisabled;
temat.alpha = isDisabled ? 1 : 0.5;
email.enabled = isDisabled;
email.alpha = isDisabled ? 1 : 0.5;
wiadomosc.enabled = isDisabled;
wiadomosc.alpha = isDisabled ? 1 : 0.5;
}
}
}
{
import mx.controls.Alert;
import mx.managers.CursorManager;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.http.HTTPService;
import spark.components.TextInput;
public class ContactController
{
[Bindable]
public var imie:TextInput;
[Bindable]
public var nazwisko:TextInput;
[Bindable]
public var email:TextInput;
[Bindable]
public var temat:TextInput;
[Bindable]
public var wiadomosc:TextInput;
private var _contactService:HTTPService;
public function ContactController()
{
}
public function sendEmail():void
{
CursorManager.setBusyCursor();
disableForm(false);
_contactService = new HTTPService();
_contactService.url = "http://******.pl/php/emaila.php";
_contactService.resultFormat = "text";
_contactService.method = "POST";
_contactService.addEventListener(ResultEvent.RESULT, onResultSendEmailData);
_contactService.addEventListener(FaultEvent.FAULT, onFault);
var obj:Object = new Object();
obj["verify"] = "******.098";
obj["imie"] = imie.text;
obj["nazwisko"] = nazwisko.text;
obj["mail"] = email.text;
obj["temat"] = temat.text;
obj["wiadomosc"] = wiadomosc.text;
_contactService.send(obj);
}
private function onResultSendEmailData(event:ResultEvent):void
{
var obj:Object = event.result;
if (obj)
{
var isEmailSent:Boolean = String(obj) == "ok" ? true : false;
if (isEmailSent)
{
var mainApp:Main = imie.parentApplication as Main;
mainApp.currentState = "Wyslany_email";
}
}
disableForm(true);
CursorManager.removeBusyCursor();
}
private function onFault(event:FaultEvent):void
{
Alert.show("Nie udało się wysłać wiadomości");
disableForm(true);
CursorManager.removeBusyCursor();
}
public function disableForm(isDisabled:Boolean):void
{
imie.enabled = isDisabled;
imie.alpha = isDisabled ? 1 : 0.5;
nazwisko.enabled = isDisabled;
nazwisko.alpha = isDisabled ? 1 : 0.5;
temat.enabled = isDisabled;
temat.alpha = isDisabled ? 1 : 0.5;
email.enabled = isDisabled;
email.alpha = isDisabled ? 1 : 0.5;
wiadomosc.enabled = isDisabled;
wiadomosc.alpha = isDisabled ? 1 : 0.5;
}
}
}
kod PHP
<?php if( $_POST['verify'] == '*****.098' ){ //adres E-mail $address = '******@gmail.com'; $headerFrom ='Content-type: text/html; charset=utf-8\r\n'; $headerFrom .= 'From: Rejestracja '.$_POST['mail']; $title = 'Wiadomosc od - '.$_POST['name']; $content = 'Dane:<br/>'; $content .= 'Imie nazwisko: '.$_POST['name'].'<br/>'; $content .= 'E-mail: '.$_POST['mail'].'<br/>'; $content .= 'Temat: '.$_POST['temat'].'<br/>'; $content .= 'Wiadomosc: '.$_POST['wiadomosc'].'<br/>'; if ($_SERVER['HTTP_X_FORWARDED_FOR']) { $clientIp = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $clientIp = $_SERVER['REMOTE_ADDR']; } $content .= '<br/><br/><br/>Zgloszenie wyslano z komputera: '.$clientIp; //wyslanie maila do ******* } else