Bekomme keine Rückmeldung

borsti

Mitglied
Hi,
vielleich kann mir hier jemand helfen.
Ich habe mir nach dem Tutorial ein Mailformular gebastel und es funktioniert auch soweit.
Nun werarte ich, laut PHP - Skript das ich eine Meldung bekomme ob die Nachricht verschickt wurde.
Die kommt aber nicht.
Was ist an den Code falsch?
Code:
<?php
$answer = "Keine Daten zum verschicken";

if (isset($_POST["nachricht"]))
{
$msg = "Nachricht von: ".urldecode($_POST["vorname"])."
" .urldecode($_POST["name"])."\n";
$msg .= " E-Mail: ".urldecode($_POST["mail"])."\n\n";
$msg .= urldecode($_POST["nachricht"]);

$msg = utf8_decode($msg);

if (mail("meine adresse", "Formmailer",$msg) == true){
echo("success=true&");
$answer = "Ihre Nachricht wurde verschickt";
}

else{
$answer ="Ihre Nachricht konnte nicht verschickt werden";
}}
echo("answer=".urlencode($answer));
?>

Danke schon mal für die Hilfe.

Borsti
 
Hmm... auf den ersten Blick kann ich da keinen Fehler erkennen. Was wird ausgegeben, wenn Du das Script direkt im Browser aufrufst?

Ich nehme an, der Flash-Part (Verschicken und Abfragen der Daten) entspricht ebenfalls dem Tutorial?

Gruß
.
 
Hi Datic,
danke für Deine schnelle Reaktion.
Zu meiner Schande muß ich gestehen das es mir zu umständlich war den Apachen
zu installieren und einzurichten, da ich sonst nicht mit PHP arbeite.
Ich hab es einfach auf blauen dunst probiert und es funtioniert ja auch bis auf die Meldung.
Die Mails kommen auch an wo sie sollen und wie sie sollen.
Kann da was in der fla Datei nicht stimmen?
Aber das kann fast nicht sein, das PHP verschickt ja die Daten.

Vielleicht weiß noch jemand Rat.
Borsti
 
Äh. Wenn Du keinen Server installiert hast, wird PHP nicht geparst und es können auch keine Mails verschickt werden.... ergo hast Du entweder einen lokalen Server installiert, oder Du testest das ganze Online auf Deinem Webspace. Aber auch in diesem Fall kannst Du ja den Pfad der PHP-Datei direkt in Deinem Browser eingeben und nachschauen, was das Script ausgibt.

Gruß

P.S.: Wenn die .fla 1:1 dem Tutorial entspricht, kann es daran eigentlich nicht liegen, da es bei mir (und anderen) funktioniert. Wenn Du etwas geändert hast, poste bitte Deinen Code.
.
 
Also wenn ich den Pfad direkt eingebe kommt die Meldung
"Keine Daten zum verschicken"
Was ja glaube ich in Ordnung ist.
Also hier der Code aus der fla

Code:
stop();
//Zulassungen in den Textfeldern
function beschr()
{vorname.restrict = "a-zA-Z.\\-öäüÖÄÜ"; name.restrict = "a-zA-Z.\\-öäüÖÄÜ";
mail.restrict = "a-z.A-Z0-9_\\-.@";
	}
	beschr();
	
//Prüfen der Textfeldeingaben
function checkForm()
{var error=0;
 error += (name.text.length < 2 )? 1 : 0;
 error += (vorname.text.length < 2 )? 2 : 0;
 error += (mail.text.indexOf("@") < 3 || mail.text.lastIndexOf("@")>mail.text.length - 4)? 16 : 0;
 error += (mail.text.indexOf(".")< 1 || mail.text.lastIndexOf("@")>mail.text.length - 2)? 32:0;
 error += (nachricht.text.length < 2 )? 64:0;
 return error;
	}
function errorMsg (error)
{var estr = ""; //Rückgabestring initialisieren
if(error >> 5) {estr += "\n Geben Sie eine Nachricht ein";error -= 32;}
if(error >> 4) {estr += "\n ungültige Domain in der E-Mail Adresse";error -= 16;}
if(error >> 3) {estr += "\n ungültige E-Mail Adresse"; error -= 8;}
if(error >> 2) {estr += "\n Geben Sie eine E-Mail Adresse ein"; error -= 4;}
if(error >> 1) {estr += "\n Geben Sie Ihren Vornamen ein"; error -= 2;}
if(error >> 0) {estr += "\n Geben Sie Ihren Namen ein";}
return estr;
	}
function sendForm()
{var error = checkForm();
if(error == 0)
  {var LV = new LoadVars();
  LV.name = escape(name.text);
  LV.vorname = escape(vorname.text);
  LV.mail = escape(mail.text);
  LV.nachricht = escape(nachricht.text);
  LV.sendAndLoad("mailto.php",LV, "POST");
  
       LV.onLoad = function()
	                {display.text = "\n";
					 if (this.answer != undefined)
					       {display.text += unescape(this.answer);
							   }
							   else
							     {display.text += "Ein unbekannter Fehler ist"+'\n'+"aufgetreten!";
									 }
									 if(this.success == "true")clearForm();
						}} else {display.text = errorMsg(error);
							}
							}
							function clearForm()
							{name.text ="";
							vorname.text = "";
							mail.text = "";
							nachricht.text = "";
							display.text = "";
								}
 
Hi,

da müsste stehen:
Code:
answer=Keine Daten zum verschicken
Ansonsten sehe ich nach wie vor keinen Fehler - wie gesagt, bei mir funktionieren die Rückgaben des Formmailers.

Ansonsten: Hat dein Textfeld auch den Instanznamen "display"?

Vielleicht kannst Du beide Dateien (.fla und php) mal anhängen; dann teste ich es noch einmal.

Gruß
.
 
da steht korrekt

answer=Keine+Daten+zum+verschicken

Warum das Pluszeichen?

Jetzt wollte ich einen Anhang anfügen und weiß nicht wie. HILFE
Gruß Borsti
 
Zuletzt bearbeitet:
Habe es selbst gefunden
wie man einen Anhang beifügt
Außerdem ist noch folgendes aufgetreten.
Wenn ich den Namen vergesse, dann kommt die Meldung ich soll den Namen eingeben.
Wenn ich aber die E-Mail Adresse weg lasse kommen zwei Meldungen.
Einmal das ich die Adresse eingeben soll und das ich eine Nachricht eingeben soll.

Vielen Dank für Eure Hilfe

Borsti
 

Anhänge

  • mein test.zip
    508 Bytes · Aufrufe: 16
Hi,

Deine .fla ist eine leere Datei....

Nun, ich habe einfach meine Original Simplemailer.fla genommen und hatte keine Probleme bein Test. Du musst natürlich darauf achten, dass die Variablennamen, die an das PHP-Script übergeben werden, auch genauso aus $_POST geholt werden. Bei mir sind das z.B. "msg_forename", "msg_message" usw. Wenn Du Variablen mit dem Bezeichnern "nachricht", "mail" und "vorname" erwartest, müssen die Membervariablen des LoadVars-Objektes natürlich genau so benannt werden:
PHP:
LV.nachname = escape(msg_lastname.text);
LV.vorname = escape(msg_forename.text);
LV.mail = escape(msg_mail.text);
LV.nachricht = escape(msg_message.text);
LV.sendAndLoad("mailto.php", LV, "POST");
(Ob Du das gemacht hast, kann ich wie gesagt nicht sehen, da die .fla leer/defekt ist).

die "Fehlermeldungen" werden bei mir auch korrekt angegeben, da Du aber anscheinend andere (und weniger) Eingabefelder hast, musst Du die Funktion zum Überprüfen der Eingaben auch entsprechend ändern. Versuche doch, die .fla noch einmal anzuhängen.

Gruß

P.S.: die Pluszeichen sind schon korrekt, da der String URL-codiert ausgegeben wird.
.
 
Also auf ein Neues,hoffentlich klappt es dieses mal.
Aber den Fehler den du vermutest, habe ich nicht gemacht.
Na schau mal selbst, manchmal ist man schon betriebsblind.
Das Auspacken und Öffnen hat bei mir geklappt
Danke für deine Mühe

Borsti
 

Anhänge

  • reservierung.zip
    4,4 KB · Aufrufe: 9
Zurück