Problem mit Formular

karmababy

Mitglied
Hallo.

Ich hab mal einige Fragen zum Thema webmailen.
Ich versteh das nämlich noch nicht ganz. Ich würde gerne über ein Kontakformular Nachrichten von meiner Internetseite an meine Emailadresse schicken. Da in meinem Webhosting Paket Webmail dabei war brauch ich auch keinen externen Webmailer zu installieren.
Wir der Outlook Express zum Versenden der Emails benötigt? Ich blicke da nämlich nicht ganz durch.Ich hab mir ein Kontakformular per html und die dazugehörige php Datei erstellt. Nun öffnet sich aber immer der Outlook wenn ich was versenden möchte. Was genau muss denn dabei beachtet werden?


mfg
karma
 
Hallo,

du brauchst die Funktion
PHP:
mail()
mit entsprechenden Parametern. Ich hoffe das ist dir klar.
 
Hi.
Ich hab folgendes in meiner php Datei stehen:
Code:
 <?php
 
 $Empfaenger = "xxxxx";
 
 if($_REQUEST['Send'])
 {
    if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Betreff'|| empty($_REQUEST['Nachricht']))
    {
 	  echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
    }
    else
    {
 	  $Mailnachricht = "Sie haben folgenden Nachricht erhalten: \n\n";
 	  while(list($Formularfeld, $Wert)=each($_REQUEST))
 	  {
 		 if($Formularfeld!="Send")
 		 {
 			$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
 		 }
 	  }
 	  $Mailnachricht .= "\nDatum/Zeit: ";
 	  $Mailnachricht .= date("d.m.Y H:i:s");
 	  $Mailbetreff = "Kontakt: ";
 	  $Mailbetreff .= $_REQUEST['Betreff'];
 	  mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
 	  echo"Vielen Dank für Ihre eMail!";
    }
 }
 else
 {
    echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"xxxx\">Seite</a>.";
 }
 
 ?>



Fehlt da was oder ist da ein Fehler drin?


mfg
jazz
 
Hi

hast Du es mal ausprobiert?

Das Problem, was ich sehe, ist, dass, wenn Felder nicht ausgefüllt sind, via js history.back() zurückgelinkt wird. Wenn Du php nutzt, würde ich keinen bedeutenden Zurücklink in javascirpt ausführen lassen, da gibt es serverseitig meiner Meinung nach bessere Methoden, um Formularfelder zu validieren.

Weiterhin stehe ich etwas auf Kriegsfuss mit dem $_REQUEST[]. Wenn die Daten aus einem Formular abgeschickt werden, finde ich, sollte man auch den $_POST[] benutzen.

Aus dem ASP-Bereich kenne ich, dass es immer serverlastiger ist, man nutzt den den Request, denn dort wird alles, von Servervariablen bishin zum Cookie angenommen und durchgenudelt. Kann mir vorstellen, dass es in php nicht anders ist. Der $_REQUEST[] macht bestimmt an manchen Stellen Sinn, aber wenn man ein Formular verschickt, ist er eigentlich überflüssig.
 
Zuletzt bearbeitet:
Hallo,

erstens fehlen dir hier ein paar geschlossene Klammern:

PHP:
|| empty($_REQUEST['Betreff'||

Und zweitens fehlt der Parameter Absender bei der mail()-funktion.
 
HI.

Danke für eure Antworten aber bevor ich mich an die Verbesserung des php Scriptes mache hätte ich noch ein paar Fragen.Wie funktioniert das Prinzip des Kontaktformulars eigentlich? Ich glaube das ich das noch nicht so wirklich verstanden habe.Wenn muss ich denn als Absender angeben? Braucht man den Outlook den nun überhaupt zum Versenden oder ist das irgendwie nur so ein Ersatz für ein php script?


Würd mich freuen wenn Ihr mir ein wenig Licht ins Dunkle bringen könntet.

mfg
karma
 
Hi

eigentlich ist das ganz ein einfach.

wenn man mal auf Dein gepostetes Script zurückgreift, liegt die Empfänger-Adresse im der Variablen $Empfaenger. Diese kann die Adresse des Users sein oder auch die des Admins (z.B. Deine). Kommt immer drauf an, was Du machen willst. Beim Kontakt wäre das ja dann Deine Adresse bzw. die des Admins, oder dem/derjenigen, der/die die Mail auswertet.

In From gibst Du dann in dem Falle an, von woher die Anfrage kommt, in Deinem Fall vom User.

Outlook oder einen anderen Email-Client brauchst Du nicht. Das macht dann php über die Funktion mail() und das ist sehr praktisch. Du kannst dann von überall, auch aus dem Internet-Cafe, Anfragen oder Kontakte verschicken.
 
Zurück