Flash MX - Problem mit php-Kontaktformular

talemaster

Grünschnabel
Hi, habe mir eine php-Kontaktformular-Vorlage runtergeladen und sie ein wenig angepasst. Dann hab ich die php-Datei auf php-fähigen Webspace geladen und den Rest auf meinen normalen Space geschaufelt. Von meiner HD aus alles perfekt, wenn ich die kontakt.swf direkt lade läufts auch, nur wenn ich zuerst meine Hauptseite starte und dann in die Kontakt-Section navigiere kommt nix auf meinem Mailserver an... Hätte jemand nen schnellen Anfängertipp parat?

In meiner Kontaktseite steht auf dem Senden-Button folgendes:

on (release) {
if (!name.length) {
EmailStatus = "Name fehlt!";
} else if (!email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
EmailStatus = "Gültige Email fehlt!";
} else if (!text.length) {
EmailStatus = "Message fehlt!";
} else {
loadVariables("http://thfdesign.th.ohost.de/sendmail.php4", "", "GET");
msg._visible = 1;
}
}
Anzusehen ist das ganze unter http://www.thfdesign. (Die Endung lässt mich der Editor nicht an den Link anfügen...?...sie lautet devu mit Punkten...:) )

(bin blutiger Anfänger...)



danke,

talemaster
 
Zuletzt bearbeitet:
Hallo,

ja statt get. Zeitgemäss und bombensicher ist das allerdings nicht. Heutzutage würde man sowas mit einem LoadVars machen:

PHP:
on (release) {
    
    var sendVars = new LoadVars();
    if (!name.length) {
        EmailStatus = "Name fehlt!";
    } else if (!email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
        EmailStatus = "Gültige Email fehlt!";
    } else if (!text.length) {
        EmailStatus = "Message fehlt!";
    } else {
        sendVars.name = name;
        sendVars.Email = Email;
        sendVars.text = text;
        sendVars.sendAndLoad("http://thfdesign.th.ohost.de/sendmail.php4", this, "POST");
        msg._visible = 1;
    }
}

In PHP kannst du die gesendeten Variablen nach folgendem Muster auslesen:
PHP:
print $_POST["Email"];
print $_POST["text"];
print $_POST["name"];

gruss

PS: Könntest du noch deine URL anpassen, der Link ist nämlich fehlerhaft.
 
...erstmal Danke für die Hilfsbereitscheft, hatte die Hoffnung schon fast aufgegeben...Da ich aber in php noch viel unbewandelter bin, kann ich mit den Angaben zum Auslesen in php nicht viel anfangen...vielleicht könnte mir ja jemand etwas auf die Sprünge helfen...meine php-datei sieht bis jetzt so aus (so hab ich sie zum im 1. Beitrag angegebenen Script geladen...):

<?
// Text für die Bestätigungsmail
//-----------------------------------------------------------
$vtext="Deine Mail ist angekommen.";

// Betreff der Bestätigungsmail
//-----------------------------------------------------------
$bestaetigung="Mail angekommen";
$text=str_replace("\\\"","\"",$text);
$text=str_replace("\'","'",$text);
urlencode ($text);
$text=str_replace("%0D","\n",$text);

//-----------------------------------------------------------

// e-Mail wird abgeschickt und zur Bestätigung wird noch eine Mail an den Absender geschickt
mail($empf,$name,$text,"From: ".$email);
mail($email,$bestaetigung,$vtext,"From: ".$empf);
?>



Schonmal 1000 Dank...
 
Hallo,

Flash-Code:
PHP:
n (release) {
    
    var sendVars = new LoadVars();
    if (!name.length) {
        EmailStatus = "Name fehlt!";
    } else if (!email.length || Email.indexOf("@") == -1 || Email.indexOf(".") == -1) {
        EmailStatus = "Gültige Email fehlt!";
    } else if (!text.length) {
        EmailStatus = "Message fehlt!";
    } else {
        sendVars.name = name;
        sendVars.Email = Email;
        sendVars.text = text;
        sendVars.onLoad = function ()  {
            trace (this.output);
        }
        sendVars.sendAndLoad("http://thfdesign.th.ohost.de/sendmail.php4", this, "POST");
        msg._visible = 1;
    }
}

Code in PHP:

PHP:
<?
// Text für die Bestätigungsmail
//-----------------------------------------------------------
$vtext="Deine Mail ist angekommen.";

// Betreff der Bestätigungsmail
//-----------------------------------------------------------
$bestaetigung="Mail angekommen";
$text=utf8_decode ($_POST["text"]);
$mail=utf8_decode ($_POST["Email"]);
$name=utf8_decode ($_POST["name"]);
//-----------------------------------------------------------
$empf= "du@dich.de";
// e-Mail wird abgeschickt und zur Bestätigung wird noch eine Mail an den Absender geschickt
if (mail($empf,$name,$text,"From: ".$mail) {
    echo "&ouput=ERFOLGREICH VERSANDT!&";
    mail($mail,$bestaetigung,$vtext,"From: ".$empf);
}
?>

In deinem Script wird nirgends ein Empfänger angegeben, das solltest du noch einbauen.
Benütze doch auch zur Darstellung von Code die Code-Higlight-Funktionen dieses Boards.

gruss
 
Danke für die Antwort...

Da es leider immernoch nicht funktioniert drängt sich der Verdacht auf, dass es ein Problem mit dem Verweisen auf den Free-Webspace geben könnte, auf dem ich meine php-Datei abgelegt habe... Ist das möglich?

Gruß,

talemaster
 
Hallo,

es gibt hundert mögliche Gründe für ein Nichtfunktionieren, zum Beispiel eine fehlerhafte Eingabe-Auswertung usw.
Es könnte aber durchaus sein, dass du Scripts von andern Domains nicht in dein Flash-File laden kannst, was aber mal sicher nicht für den Offline-Btrieb gilt, da sollten solche Fehler nicht auftreten. Verfügt dein Webspace denn über einen PHP-Parser?

gruss
 
Dazu kann ich aufgrund meiner fehlenden Kenntnisse leider nichts sagen, ich habe es auf jeden Fall bei ohost.de und bei pytalhost.com versucht...
 
Hallo,

ohost.de unterstützt PHP. Am Besten postest du mal deine *.fla (in einem *.zip-Archiv), dann schau ich mir das mal an.

gruss
 
Zurück