login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Contact formulieren > Contact: AntiSpam, EmailCheck, AutoReply, ADMIN!

Contact: AntiSpam, EmailCheck, AutoReply, ADMIN!

Auteur: Nrzonline - 09 juli 2006 - 15:37 - Gekeurd door: Gerard - Hits: 28322 - Aantal punten: 4.50 (12 stemmen)




Script heeft de volgende mogelijkheden:
- IP Gebonden anti spam
- Vrij goede e-mail controle
- Reactie e-mail (aan/uit in admin paneel)
- Reactie e-mail ondertekening (aan/uit in admin paneel)
- Administratie paneel (+login)
- Volledig XHTML 1.0 Transitional

Inlog gegevens-
Gebruikersnaam: administratie
Wachtwoord: wachtwoord

Mocht je goede verbeterings tips hebben, altijd welkom!
Mocht je bugs/scriptfouten tegen komen, even op de hoogste stellen a.u.b!
Mocht je commentaar hebben, natuurlijk ook altijd welkom.

Het gebruik is volgensmij vrij simpel. Maak een database aan, en voer het volgende
SQL toe:

CREATE TABLE `email_antispam` (
`antispam_id` int(11) unsigned NOT NULL auto_increment,
`antispam_ip` varchar(20) NOT NULL default '',
`antispam_tijd` int(30) NOT NULL default '0',
PRIMARY KEY (`antispam_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

CREATE TABLE `email_config` (
`cfg_gebruiker` varchar(30) NOT NULL default '',
`cfg_wachtwoord` varchar(32) NOT NULL default '',
`cfg_naam` varchar(30) NOT NULL default '',
`cfg_email` varchar(50) NOT NULL default '',
`cfg_spam` int(3) NOT NULL default '0',
`cfg_cookie` int(11) NOT NULL default '0',
`cfg_minlengte` int(4) NOT NULL default '0',
`cfg_wrap` int(3) NOT NULL default '0',
`cfg_html` int(1) NOT NULL default '0',
`cfg_reactie` int(1) NOT NULL default '0',
`cfg_reactbericht` text NOT NULL,
`cfg_onderteken` int(1) NOT NULL default '0',
`cfg_onderbericht` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `email_config` VALUES ('administratie', '701f33b8d1366cde9cb3822256a62c01', 'Uw naam', 'uwemail@host.land', 5, 365, 15, 40, 1, 1, 'Uw email is ontvangen, deze nemen wij zo spoedig mogelijk in behandeling!', 1, 'Bedankt voor uw bericht,\r\n Uw naam');

Bestanden uploaden, en configuratie.php aanpassen (De database connectie gegevens)

De e-mail opbouw heb ik aangepast, maar is orgineel gemaakt door: RdR
De e-mail controle heb ik ietswat aangepast, maar is orgineel gemaakt door: Joël

Ps. Mocht er aardig wat belangstelling zijn in dit script, zou ik hem nog flink
wat proberen te verbeteren en extra mogelijkheden toe te voegen.

Code:
==| configuratie.php |=====================================

  1. <?PHP
  2.  
  3. // Database connectie maken. GEGEVENS WIJZIGEN!
  4. mysql_connect ('localhost', '####', '####') or die (mysql_error ());
  5. mysql_select_db ('emailscript') or die (mysql_error ());
  6.  
  7. // Configuraties uit database halen voor de mysql_fetch_assoc functie
  8. $config_query = mysql_query ( "SELECT *
  9. FROM email_config")
  10. or die (mysql_error ());
  11.  
  12. // Configuratie gegevens in variabelen zetten
  13. while ($config_assoc = mysql_fetch_assoc ($config_query))
  14. {
  15. $admin_gebruiker = $config_assoc['cfg_gebruiker'];
  16. $admin_wachtwoord = $config_assoc['cfg_wachtwoord'];
  17. $eigen_naam = $config_assoc['cfg_naam'];
  18. $eigen_email = $config_assoc['cfg_email'];
  19. $anti_spam = $config_assoc['cfg_spam'];
  20. $cookie_tijd = $config_assoc['cfg_cookie'];
  21. $min_lengte = $config_assoc['cfg_minlengte'];
  22. $wordwrap_lengte = $config_assoc['cfg_wrap'];
  23. $html_email = $config_assoc['cfg_html'];
  24. $reactie_email = $config_assoc['cfg_reactie'];
  25. $reactie_bericht = $config_assoc['cfg_reactbericht'];
  26. $onderteken_email = $config_assoc['cfg_onderteken'];
  27. $onderteken_bericht = $config_assoc['cfg_onderbericht'];
  28. }
  29.  
  30. $afzender_ip = $_SERVER['REMOTE_ADDR'];
  31. $afzender_host = gethostbyaddr ($afzender_ip);
  32. $datum_tijd = date ('d-m-Y H:i:s');
  33.  
  34. // Includen van de functies die in de rootfolder is geplaatst
  35. require ('functies.php');
  36.  
  37. ?>


==| functies.php |========================================

  1. <?PHP
  2.  
  3. // Controleren of de inlog-cookie gegevens juist zijn
  4. function controle_admin ()
  5. {
  6. global $admin_gebruiker; global $admin_wachtwoord;
  7.  
  8. if (isset ($_COOKIE['admin_gebruiker']) && isset ($_COOKIE['admin_wachtwoord']))
  9. {
  10. if ($_COOKIE['admin_gebruiker'] == $admin_gebruiker)
  11. {
  12. if ($_COOKIE['admin_wachtwoord'] == $admin_wachtwoord)
  13. {
  14. return TRUE;
  15. }
  16. }
  17. }
  18. }
  19.  
  20. // E-mail controle functie is gemaakt door Joël - sitemasters.be
  21. function email_controle ($email)
  22. {
  23. list($local, $host) = explode("@", $email);
  24. $pattern_local = "^([0-9a-z]*([-|_]?[0-9a-z]+)*)(([-|_]?)\.([-|_]?)[0-9a-z]*([-|_]?[0-9a-z]+)+)*([-|_]?)$";
  25. $pattern_host = "^([0-9a-z]+([-]?[0-9a-z]+)*)(([-]?)\.([-]?)[0-9a-z]*([-]?[0-9a-z]+)+)*\.[a-z]{2,4}$";
  26. $match_local = eregi($pattern_local, $local);
  27. $match_host = eregi($pattern_host, $host);
  28.  
  29. return ($match_local && $match_host) ? TRUE : FALSE;
  30. }
  31.  
  32. function plaats_antispam ($afzender_ip, $anti_spam)
  33. {
  34. mysql_query ( "INSERT INTO email_antispam
  35. (antispam_ip,
  36. antispam_tijd)
  37. VALUES
  38. ('" . $afzender_ip . "',
  39. '" . (time ()+60*$anti_spam) . "')")
  40. or die (mysql_error ());
  41. }
  42.  
  43. function opruimen_antispam ()
  44. {
  45. $opruimen_query = ( "DELETE FROM email_antispam
  46. WHERE antispam_tijd < '" . time() . "'")
  47. or die (mysql_error ());
  48. return (mysql_query ($opruimen_query)) ? TRUE : FALSE;
  49. }
  50.  
  51. function controle_antispam ($afzender_ip)
  52. {
  53. $controle_query = mysql_query ( "SELECT COUNT(*)
  54. FROM email_antispam
  55. WHERE antispam_ip = '$afzender_ip'")
  56. or die (mysql_error ());
  57. return (mysql_result ($controle_query, 0) != 0) ? TRUE : FALSE;
  58. }
  59.  
  60. ?>


==| administratie.php |=====================================

  1. <?PHP
  2.  
  3. // Session en header starten, en alle fouten weergeven in browser
  4.  
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  10. <title>Administratie Paneel</title>
  11. </head>
  12. <body>
  13. <?PHP
  14.  
  15. // Includen van de configuratie die in de rootfolder is geplaatst
  16. require ('configuratie.php');
  17.  
  18. // Niet als admin ingelogged, weergave inlog formulier
  19. if (!controle_admin ())
  20. {
  21. if (!isset ($_POST['inloggen']))
  22. {
  23. if (!isset ($_SESSION['foutmelding']))
  24. {
  25. $_SESSION['foutmelding'] = '';
  26. }
  27. echo $_SESSION['foutmelding'];
  28. ?>
  29. <form action="" method="post">
  30. Gebruikersnaam: <input name="gebruiker" type="text" size="15" maxlength="30" />
  31. Wachtwoord: <input name="wachtwoord" type="password" size="15" maxlength="20" />
  32. <input name="inloggen" type="submit" value="Admin Inloggen" />
  33. </form>
  34. <?PHP
  35. $_SESSION['foutmelding'] = '';
  36. }
  37. else
  38. {
  39. if (empty ($_POST['gebruiker']) && empty ($_POST['wachtwoord']))
  40. {
  41. $_SESSION['foutmelding'] = '<strong>Beide velden zijn verplicht!</strong>';
  42. header ('location: administratie.php');
  43. }
  44. else
  45. {
  46. if ($_POST['gebruiker'] != $admin_gebruiker || md5($_POST['wachtwoord']) != $admin_wachtwoord)
  47. {
  48. $_SESSION['foutmelding'] = '<strong>Login gegevens zijn onjuist!</strong>';
  49. header ('location: administratie.php');
  50. }
  51. else
  52. {
  53. setcookie ('admin_gebruiker', $admin_gebruiker, time()+60*60*24*$cookie_tijd);
  54. setcookie ('admin_wachtwoord', $admin_wachtwoord, time()+60*60*24*$cookie_tijd);
  55. $_SESSION['inlog_melding'] = '';
  56. header ('location: administratie.php');
  57. }
  58. }
  59. }
  60. }
  61. // Wel als admin ingelogged, weergave configuraties
  62. else
  63. {
  64. // Button om uit te loggen uit het administratie paneel
  65. ?>
  66. <form action="" method="post">
  67. <input name="uitloggen" type="submit" value="Admin Uitloggen" /><br /><br />
  68. </form>
  69. <?PHP
  70. if (isset ($_POST['uitloggen']))
  71. {
  72. setcookie ('admin_gebruiker', '', time()-1);
  73. setcookie ('admin_wachtwoord', '', time()-1);
  74. header ('location: administratie.php');
  75. }
  76. if (!isset ($_SESSION['inlog_melding']))
  77. {
  78. $_SESSION['inlog_melding'] = '';
  79. }
  80. echo $_SESSION['inlog_melding'];
  81. ?>
  82. <form action="" method="post">
  83. Admin Gebruikersnaam: <input name="admin_gebruiker" type="text" size="15" maxlength="20" value="<?=$admin_gebruiker;?>" /><br />
  84. Admin Wachtwoord: <input name="admin_wachtwoord" type="password" size="15" maxlength="20" /><br />
  85. Wachtwoord Herhalen: <input name="herhaal_wachtwoord" type="password" size="15" maxlength="20" /><br />
  86. <input name="inlog_update" type="submit" value="Inlog gegevens updaten" /><br /><br />
  87. </form>
  88. <?PHP
  89. $_SESSION['inlog_melding'] = '';
  90. if (isset ($_POST['inlog_update']))
  91. {
  92. if (empty ($_POST['admin_gebruiker']) || empty ($_POST['admin_wachtwoord']) || empty ($_POST['herhaal_wachtwoord']))
  93. {
  94. $_SESSION['inlog_melding'] = '<strong>Alle drie de velden zijn verplicht!</strong>';
  95. header ('location: administratie.php');
  96. }
  97. elseif ($_POST['admin_wachtwoord'] != $_POST['herhaal_wachtwoord'])
  98. {
  99. $_SESSION['inlog_foutmelding'] = '<strong>De wachtwoorden zijn niet gelijk aan elkaar!</strong>';
  100. header ('location: administratie.php');
  101. }
  102. else
  103. {
  104. mysql_query ( "UPDATE email_config
  105. SET cfg_gebruiker = '" . $_POST['admin_gebruiker'] . "',
  106. cfg_wachtwoord = '" . md5 ($_POST['admin_wachtwoord']) . "'")
  107. or die (mysql_error ());
  108.  
  109. $_SESSION['foutmelding'] = '<strong>Uw login gegevens zijn gewijzigd, opnieuw inloggen alst u blieft</strong>';
  110. header ('location: administratie.php');
  111. }
  112. }
  113. if (!isset ($_SESSION['config_melding']))
  114. {
  115. $_SESSION['config_melding'] = '';
  116. }
  117. echo $_SESSION['config_melding'];
  118. ?>
  119. <form action="" method="post">
  120. E-mail eigenaar naam: <input name="gebruiker_naam" type="text" size="20" maxlength="30" value="<?=$eigen_naam;?>" /><br />
  121. Ontvangend e-mail adres: <input name="gebruiker_email" type="text" size="25" maxlength="50" value="<?=$eigen_email;?>" /><br /><br />
  122. Anti-spamtijd in minuten: <input name="anti_spam" type="text" size="4" maxlength="3" value="<?=$anti_spam;?>" /><br />
  123. Admin inlogtijd in dagen: <input name="cookie_tijd" type="text" size="4" maxlength="6" value="<?=$cookie_tijd;?>" /><br />
  124. Minimum # karakters bericht: <input name="minimum_lengte" type="text" size="4" maxlength="6" value="<?=$min_lengte;?>" /><br />
  125. Zinsafbreking na # karakters: <input name="wrap_lengte" type="text" size="4" maxlength="3" value="<?=$wordwrap_lengte;?>" /><br />
  126. <input name="config_update" type="submit" value="Configuratie Updaten" /><br /><br />
  127. </form>
  128. <?PHP
  129. $_SESSION['config_melding'] = '';
  130. if (isset ($_POST['config_update']))
  131. {
  132. if ( !is_numeric ($_POST['anti_spam']) || !is_numeric ($_POST['cookie_tijd']) || !is_numeric ($_POST['minimum_lengte']) || !is_numeric ($_POST['wrap_lengte']))
  133. {
  134. $_SESSION['config_melding'] = '<strong>Tijden en lengtes moeten met nummers worden ingevuld!</strong>';
  135. header ('location: administratie.php');
  136. }
  137. else
  138. {
  139. mysql_query ( "UPDATE email_config
  140. SET cfg_naam = '" . $_POST['gebruiker_naam'] . "',
  141. cfg_email = '" . $_POST['gebruiker_email'] . "',
  142. cfg_spam = '" . $_POST['anti_spam'] . "',
  143. cfg_cookie = '" . $_POST['cookie_tijd'] . "',
  144. cfg_minlengte = '" . $_POST['minimum_lengte'] . "',
  145. cfg_wrap = '" . $_POST['wrap_lengte'] . "'")
  146. or die (mysql_error ());
  147. $_SESSION['config_melding'] = '<strong>Gegevens zijn succesvol gewijzigd</strong>';
  148. header ('location: administratie.php');
  149. }
  150. }
  151. if (!isset ($_SESSION['email_config_melding']))
  152. {
  153. $_SESSION['email_config_melding'] = '';
  154. }
  155. echo $_SESSION['email_config_melding'];
  156. ?>
  157. <form action="" method="post">
  158. Html e-mail berichten:
  159. &nbsp;&nbsp;&nbsp; aan<input name="html_email" type="radio" value="1"
  160. <?PHP if ($html_email == 1){ echo 'checked'; }?> />
  161. &nbsp;&nbsp;&nbsp; uit<input name="html_email" type="radio" value="0"
  162. <?PHP if ($html_email == 0){ echo 'checked'; }?> /><br />
  163. Automatische reactie:
  164. &nbsp;&nbsp;&nbsp; aan<input name="reactie_email" type="radio" value="1"
  165. <?PHP if ($reactie_email == 1){ echo 'checked'; }?> />
  166. &nbsp;&nbsp;&nbsp; uit<input name="reactie_email" type="radio" value="0"
  167. <?PHP if ($reactie_email == 0){ echo 'checked'; }?> /><br />
  168. &nbsp;&nbsp;&nbsp;<textarea name="reactie_bericht"><?=$reactie_bericht;?></textarea><br /><br />
  169. E-mail ondertekening:
  170. &nbsp;&nbsp;&nbsp; aan<input name="onderteken_email" type="radio" value="1"
  171. <?PHP if ($onderteken_email == 1){ echo 'checked'; }?> />
  172. &nbsp;&nbsp;&nbsp; uit<input name="onderteken_email" type="radio" value="0"
  173. <?PHP if ($onderteken_email == 0){ echo 'checked'; }?> /><br />
  174. &nbsp;&nbsp;&nbsp;<textarea name="onderteken_bericht"><?=$onderteken_bericht;?></textarea><br />
  175. <input name="email_config_update" type="submit" value="Configuratie Updaten" /><br /><br />
  176. </form>
  177. <?PHP
  178. $_SESSION['email_config_melding'] = '';
  179. if (isset ($_POST['email_config_update']))
  180. {
  181. mysql_query ( "UPDATE email_config
  182. SET cfg_html = '" . $_POST['html_email'] . "',
  183. cfg_reactie = '" . $_POST['reactie_email'] . "',
  184. cfg_reactbericht = '" . $_POST['reactie_bericht'] . "',
  185. cfg_onderteken = '" . $_POST['onderteken_email'] . "',
  186. cfg_onderbericht = '" . $_POST['onderteken_bericht'] . "'")
  187. or die (mysql_error ());
  188. $_SESSION['email_config_melding'] = '<strong>Gegevens zijn succesvol gewijzigd</strong>';
  189. header ('location: administratie.php');
  190. }
  191. }
  192.  
  193. ?>
  194. </body>
  195. </html>


==| mailform.php |========================================

  1. <?PHP
  2.  
  3. // Session en header starten, en alle fouten weergeven in browser
  4.  
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  10. <title>Nrzonline's Mailformulier</title>
  11. </head>
  12. <body>
  13. <?PHP
  14.  
  15. // Includen van de configuratie die in de rootfolder is geplaatst
  16. require ('configuratie.php');
  17.  
  18. // Antispam lijst opruimen
  19. if (opruimen_antispam () !== TRUE)
  20. {
  21. die ('Fout bij het opruimen van de antispam');
  22. }
  23.  
  24. // Lege sessions aanmaken om foutmeldingen te voorkomen
  25. if (empty ($_SESSION['naam'])){ $_SESSION['naam'] = ''; }
  26. if (empty ($_SESSION['email'])){ $_SESSION['email'] = ''; }
  27. if (empty ($_SESSION['onderwerp'])){ $_SESSION['onderwerp'] = ''; }
  28. if (empty ($_SESSION['gebruiker_bericht'])){ $_SESSION['gebruiker_bericht'] = ''; }
  29. if (empty ($_SESSION['form_melding'])) { $_SESSION['form_melding'] = ''; }
  30.  
  31. // Melding weergeven over verzending en antispam
  32. if (controle_antispam ($afzender_ip) == TRUE)
  33. {
  34. echo $_SESSION['form_melding'] . '<br>';
  35. echo '<strong>Antispam ingeschakeld (Tijd: ' . $anti_spam . ' minuten)</strong>';
  36. $_SESSION['form_melding'] = '';
  37. }
  38. else
  39. {
  40.  
  41. // Het formulier wat de gebruiker moet invullen
  42. ?>
  43. <form action="" method="post">
  44. Volledige naam: <input name="naam" type="text" size="30" maxlength="30" value="<?PHP echo $_SESSION['naam']; ?>" /><br />
  45. Uw e-mail adres: <input name="email" type="text" size="30" maxlength="50" value="<?PHP echo $_SESSION['email']; ?>" /><br />
  46. E-mail onderwerp: <input name="onderwerp" type="text" size="38" maxlength="60" value="<?PHP echo $_SESSION['onderwerp']; ?>" /><br />
  47. E-mail bericht: &nbsp;&nbsp;&nbsp;
  48. <textarea name="bericht" cols="30" rows="4"><?PHP echo $_SESSION['gebruiker_bericht']; ?></textarea><br />
  49. <input name="verzenden" type="submit" value="controleren en verzenden" />
  50. </form>
  51. <?PHP
  52.  
  53. // (fout)Melding session weergeven, daarna leegmaken
  54. echo $_SESSION['form_melding'];
  55. $_SESSION['form_melding'] = '';
  56.  
  57. // E-mail bericht aanmaken, gegevens controleren en vervolgens verzenden
  58. if (isset ($_POST['verzenden']))
  59. {
  60. // De sessions met de ingevoerde gegevens updaten
  61. $_SESSION['naam'] = $_POST['naam'];
  62. $_SESSION['email'] = $_POST['email'];
  63. $_SESSION['onderwerp'] = $_POST['onderwerp'];
  64. $_SESSION['gebruiker_bericht'] = $_POST['bericht'];
  65.  
  66. // Email uitwerking zonder HTML
  67. if ($html_email !== TRUE)
  68. {
  69. $headers = "Ontvangen via online contact formulier\r\n";
  70. $headers .= "MIME-Version: 1.0\r\n";
  71. $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
  72.  
  73. $bericht = "Naam: " . $_SESSION['naam'] . "\r\n";
  74. $bericht .= "E-Mail: " . $_SESSION['email'] . "\r\n";
  75. $bericht .= "Onderwerp: " . $_SESSION['onderwerp'] . "\r\n";
  76. $bericht .= "---------------------------------------------\r\n";
  77. $bericht .= "Bericht:\n" . wordwrap ($_SESSION['gebruiker_bericht'], $wordwrap_lengte, "\r\n", 1) . "\r\n";
  78. $bericht .= "---------------------------------------------\r\n";
  79. $bericht .= "Afzender IP: " . $afzender_ip . "\r\n";
  80. $bericht .= "Afzender Host: " .$afzender_host . "\r\n";
  81. }
  82. // Email uitwerking met HTML
  83. else
  84. {
  85. $headers = "Ontvangen via online contact formulier\r\n";
  86. $headers .= "MIME-Version: 1.0\r\n";
  87. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  88. $headers .= "Return-Path: Mail-Error <" . $eigen_naam . ">\r\n";
  89.  
  90. $bericht = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN";
  91. $bericht .= "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
  92. $bericht .= "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
  93. $bericht .= "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />";
  94. $bericht .= "<br />";
  95. $bericht .= "<table>";
  96. $bericht .= "<tr><td>Naam:</td><td>" . $_SESSION['naam'] . "</td></tr>";
  97. $bericht .= "<tr><td>E-Mail:</td><td>" . $_SESSION['email'] . " (<a href=\"mailto:" . $_SESSION['email'] . "\">Reageer</a>)</td></tr>";
  98. $bericht .= "<tr><td>Ondewerp:</td><td>" . $_SESSION['onderwerp'] . "</td></tr>";
  99. $bericht .= "<br>";
  100. $bericht .= "<tr><td>Bericht:</td><td>" . $_SESSION['gebruiker_bericht'] . "</td></tr>";
  101. $bericht .= "<tr><td colspan=\"2\">&nbsp;</td></tr>";
  102. $bericht .= "<br>";
  103. $bericht .= "<tr><td>Datum:</td><td>" . $datum_tijd . "</td></tr>";
  104. $bericht .= "<tr><td>Afzender IP:</td><td>" . $afzender_ip . "</td></tr>";
  105. $bericht .= "<tr><td>Afzender Host:</td><td>" . $afzender_host . "</td></tr>";
  106. $bericht .= "</table></body></html>";
  107. }
  108. // De controles van de ingevoerde gegevens
  109. if (empty ($_SESSION['naam']) || empty ($_SESSION['email']) || empty ($_SESSION['onderwerp']) || empty ($_SESSION['gebruiker_bericht']))
  110. {
  111. $_SESSION['form_melding'] = '<strong>Alle vier de velden moeten worden ingevuld</strong>';
  112. header ('location: mailform.php');
  113. }
  114. elseif (strlen($_SESSION['naam']) <= 2)
  115. {
  116. $_SESSION['form_melding'] = '<strong>Uw naam is te kort, gelieve uw volledige naam te gebruiken</strong>';
  117. header ('location: mailform.php');
  118. }
  119. elseif (email_controle ($_SESSION['email']) != TRUE)
  120. {
  121. $_SESSION['form_melding'] = '<strong>Uw gekozen e-mail adres is niet geldig</strong>';
  122. header ('location: mailform.php');
  123. }
  124. elseif (strlen($_SESSION['gebruiker_bericht']) <= $min_lengte)
  125. {
  126. $_SESSION['form_melding'] = '<strong>Uw bericht is te klein (min: ' . $min_lengte . ' karakters)</strong>';
  127. header ('location: mailform.php');
  128. }
  129. // Alles in orde, email kan eindelijk verstuurd worden
  130. else
  131. {
  132. if (mail ($eigen_email, $_SESSION['onderwerp'], $bericht, $headers))
  133. {
  134. // Automatische reactie e-mail maken, als deze is aangezet
  135. if ($reactie_email == 1)
  136. {
  137. $headers_reactie = "Ontvangen via online contact formulier\r\n";
  138. $headers_reactie .= "MIME-Version: 1.0\r\n";
  139. $headers_reactie .= "Content-type: text/plain; charset=iso-8859-1\r\n";
  140.  
  141. $bericht_reactie = "Deze e-mail is automatisch gegenereerd \r\n";
  142. $bericht_reactie .= "--------------------------------------\r\n";
  143. $bericht_reactie .= wordwrap ($reactie_bericht, $wordwrap_lengte, "\r\n", 1) . "\r\n";
  144. // Reactie e-mail ondertekenen, als deze is aangezet
  145. if ($onderteken_email == 1)
  146. {
  147. $bericht_reactie .= "--------------------------------------\r\n";
  148. $bericht_reactie .= $onderteken_bericht . "\r\n";
  149. }
  150. // Controleren of reactie e-mail is verzonden, zoja een bevestiging en antispam aanzetten
  151. if (mail ($_SESSION['email'], 'E-Mail Ontvangen, Bedankt!', $bericht_reactie, $headers_reactie))
  152. {
  153. $_SESSION['form_melding'] = '<strong>Uw e-mail is verzonden, een auto-reactie is verstuurd!</strong>';
  154. plaats_antispam ($afzender_ip, $anti_spam);
  155. header ('location: mailform.php');
  156. }
  157. // De bevestigings e-mail kon niet worden verzonden, foutmelding weergeven
  158. else
  159. {
  160. $_SESSION['form_melding'] = '<strong>FATALE FOUT bij verzenden, mogelijk doet de mailserver het niet!</strong>';
  161. header ('location: mailform.php');
  162. }
  163. }
  164. // Reactie e-mail staat niet aan, gewone e-mail is verzonden en antispam aanzetten
  165. else
  166. {
  167. $_SESSION['form_melding'] = '<strong>Uw e-mail is verzonden!</strong>';
  168. plaats_antispam ($afzender_ip, $anti_spam);
  169. header ('location: mailform.php');
  170. }
  171. }
  172. // De gebruiker zijn e-mail kon niet worden verzonden, een foutmelding
  173. else
  174. {
  175. $_SESSION['form_melding'] = '<strong>FATALE FOUT bij verzenden, mogelijk doet de mailserver het niet!</strong>';
  176. header ('location: mailform.php');
  177. }
  178. }
  179. }
  180. }
  181.  
  182. ?>
  183. </body>
  184. </html>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (21)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.1s