84075
Goto Top

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:

// 
// 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 anface-sad Wer findet meinen Fehler?

Content-Key: 138605

Url: https://administrator.de/contentid/138605

Printed on: April 23, 2024 at 14:04 o'clock

Member: nxclass
nxclass Mar 19, 2010 at 07:22:04 (UTC)
Goto Top
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 !
Member: nxclass
nxclass Mar 23, 2010 at 10:37:33 (UTC)
Goto Top
evtl. solltest Du das in die Rubrik Web-Entwicklung - Flash verschieben (lassen)