• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

probleme mit formmail skript

hi,

habe hier ein formailskript das auch funktioniert. nun habe ich selbst noch die zeile Geburtsdataum "datum" eingefügt welches aber nicht in der mail erscheint die ich bekomme. vielleicht ist es nur ne kleinigkeit die php profis sofort sehen ;-)


mail($sendto,$subject,$_REQUEST['message'],$header);
 
Hi,
nachdem du bei diesem Befehl:
Code:
mail($sendto,$subject,$_REQUEST['message'],$header);
ja nirgends das Geburtsdatum rein schreibst, wird es auch nicht geschickt...

Probier die Zeile mal so:
Code:
mail($sendto,$subject,$_REQUEST['message']."\nGeburtsdatum: ".$_REQUEST['datum'],$header);

Ansonsten verschieb ich das mal ins Programmierung-Forum, weil es ja kein Problem mit dem Apache oder der Konfiguration von PHP ist ;)

edit: Was genau sollen eigentlich die beiden Zeilen bewirken?
Code:
?>
<?
<- die kannste getrost rausschmeißen ^^
 
klasse, so funktionierts! nur kommt das datum nun unter der message...
wie muss ich vorgehen wenn ich noch mehr felder einfügen möchte?
 
Wenn das Datum VOR der Nachricht kommen soll, dann musste eben die Reihenfolge vertauschen:
Code:
mail($sendto,$subject,"Geburtsdatum: ".$_REQUEST['datum']."\n".$_REQUEST['message'],$header);

Du solltest aber dem Script auch noch eine IP-Sperre verpassen, sodass pro IP maximal zwei oder einmal pro Tag eine Mail versendet werden kann -> denn sonst kann man mit sonem Script einigen Schaden anrichten, wenn einer z.B. automatisiert tausende Mails abschickt.

Für weitere Felder würde ich so vorgehen:
Code:
$message = "Text für Feld1: ".$_REQUEST['Feld1']."\n";
$message .= "Text für Feld2: ".$_REQUEST['Feld2']."\n";
$message .= "Text für Feld3: ".$_REQUEST['Feld3']."\n";
...
mail($sendto,$subject,$message,$header);
Jeder \n macht dabei nen Zeilenumbruch -> wenn du also größere absätze haben willst, dann kannst du auch einfach mehrere \n hintereinander setzen. N tabulator geht auch: \t schau dich mal bei google um, da kannst du alle diese Befehle finden (wenn du sie nicht eh schon kennst) ;)
 
hab da noch eine frage. ist es möglich das hier automatisch eine mail
an die adresse geschickt wird die im kontaktformular eingegeben wird?

habs mal so versucht, tut aber nicht...

Code:
<?
    }

    if ($_REQUEST['action']=="smail")
    {
      echo "<br/>Vielen Dank für Ihre Nachricht.<br/><br/>Wir werden versuchen so schnell, wie möglich darauf einzugehen.\n";
      echo "\n";
      $header= "From: ".$_REQUEST['email']."\r\n";
      $subject = "[Kontakt] ".$REQUEST['subject'];
      $sendto = "xxx";                        // eigene Mailadresse eingeben
      mail($sendto,$subject,"\n\nName: ".$_REQUEST['sender']."\n\nE-Mail: ".$_REQUEST['email']."\n\nNachricht: ".$_REQUEST['message'],$header);
	//Datei die als Antwort zurückgeschickt wird
$antworttext= "php_formail.txt";
  // Bestätigungsmail für den Interessenten
$datei = fopen( $antworttext, "r" );
$bestatigung = fread( $datei, filesize( $antworttext ) );
fclose( $datei ); 
mail( $email, "Danke fuer Ihre Anfrage", $bestatigung, "From: $sendto");
}
?>
 
naja, php ist einfach nicht meine welt...
das einfachste ist wohl dem "ausfüllenden" eine kopie der mail zukommen zu lassen. geht es nicht auch einfacher wenn ich nur schreiben möchte das die daten eingegangen sind und bearbeitet werden?
 
Oben