Adobe Flash Ein PHP Mailformular mit Flash MX 2004 Pro

balufreak

Aktives Mitglied
Thread Starter
Dabei seit
12.10.2003
Beiträge
1.563
Reaktionspunkte
28
Hallo zusammen!

Ich habe gehört, dass ActionScript und PHP ein unschlagbares Duo seien. Ist das so?
Wie kann ich ein Formular machen, dass nachher den
PHP:
mail();
Befehl ausführt? Hat jemand damit schon erfahrungen?


Greets balufreak
 
Hi,

ich arbeite nur noch mit Flash/AS/PHP/MYSQL zusammen. Ein echtes Dreamteam.

Nun zum Mailer.

Ich fang mal ganz simpel an.

Du legst auf in einem MC auf der Bühne 2 Inputfields. Das eine bekommt den Variablennamen „email“ das andere den Variablennamen „nachricht“.
Darunter legst du einen Button.
Auf den Button kommt folgendes Actionscript:

PHP:
on (release) 
{
loadVariablesNum("mailbefehl.php", 0, "POST");
}

Nun werden die Daten der beiden Eingabefelder an die PHP Datei „mailbefehl.php“ gesendet. Die PHP Datei enthält dann den Mailbefehl. Generell arbeitet man so mit Flash & PHP, d.h. es werden immer Variablen mit loadVariables();, sendAndLoad(); etc. an eine PHP Datei geschickt, die dann die Daten verarbeitet.

Nun zum PHP Script der „mailbefehl.php“:

PHP:
<?php
//empfängeradresse
$empfang = "deinedadresse@mail.de"
//hier wird das Datum bereitgestellt
$date = date("m/d/Y H:i:s");
//hier werden die in Flash gesammelten Daten weiterverarbeitet
$msg = "
Email: $_POST[email]
Nachricht: $_POST[nachricht]
//hier das Datum eingefügt
Date/Time:  $date
";
//der mailbefehl.
mail($empfang,"Flashmailer vom ".$date,$msg,"FROM:".$_POST[email]);
?>

Weiterhin ist es zb auch möglich, in der email noch IP und Userinfos des Absendersanzuzeigen. Das geht dann mit:

PHP:
//das kommt dann zu Date
if ($REMOTE_ADDR == "") $ip = "no ip";
else $ip = getHostByAddr($REMOTE_ADDR);

//und das hier in die Definition der $msg
Browsertyp: $HTTP_USER_AGENT
Provider: $ip
IP Adresse des Users: $REMOTE_ADDR

Desweiteren kann du oben beim Actionscript auch verhindern, das einfach jemand leere Mails verschickt. Dieses hier dann auf den Button:

PHP:
on (release) {
	if (email ne "" and nachricht ne "") {
		pfad.gotoAndPlay("valid");
		loadVariablesNum("mailbefehl.php", 0, "POST");
	} else {
		pfad.gotoAndPlay("invalid");
	}
}


„Valid“ und „Invalid“ sind 2 Flags in einem MC, der dann eine kurze Mitteilung am jeweiligen Flag ausgibt, um dem Benutzer mitzuteilen, das seine Email versand wurde bzw. das er alle Felder bite ausfüllen möge.

Noch Fragen? Fragen :)

Liebe Grüße

Yves
 
Nun zum PHP Script der „mailbefehl.php“:

PHP:
<?php
//empfängeradresse
$empfang = "deinedadresse@mail.de"
//hier wird das Datum bereitgestellt
$date = date("m/d/Y H:i:s");
//hier werden die in Flash gesammelten Daten weiterverarbeitet
$msg = "
Email: $_POST[email]
Nachricht: $_POST[nachricht]
//hier das Datum eingefügt
Date/Time:  $date
";
//der mailbefehl.
mail($empfang,"Flashmailer vom ".$date,$msg,"FROM:".$_POST[email]);
?>
&nbsp;

Heisst es nicht
PHP:
$msg = "
Email: $_POST['email']
Nachricht: $_POST['nachricht']
//.....
";
 
PHP:
$_POST[variable]
oder
PHP:
 $_POST['variable']

ist prinzipiell egal, aber wenn du mit SQL Statements arbeitest, ist
PHP:
$_POST[variable]
nötig, da sonst SQL durcheinander kommt. Daher also direkt
PHP:
$_POST[variable]
, die
PHP:
''
kannst du dir dann sparen.

Liebe Grüße

Coffee
 
Zurück
Oben Unten