ich habe folgendes Anliegen:
Auf meiner Website befindet sich ein Kontaktformular, welches ein Eingabefeld für die Email-Adresse beinhaltet.
Nun hätte ich gerne, dass in der Email, die ich über das besagte Formular erhalte, automatisch der Absender eingetragen wird - also der Inhalt des Eingabefeldes “Email”.
Wie kann ich das denn erreichen? An welchen Parameter muss der Wert des Eingabefeldes übergeben werden?
Alternativ: Nach welchen Stichworten muss ich suchen, um eine Anleitung/Erklärung dafür zu finden?
ich denke das was du suchst ist entweder der Reply-To bzw. der From E-Mail Header.
Wenn du die Mail mit der mail()-Funktion versendest, wäre das der 4. Parameter, der dann etwa so aussehen könnte:
ich denke das was du suchst ist entweder der Reply-To bzw. der From E-Mail Header.
Wenn du die Mail mit der mail()-Funktion versendest, wäre das der 4. Parameter, der dann etwa so aussehen könnte:
Grüsse
cedl[/quote]
Vielen Dank.
Aber ich meinte es genau umgekehrt. Bei der Mail, die mir über das Kontaktformular geschickt wird, soll beim Absender der Inhalt des Eingabefeldes “Email” stehen (From: $absender_mail).
Trotzdem hast du mir bereits geholfen. Ich werde mich mal über die genannten Begriffe schlau machen und etwas experimentieren. Danke.
Prinzipiell funktioniert das Ganze. Nur in meinem Fall gibt es Probleme bei der Wertübergabe.
Wie ich es mir vorgestellt habe, wir durch folgenden Code ersichtlich.
Was muss hier geändert werden, damit der Wert übergeben werden kann?
Formular:
Die Eingabe wird über folgendes Skript verschickt (Achtung: so funktioniert es wegen der Wertübergabe von $_POST[‘email’] nicht):
<?php
if(isset($_POST['nachricht'])){
$inhalt = "Name:\n" . $_POST['name'] . "\n\nWohnort:\n" . $_POST['ort'] . "\n\nE-Mail:\n" . $_POST['email'] . "\n\nNachricht:\n" . $_POST['nachricht'];
if(mail("mail@elpixo.de","ElPixO.de - Kontakt",$inhalt,"From: Absender <$_POST['email']>")){
echo "Vielen Dank für deine Nachricht.
Du wirst automatisch zur Startseite weitergeleitet.";
}else{
echo "Fehler beim Versenden der Nachricht.";
}
}
?>
Beispielseite: http://test.elpixo.de/kontakt.html
Ich denke das Problem ist, dass PHP Arrays in Strings so nicht erkennt.
Entweder schreibst du die Variable zwischen { und } oder du hängst sie extern an.
(was ich meine:
if(mail("mail@elpixo.de","ElPixO.de - Kontakt",$inhalt,"From: Absender <$_POST['email']>"))
entweder so:
if(mail("mail@elpixo.de","ElPixO.de - Kontakt",$inhalt,"From: Absender <{$_POST['email']}>"))oder so:
if(mail("mail@elpixo.de","ElPixO.de - Kontakt",$inhalt,"From: Absender <". $_POST['email'] .">")))
Grüsse
cedl
Edit: ich hoffe du überprüfst die Formular eingaben, bevor du sie verschickst
[quote=“bcg”]
if(mail("mail@elpixo.de","ElPixO.de - Kontakt",$inhalt,"From: Absender <{$_POST['email']}>"))[/quote]
Super, vielen Dank. Mit der obrigen Version funktioniert es.
Nein, die Eingaben werden nicht überprüft. Das hängt aber an meiner Unkenntnis bei PHP. Aber von Spam werde ich größtenteils verschont. In einem knappen Jahr waren es noch keine 20 Spam-Mails.
kann ja sein ^^
aber die einfache prüfung, ob überhaupt überall was eingetragen ist (z.b. ist bei e-mail eine gültige e-mail adresse drinnen usw) sollte schon vorhanden sein und is ja auch nicht so schwer
strlen und explode sollten da reichen
naja, zum thema spam… ich hab auch erst gestern die erste spam-mail von meinem kontaktformular bekommen. und was mach ich? ich progge schnell n captcha dazu