login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Contact formulieren > Contactformulier meerdere personen + bedankmail

Contactformulier meerdere personen + bedankmail

Auteur: Dennisvb - 04 december 2004 - 19:41 - Gekeurd door: Dennisvb - Hits: 29748 - Aantal punten: 4.59 (33 stemmen)



Dit script bevat:

- Aan/uit zetten van bedankmail
- Meerdere personen eenvoudig toevoegen
- error_reporting(E_ALL) getest
- css

Aan/uit zetten van bedankmail:
Door $c['bedankt'] op TRUE te zetten sta je bedankmailtjes toe, door ze op FLASE te zetten sta je ze niet toe

Meerdere personen toevoegen
Maar gewoon meer variabelen aan. Zorg ervoor dat onder de naam van de persoon meteen zijn/haar emailadres komt te staan. Je hebt dus altijd gelijke aantallen!!!

Verder wil ik Stijn bedanken voor zijn hulp met de foreach()

Code:
  1. <?php
  2. error_reporting(E_ALL); //lelijke foutjes weergeven
  3. ?>
  4. <STYLE>
  5. body, table, tr, td, option, textarea, input, a, a:visited, a:hover, a:active
  6. {
  7. font-family: Verdana;
  8. font-size: 9pt;
  9. background-color: #F1F1F1;
  10. color: #000000;
  11. border: 1px;
  12. }
  13.  
  14. input, textarea, option
  15. {
  16. border: 1px solid;
  17. background-color: #E1E1E1;
  18. }
  19.  
  20. .kop
  21. {
  22. background-color: #B9B9B9;
  23. border: 1px;
  24. }
  25.  
  26. .fout
  27. {
  28. color: FF0000;
  29. }
  30. </STYLE>
  31. <?php
  32. //start $config array
  33. $c = array();
  34.  
  35. //naam van de website
  36. $c['site'] = 'Jouw website';
  37.  
  38. //instellen of je een bedankt-mail terug wil zenden bedankt moet TRUE = wel, of FALSE = niet zijn
  39. $c['bedankt'] = TRUE;
  40.  
  41. //arrays starten voor naam en emailadres
  42. $c['naam'] = array();
  43. $c['naar'] = array();
  44.  
  45. //alle namen met bijbehorenden emailadressen daaronder
  46. $c['naam'][] = 'Dennisvb';
  47. $c['naar'][] = 'dennisvb@sitemasters.be';
  48. $c['naam'][] = 'Wijnand';
  49. $c['naar'][] = 'wijnand@sitemasters.be';
  50. $c['naam'][] = 'Tuinstoel';
  51. $c['naar'][] = 'tuinstoel@sitemasters.be';
  52.  
  53. //EINDE CONFIG\\
  54.  
  55. if(isset($_POST['verzenden'])) //wanneer gebruiker op verzenden heeft gedrukt
  56. {
  57. $fouten = array(); //array voor fouten starten
  58.  
  59. if(empty($_POST['onderwerp'])) //onderwerp checken
  60. {
  61. $fouten[] = 'Je moet een onderwerp invullen'; //wanneer onderwerp leeg is
  62. }
  63. elseif(empty($_POST['naam'])) //naam checken
  64. {
  65. $fouten[] = 'Je moet je naam invullen'; //wanneer naam leeg is
  66. }
  67. elseif($_POST['naar'] == 'ontvanger') //wanneer de ontvanger nog op "Ontvanger" staat
  68. {
  69. $fouten[] = 'Je moet een ontvanger selecteren'; //wanneer dat zo is
  70. }
  71. elseif(empty($_POST['email']) || !eregi('@',$_POST['email']) || !eregi('.',$_POST['email']) || eregi(' ',$_POST['email'])) //wanneer het adres niet geldig is
  72. {
  73. $fouten[] = 'Je moet een geldig emailadres invullen'; //wanneer het niet geldig is
  74. }
  75. elseif(empty($_POST['bericht'])) //wanneer het bericht leeg is
  76. {
  77. $fouten[] = 'Je moet een bericht invullen'; //fout weergeven wanneer het leeg is
  78. }
  79.  
  80. if(count($fouten) == 0) //wanneer er 0 fouten zijn
  81. {
  82. $headers = 'From: '.$_POST['naam'].' < '.$_POST['email'].' >'; //headers maken
  83. $bericht =
  84.  
  85. htmlspecialchars($_POST['bericht'], ENT_QUOTES).
  86. '\n
  87. --------------------------------------------------
  88. Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
  89.  
  90.  
  91. mail($_POST['naar'], $_POST['onderwerp'], $bericht, $headers); //verzenden email
  92.  
  93.  
  94. if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
  95. {
  96. $headers2 = 'From: '.$c['site'].' < '.$_POST['naar'].' >'; //headers maken
  97. $bericht2 =
  98.  
  99. 'Bedankt voor je mail. We zullen je vraag zo spoedig mogelijk in behandeling nemen
  100. \n
  101. --------------------------------------------------
  102. dit is een auto-gegenereerde mail die is verzonden vanaf '.$c['site']; //bericht om terug te zenden
  103.  
  104.  
  105. mail($_POST['email'], 'Bedankt', $bericht2, $headers2); //zend
  106. echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
  107. }
  108. else
  109. {
  110. echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
  111. }
  112. }
  113. else //wanneer er wel fouten zijn
  114. {
  115. ?>
  116. <table>
  117. <tr>
  118. <td class="kop">
  119. <p align="center"><b>Fout:</b></td>
  120. </tr>
  121. <tr>
  122. <td>
  123. <?php
  124. for($i = 0; $i < count($fouten); $i++) //for lus die fouten telt
  125. {
  126. echo '<div class="fout"> - '.$fouten[$i].'</div><BR />'; //fouten weergeven
  127. }
  128. ?>
  129. Klik <A href="javascript:history.go(-1);"> hier </a> om terug te gaan naar het formulier</A>
  130. </td>
  131. </tr>
  132. </table>
  133. <?php
  134. }
  135. }
  136. else
  137. {
  138. ?>
  139. <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
  140. <table>
  141. <tr>
  142. <td colspan="2" class="kop">
  143. <p align="center"><b>Contact</b></td>
  144. </tr>
  145. <tr>
  146. <td width="24%">Aan:</td>
  147. <td width="76%">
  148. <select size="1" name="naar">
  149. <option value="ontvanger">Ontvanger</option>
  150.  
  151. <?php
  152. foreach($c['naar'] as $key => $value) //namen van ontvangers ophalem
  153. {
  154. echo '<option value="'.$value.'">'.$c['naam'][$key].'</option>'; //en ze in een dropdownbox zetten
  155. }
  156. ?>
  157.  
  158.  
  159. </select></td>
  160. </tr>
  161. <tr>
  162. <td width="24%">Onderwerp:</td>
  163. <td width="76%"><input type="text" name="onderwerp" size="38"></td>
  164. </tr>
  165. <tr>
  166. <td width="24%">Je naam:</td>
  167. <td width="76%"><input type="text" name="naam" size="38"></td>
  168. </tr>
  169. <tr>
  170. <td width="24%">Je emailadres:</td>
  171. <td width="76%"><input type="text" name="email" size="38"></td>
  172. </tr>
  173. <tr>
  174. <td width="24%">Bericht:</td>
  175. <td width="76%"><textarea rows="7" name="bericht" cols="32"></textarea></td>
  176. </tr>
  177. </table>
  178. <BR />
  179. <input type="submit" name="verzenden" value="verzenden">
  180. </form>
  181. <?php
  182. } //klaar
  183. ?>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

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