{lang: 'de'}
Flashhilfe.de - Flash Community

Formular via php versenden [Flash 11]

 


AntwortenRegistrieren Seite1  

FLA1972#1
Benutzerbild von FLA1972
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!
DocMix#2
Benutzerbild von DocMix
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&auml;ngeradresse des Seitensinhabers
$empfaengermail "empfaengername@anbieter.de";
//Datumausgabe gew&auml;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
------------------&szlig;
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
------------------&szlig;
Betreff: $_POST[betreffText]\n
Nachricht: $_POST[nachrichtText]\n
------------------\
Datum/Uhrzeit:$tagesdatum - $uhrzeit
----------------------\
Vielen dank f&uuml;r Ihre Anfrage.Wir werden sie schnellm&ouml;glichst bearbeiten!\n\n
Dein Name
"
;
//Versand anleiten u. Daten &uuml;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
FLA1972#3
Benutzerbild von FLA1972
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
DocMix#4
Benutzerbild von DocMix
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

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2024 Sebastian Wichmann - Flashhilfe.de