Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-11-2008, 10:55   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 6
Problem mit Kontaktformular

Hallo Leute,

ich habe ein Problem mit meinem Kontaktformular. Eigentlich funktioniert alles ganz gut, alle Abfragen funktionieren - wenn keine Emailadresse eingegeben ist, macht er eine Meldung, wenn das Feld Telefon oder Anmerkung leer ist, gibs auch eine Meldung - aber ich bekomme keine Bestätigung das eine Email gesendet worden ist. Ausserdem versendet das Mailformular komischerweise unregelmässig selbständig Mails, in denen lediglich die Feldnamen aber keine Werte angeben sind... Irgendwo ist noch der Wurm drin. Vielleicht kann mir hier jemand helfen, ich verzweifele noch...

Beide Dateien (die PHP und die Fla) sind im Archiv enthalten :
kontakt_mc.zip

die kontakt_mc.swf wird mit loadMovie in den Hauptfilm nachgeladen.

Mein Action Script lautet im Kontaktformular:
Code:
_lockroot = true;
function clicked() {
	var lv = new LoadVars();
    lv.kontaktart = kontaktart.value;
    lv.datum = datum.text;
    lv.anzahlpersonen = anzahlpersonen.value;
    lv.name2 = name2.text;
    lv.strasse = strasse.text;
    lv.ort = ort.text;
    lv.telefon = telefon.value;
    lv.email_from = email_from.text;
    lv.anmerkung = anmerkung.text;
    lv.uhrzeit = uhrzeit.text;
   //lv.sendAndLoad("form3.php", lv, "POST");
	
		if (signal != 2 && lv.email_from.indexOf("@") !=-1 && lv.email_from.indexOf(".") !=-1 && lv.telefon !="" && lv.anmerkung !="") {
		
		signal=2;
		lv.sendAndLoad("form3.php", lv, "POST");
		mc.ausgabe = "Vielen Dank!";
			}
	if (lv.anmerkung == "") {
		mc.ausgabe = "Anmerkung Bitte !";
	}
	if (lv.telefon == "") {
		mc.ausgabe = "Telefonnummer Bitte !";
	}
	if (lv.email_from.indexOf("@") ==-1 ||  lv.email_from.indexOf(".") ==-1) {
		mc.ausgabe = "Falsche E-mail";
	}
		
}
button.addEventListener("click", clicked);

clear_button_btn.onRelease = function (){
	kontaktart.text = "";
	datum.value = "";
	anzahlpersonen.value = 0;
	name2.text = "";
	strasse.text ="";
	ort.text = "";
	telefon.text = "";
	email_from.text ="";
	anmerkung.text = "";
	gutscheincode.text = "";
}
das Problem liegt in Zeile 20
Code:
mc.ausgabe = "Vielen Dank!";
ist diese Zeile falsch positioniert? Die Mails versendet er anstandslos, also dachte ich das wäre die richtige Position für diesen Code - die anderen Fehlermeldungen wie "falsche Email!", "Telefonnummer bitte", etc. werden ohne Probleme im mc.ausgabe Feld angezeigt - nur diese Meldung erscheint einfach nicht...

Für Hilfestellung wäre ich sehr sehr sehr dankbar , die Seite soll heute online gehen und das haut einfach nicht hin.

Geändert von alex2007 (13-11-2008 um 10:59 Uhr)
alex2007 ist offline   Mit Zitat antworten
Alt 13-11-2008, 13:00   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Vier if-Bedingungen hintereinander kann nicht gutgehen. Bspw. könnte in der ersten if-Bedingung alles funzen und dann die Positiv-Meldung gesendet werden. Aber in einer der Folgebedingungen kann dann ja auch festgestellt werden, dass doch nicht alles stimmt...

Das ganze solltest du also in eine if-else-Schleife setzen, wobei du die erfolgreiche Bedingung als letztes setzen solltest. D.h. erst einmal alle Fehlerquellen checken, danach dann das Mailscript starten.
  Mit Zitat antworten
Alt 13-11-2008, 13:29   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 6
und wie könnte das dann aussehen? Versuchs grade mal, aber bin ein bisschen unsicher - vielleicht könntest du mir das mal formulieren? Das wäre sehr nett - wieso kann das nicht gutgehen mit den 4 if - bedingungen? Bis auf die besagte Meldung funktioniert ja alles? Die anderen 3 Bedingungen werden ja auch richtig abgefragt und eine entsprechende Fehlermeldung ausgegeben...

Geändert von alex2007 (13-11-2008 um 13:30 Uhr)
alex2007 ist offline   Mit Zitat antworten
Alt 13-11-2008, 15:33   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 6
funzt alles net...

ich braaauch hilfe Sonst noch jemand einen guten Rat?
alex2007 ist offline   Mit Zitat antworten
Alt 13-11-2008, 15:43   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
wieso kann das nicht gutgehen mit den 4 if - bedingungen?
Lies dir noch mal meinen Post durch, hab ich doch beschrieben...

PHP-Code:

    
if (lv.anmerkung == "") {
        
mc.ausgabe "Anmerkung Bitte !";
    }
    else if (
lv.telefon == "") {
        
mc.ausgabe "Telefonnummer Bitte !";
    }
    else if (
lv.email_from.indexOf("@") ==-||  lv.email_from.indexOf(".") ==-1) {
        
mc.ausgabe "Falsche E-mail";
    }
else if (
signal != && lv.email_from.indexOf("@") !=-&& lv.email_from.indexOf(".") !=-&& lv.telefon !="" && lv.anmerkung !="") {
        
        
signal=2;
        
lv.sendAndLoad("form3.php"lv"POST");
        
mc.ausgabe "Vielen Dank!";
            }
else
{
trace ("fehler");

Der mögliche Fehler wird kaskadierend weiter nach unten durchgereicht. Wenn im ersten if schon ein Fehler auftritt, wird gar nicht weitergeprüft. Wozu auch...
  Mit Zitat antworten
Alt 13-11-2008, 19:00   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 6
Zitat:
Der mögliche Fehler wird kaskadierend weiter nach unten durchgereicht. Wenn im ersten if schon ein Fehler auftritt, wird gar nicht weitergeprüft. Wozu auch...
genau... wozu auch? Er braucht ja dann auch nicht weiterprüfen, ist ja schon etwas nicht in Ordnung. Das Script funktionierte so ja sonst super - ich verstehe lediglich nicht, wenn Zeile 19 oder 20 :
Code:
lv.sendAndLoad("form3.php", lv, "POST");
gesendet wird - wieso führt er dann nicht noch die nächste Zeile aus, in der die Meldung "Vielen Dank!" in mc.ausgabe ausgegeben wird?
Das gibs doch nicht - ansonsten ist ja alles richtig - wenn eine der Bedingungen nicht erfüllt ist - soll er die entsprechende Meldung raushauen, da wird nix weitergegeben.

Also mit Deinem Script hat es leider auch nicht geklappt - habe es mal ausgetauscht .... Genau das gleiche wie bei mir - kein "Vielen Dank" bei Erfüllung aller voraussetzungen - wo kann der fehler noch liegen? Hat keiner ne Ahnung?

Geändert von alex2007 (13-11-2008 um 19:12 Uhr)
alex2007 ist offline   Mit Zitat antworten
Alt 13-11-2008, 22:36   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Was soll denn mc.ausgabe sein? Eine Textfeldvar? Texte solltest du besser über die text-Eigenschaft einer Textfeldinstanz ausgeben.

Wird denn die Bedingung überhaupt ausgeführt? Check das erst einmal mit einem trace-Befehl. Und wenn kein Response erwartet wird, reicht auch ein lv.send.

Und wenn, macht diese Ausgabe keinen Sinn, weil ja nicht automatisch auch das Senden der mail funzt. Du solltest also besser erst bei erfolgreichem Absetzen der PHP-Mailfunktion Daten aus deinem PHP-Script zurücksenden und mit einem onLoad-Callback abholen. Und dann erst eine Erfolgsmeldung bzw. Fehlermeldung ausgeben.
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:07 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele