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: 23381 - 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'][] = 'Dennis hotmail adres';
  49. $c['naar'][] = 'dennis_van_braak@hotmail.com';
  50. $c['naam'][] = 'Wijnand';
  51. $c['naar'][] = 'wijnand@sitemasters.be';
  52. $c['naam'][] = 'Tuinstoel';
  53. $c['naar'][] = 'tuinstoel@sitemasters.be';
  54.  
  55. //EINDE CONFIG\\
  56.  
  57. if(isset($_POST['verzenden'])) //wanneer gebruiker op verzenden heeft gedrukt
  58. {
  59. $fouten = array(); //array voor fouten starten
  60.  
  61. if(empty($_POST['onderwerp'])) //onderwerp checken
  62. {
  63. $fouten[] = 'Je moet een onderwerp invullen'; //wanneer onderwerp leeg is
  64. }
  65. elseif(empty($_POST['naam'])) //naam checken
  66. {
  67. $fouten[] = 'Je moet je naam invullen'; //wanneer naam leeg is
  68. }
  69. elseif($_POST['naar'] == 'ontvanger') //wanneer de ontvanger nog op "Ontvanger" staat
  70. {
  71. $fouten[] = 'Je moet een ontvanger selecteren'; //wanneer dat zo is
  72. }
  73. elseif(empty($_POST['email']) || !eregi('@',$_POST['email']) || !eregi('.',$_POST['email']) || eregi(' ',$_POST['email'])) //wanneer het adres niet geldig is
  74. {
  75. $fouten[] = 'Je moet een geldig emailadres invullen'; //wanneer het niet geldig is
  76. }
  77. elseif(empty($_POST['bericht'])) //wanneer het bericht leeg is
  78. {
  79. $fouten[] = 'Je moet een bericht invullen'; //fout weergeven wanneer het leeg is
  80. }
  81.  
  82. if(count($fouten) == 0) //wanneer er 0 fouten zijn
  83. {
  84. $headers = 'From: '.$_POST['naam'].' < '.$_POST['email'].' >'; //headers maken
  85. $bericht =
  86.  
  87. htmlspecialchars($_POST['bericht'], ENT_QUOTES).
  88. '\n
  89. --------------------------------------------------
  90. Deze mail is verzonden vanaf '.$c['site']; //bericht opstellen voor het bericht naarwie de persoon wil mailen
  91.  
  92.  
  93. mail($_POST['naar'], $_POST['onderwerp'], $bericht, $headers); //verzenden email
  94.  
  95.  
  96. if($c['bedankt'] === TRUE) //wanneer bedankmail aanstaat
  97. {
  98. $headers2 = 'From: '.$c['site'].' < '.$_POST['naar'].' >'; //headers maken
  99. $bericht2 =
  100.  
  101. 'Bedankt voor je mail. We zullen je vraag zo spoedig mogelijk in behandeling nemen
  102. \n
  103. --------------------------------------------------
  104. dit is een auto-gegenereerde mail die is verzonden vanaf '.$c['site']; //bericht om terug te zenden
  105.  
  106.  
  107. mail($_POST['email'], 'Bedankt', $bericht2, $headers2); //zend
  108. echo 'Je email is succesvol verzonden. Er is een email gestuurd naar je adres'; //tekst wanneer bedankmail aanstaat
  109. }
  110. else
  111. {
  112. echo 'je email is succesvol verzonden.'; //wanneer bedankmail uitstaat
  113. }
  114. }
  115. else //wanneer er wel fouten zijn
  116. {
  117. ?>
  118. <table>
  119. <tr>
  120. <td class="kop">
  121. <p align="center"><b>Fout:</b></td>
  122. </tr>
  123. <tr>
  124. <td>
  125. <?php
  126. for($i = 0; $i < count($fouten); $i++) //for lus die fouten telt
  127. {
  128. echo '<div class="fout"> - '.$fouten[$i].'</div><BR />'; //fouten weergeven
  129. }
  130. ?>
  131. Klik <A href="javascript:history.go(-1);"> hier </a> om terug te gaan naar het formulier</A>
  132. </td>
  133. </tr>
  134. </table>
  135. <?php
  136. }
  137. }
  138. else
  139. {
  140. ?>
  141. <form method="post" action="<?=$_SERVER['PHP_SELF']?>">
  142. <table>
  143. <tr>
  144. <td colspan="2" class="kop">
  145. <p align="center"><b>Contact</b></td>
  146. </tr>
  147. <tr>
  148. <td width="24%">Aan:</td>
  149. <td width="76%">
  150. <select size="1" name="naar">
  151. <option value="ontvanger">Ontvanger</option>
  152.  
  153. <?php
  154. foreach($c['naar'] as $key => $value) //namen van ontvangers ophalem
  155. {
  156. echo '<option value="'.$value.'">'.$c['naam'][$key].'</option>'; //en ze in een dropdownbox zetten
  157. }
  158. ?>
  159.  
  160.  
  161. </select></td>
  162. </tr>
  163. <tr>
  164. <td width="24%">Onderwerp:</td>
  165. <td width="76%"><input type="text" name="onderwerp" size="38"></td>
  166. </tr>
  167. <tr>
  168. <td width="24%">Je naam:</td>
  169. <td width="76%"><input type="text" name="naam" size="38"></td>
  170. </tr>
  171. <tr>
  172. <td width="24%">Je emailadres:</td>
  173. <td width="76%"><input type="text" name="email" size="38"></td>
  174. </tr>
  175. <tr>
  176. <td width="24%">Bericht:</td>
  177. <td width="76%"><textarea rows="7" name="bericht" cols="32"></textarea></td>
  178. </tr>
  179. </table>
  180. <BR />
  181. <input type="submit" name="verzenden" value="verzenden">
  182. </form>
  183. <?php
  184. } //klaar
  185. ?>

Download code! Download code (.txt)

 Stemmen
Niet ingelogd

 Reacties
Post een reactie
Lees de reacties  ( 33 )
© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.076s