login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Verschillende ontvangers in een contactformulier

Offline keverineke - 10/07/2012 12:08 (laatste wijziging 10/07/2012 12:11)
Avatar van keverinekeLid Hallo, ik heb een contactformulier om prijs te vragen voor ruiten te tinten enzo. Nu moet die mail om gemakkelijk te zijn direct bij die mens toekomen die dat doet, maar ik wil ook die mail ontvangen zodat ik zie hoe het zit, en hoeveel mails er zowat toekomen. Ook kunnen de mensen een fout/bug melden, en dit sturen ze dan naar mij (webmaster) via het dropdown menutje in het contactformulier. Als ze dus een mail naar mij sturen, wordt hij ENKEL NAAR MIJ verstuurd, maar als ze kiezen voor "Jantje" (diegene die de ruiten tint en prijs daarvoor maakt) wordt de mail naar hem verzonden maar wil ik ook dat deze naar mij wordt verzonden. Zo heb ik iets proberen maken maar het werk niet 100%

Namelijk, enkel naar webmaster sturen lukt, perfect!
Maar als ik stuur naar "jantje" (die de ruiten tint en prijsmaakt), krijgt enkel hij die mail en ik (webmaster) niet.

Hieronder mijn script:

  1. <?php
  2.  
  3. //arrays starten voor naam en emailadres
  4. $c['naamontvanger'] = array();
  5. $c['naar'] = array();
  6.  
  7. //alle namen met bijbehorenden emailadressen daaronder
  8. $c['naamontvanger'][] = 'Jantje die de ruiten tint';
  9. $c['naar'][] = 'jantje@hotmail.com' && 'webmaster@hotmail.com';
  10. $c['naamontvanger'][] = 'Webmaster';
  11. $c['naar'][] = 'webmaster@hotmail.com';
  12.  
  13.  
  14. if(!empty($_POST['Submit']))
  15. {
  16.  
  17. if(strlen($_POST['voornaam']) == 0)
  18. { $error_msg .="<div class=\"style1\">- Voer astublieft uw voornaam in.</div>"; }
  19.  
  20. if(strlen($_POST['naam']) == 0)
  21. { $error_msg .="<div class=\"style1\">- Voer astublieft uw naam in.</div>"; }
  22.  
  23. if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['MAILFROM']))
  24. { $error_msg .="<div class=\"style1\">- Voer astublieft een geldig email adres in.</div>"; }
  25.  
  26. if(strlen($_POST['inhoud']) == 0)
  27. { $error_msg .="<div class=\"style1\">- Duid astublieft de inhoud aan.</div>"; }
  28.  
  29. if(strlen($_POST['SUBJECT']) == 0)
  30. { $error_msg .="<div class=\"style1\">- Voer astublieft uw onderwerp in.</div>"; }
  31.  
  32. if(strlen($_POST['naar']) == 0) //wanneer de ontvanger nog op "Ontvanger" staat
  33. { $error_msg .="<div class=\"style1\">- Duid astublieft een ontvanger aan.</div>"; } //wanneer dat zo is
  34.  
  35. if(strlen($_POST['field']) == 0)
  36. { $error_msg .="<div class=\"style1\">- Voer astublieft uw bericht in.</div>"; }
  37.  
  38. if(!empty($error_msg))
  39. {
  40. //Een van de velden werd niet goed ingevuld
  41. echo "<div class=\"style1\"><b>Het bericht kon niet worden verzonden door volgende redenen:</b></div><br>";
  42. echo $error_msg;
  43. echo "<br><div class=\"style1\">Klik op <a href=javascript:history.back(1)><b>Ga terug</b></a> en vul alle velden in.</span><br><br>";
  44. }
  45. else
  46. {
  47. $subject = "Contact."; //Subject van de mail.
  48. $header = "From: Bla bla";
  49. $mail_body = "Contact:\n----------\n\n";
  50. $mail_body .= "Vooraam: " . $_POST['voornaam'] . "\n";
  51. $mail_body .= "Naam: " . $_POST['naam'] . "\n";
  52. $mail_body .= "E-mail: " . $_POST['MAILFROM'] . "\n";
  53. $mail_body .= "Inhoud: " . $_POST['inhoud'] . "\n";
  54. $mail_body .= "Onderwerp: " . $_POST['SUBJECT'] . "\n";
  55. $mail_body .= "Aan: " . $_POST['naamontvanger'] . " (" . $_POST['naar'] . ")\n";
  56. $mail_body .= "IP-adres: " .$_SERVER["REMOTE_ADDR"]. "\n";
  57. $mail_body .= "Browser: " .$_SERVER["HTTP_USER_AGENT"]. "\n";
  58. $mail_body .= "Referer: " .$_SERVER["HTTP_REFERER"]. "\n";
  59. $mail_body .= "Host: " .$_SERVER['HTTP_HOST']. "\n";
  60. $mail_body .= "Tijd: " . date("d-m-Y") . " " . date("H:i") . "\n\n";
  61. $mail_body .= "Bericht:\n";
  62. $mail_body .= $_POST['field'];
  63. mail($_POST['naar'], $_POST['SUBJECT'], $mail_body, $header); //verzenden email
  64. echo "<div class=\"style1\"><b>Uw bericht is succesvol verzonden.</b></div><br>
  65. <div class=\"style1\">Er zal zo spoedig mogelijk contact met u opgenomen worden.</div><br><br>";
  66. echo "<div class=\"style1\"><a class=\"main\" href='javascript:history.back(1)'>< Ga terug</a></div>";
  67. }
  68. }
  69. else
  70. {
  71. ?>
  72.  
  73. <form action="" method="POST" name="contact">
  74. <table border="0" align="left" width="50%" class="style1">
  75. <tr>
  76.  
  77. <td width="30%">
  78. <b>Voornaam:</b> <font color="#CC0000">*</font></td>
  79. <td width="20%">
  80. <input name="voornaam" type="text" size="29"></td>
  81. </tr>
  82. <tr>
  83.  
  84. <td width="30%">
  85. <b>Naam:</b> <font color="#CC0000">*</font></td>
  86. <td width="20%">
  87. <input name="naam" type="text" size="29"></td>
  88. </tr>
  89. <tr>
  90.  
  91. <td width="30%">
  92. <b>E-mail:</b> <font color="#CC0000">*</font></td>
  93. <td width="20%">
  94. <input name="MAILFROM" type="text" size="29"></td>
  95. </tr>
  96. <tr>
  97.  
  98. <td width="30%">
  99. <b>Inhoud:</b> <font color="#CC0000">*</font></td>
  100. <td width="20%">
  101. <select name="inhoud">
  102. <option value="" selected="selected">(maak een keuze)</option>
  103. <option value="Ik heb een vraag">Ik heb een vraag</option>
  104. <option value="Ik wil prijs vragen">Ik wil prijs vragen</option>
  105. <option value="Ik wil bestellen">Ik wil bestellen</option>
  106. <option value="Andere">Andere</option>
  107. </select></td>
  108. </tr>
  109. <tr>
  110. <td width="30%"><b>Aan:</b> <font color="#CC0000">*</font></td>
  111. <td width="20%">
  112. <select size="1" name="naar">
  113. <option value="" selected="selected">(kies een ontvanger)</option>
  114. <?php
  115. foreach($c['naar'] as $key => $value) //namen van ontvangers ophalem
  116. {
  117. echo '<option value="'.$value.'">'.$c['naamontvanger'][$key].'</option>'; //en ze in een dropdownbox zetten
  118. }
  119. ?>
  120. </select></td>
  121. </tr>
  122. <tr>
  123.  
  124. <td width="30%">
  125. <b>Onderwerp:</b> <font color="#CC0000">*</font></td>
  126. <td width="20%">
  127. <input name="SUBJECT" type="text" size="29" maxlength="30"></td>
  128. </tr>
  129. <tr>
  130.  
  131. <td colspan="2">
  132. <b>Bericht:</b> <font color="#CC0000">*</font><br>
  133. <div align="left"><textarea name="field" cols="42" rows="6"></textarea></div>
  134. <br>
  135.  
  136. <div align="right">
  137. Velden met een <font color="#CC0000">*</font> zijn verplicht in te vullen.&nbsp;&nbsp;</div>
  138. <br />
  139.  
  140. <div align="right">
  141. <input type="Submit" name="Submit" value="Verzenden">
  142. &nbsp;
  143. <input type="reset" name="cmdWissen" value="Wis">&nbsp&nbsp;</div></td>
  144. </tr>
  145. </table>
  146. </form>
  147. <?php
  148. }
  149. ?>

3 antwoorden

Gesponsorde links
Offline Martijn - 10/07/2012 12:22 (laatste wijziging 10/07/2012 12:25)
Avatar van Martijn Crew PHP Ik zou even de phpmailer class opzoeken in instellen, die doet al die header dingen voor je, en werkt ook wat vaker dan mail(), die nog wel eens in spam blijft hangen.

Dan op je probleem: Je kunt iets maken zoals dit
  1. if($_POST['naar'] == 'mail@waarjeEenCC.wilt'){
  2. $mail->addCC('email', 'naam'); // Naam en mail kunnen andersom, je moet even in documentatie kijken
  3. // Wil je graag de mail() houden? dan kun je hier nog een mail{} doen
  4. }
Offline Pieter - 10/07/2012 12:28
Avatar van Pieter Gouden medaille

SEO guru
Geen antwoord op je vraag specifiek, maar ik wil toch het volgende met je meegeven:

Ipv de mails naar jou ook door te sturen, zou ik Google Analytics instellen die meet hoeveel mails er wanneer gestuurd worden. Veel nuttiger, ook voor de site eigenaar.

Een keuze maken om de webmaster te mailen is meestal niet zo'n goed idee. Als er een fout is, komen ze meestal op een foutpagina terecht (en verdwijnen ze). Normaal gezien is het jouw taak om te zorgen dat er geen fouten zijn en foutpagina's te monitoren.

De mensen laten kiezen aan wie ze de mail versturen zal voor minder conversies zorgen op de manier waarop je beschrijft...
Offline keverineke - 10/07/2012 12:37
Avatar van keverineke Lid @Pieter, ja dat is idd waar. Maar ze kunnen me ook contacteren voor bv. als ze ook graag een website willen,... swat

Gevonden, de OPLOSSING was gewoon:

In plaats van:
  1. $c['naamontvanger'][] = 'Jantje die de ruiten tint';
  2. $c['naar'][] = 'jantje@hotmail.com' && 'webmaster@hotmail.com';
  3. $c['naamontvanger'][] = 'Webmaster';
  4. $c['naar'][] = 'webmaster@hotmail.com';


Moest het dit zijn, simpelweg :
  1. $c['naamontvanger'][] = 'Jantje die de ruiten tint';
  2. $c['naar'][] = 'jantje@hotmail.com webmaster@hotmail.com'; // < De fout zat in deze regel
  3. $c['naamontvanger'][] = 'Webmaster';
  4. $c['naar'][] = 'webmaster@hotmail.com';
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.21s