Gästebuch Flash/AS3 Problem - EMail Validierung [Flash 10]
| 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 | |
| | Beiträge: 129 Registriert: Jun 2010
| 03.02.2012, 18:07
|
|