login  Naam:   Wachtwoord: 
Registreer je!
 Forum

bericht contactformulier dubbel in mailbox (Opgelost)

Offline san - 15/04/2010 23:52
Avatar van sanHTML interesse Ik heb een php contactformulier. Deze werkt prima maar berichten komen dubbel binnen in mijn mailbox. Normaal verstuurde emailberichten staat er wel gewoon eenmaal in. Heb hetzelfde contactformulier ook in een andere website en krijg de bericht daar niet dubbel. Wat zou dit kunnen zijn?

18 antwoorden

Gesponsorde links
Offline genkstar - 16/04/2010 00:15
Avatar van genkstar Nieuw lid Als we geen code zien, kunnen we ook "het probleem" niet zien hé..
Offline Mikee - 16/04/2010 13:26
Avatar van Mikee Nieuw lid Zoals genkstar al zegt, laat even je code zien dan kunnen we je beter helpen.
Offline san - 17/04/2010 19:40
Avatar van san HTML interesse Inderdaad. Sorry. Bij deze.
  1. <form method="post" action="contact.php">
  2.  
  3. <table width="400" border="0" cellspacing="0" cellpadding="0">
  4. <tr>
  5. <td align="left" colspan="2" valign="top"> <p> </td>
  6. </tr>
  7. <tr>
  8. <td align="left"><b>Naam:</b></td>
  9. <td>&nbsp;<input name="naam" type="text" size="38" value=""></td>
  10. </tr>
  11. <tr>
  12. <td align="left"><b>E-mailadres:</b></td>
  13. <td>&nbsp;<input name="email" type="text" size="38" value=""></td>
  14. </tr>
  15. <tr>
  16. <td align="left"><b>Telefoonnummer:</b></td>
  17. <td>&nbsp;<input name="telefoon" type="text" size="38" value=""></td>
  18. </tr>
  19. <tr>
  20. <td align="left" colspan="2"><br><b>Bericht:</b><br> <textarea name="bericht" rows="8" cols="47"></textarea>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td align="left" colspan="2">
  25. <p align="left"><br><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis velden">
  26. </p>
  27.  
  28. </td>
  29. </tr>
  30. <tr>
  31. <td align="left" colspan="2"> </td>
  32. </tr>
  33. </table>
  34.  
  35. </form>
  36. <?
  37. }
  38. ?>
  1. <?
  2. if(!empty($_POST['verstuur']))
  3. { // Er is op de knop 'verstuur e-mail' gedrukt...
  4. $pError = ''; // Een begin met de errors als die er zijn
  5. $pI = 0; // Deze telt het aantal erros.
  6. if(strlen($_POST['naam']) < 2)
  7. { $pError .= '<font color="#696969" size="2">- Uw naam is niet ingevuld.</font><br>'; $pI++; }
  8. if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
  9. { $pError .= '<font color="#696969" size="2">- Uw emailadres is niet (juist) ingevuld.</font><br>'; $pI++; }
  10. if(strlen($_POST['bericht']) < 6)
  11. { $pError .= '<font color="#696969" size="2">- U heeft geen bericht ingevuld.</font><br>'; $pI++; }
  12.  
  13. if(!empty($pError))
  14. { // Als er dan toch errors zijn..
  15. echo ($pI == 1) ? '' : ''; // even kijken of het meervoud of enkelvoud is.
  16. echo $pError; // echoën van de error(s)
  17. }
  18. else
  19. {
  20. // uiteindelijk toch mailen :)
  21. $pHeader = "MIME-Version: 1.0\r\n";
  22. $pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
  23. $pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
  24. $pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
  25. $pBericht = 'Het volgende bericht is gestuurd via het contact formulier:<br><br><br>'.$_POST['bericht']."<br>Telefoon: ".$telefoon;
  26. mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
  27.  
  28. echo '<font color="#696969" size="3">Bedankt voor uw bericht. Ik zal zo spoedig mogelijk contact met u opnemen.</font><br><br><br><br> ';
  29.  
  30.  
  31. $pShow = true; // formulier wordt niet weer getoond
  32. }
  33. }
  34. // Kijken of er een waarde moet worden gegeven aan velden...
  35. $pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
  36. $pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
  37. $pTelefoon = (isset($_POST['telefoon'])) ? $_POST['telefoon'] : '';
  38. $pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
  39.  
  40. // kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
  41. if(isset($_COOKIE['mailform']))
  42. { $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
  43.  
  44. if(!isset($pShow))
  45. { // het formulier als $pShow niet bestaat.
  46. ?>
  47.  
  48.  
  49. <form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
  50.  
  51. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  52. <tr>
  53. <td align="center" valign="top">
  54.  
  55.  
  56. <table width="400" border="0" cellspacing="0" cellpadding="0">
  57. <tr>
  58. <td align="left" colspan="2" valign="top"> <p> </td>
  59. </tr>
  60. <tr>
  61. <td align="left"><b>Naam:</b></td>
  62. <td>&nbsp;<input name="naam" type="text" size="38" value="<?= $pNaam; ?>"></td>
  63. </tr>
  64. <tr>
  65. <td align="left"><b>E-mailadres:</b></td>
  66. <td>&nbsp;<input name="email" type="text" size="38" value="<?= $pEmail; ?>"></td>
  67. </tr>
  68. <tr>
  69. <td align="left"><b>Telefoonnummer:</b></td>
  70. <td>&nbsp;<input name="telefoon" type="text" size="38" value="<?= $pTelefoon; ?>"></td>
  71. </tr>
  72. <tr>
  73. <td align="left" colspan="2"><br><b>Bericht:</b><br> <textarea name="bericht" rows="8" cols="47"> <?= $pBericht; ?></textarea>
  74. </td>
  75. </tr>
  76. <tr>
  77. <td align="left" colspan="2">
  78. <p align="left"><br><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis velden">
  79. </p>
  80.  
  81. </td>
  82. </tr>
  83. <tr>
  84. <td align="left" colspan="2"> </td>
  85. </tr>
  86. </table>
  87.  
  88. </td>
  89. </tr>
  90. </table>
  91. </form>
  92.  
  93.  
  94. <?
  95. }
  96. ?>
Offline gnotrgnotr - 18/04/2010 07:06
Avatar van gnotrgnotr Nieuw lid index.php
  1. <form method="post" action="contact.php">
  2.  
  3. <table width="400" border="0" cellspacing="0" cellpadding="0">
  4. <tr>
  5. <td align="left" colspan="2" valign="top"> <p> </td>
  6. </tr>
  7. <tr>
  8. <td align="left"><b>Naam:</b></td>
  9. <td>&nbsp;<input name="naam" type="text" size="38" value=""></td>
  10. </tr>
  11. <tr>
  12. <td align="left"><b>E-mailadres:</b></td>
  13. <td>&nbsp;<input name="email" type="text" size="38" value=""></td>
  14. </tr>
  15. <tr>
  16. <td align="left"><b>Telefoonnummer:</b></td>
  17. <td>&nbsp;<input name="telefoon" type="text" size="38" value=""></td>
  18. </tr>
  19. <tr>
  20. <td align="left" colspan="2"><br><b>Bericht:</b><br> <textarea name="bericht" rows="8" cols="47"></textarea>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td align="left" colspan="2">
  25. <p align="left"><br><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis velden">
  26. </p>
  27.  
  28. </td>
  29. </tr>
  30. <tr>
  31. <td align="left" colspan="2"> </td>
  32. </tr>
  33. </table>
  34.  
  35. </form>


contact.php
  1. <?php
  2. ini_set('display_errors', '0');
  3.  
  4. if(!empty($_POST['verstuur']))
  5. { // Er is op de knop 'verstuur e-mail' gedrukt...
  6. $pError = ''; // Een begin met de errors als die er zijn
  7. $pI = 0; // Deze telt het aantal erros.
  8. if(strlen($_POST['naam']) < 2)
  9. { $pError .= '<font color="#696969" size="2">- Uw naam is niet ingevuld.</font><br>'; $pI++; }
  10. if(strlen($_POST['email']) < 6 || !$_POST['email'] || !$_POST['email'])
  11. { $pError .= '<font color="#696969" size="2">- Uw emailadres is niet (juist) ingevuld.</font><br>'; $pI++; }
  12. if(strlen($_POST['bericht']) < 6)
  13. { $pError .= '<font color="#696969" size="2">- U heeft geen bericht ingevuld.</font><br>'; $pI++; }
  14.  
  15. if(!empty($pError))
  16. { // Als er dan toch errors zijn..
  17. echo ($pI == 1) ? '' : ''; // even kijken of het meervoud of enkelvoud is.
  18. echo $pError; // echoën van de error(s)
  19. }
  20. else
  21. {
  22. // uiteindelijk toch mailen :)
  23. $pHeader = "MIME-Version: 1.0\r\n";
  24. $pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
  25. $pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
  26. $pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
  27. $pBericht = 'Het volgende bericht is gestuurd via het contact formulier:<br><br><br>'.$_POST['bericht']."<br>Telefoon: ".$telefoon;
  28. mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
  29.  
  30. echo '<font color="#696969" size="3">Bedankt voor uw bericht. Ik zal zo spoedig mogelijk contact met u opnemen.</font><br><br><br><br> ';
  31.  
  32.  
  33. $pShow = true; // formulier wordt niet weer getoond
  34. }
  35. }
  36. // Kijken of er een waarde moet worden gegeven aan velden...
  37. $pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
  38. $pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
  39. $pTelefoon = (isset($_POST['telefoon'])) ? $_POST['telefoon'] : '';
  40. $pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
  41.  
  42. // kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
  43. if(isset($_COOKIE['mailform']))
  44. { $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
  45.  
  46. if(!isset($pShow))
  47. { // het formulier als $pShow niet bestaat.
  48. ?>
  49.  
  50.  
  51. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  52.  
  53. <table width="100%" border="0" cellspacing="0" cellpadding="0">
  54. <tr>
  55. <td align="center" valign="top">
  56.  
  57.  
  58. <table width="400" border="0" cellspacing="0" cellpadding="0">
  59. <tr>
  60. <td align="left" colspan="2" valign="top"> <p> </td>
  61. </tr>
  62. <tr>
  63. <td align="left"><b>Naam:</b></td>
  64. <td>&nbsp;<input name="naam" type="text" size="38" value="<?php echo $pNaam; ?>"></td>
  65. </tr>
  66. <tr>
  67. <td align="left"><b>E-mailadres:</b></td>
  68. <td>&nbsp;<input name="email" type="text" size="38" value="<?php echo $pEmail; ?>"></td>
  69. </tr>
  70. <tr>
  71. <td align="left"><b>Telefoonnummer:</b></td>
  72. <td>&nbsp;<input name="telefoon" type="text" size="38" value="<?php echo $pTelefoon; ?>"></td>
  73. </tr>
  74. <tr>
  75. <td align="left" colspan="2"><br><b>Bericht:</b><br> <textarea name="bericht" rows="8" cols="47"> <?php echo $pBericht; ?></textarea>
  76. </td>
  77. </tr>
  78. <tr>
  79. <td align="left" colspan="2">
  80. <p align="left"><br><input type="submit" value="Verstuur" name="verstuur"> <input type="reset" value="Wis velden">
  81. </p>
  82.  
  83. </td>
  84. </tr>
  85. <tr>
  86. <td align="left" colspan="2"> </td>
  87. </tr>
  88. </table>
  89.  
  90. </td>
  91. </tr>
  92. </table>
  93. </form>
  94.  
  95.  
  96. <?php
  97. }
  98. ?>
Offline larssy1 - 19/04/2010 08:50
Avatar van larssy1 MySQL beginner Jongens,

Lange codes worden geplaatst op plaatscode.be
Deze codes zijn meer dan 1x scrollen, dus aub op plaatscode.be
Offline san - 19/04/2010 09:55
Avatar van san HTML interesse Berichten komen nog steeds tweemaal binnen. Het gekke is dat ik precies hetzelfde formulier ook op een andere website heb staan bij een andere provider en daar komen ze wel eenmaal binnen. Heb dit ook al aangekaart bij deze webhoster maar die gaf dit als antwoord "U heeft 2 contact formulieren met hetzelfde http://www.shiny4you.nl/contact.php en http://www.shiny4you.nl/contact.htmlIn de script van contact.html staat <form method="post" action="contact.php"> en in de script van contact.php <form method="post" action="<?= $_SERVER['PHP_SELF']; ?>"> dus het bericht wordt 2x verstuurd." Maar volgens mij kun je 1 van de 2 moeilijk weglaten. Iemand enig idee?
Offline larssy1 - 19/04/2010 10:45 (laatste wijziging 19/04/2010 10:47)
Avatar van larssy1 MySQL beginner Je host heeft gelijk..

Je kunt gemakkelijk je form in contact.php weglaten.. Mogelijk dat je iets je code aan moet passen..

Je data is namelijk al verzend in je formulier, en word verwerkt in contact.php.. Onnodig om ook nog een formulier in contact.php te doen..
---------------
Nog makkelijker.. gebruik gewoon niet contact.html ..... Overigens gebruik je een functie of hij 't form moet weergeven of niet.. =)

Dus alleen contact.php gebruiken, en waarschijnlijk is je probleem al opgelost..
Offline san - 19/04/2010 10:51
Avatar van san HTML interesse Maar als ik dat doe zit ik weer met mijn foutmeldingen. Als je een veld niet/fout invult komt er een foutmelding en het formulier springt dan over op de contact.php. Als je daar je formulier weglaat zie je dus geen formulier meer.
Offline larssy1 - 19/04/2010 10:56
Avatar van larssy1 MySQL beginner upload je code op plaatscode.be en ik zal je contact.php in orde maken =)
Offline san - 19/04/2010 11:08
Avatar van san HTML interesse Bedankt alvast!
Plaatscode: 139151
Plaatscode: 139152
Offline larssy1 - 19/04/2010 11:21 (laatste wijziging 19/04/2010 11:23)
Avatar van larssy1 MySQL beginner This Is All YOU Need:

contact.php :
http://plaatscode.be/139153/

Hij komt trouwens wel in ongewenst terecht.. Maarja, ik heb je script zo gemaakt, dat hij 1x verstuurd..

Je hebt dus geen contact.html meer nodig.. alleen deze contact.php =)
Zitten nog wat kleine foutjes in, zoals: geeft geen telefoon nummer weer in de mail
---------------------
Bij deze de fix voor je telefoon in de email:
Vervang regel 27 door dit:
  1. $pBericht = "Het volgende bericht is gestuurd via het contact formulier:<br><br><br>".$_POST['bericht']."<br>Telefoon: ".$_POST['telefoon'];

--------
Als 't is opgelost,
vergeet niet bij dit bericht om op Oplossing! te klikken =)
Offline san - 19/04/2010 12:58
Avatar van san HTML interesse Heel erg bedankt. Hij werkt prima. Komt inderdaad 1x binnen met het bericht erin. Alleen de naam en het emailadres van de afzender zijn nu niet zichtbaar. Naam komt helemaal niet te voorschijn en bij emailadres anonymous. Valt dit nog op te lossen.
Offline larssy1 - 19/04/2010 15:06
Avatar van larssy1 MySQL beginner bij mij werkt 't gewoon..

vergeet niet om mijn 2 regels eruit te halen.. ik heb er 2 regels ingezet met mijn naam en email. =)

ben benieuwd welke waardes jij de variabelen in deze regel geeft:
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);

Offline san - 19/04/2010 15:28
Avatar van san HTML interesse Ja daar kwam ik achter; heb naam en email inmiddels gewijzigd in naam website en emailadres.
Ik heb deze regel:
mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
gewoon ongewijzigd gelaten.
Offline larssy1 - 19/04/2010 15:39
Avatar van larssy1 MySQL beginner Er staan 2 variabelen in die niet zijn gedecladeerd.
Deze zijn :

$cOndPre
$cOndSuf

Deze hebben dus ook geen waarde.

gebruik deze inplaats van de genoemde regel.

mail($cEmail, $_POST['onderwerp'], $pBericht, $pHeader);
Offline san - 20/04/2010 00:07
Avatar van san HTML interesse Berichten komen binnen maar in de ongewenste map webmail. Verder zijn de naam en emailadres van afzender niet zichtbaar. Afzender wordt weergegeven als anonymous.
Offline larssy1 - 20/04/2010 08:52
Avatar van larssy1 MySQL beginner ik heb script eigenlijk een ieni-mienie beetje omgebouwd tot nieuwsbrief.. 2 variabelen zo gauw ik kan terug kijken,,

In de headers, verders heb ik nog niet iets veranderd.

http://plaatscode.be/139163/

Hij komt bij mij in de postvak in.. dus niet ongewenst..
http://img717.imageshack.us/img717/8034/mailw.png
Bedankt door: san
Offline san - 20/04/2010 12:13
Avatar van san HTML interesse Het is gelukt. Komt nu helemaal goed door. Het lag inderdaad aan de headers. Alles kwam met jou nieuwe script goed door alleen weer 2x. Nu heb ik bij de bovenste 2 headers de \r\n veranderd in rn en toen deed hij het wel 1x. Thanx voor de hulp.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.268s