online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon coros vom 15.09.2022, 10:01 Options

Lösung

Bestätigungsmail aus PHP-Script an Mailadresse aus einem E-Mailfeld senden

Hallo an Alle!

Ich habe im Netz einen Code gefunden, mit dem ein User mir von meiner Homepage aus eine Nachricht zukommen lassen kann. Dieser funktioniert auch super. Nun möchte ich aber noch, dass der User an die Mailadresse, die er in einem Pflichtfeld „Mail“ eingetragen hat, eine Bestätigungsmail mit der Anrede des Namens, den er im Feld „Name“ eingetragen hat und dann mit einem vordefinierten Text zugesandt bekommt. Allerdings fehlen mir hierzu die entsprechenden PHP- Kenntnisse und daher baue ich auf Euch. Kann mir jemand sagen kann, was ich wo noch ergänzen muss, damit obig beschriebenes beim Betätigen des Buttons ausgeführt wird?

Nachfolgend mal der PHP-Code:
<?php
define ('MAILTO', "mail@example.org"); // Empfänger hier eintragen
define ('MAILFROM', "Kontaktformular"); // ggfls. Absender hier eintragen
define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Nachricht', 'Mail'); // ggfls. weitere Pflichtfelder angeben

$AddHeader = 'Content-Type: text/plain; charset='.CHARSET;
if(MAILFROM) $AddHeader .= chr(13).chr(10).'From: '.MAILFROM;

if($Formular_abgeschickt = !empty($_POST)) {
  $Formular_leer = true; set_magic_quotes_runtime(0);
  $_POST = array_map('Formular_Daten', $_POST);
}
function Formular_Daten($val) {
  global $Formular_leer;
  if(is_array($val)) return array_map('Formular_Daten', $val);
  if(get_magic_quotes_gpc()) $val = stripslashes($val);
  if($val = trim($val)) $Formular_leer = false;
  return $val;
}

function Formular_Pflichtfelder() {
  global $Pflichtfelder;
  $Fehler = '';
  foreach ($Pflichtfelder as $Feld) {
    $key = str_replace(' ','_',$Feld);
    if(!(isset($_POST[$key]) && trim($_POST[$key]))) {
      if($Fehler) $Fehler .= '<br />';
      $Fehler .= 'Pflichtfeld "' . $Feld . '" nicht ausgefüllt.';
    }
  }
  return $Fehler;
}

function Formular_neu($log='.htPOSTdata.txt') {
  if(file_exists($log) && is_readable($log)
   && file_get_contents($log) == print_r($_POST,true))
  return false;
  if($handle=@fopen($log, 'w')) {
    fwrite($handle, print_r($_POST,true)); fclose($handle);
  }
  return true;
}

function Formular_Check() {
  global $Formular_leer;
  if($Formular_leer) $Fehler = 'Keine Daten eingetragen.';
  elseif(!$Fehler = Formular_Pflichtfelder()) {
    if(!Formular_neu()) $Fehler = 'Nachricht war bereits verschickt.';
  }
  return $Fehler;
}

function Formular_Eingabe($Feldname, $def='') {
  if(!empty($_POST[$Feldname])) echo htmlspecialchars($_POST[$Feldname]);
  else echo $def;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
  <title>Kontaktformular</title>
  <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>" />
</head>
<body>
<h1>Kontakt</h1>

<?php
if($Formular_abgeschickt) {
  if($Formular_Fehler = Formular_Check())
    echo '<p class="Meldung" id="Fehler">',$Formular_Fehler,'</p>';
  elseif(@mail(MAILTO, "Nachricht", print_r($_POST,true), $AddHeader))
    echo '<p class="Meldung" id="OK">Nachricht verschickt.</p>';
  else echo '<p class="Meldung" id="Fehler">Server-Fehler !</p>';
}
?>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post"
 enctype="multipart/form-data" accept-charset="<?php echo CHARSET; ?>">
  <fieldset><legend>Kontaktformular</legend>
    <p>
      <label for="Name">Name:</label>
      <input name="Name" id="Name" size="66"
       value="<?php Formular_Eingabe('Name'); ?>" />
    </p>
    <p>
      <label for="Mail">Mail:</label>
      <input name="Mail" id="Mail" size="66"
       value="<?php Formular_Eingabe('Mail'); ?>" />
    </p>
	<p>
      &nbsp;</p>
    <p>
      <label for="Nachricht">Nachricht:</label>
      <textarea name="Nachricht" id="Nachricht" rows="5" cols="50"><?php
       Formular_Eingabe('Nachricht'); ?></textarea>
    </p>
    <p><input type="submit" value="abschicken" /></p>
  </fieldset>
</form>

</body>
</html>
Ich hoffe auf viel Unterstützung und danke euch schon mal vorab für die Hilfe.

MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.


Antwort schreiben

Antwort 21 von gast_42 vom 15.09.2022, 21:22 Options

Mailinhalt und Mailadresse aus dem Formular ungeprüft zu übernehmen ist natürlich eine Einladung für Spammer & Co ...

Ähnliche Themen

PHP-script killt One.com Server
wurzelpeter  25.03.2009 - 497 Hits - 7 Antworten

unbek. PHP script und seine funktion
spectral  05.05.2009 - 384 Hits - 6 Antworten

(PHP) einen PHP-Parser mit PHP programmieren
skribbtkiddie  17.07.2009 - 354 Hits - 1 Antwort

PHP-Script läuft nicht - Denkfehler
CoderWorm  26.09.2009 - 265 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026