1k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Habe ein Template vom Montetemplate gakauft da meine progrmaier kenntnise nicht so die besten sind.
Das Flash Formular bekommt vom XML die felder definition.
Das Formular ist auch über das separate formconfiguration.xml eingerichtet.
Das PHP ist glaub auch in ordnung aber das ganze funktionert nicht.
habe mich seit zweitagen damit rumgeschlagen aber der Code scheint io zu sein.

Wäre schön wenn mir jemand den weg ein wenig erklären wurde.

PHP CODE:
<?php
$mail_body = '';
//-----------------Getting data sent by flash---------------------
foreach ($_POST as $key => $value){
if ($key != 'mail_to' && $key != 'smtp_server' && $key != 'smtp_port' && $key != 'mail_from' && $key != 'mail_subject' && $key != 'plain_text'){
$mail_body .= '<b>'.str_replace('_',' ',$key).'</b>:<br/>';
$mail_body .= ''.stripslashes($value).'<br/>';
}
}
//-----------------------------------------------------------------
$message = '<html><body>'.$mail_body.'</body></html>'; // mail body
//------------if plain text is set to true removing html tags------
if ($_POST['plain_text']=='true') {
$message = str_replace('<br/>',"\r\n", $message);
$message = strip_tags($message);
//------------------------------------------------------------------
} else {
//----otherwise composing message headers---------------------------
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//------------------------------------------------------------------
}
//------------setting conf data-------------------------------------
$to = $_POST['mail_to'];
$from = $_POST['mail_from'];
$subject = $_POST['mail_subject'];
$smtp_server = $_POST['smtp_server'];
$smtp_port = $_POST['smtp_port'];
//------------------------------------------------------------------
//---------setting header info--------------------------------------
$headers .= 'From: ' .$from. "\r\n";
//------------------------------------------------------------------
if (mail($to, $subject, $message, $headers)){ // sending mail
print('<serverResponse><mail>1</mail></serverResponse>');
} else {
print('<serverResponse><mail>0</mail></serverResponse>');
}
?>


und mein XML siht auch nicht schlecht aus

<?xml version="1.0" encoding="utf-8"?>
<contactFormConfiguration>
<emailTo>xxxx@xxxxx.de</emailTo>
<serverProcessorType>form.php</serverProcessorType>
<messageSentText>DANKE FUR IHRE NACHRICHT.</messageSentText>
<validationMessages>
<email>Dies ist Keine gultige email adresse</email>
<empty>Alle felder mussen ausgefullt werden</empty>
<ntext>Dies ist kein zulasiger Text</ntext>
<digits>Kein zulasiger Textkarakter</digits>
</validationMessages>
<exitFullScreenMsg>Ihr musst den Vollbild Modus verlassen um das Formular zu verwenden</exitFullScreenMsg>
<messageSentFailedText>Es tut uns Leid, Ihre Nachricht konnte nicht gesendet werden</messageSentFailedText>
<formProcessingText>PROCESSING...</formProcessingText>
<smtpServer>smtp.xxxxx.ch</smtpServer>
<smtpPort>25</smtpPort>
<plainText>true</plainText>
<emailFromSource>1</emailFromSource>
<subjectSource>Email aus der Homepage</subjectSource>
</contactFormConfiguration>

2 Antworten

0 Punkte
Beantwortet von
diese Fragen solltest du doch mit dem Anbieter klären können, zumal du dafür bezahlt hast.

Ansonsten: du hast hier 3 Scripte/Programme erwähnt, nur 2 davon gepostet, damit fehlt jede menge Wissen zur Beantwortung der Frage.


Aber: warum muss es unbedingt so kompliziert sein? Was spricht gegen eine simple HTML-Formular und PHP Kombination?
0 Punkte
Beantwortet von
Die ganze homepage ist im Flash. und der flash Aktionskript siht folgendermassen aus.

Habe den Templatemonster geschriben über das Problem, aber bis jetzt keine Antwort daswegen dachte ich mir ob nicht jemand von Euch mal so ein problem hatte und ob es sich lohn in zukunft solche Templates zu kaufen oder gibt es auch andere hilfreiche anbitter die sich in support besser bewegen als TM.

Danke an all Die die nerven haben sich damit auseinander zu setzen oder besser gesat es nur zu lessen.

danke imvoraus
_______________________________________
Action Script - CS3
_______________________________________
public function contactFormAction(form:MovieClip,clearButton:MovieClip,sendButton:MovieClip,maxTitleText:Number):void {
var iForm:Number = 0;
clearButton.thisText.htmlText = websiteXML.pages.titlePage[4].texts.contatcForm.button.text[0].text();
sendButton.thisText.htmlText = websiteXML.pages.titlePage[4].texts.contatcForm.button.text[1].text();
clearButton.thisText.autoSize = TextFieldAutoSize.CENTER;
sendButton.thisText.autoSize = TextFieldAutoSize.CENTER;
clearButton.addEventListener( MouseEvent.CLICK, clearClick );
while (iForm <= maxTitleText) {
//form['NameformItem_' + iForm].htmlText = websiteXML.pages.titlePage[4].texts.contatcForm.titleTextForm.textForm[iForm].text();
// form['NameformItem_' + iForm].restrict = '^a-z';
// form['NameformItem_' + iForm].autoSize = TextFieldAutoSize.LEFT;
form['formItem_' + iForm].addEventListener( FocusEvent.FOCUS_IN, onFormItemFocusIn);
form['formItem_' + iForm].addEventListener( FocusEvent.FOCUS_OUT, onFormItemFocusOut);
form['formItem_' + iForm].htmlText = websiteXML.pages.titlePage[4].texts.contatcForm.titleTextForm.textForm[iForm].text();
formItems[ iForm ] = websiteXML.pages.titlePage[4].texts.contatcForm.titleTextForm.textForm[iForm].text();
//trace(formItems);
iForm++;
}
xmlFormLoader= new URLLoader();
xmlFormLoader.addEventListener(Event.COMPLETE, showformXML);
xmlFormLoader.load(new URLRequest(titleFormXML));
XML.ignoreWhitespace = true;
function showformXML(e:Event) {
confXML = new XML(xmlFormLoader.data);
sendButton.addEventListener( MouseEvent.CLICK, sendClick );
}
/////////////////////////////SENDCLICK/////////////////////////////////////////////
function sendClick( event:MouseEvent ):Boolean {
form.formMessage.text = "";
if (stage.displayState==StageDisplayState.FULL_SCREEN) {
//stage.displayState=StageDisplayState.NORMAL;
form.formMessage.text = confXML.exitFullScreenMsg;
}
var iForm:uint = 0;
var notValidated:Boolean = false;
while (iForm <= maxTitleText) {
var error:String = validateFields(iForm);
if (error != ""){
form.formMessage.text = error;
notValidated = true;
break;
}
iForm++;
}
if ( confXML && !notValidated ) {
form.formMessage.text=confXML.formProcessingText;
var formData:Array = new Array();
formData.push( { key: "Full Name", value: form['formItem_' + 0].text, id : 0 } );
formData.push( { key: "Mail", value: form['formItem_' + 1].text, id : 1 } );
formData.push( { key: "Message", value: form['formItem_' + 2].text, id : 2 } );
var variables:URLVariables = new URLVariables();
var loader:URLLoader = new URLLoader();
loader.addEventListener( Event.COMPLETE, onServerResponse );
loader.addEventListener(IOErrorEvent.IO_ERROR, onServerError);
var mailFromId : Number = Number( confXML.emailFromSource );
if( mailFromId && mailFromId > 0 ) {
variables['mail_from'] = formData[ mailFromId ]['value'];
} else {
variables['mail_from'] = confXML.emailFromSource;
}
var mailSubjectId : Number = Number( confXML.subjectSource );
if(mailSubjectId && mailSubjectId > 0) {
variables['mail_subject'] = formData[ mailSubjectId ]['value'];
} else {
variables['mail_subject'] = confXML.subjectSource;
}
var mailToId : Number = Number( confXML.emailTo.valueOf().toString() );
if(mailToId && mailToId > 0) {
variables['mail_to'] = formData[mailToId]['value'];
} else {
variables['mail_to'] = confXML.emailTo;
}
variables['plain_text'] = confXML.plainText;
variables['smtp_server'] = confXML.smtpServer;
variables['smtp_port'] = confXML.smtpPort;
for( var j:Number=formData.length-1; j>=0; j-- ) {
variables[ formData[j]['key'] ] = formData[j]['value'];
}
var handlerFilePath:String = confXML.serverProcessorFileName.valueOf().toString() + '.' + confXML.serverProcessorType.valueOf().toString();
var request:URLRequest = new URLRequest( handlerFilePath );
request.method = URLRequestMethod.POST;
request.data = variables;
try
{
loader.load(request);
}
catch (error:Error)
{
trace( 'Unable to load URL' );
}
}
return true;
}
function validateFields(formItem:Number):String{
var iFormClear:Number = 0;
var oPatterns:Object = {"text":"^[ !@#$%^&*()+=/\a-z0-9_-]+$", "e-mail":"^([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([a-z\.]{2,6})$", "digits":"^[0-9_-]+$"};
var oErrorMessages:Object = {"empty":confXML.validationMessages.empty, "text":confXML.validationMessages.ntext, "e-mail":confXML.validationMessages.email, "digits":confXML.validationMessages.digits};
//trace("ok");
var isRequired:String = websiteXML.pages.titlePage[4].texts.contatcForm.fieldsValidationTypes.validationType[formItem].@required;
if((isRequired == "true") && (form['formItem_' + formItem].text == "")) {return oErrorMessages["empty"];}
else if (form['formItem_' + formItem].text != "") {
if (websiteXML.pages.titlePage[4].texts.contatcForm.fieldsValidationTypes.validationType[formItem].text() != "no")
{
var pattern:RegExp = new RegExp(oPatterns[websiteXML.pages.titlePage[4].texts.contatcForm.fieldsValidationTypes.validationType[formItem].text()], "i");
var txt:String = form['formItem_' + formItem].text;
var ar:Array = txt.match(pattern);
if (ar == null){
return oErrorMessages[websiteXML.pages.titlePage[4].texts.contatcForm.fieldsValidationTypes.validationType[formItem].text()];
}
}
}
return "";
}
////////////////////////////////RESET///////////////////////////////////
function clearClick():void {
var iFormClear:Number=0;
while (iFormClear<=maxTitleText) {
form['formItem_' + iFormClear].htmlText = '';
form['formItem_'+iFormClear].htmlText = websiteXML.pages.titlePage[4].texts.contatcForm.titleTextForm.textForm[iFormClear].text();
form.formMessage.text='';
iFormClear++;
}
}
/////////////////////////////////////////////////////////////////
function onServerResponse( event:Event ):void { <br
...