$body wordt niet opgenomen in emailbericht

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Debby Van Leijden

Debby Van Leijden

08/09/2013 15:46:35
Quote Anchor link
Hoi,

Ik heb een formulier gemaakt, maar heb helaas geen kennis van PHP, dus met een hoop moeite heb ik een script in elkaar gezet.

Nadat het formulier is ingevuld worden er twee mailtjes gestuurd:
Een naar de verzender van het formulier, dit gaat goed.
Een naar mij met de ingevulde gegevens en de eventuele attachment, dit gaat niet helemaal goed, want ik krijg alleen de attachment binnen.

Kan iemand mij helpen om dit probleem op te lossen?

HTML:
<div id="formulier">
<form name="test" action="php/test.php" method="post" enctype="multipart/form-data">
<fieldset>
<ul id="form">
<li class="label"><label for="voorletters">Voorletters*</label><input type="text" name="voorletters" id="voorletters" value=""><span class="fieldbox"></span></li>
<li class="label"><label for="tussenvoegsel">Tussenvoegsel</label><input type="text" name="tussenvoegsel" id="tussenvoegsel" value=""><span class="fieldbox"></span></li>
<li class="label"><label for="achternaam">Achternaam*</label><input type="text" name="achternaam" id="achternaam" value=""></li>
<li class="label"><label for="rubriek">Rubriek</label><select name="rubriek" id="rubriek">
<option value="None">Maak uw keuze</option>
<option value="Rubriek 1">Rubriek 1</option>
<option value="Rubriek 2">Rubriek 2</option>
<option value="Rubriek 3">Rubriek 3</option>
</select><span class="rubriek"></span></li>
<li class="label"><label for="upload">Upload bestand</label><input type="file" name="upload" id="upload"><span class="img"></span></li>
<li><input type="hidden" name="robot" id="robot"></li>
<li><input type="submit" value="Verzenden" id="submit" name="submit"></li>
</ul>
</fieldset>
</form>
</div>

PHP:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php

if($_SERVER['REQUEST_METHOD'] == 'POST')
         {

                  $ontvanger = "mijn email";
                   $hoofd = "onderwerp";
                   $voorletters = strtoupper ($_POST['voorletters']);
                   $tussenvoegsel = strtolower($_POST['tussenvoegsel']);
                   $achternaam = ucfirst ($_POST['achternaam']);
                   $rubriek = $_POST['rubriek'];
                    
if($_POST['robot'] != "") {
    echo 'U bent een robot.';                                
}


else
{
         $upload_name=$_FILES["upload"]["name"];
         $upload_type=$_FILES["upload"]["type"];
         $upload_size=$_FILES["upload"]["size"];
         $upload_temp=$_FILES["upload"]["tmp_name"];
{

             $fp = fopen($upload_temp, "rb");
             $file = fread($fp, $upload_size);
        
             $file = chunk_split(base64_encode($file));
             $num = md5(time());

                   //Normal headers
                   $headers = "From: $email\r\n";
                   $headers  .= "MIME-Version: 1.0\r\n";
                   $headers  .= "Content-Type: multipart/mixed; ";
                   $headers  .= "boundary=".$num."\r\n";
                   $headers  .= "--$num\r\n";

                   // This two steps to help avoid spam
                   $headers .= "Message-ID: <".gettimeofday()." TheSystem@".$_SERVER['SERVER_NAME'].">\r\n";
                   $headers .= "X-Mailer: PHP v".phpversion()."\r\n";

                   // Attachment headers
                   $headers  .= "Content-Type:".$upload_type." ";
                   $headers  .= "name=\"".$upload_name."\"r\n";
                   $headers  .= "Content-Transfer-Encoding: base64\r\n";
                   $headers  .= "Content-Disposition: attachment; ";
                   $headers  .= "filename=\"".$upload_name."\"\r\n\n";
                   $headers  .= "".$file."\r\n";
                   $headers  .= "--".$num."--";

$body = "";
$body .= "Voorletters: ";
$body .= "\n";
$body .= $voorletters;
$body .= "\n";
$body .= "\n";
$body .= "Tussenvoegsel: ";
$body .= "\n";
$body .= $tussenvoegsel;
$body .= "\n";
$body .= "\n";
$body .= "Achternaam: ";
$body .= "\n";
$body .= $achternaam;
$body .= "\n";
$body .= "\n";

$formsent = mail($ontvanger, $hoofd, $body, $headers);
fclose($fp);
}


if ($formsent){

$body = "";
$body .= "Geachte heer / mevrouw $tussenvoegsel $achternaam,";
$body .= "\n";
$body .= "\n";

mail($email, $hoofd, $body, 'From:<' . $ontvanger . '>');
  
header('Location: http://www.domeinnaam.nl/bedankt.html');
}


else{
  header('Location: http://www.domeinnaan.nl/foutmelding.html');   }
}
}

?>
 
PHP hulp

PHP hulp

21/12/2024 00:57:50
 
Reshad F

Reshad F

08/09/2013 15:51:04
Quote Anchor link
Haal deze $body = ""; weg boven de regel Geachte heer / mevrouw
 
Debby Van Leijden

Debby Van Leijden

08/09/2013 15:57:08
Quote Anchor link
Heb het geprobeerd, maar nu komen beide mailtjes in een mail onder elkaar te staan gericht aan degene die het formulier heeft ingevuld en naar mij wordt nog steeds alleen de bijlage gestuurd.
 
Obelix Idefix

Obelix Idefix

08/09/2013 16:07:17
Quote Anchor link
Is dit het vervolg op http://www.phphulp.nl/php/forum/topic/twee-scripts-samenvoegen/92128/ ?
Gebruik phpmailer/swiftmailer om te mailen.
Voorkomt ook allerlei problemen met headers in het mailbericht.
Wat doet { op regel 22?
Je controleert niet de mail verzonden wordt (regel 77)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.