login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Script voor bijlage meesturen lukt alsmaar niet | Pagina 2

38 antwoorden

Gesponsorde links
Offline b4nkr0bz0r - 26/04/2006 15:53
Avatar van b4nkr0bz0r PHP gevorderde
  1. <?
  2. ob_start(); // Voor het cookie setten, anders zal dat hoogst waarschijnlijk niet werken.
  3. $cNaam = 'Bas'; // Je naam...
  4. $cEmail = 'basvandenhooff@gmail.com'; // email waar het heen moet
  5. $cOndPre = 'Contactformulier Arttractive-'; // prefix voor onderwerp
  6. $cOndSuf = '-'; // suffix achter onderwerp
  7. $cSpam = 0; // Anti Spam, X aantal minuten
  8. ?>
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
  10. <head> </font></p>
  11. <p>
  12. <title>Mail Formulier</title>
  13. <style type="text/css">
  14. body, input, textarea
  15. {
  16. font-size: 10pt;
  17. color: #BD9B7F;
  18. font-family: Verdana, Arial, Helvatica;
  19. }
  20. input, textarea
  21. {
  22. border: 1px solid black;
  23. background-color: #FEFEFE;
  24. }
  25. </style></head>
  26. <body>
  27. <?
  28. if(isset($_POST['verstuur']))
  29. { // Er is op de knop 'verstuur e-mail' gedrukt...
  30. $pError = ''; // Een begin met de errors als die er zijn
  31. $pI = 0; // Deze telt het aantal erros.
  32. if(strlen($_POST['naam']) < 2)
  33. { $pError .= '- Naam<br>'; $pI++; }
  34. if(strlen($_POST['email']) < 6 || !ereg('@',$_POST['email']) || !ereg('.',$_POST['email']))
  35. { $pError .= '- E-mail adres<br>'; $pI++; }
  36. if(strlen($_POST['onderwerp']) < 3)
  37. { $pError .= '- Onderwerp<br>'; $pI++; }
  38. if(strlen($_POST['bericht']) < 10)
  39. { $pError .= '- Bericht<br>'; $pI++; }
  40. $sFile = strtolower(end(explode('.', $_FILES['upload']['name'])));
  41.  
  42. if (in_array(array('image/gif', 'image/png', 'image/jpeg', 'image/jepg'), array_change_key_case($sFile, CASE_LOWER)))
  43. {
  44. $pError .= '- De extensie van het bestand dat je mee wilden sturen is niet correct.';
  45. }
  46.  
  47. if(!empty($pError))
  48. { // Als er dan toch errors zijn..
  49. echo ($pI == 1) ? 'Het volgende veld is incorrect ingevuld:<br>' : 'De volgende velden zijn incorrect ingevuld:<br>'; // even kijken of het meervoud of enkelvoud is.
  50. echo $pError; // echoën van de error(s)
  51. }
  52. else
  53. {
  54. // uiteindelijk toch mailen
  55. $pHeader = "MIME-Version: 1.0\r\n";
  56. $pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
  57. $pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
  58. $pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
  59. $website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : '';
  60. $pBericht = 'Het verstuurde bericht naar Arttractive:'
  61. .$_POST['bericht'].$website;
  62. mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);
  63.  
  64. if(isset($_POST['usermail']))
  65. { // Als de persoon het vakje 'Ook naar mezelf mailen' heeft aangevinkt...
  66. $pBerichtUser = 'Het verstuurde bericht:'.$_POST['bericht'];
  67. mail($_POST['email'],$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBerichtUser,$pHeader);
  68. }
  69.  
  70. echo 'Bedankt voor uw interesse in Arttractive, wij streven ernaar binnen een werkdag inhoudelijk te reageren.';
  71. setcookie('mailform',1,time()+($cSpam*60)); // cookie zetten tegen spam
  72.  
  73. $pShow = true; // formulier wordt niet weer getoond
  74. }
  75. }
  76. // Kijken of er een waarde moet worden gegeven aan velden...
  77. $pNaam = (isset($_POST['naam'])) ? $_POST['naam'] : '';
  78. $pEmail = (isset($_POST['email'])) ? $_POST['email'] : '';
  79. $pWebsite = (isset($_POST['website'])) ? $_POST['website'] : '';
  80. $pOnderwerp = (isset($_POST['onderwerp'])) ? $_POST['onderwerp'] : '';
  81. $pBericht = (isset($_POST['bericht'])) ? $_POST['bericht'] : '';
  82.  
  83. // kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
  84. if(isset($_COOKIE['mailform']))
  85. { $pShow = true; echo 'Je kunt maar eens in de '.$cSpam.' minuten een e-mail versturen!'; }
  86.  
  87. if(!isset($pShow))
  88. { // het formulier als $pShow niet bestaat.
  89. ?>
  90. <form method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
  91.  
  92. <dl>
  93. <dt><b>Uw naam:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
  94. <dd>
  95. <input type="text" name="naam" size="15" value="<?= $pNaam; ?>">
  96. </dd>
  97. <dt><b>E-mail:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
  98. <dd>
  99. <input type="text" name="email" size="15" value="<?= $pEmail; ?>">
  100. </dd>
  101. <dt><b>Website:</b></dt>
  102. <dd>
  103. <input type="text" name="website" size="15" value="<?= $pWebsite; ?>">
  104. </dd>
  105. <dt><b>Onderwerp:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
  106. <dd>
  107. <input type="text" name="onderwerp" size="15" value="<?= $pOnderwerp; ?>">
  108. </dd>
  109. <dt><b>Bericht:</b> <font color="#BD9B7F"><i>(verplicht)</i></font></dt>
  110. <dd>
  111. <textarea name="bericht" cols="40" rows="10"><?= $pBericht; ?></textarea>
  112. </dd>
  113. <dt>&nbsp;</dt>
  114. <dd>
  115. <input type="file" name="upload" size="40">
  116. <?= $pFile; ?></upload>
  117. </dd>
  118. <dt>&nbsp;</dt>
  119. <dd>
  120. <input type="submit" value="Verstuur e-mail" name="verstuur">
  121. <input type="reset" value="Wis velden">
  122. </dd>
  123. </dl>
  124. </form>
  125. <?php
  126. }
  127. ?>


hij doet het nu perfect, je moet alleen de variables in het begein van het script even veranderen (je naam, email, onderwerp).
Offline Simon - 26/04/2006 15:55 (laatste wijziging 26/04/2006 15:55)
Avatar van Simon PHP expert waar controleer je nu de grootte??
en volgens mij moet het !in_array zijn op r42...
Offline kfrooija - 26/04/2006 16:03 (laatste wijziging 26/04/2006 16:06)
Avatar van kfrooija Nieuw lid Hee ik verstuur hem, maar uiteindelijk in mijn mailbox ontvang ik hem maar ZONDER bijlage
  1. // uiteindelijk toch mailen
  2. $pHeader = "MIME-Version: 1.0\r\n";
  3. $pHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
  4. $pHeader .= "To: ".$cNaam." <".$cEmail.">\r\n";
  5. $pHeader .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
  6. $website = (!empty($_POST['website'])) ? '<br><br>Website: '.$_POST['website'] : '';
  7. $pBericht = 'Het verstuurde bericht naar Arttractive:'
  8. .$_POST['bericht'].$website;
  9. mail($cEmail,$cOndPre.' '.$_POST['onderwerp'].' '.$cOndSuf,$pBericht,$pHeader);


vermoed dat hier nog een enadner bij moet
Offline marten - 26/04/2006 16:04
Avatar van marten Beheerder header goed gezet van je mailtje?
Offline kfrooija - 26/04/2006 16:12 (laatste wijziging 26/04/2006 16:17)
Avatar van kfrooija Nieuw lid Kan iemand mij alsjeblieft helpen om mijn "header" goed te zetten???

EDIT: Alsjeblieft mensen, alles werkt goed (hij controleerd alles enz.) alleen nog de HEADER.... klopt niet helemaal

Wanneer ik hem verzend zend hij niet de bijlage mee.. (ook het onderwerp en de ingevulde website stuurt hij niet mee en raak ik kwijt)

Wie kan hem even nakijken voor me>?>
Offline marten - 26/04/2006 16:18
Avatar van marten Beheerder geduld is een schone zaak 
Offline Thomas - 26/04/2006 16:19
Avatar van Thomas Moderator Als je MIME-mail verstuurt, dient ALLES in je headers te staan - je "message"-veld is dus leeg.

De size is $_FILES is bij mijn weten in bytes, dus als je hier op controleert moet je wel in bytes rekenen, anders is je attachment al snel te groot .
Offline kfrooija - 26/04/2006 16:26 (laatste wijziging 26/04/2006 17:39)
Avatar van kfrooija Nieuw lid
Hallo PHP Helden,

http://pastebin.be/990/ Dit is het formulier dat helemaal klopt.. alleen het daadwerkelijk verzenden gaat niet goed

Hij zend namelijk:
- de bijlage niet mee
- het onderwerp
- de website (die optopneel is)

Wie helpt me uit de brand!! Alvast hartelijk bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.249s