1&1 Webhosting
Flashhilfe.de - Flash Community

Kontaktformular fuktioniert nur offline [Flash CS3]

Forum > Flash mit anderen Programmiersprachen > Kontaktformular fuktioniert nur offline

 


AntwortenRegistrieren Seite1

 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]).", &uuml;bermittelt Ihnen folgende Informationen:\n";
$text .= "Name: ".utf8_decode($_GET[txt_name1])."\n";
$text .= "Stra&szlig;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:15Re1
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:22Re2
Benutzerbild von willie33
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 zugreifen
Check 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:24Re3
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:12Re4
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:39Re5
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 Mitgliedern1&1 Webhosting
 
Themen
Ähnliche Beiträge zum Thema
 
AntwortenRegistrieren Seite1

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.
Partner Webseiten: DesignerInAction.de   Designnation.de   Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   PSD-Tutorials.de   Tutorials.de

Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2012 Sebastian Wichmann - Flashhilfe.de