Advertisement
Guest User

Untitled

a guest
Sep 18th, 2014
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.14 KB | None | 0 0
  1. <?php
  2. /* variables */
  3. $error = '';
  4. $headers = '';
  5. $empfaenger = '';
  6. $mail = '';
  7. $subject = '';
  8. $message = '';
  9. $anrede = '';
  10. $name = '';
  11. $vorname = '';
  12. $firma = '';
  13. $strasse = '';
  14. $nr = '';
  15. $plz = '';
  16. $ort = '';
  17. $land = '';
  18. $telefon = '';
  19. $fax = '';
  20. $REMOTE_ADDR = '';
  21.  
  22.  
  23. if (isset($_POST['submit'])) {
  24. /* Anrede */
  25. $anrede = $_POST['anrede'];
  26.  
  27. /* Nachname */
  28. $name = $_POST['name'];
  29.  
  30. /* Vorname*/
  31. $vorname = $_POST['vorname'];
  32.  
  33. /* Firma */
  34. $firma = $_POST['firma'];
  35.  
  36. /* Strasse */
  37. $strasse = $_POST['strasse'];
  38.  
  39. /* Nr */
  40. $nr = $_POST['nr'];
  41.  
  42. /* PLZ */
  43. $plz = $_POST['plz'];
  44.  
  45. /* Ort */
  46. $ort = $_POST['ort'];
  47.  
  48. /* Land */
  49. $land = $_POST['land'];
  50.  
  51. /* Telefonnummer */
  52. $telefon = $_POST['telefon'];
  53.  
  54. /* Fax */
  55. $fax = $_POST['fax'];
  56.  
  57. /* Empfänger */
  58. $empfaenger = 'office@awidal.com';
  59.  
  60. /* Absender */
  61. $mail = $_POST['mail'];
  62.  
  63. /* Text */
  64. $text = $_POST['text'];
  65.  
  66. /* Betreff */
  67. $subject = 'Kontaktformular Webseite';
  68.  
  69. /* Nachricht zusammensetzen (HTML-Email) */
  70. $message = '<html>
  71. <head>
  72. <title>Kontaktformular</title>
  73. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  74. </head>
  75. <body>
  76. <table>
  77. <tr>
  78. <td colspan="2"><b>Kontaktformular</b></td>
  79. </tr>
  80. <tr>
  81. <td>Name</td>
  82. <td>' . $anrede . '&nbsp;' . $name . '&nbsp;' . $vorname . '</td>
  83. </tr>
  84. <tr>
  85. <td>Firma</td>
  86. <td>' . $firma . '</td>
  87. </tr>
  88. <tr>
  89. <td>Strasse/Nr</td>
  90. <td>' . $strasse . '&nbsp;' . $nr . '</td>
  91. </tr>
  92. <tr>
  93. <td>PLZ/Ort</td>
  94. <td>' . $plz . '&nbsp;' . $ort . '</td>
  95. </tr>
  96. <tr>
  97. <td>Land</td>
  98. <td>' . $land . '</td>
  99. </tr>
  100. <tr>
  101. <td>Telefon</td>
  102. <td>' . $telefon . '</td>
  103. </tr>
  104. <tr>
  105. <td>Fax</td>
  106. <td>' . $fax . '</td>
  107. </tr>
  108. <tr>
  109. <td>E-mail</td>
  110. <td>' . $mail . '</td>
  111. </tr>
  112. <tr>
  113. <td>Nachricht</td>
  114. <td>' . $text . '</td>
  115. </tr>
  116. </table>
  117. </body>
  118. </html>';
  119.  
  120.  
  121. /* Header der Mail zusammenbauen */
  122. $headers .= 'From:' . $mail . "n";
  123. /* $headers .= 'Reply-To:' . $reply . "n"; */
  124. $headers .= 'X-Mailer: PHP/' . phpversion() . "n";
  125. $headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "n";
  126. $headers .= "Content-type: text/htmln";
  127.  
  128. function convertUmlaute($mess)
  129. {
  130. /* Umlaute konvertieren */
  131. $pattern1 = "/�/";
  132. $replace1 = "&auml;"; // &#228
  133. $mess = preg_replace($pattern1, $replace1, $mess);
  134. $pattern2 = "/�/";
  135. $replace2 = "&ouml;"; // &#246
  136. $mess = preg_replace($pattern2, $replace2, $mess);
  137. $pattern3 = "/�/";
  138. $replace3 = "&uuml;"; // &#252
  139. $mess = preg_replace($pattern3, $replace3, $mess);
  140. $pattern1a = "/�/";
  141. $replace1a = "&Auml;"; // &#196
  142. $mess = preg_replace($pattern1a, $replace1a, $mess);
  143. $pattern2a = "/�/";
  144. $replace2a = "&Ouml;"; // &#214
  145. $mess = preg_replace($pattern2a, $replace2a, $mess);
  146. $pattern3a = "/�/";
  147. $replace3a = "&Uuml;"; // &#220
  148. $mess = preg_replace($pattern3a, $replace3a, $mess);
  149. $pattern4 = "/�/";
  150. $replace4 = "&#Eacute;";
  151. $mess = preg_replace($pattern4, $replace4, $mess);
  152. $pattern4a = "/�/";
  153. $replace4a = "&eacute;";
  154. $mess = preg_replace($pattern4a, $replace4a, $mess);
  155. return $mess;
  156. }
  157.  
  158. convertUmlaute($message);
  159.  
  160. /* Variablen, um Eingaben des Formulars zu überprüfen */
  161. $ok_firma = 0;
  162. $ok_anrede = 0;
  163. $ok_name = 0;
  164. $ok_vorname = 0;
  165. $ok_strasse = 0;
  166. $ok_nr = 0;
  167. $ok_plz = 0;
  168. $ok_ort = 0;
  169. $ok_mail = 0;
  170. $ok_text = 0;
  171.  
  172. /* Variable, welche den gültigen Bereich der Postleitzahl (PLZ) setzt */
  173. $int_options = array(
  174. "options" => array(
  175. "min_range" => 1000,
  176. "max_range" => 99999
  177. )
  178. );
  179.  
  180. /* Schaut, dass im Minimum die Pflichtfelder ausgefüllt sind */
  181. if (empty($name) OR empty($vorname) OR empty($mail) OR empty($text) OR empty($anrede)) {
  182. echo '<p style="color:red">&nbsp;Sie haben nicht alle Pflichfelder ausgef&uuml;llt!</p>';
  183. } else {
  184. $ok_anrede = 1;
  185. $ok_text = 1;
  186.  
  187. /* Überprüft den Wert des Feldes NACHNAME */
  188. if (filter_var($name, FILTER_VALIDATE_INT)) {
  189. echo '<p style="color:red">&nbsp;Das Feld <b>Nachname</b> darf nur aus Buchstaben bestehen!</p>';
  190. } else {
  191. $ok_name = 1;
  192. }
  193.  
  194. /* Überprüft den Wert des Feldes VORNAME */
  195. if (filter_var($vorname, FILTER_VALIDATE_INT)) {
  196. echo '<p style="color:red">&nbsp;Das Feld <b>Vorname</b> darf nur aus Buchstaben bestehen!</p>';
  197. } else {
  198. $ok_vorname = 1;
  199. }
  200.  
  201. /* Überprüft, ob eine korrekte EMAIL eingegeben wurde */
  202. if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
  203. echo '<p style="color:red">&nbsp;Bitte geben Sie eine korrekte Email-Adresse ein!</p>';
  204. }
  205.  
  206. else {
  207. $ok_mail = 1;
  208. }
  209.  
  210. /* Überprüft den Wert des Feldes FIRMA */
  211. if (!empty($firma)) {
  212. if (filter_var($firma, FILTER_VALIDATE_INT)) {
  213. echo '<p style="color:red">&nbsp;Das Feld <b>Firma</b> darf nicht nur aus Zahlen bestehen!</p>';
  214. } else {
  215. $ok_firma = 1;
  216. }
  217. } else {
  218. $ok_firma = 1;
  219. }
  220.  
  221. /* Überprüft den Wert des Feldes STRASSE */
  222. if (!empty($strasse)) {
  223. if (filter_var($strasse, FILTER_VALIDATE_INT)) {
  224. echo '<p style="color:red">&nbsp;Das Feld <b>Strasse</b> darf nur aus Buchstaben bestehen!</p>';
  225. } else {
  226. $ok_strasse = 1;
  227. }
  228. } else {
  229. $ok_strasse = 1;
  230. }
  231.  
  232. /* Überprüft den Wert des Feldes NR */
  233. if (!empty($nr)) {
  234. if (!filter_var($nr, FILTER_VALIDATE_INT)) {
  235. echo '<p style="color:red">&nbsp;Das Feld <b>Nr</b> darf nur aus Zahlen bestehen!</p>';
  236. } else {
  237. $ok_nr = 1;
  238. }
  239. } else {
  240. $ok_nr = 1;
  241. }
  242.  
  243. /* Überprüft den Wert des Feldes PLZ */
  244. if (!empty($plz)) {
  245. if (!filter_var($plz, FILTER_VALIDATE_INT, $int_options)) {
  246. echo '<p style="color:red">&nbsp;Das Feld <b>PLZ</b> darf nur aus Zahlen im Bereich von 1000 bis 99999 bestehen!</p>';
  247. } else {
  248. $ok_plz = 1;
  249. }
  250. } else {
  251. $ok_plz = 1;
  252. }
  253.  
  254. /* Überprüft den Wert des Feldes ORT */
  255. if (!empty($ort)) {
  256. if (filter_var($ort, FILTER_VALIDATE_INT)) {
  257. echo '<p style="color:red">&nbsp;Das Feld <b>Ort</b> darf nur aus Buchstaben bestehen!</p>';
  258. } else {
  259. $ok_ort = 1;
  260. }
  261. } else {
  262. $ok_ort = 1;
  263. }
  264.  
  265. /* Mail wird gesendet, falls alle Eingaben korrekt sind und den definierten Werten bzw. Datentypen entsprechen */
  266. if (($ok_anrede + $ok_text + $ok_name + $ok_vorname + $ok_mail + $ok_firma + $ok_strasse + $ok_nr + $ok_plz + $ok_ort) == 10) {
  267. mail($empfaenger, $subject, $message, $headers);
  268. echo '<p style="color:red">&nbsp;Mail erfolgreich gesendet!</p>';
  269. } else {
  270. echo '<p style="color:red">&nbsp;Mail konnte nicht gesendet werden!</p>';
  271. }
  272.  
  273. }
  274. }
  275. ?>
  276.  
  277. $headers .= "Content-type: text/htmln";
  278.  
  279. $headers .= "Content-Type: text/html; charset=utf-8" . "n";
  280. // better style of "n"
  281.  
  282. $headers .= "Content-Type: text/plain; charset=utf-8" . "n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement