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

Gästebuch Flash/AS3 Problem - EMail Validierung [Flash 10]

 


AntwortenRegistrieren Seite1  

driver60#1
Benutzerbild von driver60
Beiträge: 5
Registriert: Feb 2012

03.02.2012, 14:53

Hallo, ich hatte mir mit einem Gästebuch Tutorial mal ein Gästebuch im Flash zusammengebaut bzw. nach programmiert. Jetzt versuche ich eine E-Mail Prüfung einzubauen damit ich das prüfen kann ob es auch eine gültige E-Mail Adresse ist, aber ich blicke nicht so ganz wo/wie ich das einbauen kann/muss.

Ich habe es mal in die function write Date eingebaut, als extra function und versucht als externe .as einzubinden. Aber hatte leider nicht funktioniert, ich stehe jetzt irgendwie aufm Schlauch.

Ich hoffe mir kann jemand helfen!!

Hier mal der Code vom Gästebuch:

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
function readData():void {
     var myLoader:URLLoader = new URLLoader();
     var myDate:Date = new Date();
     var timestamp:uint=myDate.getTime();
     
  //Laden der readData.php Datei mit URLRequest
   var myRequest:URLRequest=new URLRequest("http://localhost/Pflichtuebung_Flash/readData.php?"+timestamp);
     myLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
     myLoader.load(myRequest);
     
  //EventListener falls Daten Übertragung komplett
   myLoader.addEventListener(Event.COMPLETE,completeHandler);
     
  //EventListener falls Daten fehlerhaft/unvollständig
   myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
     myLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
}

//Funktion - Daten werden ins GB eingetragen
function completeHandler(e:Event):void {
     
  //Neues Array das die GB Daten enthält
   gbData_arr = new Array();
     var anzData:uint=uint(e.target.data.counter);
     for (var i:uint = 0; i<anzData; i++) {
        var id:uint=e.target.data["id"+i];
        var datum:String=e.target.data["datum"+i];
        var zeit:String=e.target.data["zeit"+i];
        var myname:String=e.target.data["vorname"+i]+" "+e.target.data["nachname"+i];
        var email:String=e.target.data["email"+i];
        var web:String=e.target.data["web"+i];
        var msg:String=e.target.data["msg"+i];
        
  //obere Daten einfügen in Array mittels push
      gbData_arr.push({id:id, datum:datum, zeit:zeit, myname:myname, email:email, web:web, msg:msg});
     }
     
  //Erfolgreiche Übertragung der Daten wird renderData() aufgerufen
   renderData();
}

//Funktion - Fehlermeldung falls Daten wegen der Sicherheit nicht übertragen wurden
function securityErrorHandler(e:SecurityErrorEvent):void {
     status_txt.text="Fehler beim Übertragen der Daten";
}

//Funktion - Fehlermeldung falls Daten nicht korrekt eingetragen wurden
function ioErrorHandler(e:IOErrorEvent):void {
     status_txt.text="Fehler beim Übertragen der Daten";
}

//Funktion erstellt die Zeichkette für den GB eintrag mit Name, Datum, Zeit usw...
//output von readData.php
function renderData():void {
     ausgabe_txt.htmlText="";
     var outputStr:String="";
     for (var i:uint = 0; i<gbData_arr.length; i++) {
        outputStr+="<b>"+gbData_arr[i].myname+"</b> schrieb am: ";
        outputStr+=gbData_arr[i].datum+" um ";
        outputStr+=gbData_arr[i].zeit+"<br>";
        outputStr+=gbData_arr[i].msg+"<br>";
        if (gbData_arr[i].email!="") {
           outputStr+="E-Mail: "+gbData_arr[i].email+"<br>";
        }
        if (gbData_arr[i].web!="") {
           outputStr+="Web: "+gbData_arr[i].web+"<br><br>";
        }
     }
     ausgabe_txt.htmlText=outputStr;
}

//**Daten senden an PHP**
//Variable sentState prüft ob User in der gleichen Sitzung schonmal was eingetragen hat
var sentState:Boolean=false;

//EventListener am Senden-Button
send_mc.addEventListener(MouseEvent.CLICK,writeData);

//Funktion wird bei klick auf absenden ausgeführt
function writeData(e:MouseEvent):void {
     if (sentState==false) {
        if (vornameBG_mc.input_txt.text!=""&&nachnameBG_mc.input_txt.text!=""&&msgBG_mc.input_txt.text!=""&&emailBG_mc.input_txt.text!="") {
           var myLoader:URLLoader = new URLLoader();
           var myDate:Date = new Date();
           var timestamp:uint=myDate.getTime();
           
  //Laden der writeData.php Datei mit URLRequest
         var myRequest:URLRequest=new URLRequest("http://localhost/Pflichtuebung_Flash/writeData.php?"+timestamp);
           myRequest.method=URLRequestMethod.POST;
           var myVars:URLVariables = new URLVariables();
           
  //Diese Daten werden an das URLVariables zugewiesen
         myVars.vorname=vornameBG_mc.input_txt.text;
           myVars.nachname=nachnameBG_mc.input_txt.text;
           myVars.email=emailBG_mc.input_txt.text;
           myVars.web=webBG_mc.input_txt.text;
           myVars.msg=msgBG_mc.input_txt.text;
  //Hier zuweisung
         myRequest.data=myVars;
           myLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
  //Daten an PHP-Skript übertragen
         myLoader.load(myRequest);
 
  //Ereignis-Listener werden ausgeführt
         myLoader.addEventListener(Event.COMPLETE,transferedOutput);
           myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);
           myLoader.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler);
        } else {
  //Fehlermeldung falls erforderlichen Felder nicht ausgefüllt
         status_txt.text="Bitte füllen Sie alle erforderlichen Felder aus.";
        }
     } else {
  //Meldung falls in gleicher Sitzung doppelter Eintrag
      status_txt.text="Du hast Dich bereits eingetragen.";
     }
}

//Funktion setzt Wert von sentState auf true - da User was eingetragen hat
function transferedOutput(e:Event):void {
     status_txt.text="Ihr Eintrag wurde eingefügt.";
     sentState=true;
     
  //neue Daten können eingetragen werden
   readData();
}

var gbData_arr:Array = new Array();
readData();


Und hier mal der Code von der Abfrage:
var myRegExp:RegExp=/^[a-z][w.-]+@
   w[w.-]+.[w.-]*[a-z][a-z]$/i;
   if (myRegExp.test(emailBG_mc.input_txt.text)) {
      status_txt.text = "";
      readData();
   }else{
      status_txt.text="Bitte geben Sie eine gültige E-Mail Adresse ein";
   }
Geändert von driver60 am 04.02.12 um 10:22 Uhr
aamm#2
Benutzerbild von aamm
Beiträge: 129
Registriert: Jun 2010

03.02.2012, 18:07