84075
Mar 18, 2010, updated at Mar 25, 2010 (UTC)
5091
2
0
Php submit formular für flash
Servus Leute,
ich habe ein Kontakt Formular mit Flash gemacht inkl. php etc. Das Flash Kontaktformular heisst contact.swf und enthält einen content_mc wo Adresszeile, Betreff, Text, Send und Clear Button stehen. Im Actionscript habe ich folgendes:
So und nun habe ich natürlich auch eine formSubmit.php die so aussieht:
Als letztes noch eine phpinfo.php:
Sieht ja eigentlich alles gut aus aber irgendwie kommt keine Email an Wer findet meinen Fehler?
ich habe ein Kontakt Formular mit Flash gemacht inkl. php etc. Das Flash Kontaktformular heisst contact.swf und enthält einen content_mc wo Adresszeile, Betreff, Text, Send und Clear Button stehen. Im Actionscript habe ich folgendes:
//
// INITIAL SETTINGS
//
var sendVars:LoadVars = new LoadVars(this);
var statusVars:LoadVars = new LoadVars(this);
bgSelected = "";
//
// CASCADING STYLE SHEET
//
var styles = new TextField.StyleSheet();
// Set hyperlink colour and decoration here
styles.setStyle("a:link", {color:'#00FFFF', textDecoration:'none'});
styles.setStyle("a:hover", {color:'#00FFFF', textDecoration:'underline'});
txt.html = true;
txt.styleSheet = styles;
//
// KILL FULLSCREEN (input fields are disabled in fullscreen mode)
//
killFullscreen = function () {
if (Stage["displayState"] == "fullScreen") {
Stage["displayState"] = "normal";
}
};
//
// BUTTON NAMES
//
bttnClear.txt_mc.txt.text = "Clear";
bttnSend.txt_mc.txt.text = "Send";
//
// BUTTON FUNCTIONS
//
bttnClear.bttn.onPress = function() {
clearForm();
};
bttnSend.bttn.onPress = function() {
validateForm();
};
//
// SET FOCUS FIELDS
//
fieldName.field.onSetFocus = function() {
killFullscreen();
bgSelected = this._parent._name;
if (this.text == "Name") {
this.text = "";
}
};
fieldEmail.field.onSetFocus = function() {
killFullscreen();
bgSelected = this._parent._name;
if (this.text == "Email") {
this.text = "";
}
};
fieldMsg.field.onSetFocus = function() {
killFullscreen();
bgSelected = this._parent._name;
if (this.text == "Message") {
this.text = "";
}
};
//
// KILL FOCUS FIELDS
//
fieldName.field.onKillFocus = function() {
bgSelected = "";
if (fieldName.field.text == "") {
this.text = "Name";
}
};
fieldEmail.field.onKillFocus = function() {
bgSelected = "";
if (fieldEmail.field.text == "") {
this.text = "Email";
}
};
fieldMsg.field.onKillFocus = function() {
bgSelected = "";
if (fieldMsg.field.text == "") {
this.text = "Message";
}
};
//
// CLEAR FORM
//
clearForm = function () {
fieldName.field.text = "Name";
fieldEmail.field.text = "Email";
fieldMsg.field.text = "Message";
};
clearForm();
//
// CLEAR STATUS MESSAGE
//
clearStatusInt = function () {
statusMsg.text = "";
clearInterval(clearStatus);
};
//
// VALIDATE FORM
//
function validateForm() {
// Check fields
i = 0;
if (fieldName.field.text == "" or fieldName.field.text == "Name") {
fieldName.field.text = "Name";
i++;
}
if ((fieldEmail.field.text == "") or (fieldEmail.field.text == "Email") or (fieldEmail.field.text.indexOf("@", 0) == -1) or (fieldEmail.field.text.indexOf('.', 0) == -1)) {
fieldEmail.field.text = "Email";
i++;
}
if (fieldMsg.field.text == "" or fieldMsg.field.text == "Message") {
fieldMsg.field.text = "Message";
i++;
}
// Submit form if fields valid
if (i == 0) {
sendVars.Name = fieldName.field.text;
sendVars.Email = fieldEmail.field.text;
sendVars.Msg = fieldMsg.field.text;
sendVars.sendAndLoad("contact/formSubmit.php", statusVars, "GET");
statusMsg.text = "Sending...";
statusVars.onLoad = function(success:Boolean) {
if (success) {
if (statusVars.sent == "success") {
clearForm();
statusMsg.text = "Message sent";
}
} else {
statusMsg.text = "PHP error!";
}
clearInterval(clearStatus);
clearStatus = setInterval(clearStatusInt, 3000);
};
}
}
//
// LOAD XML
//
loadXML = function (loaded) {
if (loaded) {
xmlNode = this.firstChild;
txt.htmlText = xmlNode.childNodes.firstChild.nodeValue;
txt._height = txt.textHeight+10;
headerName.text = xmlNode.attributes.Name;
companyName.text = xmlNode.attributes.companyName;
formName.text = xmlNode.attributes.formName;
trace(xmlNode.attributes.Name);
} else {
trace("Error loading XML");
}
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("contact/content.xml");
stop();
So und nun habe ich natürlich auch eine formSubmit.php die so aussieht:
<?php
$sendTo = "info@email.com";
$subject = "Message from your website";
$name = $_GET['Name'];
$email = $_GET['Email'];
$message = $_GET['Msg'];
$headers = "From: $name <$email> \r\n";
//$headers .= 'MIME-Version: 1.0' . "\r\n";
//$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$msg = "Name: ".$name."\n\nE-mail: ".$email."\n\nMessage: ".$message."";
mail($sendTo, $subject, $msg, $headers);
$headers = "From:$name, $headers;
echo "sent=success";
?>
Als letztes noch eine phpinfo.php:
<html>
<body>
<?php
phpinfo();
?>
</body>
</html>
Sieht ja eigentlich alles gut aus aber irgendwie kommt keine Email an Wer findet meinen Fehler?
Please also mark the comments that contributed to the solution of the article
Content-Key: 138605
Url: https://administrator.de/contentid/138605
Printed on: April 23, 2024 at 14:04 o'clock
2 Comments
Latest comment
irgendwie kommt keine Email an
... meinst Du - es kommen keine Daten in deine formSubmit.php ?evtl. solltest Du mal ein paar Infos in ein Log schreiben um zu sehen ob dieses Script überhaupt ausgeführt wird.
$sLogData = print_r($_POST,true)."\n".print_r($_GET,true)."\n\n";
file_put_contents( 'log.txt', $sLogData, FILE_APPEND | FILE_TEXT );
Zu dem Flash kann ich Dir leider nichts sagen.
Als letztes noch eine phpinfo.php:
.. ja super !