ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
697
697
EMPFEHLEN
-
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 :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
<!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"> </td> <td align="left" valign="top"><p><br /> </td> </tr> <tr> <td align="left" valign="top"> </td> <td align="left" valign="top"><p> <strong>Anmeldung für den Workshop:</strong><br /> </p></td> </tr> <tr> <td align="left" valign="top"> </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"> </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>Geändert von MoMa1412 (28.04.11 um 11:21 Uhr)
-
28.04.11 11:35 #2
Das steht doch schon in deinem Code:
Hier eben eine Email verschicken als Bestätigung.// 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 informiertDie Schweine von heute sind unsere Schnitzel von morgen!
-
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 :1
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
-
28.04.11 12:18 #4
Wird dieser Text angezeigt wenn das Formular abgesendet wurde?
Wenn ja, dann wird auch die Mail versendet an der Stelle wo ich geschrieben habe.Ihre Anmeldung wurde entgegengenommen!
In Zeile 124 ist es falsch, denn dort wird die Mail auch versendet wenn der Eintrag nicht erfolgreich war.Die Schweine von heute sind unsere Schnitzel von morgen!
-
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:
Im Übrigen - find ich super, dass Du Dich des Themas ein bißchen annimmst.PHP-Code:// 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
}
}
?>
Liebe Grüße
MoMa
-
28.04.11 12:48 #6
Definiere die Variablen vorher und übergib sie der Mailfunktion:
PHP-Code:// 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
}
}
?>
Die Schweine von heute sind unsere Schnitzel von morgen!
-
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
-
28.04.11 13:09 #8
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-Code:if (mysql_affected_rows() == 1)
{
echo "<h3>Ihre Anmeldung wurde entgegengenommen!</h3></br><br/>";
Die Schweine von heute sind unsere Schnitzel von morgen!
-
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:
Vielleicht kannSt Du nochmal ein letztes Mal drüberschauen.PHP-Code:// 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
}
}
?>
Danke im voraus.
MoMa
-
28.04.11 13:29 #10
Also mein letzter Stand sieht anders aus!
PHP-Code:// 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
}
}
?>
Die Schweine von heute sind unsere Schnitzel von morgen!
-
Jetzt klappts. Du bist mein Held******
Vielen Dank undbis nächstes Mal.
MoMa
-
28.04.11 14:01 #12
Dazu sei aber noch zu erwähnen das du die Benutzereingaben bevor du sie der Funktion übergibst noch gefiltert werden sollten. Sonst kann dein Formular leicht für Spam missbraucht werden.
Die Schweine von heute sind unsere Schnitzel von morgen!
Ähnliche Themen
-
Übergabewert in EMail Bestätigung
Von deluxeone im Forum PHPAntworten: 5Letzter Beitrag: 10.09.10, 08:08 -
Kommentar nach email Bestätigung freischalten
Von Dustin84 im Forum PHPAntworten: 1Letzter Beitrag: 20.04.09, 10:26 -
Formulareintrag rausfiltern mit PHP
Von matthiasschnueriger im Forum PHPAntworten: 2Letzter Beitrag: 06.12.05, 14:41 -
Erst nach Bestätigung in Datenbank eintragen
Von Robert Steichele im Forum PHPAntworten: 5Letzter Beitrag: 18.01.05, 19:39 -
MySQL Eintrag per eMail Bestätigung vornehmen lassen
Von preko im Forum PHPAntworten: 3Letzter Beitrag: 12.07.04, 08:25





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren