Kontaktformular fuktioniert nur offline [Flash CS3]
| 22.01.2010, 11:49 | | Beiträge: 29 Registriert: Jul 2008
| Kontaktformular fuktioniert nur offline Hallo Ihr Lieben!
Irgend wie habe ich immer wieder Probleme mit dem leidigen Thema Kontaktformular. Bin halt ein Grafiker und kein Designer...
Hier mein Problem diesmal: Habe das Kontaktformular das ich immer nehm, mal wieder etwas angepasst (blos die Zuordnung der Tabsprünge, also nix Wildes) und nun geht das ganze nur noch offline. Ich hab jemanden hier im Forum gefunden, der das gleiche Problem hatte, er hat aber leider keine Antwort bekommen. Deswegen, versuch ich mal mein Glück, vielleicht haben oder hatten ja noch andere Leute das gleiche Problem.
Hier zunächst mal der Code:
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 | LALA.setStyle("themeColor", 0x0099cc);
_root.Bild.loadMovie("Bilder/Kontakt.jpg");
System.useCodepage;
name1.tabIndex=1;
str.tabIndex=2;
ort.tabIndex=3;
plz.tabIndex=4;
tel.tabIndex=5;
email.tabIndex=6;
nachricht.tabIndex=7;
but_senden.tabIndex=8;
this.createEamptyMovieClip("noFocus",focusManager.getDepth());
plz.restrict = "0-9";
_root.mc_fehler._visible = false;
// Die Textfelder bekommen eine Zuweisung und der MovieClip mit der
// Fehlermeldung wird ausgeblendet
// Das array mit den Instanznamen von unseren Textfeldern
textfeld = new Array();
textfeld[0] = "name1";
textfeld[1] = "str";
textfeld[2] = "ort";
textfeld[3] = "plz";
textfeld[4] = "email";
textfeld[5] = "nachricht";
textfeld[6] = "tel";
// Durchlaufe solange wie viele Elemente im array vorhanden sind
for (i=0; i<textfeld.length; i++) {
// Funktion für den Hintergrung im Textfeld
_root[textfeld[i]].onSetFocus = function() {
this.backgroundColor = 0xcccccc;
// Überprüfung, ob im Textfeld schon reingeklickt worde ist
// damit nicht beim erneuten klicken der geschriebene Text gelöscht wird
if (_root[this._name1]) {
_root[this._name1].text = "";
_root[this._name1] = false;
}
};
// Funktion für den Hintergrung im Textfeld
_root[textfeld[i]].onKillFocus = function() {
this.backgroundColor = 0xFFFFFF;
};
}
// Überprüfung ob in den Pflichtfeldern etwas eingetragen ist
// Diese Funktion wird unten in der if Bedingung aufgerufen
String.prototype.leer = function() {
for (i=0; i<this.length; i++) {
// Steht was im Textfeld ?
// 32 bedeutet größer als ein Leerzeichen, da das Leerzeichen den
// Code 32 besitzt.
if (this.charCodeAt(i)>32) {
return true;
}
}
};
// Funktion für den Button
but_senden.onRelease = function() {
// Überprüfung ob in der eMailadresse ein @ Zeichen vorkommt
// Überprüfung ob die eMailadresse weniger als 6 Zeichen hat
// Überprüfung ob ein Name und ein Nachrichtentext eingegeben wurde
// Diese Überprüfung ruft die Funktion leer auf
if (_root.email.text.indexOf("@") == -1 || _root.email.text.length<6 || _root.name1.text.leer() || _root.nachricht.text.leer()) {
// Bei True wird die Fehlermeldung angezeigt
_root.mc_fehler._visible = true;
} else {
// Weiterhin die Fehlermeldung ausblenden und das php Script aufrufen
_root.mc_fehler._visible = false;
loadVariablesNum("hier ist der Pfad zum PHP eingetragen, natürlich absolut!", 0, "GET");
_root.gotoAndStop(7);
}
};
stop();
|
Hier das passende PHP:
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
<?
$suchen = "\r";
$ersetzen = "\n";
// Suche und ersetzte, da Flash Zeilenumbrueche mit \r angibt
// und php aber nur mit \n arbeitet
$nachricht_neu = str_replace($suchen,$ersetzen,utf8_decode($_GET[txt_nachricht]));
$text = utf8_decode($_GET[txt_name1]).", übermittelt Ihnen folgende Informationen:\n";
$text .= "Name: ".utf8_decode($_GET[txt_name1])."\n";
$text .= "Straße: ".utf8_decode($_GET[txt_str])."\n";
$text .= "Ort: ".utf8_decode($_GET[txt_ort])."\n";
$text .= "Plz: $_GET[txt_plz]\n";
$text .= "eMail: $_GET[txt_email]\n";
$text .= "Tel: $_GET[txt_tel]\n";
$text .= "Nachricht: $nachricht_neu \n";
$empfanger = "hier steht meine Mailadresse, und ja sie ist richtig...";
mail($empfanger, "Kundenanfrage", $text, "Von: Kunde");
?>
|
Was ich nun bemerkt habe ist folgendes:
1. das Biest sendet offline, d.h. ich öffne das swf lokal und es ruft brav die Quelle im Internet auf, an der das PHP liegt und sendet eine Mail.
2. Wenn ich das swf nun auf den Server lege (und nicht nur auf dem einen) dann schickt es nix. Obwohl das Flash genauso durchläuft und auf Bild 7 geht. Was seltsam ist, ist das Firefox mir dann unten anzeigt, dass er noch irgenwas lädt, aber da kommt halt nix.
Hat jemand dazu eine Idee?
Übrigens, was mich noch interessieren würde: Ich würde wegen der Sicherheit gerne GET auf POST umstellen. Muss ich dazu einfach sowohl im Flash als auch im PHP alle GETs durch POSTs ersetzen? - Oder muss ich noch mehr beachten?
Viele Liebe Grüße,
PNY | Geändert von PNY36 am 22.01.10 um 11:50 Uhr
| |
|
| 22.01.2010, 12:15 | Re1 | Beiträge: 29 Registriert: Jul 2008
Themenautor/in
| Kurzer Nachtrag:
Ich sah grade, dass ich this.createEamptyMovieClip("noFocus",focusManager.getDepth()); geschrieben hatte, dass habe ich nun berichtigt, nun passiert etwas neues, das Formular behauptet jetzt einfach es würde noch ein Eintrag fehlen und sendet einfach garnicht... sehr misteriös... irgendwie mag ich jetzt nicht mehr...
Hilfe!!!
Liebe Grüße PNY | |
| 22.01.2010, 12:22 | Re2 | Beiträge: 139 Wohnort: Qo'noS Registriert: Nov 2009
| Du musst in den Veröffentlichungseinstellungen für SWF eine Einstellung ändern:
Sicherheit bei lokaler Wiedergabe: Nur auf Netzwerk zugreifenCheck it out: http://as3petoolkit.googlecode.com/
@Vemilyus
Mann, warum drücke ich immer "STRG+S" wenn ich Code im Forum poste???
Bitte keine PNs wenn es Fragen gibt. Dazu ist das Forum da! | |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 22.01.2010, 12:24 | Re3 | Beiträge: 29 Registriert: Jul 2008
Themenautor/in
| Das hatte ich schon bemerkt und auch so eingestellt - läuft trotzdem nicht. | Geändert von PNY36 am 22.01.10 um 12:24 Uhr
| |
|
| 24.01.2010, 23:12 | Re4 | Beiträge: 29 Registriert: Jul 2008
Themenautor/in
| Also nach 2 Tagen mit Fieber im Bett komme ich zu dem Schluß, dass das ganze am html liegt. Und siehe da, wenn ich das swf im Browser direkt aufrufe, klappt es tatsächlich. Es muss also das html sein. Alle Angaben wie scriptaccess etc. habe ich gechecked - und eigenlich müßte das ganze so richtig sein... Und normalerweise würde ja auch das swf keine externen Daten (Bilder) laden, wenn die Einstellung falsch wär.
Langsam verzweifel ich - die Miete ist bald fällig und ich muss dem Kunden dringend ne' Rechnung schreiben.
Hier also das html:
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<? <!--Im Film verwendete URLs-->
<!--Im Film verwendeter Text--><div align="center">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0"
align="top" height="450" hspace="0" vspace="0" width="900">
<param name="allowScriptAccess" value="always" />
<param name="movie" value="Navigation.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#999999" />
<param name="allowScriptAccess" value="always" />
<param name="SCALE" value="noborder" />
<embed src="Navigation.swf" allowscriptaccess="always" quality="high" bgcolor="#999999"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"
scale="noborder" align="top" height="450" hspace="0" vspace="0" width="900"></embed>
</object> ?>
|
Also wer knackt diese böse Nuss?
Viele Grüße PNY | |
| 24.01.2010, 23:39 | Re5 | Beiträge: 29 Registriert: Jul 2008
Themenautor/in
| Auf die Gefahr hin, dass mich einer der Moderartoren jetzt hauen will, aber jetzt grade, keine 5min nach dem letzten Beitrag, ist mir da ne' ganz dumme Idee gekommen, die doch tatsächlich funktioniert hat:
Ich hatte den Pfad in der html relativ gesetzt d.h. einfach "Navigation.swf" - geladen hat er damit auch alles. Jetzt hab ich das ganze mal absolut versucht, also: "http:// ... /Navigation.swf" Und Voilà damit gehts auch mit dem Mailversand!
Hoffentlich konnt ich damit noch anderen helfen, die das gleiche Problem haben.
Es grüßt Euch ein glückliches PNY | Geändert von PNY36 am 24.01.10 um 23:40 Uhr
| |
|
| | | nicht sichtbar bei eingeloggten Mitgliedern | 
|
| | Themen Ähnliche Beiträge zum Thema | 13.07.2009 - dariel 20.05.2010 - tralala132 31.05.2010 - tralala132 27.02.2010 - cheznous |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
31.01.12, 12:30#Jobs Wir suchen (freiberufliche) Flash Developer (m/w) in Köln/Aachen http://t.co/4WPsXPOA 20.01.12, 21:02#Jobs Flash-Projekt Produktkonfigurator http://t.co/qPlGSiPd 12.01.12, 18:50#Jobs Flash Freelancer für ca. 2 Wochen in München gesucht http://t.co/XpMJr5dv 10.01.12, 10:45#PureMVC vs #RobotLegs Performance Battle. PureMVC is significantly faster than RobotLegs in nearly every respect. http://t.co/324gWRAr 06.01.12, 21:37#Jobs Flash Developer in Hamburg gesucht http://t.co/hZgTZvHJ
Regeln & Bedingungen
|