Formular via php versenden [Flash 11]
| Beiträge: 23 Wohnort: Ffm Registriert: Dec 2010
| 11.05.2011, 18:34
Ich habe ein Formular als mcFormular angelegt. Eben diesen mcFormular möchte ich via Button, inklusive aller eingegebenen Daten, versenden.
Mein Ansatz war es zu konvertieren (z.B. PDF), dann via POST an PHP und mail() an den gewünschten Empfänger (also alles ohne weitere User Aktion). Aktuell bin ich bei Schritt 1 steckengeblieben ...
Hat jemand einen Vorschlag für die Umsetzung?
Vielen Dank! | | | Beiträge: 53 Wohnort: Berlin Registriert: Jul 2010
| 12.05.2011, 10:29
Hallo Fla!
Ich habe gerade es gebaut aber noch nicht probiert! Ich habe es mit einer Dozentin geschrieben und sie hat mir versichert daß es funktionniert!
also deinem haupt as
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | public function writeMail(evt) {
this.addChild(myMail); //bei dir mcformular
myMail.name = "myMail";
myMail.x = 304;
myMail.y = 295;
myMail.scrollbalken_mc.visible = false;
// Initailisierung der Textfelder
myMail.vorname_txt.text = "";
myMail.nachname_txt.text = "";
myMail.email_txt.text = "";
myMail.betreff_txt.text = "";
myMail.nachricht_txt.text = "";
myMail.status_txt.text = ""; ;
myMail.nachricht_txt.addEventListener(Event.CHANGE, sbalkenkontrolle);
mailBtn();
}
public function mailBtn():void {
var btnMail_1:MyBtnMail=new MyBtnMail(); //button zum löschen
this.addChild(btnMail_1);
btnMail_1.name = "datenLoeschen_btn";
btnMail_1.btnTxt.htmlText = "Daten leeren";
btnMail_1.x = 380;
btnMail_1.y = 655;
btnMail_1.buttonMode = true;
btnMail_1.MouseEnabled = true;
btnMail_1.btnTxt.wordWrap = true;
var btnMail_2:MyBtnMail=new MyBtnMail();
this.addChild(btnMail_2);
btnMail_2.name = "datenSenden_btn";
btnMail_2.btnTxt.htmlText = "Daten senden";
btnMail_2.x = 680;
btnMail_2.y = 655;
btnMail_2.buttonMode = true;
btnMail_2.MouseEnabled = true;
btnMail_2.btnTxt.wordWrap = true;
btnMail_1.addEventListener(MouseEvent.CLICK, datenLoeschen);
btnMail_2.addEventListener(MouseEvent.CLICK, datenSenden);
btnMail_2.addEventListener(MouseEvent.MOUSE_OUT, outMailHandler_2);
}
function datenLoeschen(event:MouseEvent):void {
player = myClick.play(startposition, 1, einstellungen);
myMail.vorname_txt.text = "";
myMail.nachname_txt.text = "";
myMail.email_txt.text = "";
myMail.betreff_txt.text = "";
myMail.nachricht_txt.text = "";
myMail.status_txt.text = "";
myMail.scrollbalken_mc.visible = false;
}
function datenSenden(event:MouseEvent):void {
if(myMail.nachricht_txt.text ==""){
sende_nachricht = false;
myMail.status_txt.text = "Bitte Nachricht eintragen";
stage.focus = myMail.nachricht_txt;
}else {
sende_nachricht = true;
}
if(myMail.betreff_txt.text ==""){
sende_betreff = false;
myMail.status_txt.text = "Bitte Betreff eintragen";
stage.focus = myMail.betreff_txt;
}else {
sende_betreff = true;
}
if(myMail.email_txt.text =="" || myMail.email_txt.text.indexOf("@")== -1 || myMail.email_txt.text.indexOf(".")== -1 ){
sende_email = false;
myMail.status_txt.text = "Bitte Email eintragen";
stage.focus = myMail.email_txt;
}else {
sende_email = true;
}
if(myMail.vorname_txt.text ==""){
sende_vorname = false;
myMail.status_txt.text = "Bitte Vorname eintragen";
stage.focus = myMail.vorname_txt;
}else {
sende_vorname = true;
}
if(myMail.nachname_txt.text ==""){
sende_nachname = false;
myMail.status_txt.text = "Bitte Nachname eintragen";
stage.focus = myMail.nachname_txt;
}else {
sende_nachname = true;
}
if(sende_vorname == true && sende_nachname==true && sende_email == true && sende_betreff==true && sende_nachricht==true){
var anfrage: URLRequest = new URLRequest("senden.php");
/*Variable für den Versand bereitstellen URLVariavles akzeptiert Dokumenteninhalte,
welche ihre daten in Variablenbehälter verwalten z.B PHP,ASP,...
Aufgabe: Variablen sammeln*/
var formularvariablen:URLVariables = new URLVariables();
formularvariablen.vornameText = myMail.vorname_txt.text;
formularvariablen.nachnameText = myMail.nachname_txt.text;
formularvariablen.emailText = myMail.email_txt.text;
formularvariablen.betreffText = myMail.betreff_txt.text;
formularvariablen.nachrichtText = myMail.nachricht_txt.text;
//daten versandbereit stellen
anfrage.data = formularvariablen;
//Versandart festlegen
anfrage.method = URLRequestMethod.POST;
//datenverbindung herstellen u. den Versand einleiten nach PHP
var datenlader:URLLoader = new URLLoader();
//Die Verarbeitung erfolgt im Form von Variablenbehälter
datenlader.dataFormat = URLLoaderDataFormat.VARIABLES;
//zur Verarbeitung herangezogen wird das Dokument senden.php in anfrage/URLRequest
//wenn PHP-Daten komplett sind, dann Ladevorgang+ Verarbeitung einleiten
//datenlader.addEventListener(Event.COMPLETE, ladePuffer);
datenlader.load(anfrage);
myMail.scrollbalken_mc.visible = false;
myMail.vorname_txt.text = "";
myMail.nachname_txt.text = "";
myMail.email_txt.text = "";
myMail.betreff_txt.text = "";
myMail.nachricht_txt.text = "";
}
}
function sbalkenkontrolle(event:Event):void{
// Wenn als unterste Zeile die entsprechende Zeilennummer überschritten wurde, Scrollbalken anzeigen
if(myMail.nachricht_txt.bottomScrollV >18){
myMail.scrollbalken_mc.visible = true;
}else{
// ansonsten Scrolbalken verstecken
myMail.scrollbalken_mc.visible = false;
}
}
|
2 -und dann das senden.php
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?php
//Verwalter der Empfängeradresse des Seitensinhabers
$empfaengermail = "empfaengername@anbieter.de";
//Datumausgabe gewährleisten
$tagesdatum = date("m.d.Y");
$uhrzeit = date("H.i.s");
//Verarbeitung der Variablendaten aus Flash und deren formartierte Zusammenstellung
$inhalt = "
Dein Name-Email:\n
------------------\
Name des absenders: $_POST[nachnameText]\n
Vorname des absenders: $_POST[vornameText]\n
------------------\
Email des absenders: $_POST[emailText]\n
------------------ß
Betreff: $_POST[betreffText]\n
Nachricht: $_POST[nachrichtText]\n
------------------\
Datum/Uhrzeit:$tagesdatum - $uhrzeit
";
$inhalt_absender = "
Dein Name-Email:\n
------------------\
Name des absenders: $_POST[nachnameText]\n
Vorname des absenders: $_POST[vornameText]\n
------------------\
Email des absenders: $_POST[emailText]\n
------------------ß
Betreff: $_POST[betreffText]\n
Nachricht: $_POST[nachrichtText]\n
------------------\
Datum/Uhrzeit:$tagesdatum - $uhrzeit
----------------------\
Vielen dank für Ihre Anfrage.Wir werden sie schnellmöglichst bearbeiten!\n\n
Dein Name
";
//Versand anleiten u. Daten übertragen
//1 An Inhaber der Seite
mail($empfaengermail, "Email-Formular Deinsr", $inhalt);
//2 An Absender der Email
mail($_POST[emailText], "Email Deins -": $_POST[betreffText], $inhalt_absender);
?>
|
ich habe schon mal in einem Projekt eingebaut, wurde aber nicht online gestellt, könnte eben nicht sehen was passiert!
Ich hoffe daß es dir helfen könnte!
DocMix | Geändert von DocMix am 12.05.11 um 10:41 Uhr | |
| | Beiträge: 23 Wohnort: Ffm Registriert: Dec 2010
Themenautor/in
| 12.05.2011, 19:11
Hallo DocMix,
vielen Dank! Der Code ist echt gut ausgearbeitet und enthält einige Ideen welche ich in meinem Formular noch einsetzten werde. Die Anfrage selbst trifft es leider nicht genau.
Im AS Teil möchte ich den MC, also auch das Layout, als komplettes Formular versenden.
ActionScript:1 2 3 4 5 6 7 | // Pseudo-Snippet !!!
// die Idee: mcFormular anstelle von Variablen
anfrage.data = mcFormular
// vielleicht via Binary ?
datenlader.dataFormat = URLLoaderDataFormat.BINARY
|
Wäre auch noch das Problem aus mcFormular ein brauchbares Format zu erstellen (pdf o.ä.) ... ??
VG
____
Hier habe ich noch was nettes zum prüfen auf eine gültige Email gefunden:
ActionScript:1 2 3 4 5 6 7 8 | private function validateEmail(str:String):Boolean {
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(str);
if(result == null) {
return false;
}
return true;
}
|
| Geändert von FLA1972 am 12.05.11 um 19:15 Uhr | |
| | Beiträge: 53 Wohnort: Berlin Registriert: Jul 2010
| 12.05.2011, 20:36
cool mit dem ValidateEmail!
mit dem senden des mc, bin ich überfragt. warum willst du mc verschicken? Meine idee wäre dein Mc nachzumachen mit php, so könnte man denken daß du den mc geschickt hast! ich weiss das es geht aber ich habe mit PHP nur Formular , Gästebuch und ein bißchen Datenbank gemacht!
hier ein links der dir helfen könnte
http://www.php-faq.de/ch-pdf_files.html
LG
DocMix | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News
Regeln & Bedingungen
|