• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formular erstellen, Daten per E-Mail senden

Civ

Neues Mitglied
HI,

ich habe ein Formular erstellt. Jetzt will ich, dass die eingetragenen Daten mir per E-Mail geschickt werden.
Ich weiß, das sind wenige Informationen, aber ich kenne mich nicht so gut damit aus. Wenn ihr mehr Informationen braucht, sagts mir.
Ich kenne mich etwas mit HTML und Java aus. Besonders groß sind meine Kenntnisse nicht, aber das Formular bekomme ich alleine hin :)

Liebe Grüße
 
Werbung:
Mit HTML alleine geht das nicht. Folglich hast Du das falsche Unterforum hier erwischt.

Du brauchst eine Webprogrammiersprache wie php. Dafür gibt es auch zahlreiche Vorlagen, wie z.B. diese hier:
WebDesign - Tips und Tricks: universeller Formmailer

Wenn Du schon Java (also die Programmiersprache und nicht JavaScript) kannst, dann sollte das für dich möglich sein.
 
Danke threadi für die schnelle Antwort! :)

Eine Frage: kann man ein PHP-Script in ein HTML-Script einbringen?
 
Werbung:
Danke Space Vampire!

Ich habe jetzt ein *.php Dokument erstellt, ich habe nämlich das Formular von WebDesign - Tips und Tricks: universeller Formmailer kopiert und eingefügt. Wenn ich die Datei in Firefox öffnen will, kommt der PHP Text in Buchstaben.
Wird das erst ein Formular, wenn ichs hochgeladen habe oder habe ich was falsch gemacht?

Code:
<?php
define ('MAILTO', "[email protected]"); // Empfänger hier eintragen
define ('MAILFROM', "Kontaktformular"); // ggfls. Absender hier eintragen
define ('CHARSET', "ISO-8859-15"); // Zeichenkodierung ggfls. anpassen
$Pflichtfelder = array('Nachricht'); // 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(isset($_POST[$Feldname]) && $_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">Ihr Name:</label>
      <input name="Name" id="Name" size="66"
       value="<?php Formular_Eingabe('Name'); ?>" />
    </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>
 
Hallo.

Wenn du das lokal auf deinem Computer testen willst musst du dir einen Webserver wie zum Beispiel XAMPP installieren.

Gruss
Elroy
 
Werbung:
Weißt du wie man XAMPP einrichtet? Die Datei muss dann Im XAMPP Verzeichnis unter htc-docs abgelegt werden und wenn du XAMPP gestartet hast gibst du oben in der Browserzeile einfach localhost/dokumentname.php ein! ich hoffe ich konnte dir helfen ;D
LG
 
okay ich konnte jetzt das PHP dokument mit firefox über http://localhost/Test.php öffnen, dann habe ich das Formular ausgefüllt und auf senden gedrückt. Dann habe ich natürlich keine E-Mail bekommen, sondern es wurde ein Textdocument in C:\xampp\htdocs erstellt, in dem mein Text drinsteht...
Geht das damit nicht? Brauch ich dazu so einen "Formmailer"?

LG

EDIT: wichtig erscheint mir dabei vor allem die Stelle
Code:
<?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>';
}
?>
weil bei mir die Meldung "Server-Fehler !" kommt.
 
Zuletzt bearbeitet:
Werbung:
Bei XAMPP muss man den Mailversand meines Wissens noch konfigurieren. Schau dir mal die XAMPP Hilfe genauer an oder hier im Forum, das Thema gibt es oft genug.
 
HI,

ich schaffs nicht Mercury so einzurichten dass ich mir selber eine EMail an den GMX Account senden kann... Ich finde auch keine gescheiten Tutorials. immer nur für externe Mails.

lg
 
Hallo,
ich habe den Code wie im Beitrag vom 17.1.2011 14:08 genommen und ausprobiert.
Ich bekomme aber folgenden Fehler: Deprecated: Function set_magic_quotes_runtime() is deprecated in C:\xampp\htdocs\sendphp.php on line 12
Ausserdem bekomme ich noch die Meldung Server-Fehler !
Wo gibt man den den SMTP-Server (Host, User, Password) ein????
Gruss

 
Werbung:
Zurück
Oben