Email Bestätigung nach Formulareintrag PHP

MoMa1412

Grünschnabel
Hallo zusammen, ich habe das folgende Formular erstellt, um über eine Formular Daten in eine Datenbank zu schreiben.

Nun sollen die eingegebenen Daten auch per email an den sich eintragenen User geschickt werden.

Ich bin nicht ganz sicher wo und welcher entsprechende Code eingefügt werden muss. Vielleicht kann jemand helfen.

Danke im voraus.

MoMa

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
<title>Rheinhessen-Connection macht Station im Pott</title> 
<link href="twoColLiqLtHdr.css" rel="stylesheet" type="text/css" /><!--[if IE]> 
<style type="text/css"> 
/* Fügen Sie CSS-Korrekturen für alle IE-Versionen in diesen bedingten Kommentar ein. */ 
.twoColLiqLtHdr #sidebar1 { padding-top: 30px; } 
.twoColLiqLtHdr #mainContent { zoom: 1; padding-top: 15px; } 
/* Mit der obigen proprietären Zoom-Eigenschaft wird IE die Eigenschaft hasLayout zugewiesen, die zur Verhinderung verschiedener Fehler erforderlich ist. */ 
</style> 
<![endif]--> 
<style type="text/css"> 
<!-- 
body { 
background-color: #ffffff; 
} 
#top_2 { 
background-image: url(../images/mitte.jpg); 
background-repeat: no-repeat; 
} 
#menu { 
font-family: Verdana, Geneva, sans-serif; 
font-size: 10px; 
font-weight: bold; 
color: #666; 
padding-top: 80px; 
padding-left: 90px; 
} 
a:link { 
color: #AE0E36; 
text-decoration: underline; 
} 
a:visited { 
text-decoration: underline; 
color: #A81438; 
} 
a:hover { 
text-decoration: none; 
color: #666; 
} 
a:active { 
text-decoration: underline; 
color: #A3193A; 
} 
#bild { 
} 
#wein { 
border-top-width: 1px; 
border-bottom-width: 1px; 
border-top-style: solid; 
border-bottom-style: solid; 
border-top-color: #666; 
border-bottom-color: #666; 
} 
#menu_2 { 
font-family: Verdana, Geneva, sans-serif; 
font-size: 12px; 
color: #AF0E36; 
padding-top: 5px; 
padding-left: 300px; 
font-weight: bold; 
padding-bottom: 5px; 
} 
--> 
</style></head> 

<body class="twoColLiqLtHdr"> 

<div id="container"> 
<?php 
$db_host = "*********"; 
$db_user = "**********"; 
$db_pass = "********"; 
$db_name = "*********"; 

if (isset( $_POST['eintragen'] )) 
{ 
// Maskierende Slashes aus POST entfernen 
$_POST = get_magic_quotes_gpc() ? array_map( 'stripslashes', $_POST ) : $_POST; 
// Inhalte der Felder aus POST holen 
$firma = $_POST['firma']; 
$anrede = $_POST['anrede']; 
$vorname = $_POST['vorname']; 
$name = $_POST['name']; 
$strasse = $_POST['strasse']; 
$plz = $_POST['plz']; 
$ort = $_POST['ort']; 
$tel = $_POST['tel']; 
$email = $_POST['email']; 
$internet = $_POST['internet']; 
$branche = $_POST['branche']; 
$workshop = $_POST['workshop']; 
/* ************************************************************************************************ */ 
/* *** Hier sollten und MUESSEN die Benutzereingaben geprueft werden um Schadcode abzufangen****** *** */ 
/* ************************************************************************************************ */ 
// Sind alle Eingaben durch die Validierung gekommen werden sie in die DB geschrieben 
// Verbindung oeffnen und Datenbank ausweahlen 
$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" ); 
if ($conID) 
{ 
mysql_select_db( $db_name, $conID ); 
} 
// Anfrage zusammenstellen der an die DB geschickt werden soll 
$sql = "INSERT INTO `formular` 
(`firma`,`anrede`, `vorname`, `name`, `strasse`, `plz`, `ort`, `tel`, `email`, `internet`, `branche`, `workshop`) 
VALUES( 
'" .mysql_real_escape_string( $firma ). "', 
'" .mysql_real_escape_string( $anrede ). "', 
'" .mysql_real_escape_string( $vorname ). "', 
'" .mysql_real_escape_string( $name ). "', 
'" .mysql_real_escape_string( $strasse ). "', 
'" .mysql_real_escape_string( $plz ). "', 
'" .mysql_real_escape_string( $ort ). "', 
'" .mysql_real_escape_string( $tel ). "', 
'" .mysql_real_escape_string( $email ). "', 
'" .mysql_real_escape_string( $internet ). "', 
'" .mysql_real_escape_string( $branche ). "', 
'" .mysql_real_escape_string( $workshop ). "' 
)"; 
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle 
mysql_query( $sql ); 
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde 
if (mysql_affected_rows() == 1) 
{ 
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3>"</br><br/> 

// Hier kann weiterer Code stehen der ausgefuehrt werden soll 
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken 
// der ueber den neuen Eintrag informiert 
} 
else 
{ 
echo "<h3>Ihre Anmeldung konnte <strong>nicht</strong> entgegengenommen werden! Bitte wenden Sie sich an den Veranstalter</h3>"; 
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren 
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken 
// damit er sich um den Fehler kuemmern kann, etc pp 
} 
} 
?> 

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formular" id="formular"> 
<table width="490" border="0" align="left" cellspacing="0"> 
<tr> 
<td width="55" align="left" valign="top">Firma:</td> 
<td align="left" valign="top"><input type="text" name="firma" id="firma" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Anrede:</td> 
<td align="left" valign="top"><input type="radio" name="anrede" id="anrede_1" value="Herr" checked="checked" /> 
Herr 
<input type="radio" name="anrede" id="anrede_2" value="Frau" /> 
Frau</td> 
</tr> 
<tr> 
<td align="left" valign="top">Vorname:</td> 
<td align="left" valign="top"><input type="text" name="vorname" id="vorname" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Name:</td> 
<td align="left" valign="top"><input type="text" name="name" id="name" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Strasse:</td> 
<td align="left" valign="top"><input type="text" name="strasse" id="strasse" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">PLZ:</td> 
<td align="left" valign="top"><input type="text" name="plz" id="plz" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Ort: </td> 
<td align="left" valign="top"><input type="text" name="ort" id="ort" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Tel:</td> 
<td align="left" valign="top"><input type="text" name="tel" id="tel" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">EMail:</td> 
<td align="left" valign="top"><input type="text" name="email" id="email" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Internet: </td> 
<td align="left" valign="top"><input type="text" name="internet" id="internet" /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">Branche: </td> 
<td align="left" valign="top"><input type="radio" name="branche" id="branche_1" value="Handel" checked="checked" /> 
Handel 
<input type="radio" name="branche" id="branche_2" value="Importeur" /> 
Importeur 
<input type="radio" name="branche" id="branche_3" value="Grosshandel" /> 
Grosshandel 
<input type="radio" name="branche" id="branche_4" value="Einzelhandel" /> 
Einzelhandel 
<input type="radio" name="branche" id="branche_5" value="LEH" /> 
LEH<br /> 
<br /> 
<input type="radio" name="branche" id="branche_6" value="Presse" /> 
Presse 
<input type="radio" name="branche" id="branche_7" value="Hotel" /> 
Hotel 
<input type="radio" name="branche" id="branche_8" value="Sommelier" /> 
Sommelier 
<input type="radio" name="branche" id="branche_9" value="F&B" /> 
F & B 
<input type="radio" name="branche" id="branche_10" value="Inhaber" /> 
Inhaber 
<input type="radio" name="branche" id="branche_11" value="Sonstige" /> 
Sonstige</td> 
</tr> 
<tr> 
<td align="left" valign="top">&nbsp;</td> 
<td align="left" valign="top"><p><br /> 
</td> 
</tr> 
<tr> 
<td align="left" valign="top">&nbsp;</td> 
<td align="left" valign="top"><p> 
<strong>Anmeldung f&uuml;r den Workshop:</strong><br /> 
</p></td> 
</tr> 
<tr> 
<td align="left" valign="top">&nbsp;</td> 
<td align="left" valign="top"> 
<input type="radio" name="workshop" id="workshop_1" value="14.30 Uhr" /> 
14:30 Uhr 
<input type="radio" name="workshop" id="workshop_2" value="17.30 Uhr" /> 
17:30 Uhr 
<br /> 
</p></td> 
</tr> 
<tr> 
<td align="left" valign="top">&nbsp;</td> 
<td align="left" valign="top"><p> 
<input type="submit" name="eintragen" id="eintragen" value="Abschicken" /> 
</p></td> 
</tr> 
</table> 
</form> 

<!-- end #container --></div> 
</body> 
</html>
 
Zuletzt bearbeitet:

Maniac

Erfahrenes Mitglied
Das steht doch schon in deinem Code:
// Hier kann weiterer Code stehen der ausgefuehrt werden soll
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken
// der ueber den neuen Eintrag informiert
Hier eben eine Email verschicken als Bestätigung.
 

MoMa1412

Grünschnabel
Danke für die schnelle Antwort. Dort habe ich einen mail() -Befehl eingesetzt, aber das hat nicht funktioniert. Ich habe aber in der Zwischenzweit ein wenig rumprobiert und den mail()-Befehl einfach in Zeile 124 eingebaut. Das funktioniert!

Der Code wäre dort:
Code:
mail($email, "Betreff", "Sie haben folgende Daten eingegeben: Firma: $firma etc");

Nur der Absender ist jetzt CGI-Mailer (was jetzt nicht so ein Riesenproblem ist). Aber vielleicht weißt Du ja, wie ich den Absender verändern kann?

Grüße

MoMa
 

Maniac

Erfahrenes Mitglied
Wird dieser Text angezeigt wenn das Formular abgesendet wurde?
Ihre Anmeldung wurde entgegengenommen!

Wenn ja, dann wird auch die Mail versendet an der Stelle wo ich geschrieben habe.
In Zeile 124 ist es falsch, denn dort wird die Mail auch versendet wenn der Eintrag nicht erfolgreich war.
 

MoMa1412

Grünschnabel
Ich weiß. Aber wenn ich das da unten hinpacke, dann bekomme ich ein Fehlermeldung bzgl der Zeile, in der der else-Befehl steckt. Habe ich irgendwelche Anführungszeichen oder Kommata übersehen?

Hier nochmal der Code-Schnipsel:

PHP:
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle 
mysql_query( $sql ); 
mail($email, "Anuga2011", "Sie haben folgende Daten eingegeben: 
Firma: $firma 
Email: $email", 
$additional_headers = "From: Sommelier-Consult" , $additional_parameters = null); 
// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde 
if (mysql_affected_rows() == 1) 
{ 
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/> 
Sie haben folgende Daten eingegeben: 
Firma: ".$_POST['firma']. ""; 

// Hier kann weiterer Code stehen der ausgefuehrt werden soll 
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken 
// der ueber den neuen Eintrag informiert 
} 
else 
{ 
echo "<h3>Ihre Anmeldung konnte <strong>nicht</strong> entgegengenommen werden! Bitte wenden Sie sich an den Veranstalter</h3>"; 
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren 
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken 
// damit er sich um den Fehler kuemmern kann, etc pp 
} 
} 
?>

Im Übrigen - find ich super, dass Du Dich des Themas ein bißchen annimmst.

Liebe Grüße

MoMa
 

Maniac

Erfahrenes Mitglied
Definiere die Variablen vorher und übergib sie der Mailfunktion:
PHP:
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle 
mysql_query( $sql ); 

// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde 
if (mysql_affected_rows() == 1) 
{ 
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/> 
Sie haben folgende Daten eingegeben: 
Firma: ".$_POST['firma']. ""; 

// Hier kann weiterer Code stehen der ausgefuehrt werden soll 
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken 
// der ueber den neuen Eintrag informiert 
$from = "absender@domain.tld";
$empf = htmlspecialchars($email);
$subject = 'Anuga2011';
$text = "Sie haben folgende Daten eingegeben:\r\n";
$text .= "Firma: ".$firma."\r\n";
$text .= "Email: ".$empf."\r\n";

mail($empf, $subject, $text, "From: " .$from); 
} 
else 
{ 
echo "<h3>Ihre Anmeldung konnte <strong>nicht</strong> entgegengenommen werden! Bitte wenden Sie sich an den Veranstalter</h3>"; 
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren 
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken 
// damit er sich um den Fehler kuemmern kann, etc pp 
} 
} 
?>
 

MoMa1412

Grünschnabel
Klint gut. Aber irgendwasist faul. Ich bekommen beim Aufrufen der Seite folgende Fehlermeldung:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /homepages/2/d132775660/htdocs/anuga/anmeldung1.php on line 142

142 ist die Zeile , wo $from anfängt. Es muss nur eine Kleinigkeit sein, aber was?

Grüße

MoMa
 

Maniac

Erfahrenes Mitglied
Na ein bissl solltest schon auch selbst schauen was nicht sein kann.
Nicht nur Copy und Paste....

hab unter noch 2 Zeilen vergessen zu löschen unter der Ausgabe
PHP:
if (mysql_affected_rows() == 1) 
{ 
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/>";
 

MoMa1412

Grünschnabel
Die hab ich auch rausgenommen, aber trotzdem geht's nicht. Ich weiß, ich treib Dich e bestimmt schon in den Wahsinn (und mach Deinem Namen alle Ehre). Eigentlich ist alles logisch aber irgendwie stehe ich auf dem Schlauch. Hier nochmal der letzte Stand:

PHP:
     // Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde
     if (mysql_affected_rows() == 1)
     {
         echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/>";
		

         // Hier kann weiterer Code stehen der ausgefuehrt werden soll
         // wenn ein Eintrag erfolgreich war. z.B. Email an den Admin 
schicken
         // der ueber den neuen Eintrag informiert
     	$from = "absender@domain.tld";
		$empf = htmlspecialchars($email);
		$subject = 'Anuga2011';
		$text = "Sie haben folgende Daten eingegeben:\r\n";
		$text .= "Firma: ".$firma."\r\n";
		$text .= "Email: ".$empf."\r\n";

		mail($empf, $subject, $text, "From: " .$from);

     }

	
	
	else
     {
         echo "<h3>Ihre Anmeldung konnte <strong>nicht</strong> 
entgegengenommen werden! Bitte wenden Sie sich an den 
Veranstalter</h3>";
         // Hier koennen Massnahmen ergriffen werden die ueber den 
Misserfolg informieren
         // wie z.B. den Benutzer darueber zu informieren, dem Admin 
eine Mail schicken
         // damit er sich um den Fehler kuemmern kann, etc pp
     }
	
	
}
?>

Vielleicht kannSt Du nochmal ein letztes Mal drüberschauen.

Danke im voraus.

MoMa
 

Maniac

Erfahrenes Mitglied
Also mein letzter Stand sieht anders aus!
PHP:
// Schickt die Anfrage an die DB und schreibt die Daten in die Tabelle 
mysql_query( $sql ); 

// Pruefen ob der neue Datensatz tatsaechlich eingefuegt wurde 
if (mysql_affected_rows() == 1) 
{ 
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/>"; 

// Hier kann weiterer Code stehen der ausgefuehrt werden soll 
// wenn ein Eintrag erfolgreich war. z.B. Email an den Admin schicken 
// der ueber den neuen Eintrag informiert 
$from = "absender@domain.tld";
$empf = htmlspecialchars($email);
$subject = 'Anuga2011';
$text = "Sie haben folgende Daten eingegeben:\r\n";
$text .= "Firma: ".$firma."\r\n";
$text .= "Email: ".$empf."\r\n";

mail($empf, $subject, $text, "From: " .$from); 
} 
else 
{ 
echo "<h3>Ihre Anmeldung konnte <strong>nicht</strong> entgegengenommen werden! Bitte wenden Sie sich an den Veranstalter</h3>"; 
// Hier koennen Massnahmen ergriffen werden die ueber den Misserfolg informieren 
// wie z.B. den Benutzer darueber zu informieren, dem Admin eine Mail schicken 
// damit er sich um den Fehler kuemmern kann, etc pp 
} 
} 
?>