Ik heb een HTML5 e-mailformulier met validatie gemaakt met een php verzendmethode. Nu ben ik niet zo thuis in php, het formulier werkt dus naar behoren maar de e-mailfunctie niet. Dwz, de melding van verzonden verschijnt wel maar er wordt niets verzonden.
De code van sendmail.php:
De code van index.php:
De code van sendmail.php:
PHP:
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| <?php if( isset($_POST) ){ //form validation vars $formok = true; $errors = array(); //sumbission data $ipaddress = $_SERVER['REMOTE_ADDR']; $date = date('d/m/Y'); $time = date('H:i:s'); //form data $naam = $_POST['naam']; $adres = $_POST['adres']; $postcode = $_POST['postcode']; $woonplaats = $_POST['woonplaats']; $email = $_POST['email']; $kaartenkind = $_POST['kaartenkind']; $kaartenvolw = $_POST['kaartenvolw']; $bericht = $_POST['bericht']; $telefoon = $_POST['telefoon']; //validate form data //validate name is not empty if(empty($naam)){ $formok = false; $errors[] = "Vul uw naam in."; } //validate name is not empty if(empty($adres)){ $formok = false; $errors[] = "Vul uw adres in."; } //validate name is not empty if(empty($postcode)){ $formok = false; $errors[] = "Vul uw postcode in."; } //validate name is not empty if(empty($woonplaats)){ $formok = false; $errors[] = "Vul uw woonplaats in."; } //validate email address is not empty if(empty($email)){ $formok = false; $errors[] = "Vul uw e-mailadres in."; //validate email address is valid }elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)){ $formok = false; $errors[] = "Vul een correct e-mailadres in."; } //send email if all is ok if($formok){ ini_set("sendmail_from","mail@mail.com"); $headers = "From: mail@mail.com" . "\r\n"; $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $emailbody = "<p>Bestelling kaarten Sound of Music.</p> <p><strong>Naam: </strong> {$naam} </p> <p><strong>Adres: </strong> {$adres} </p> <p><strong>Postcode + Woonplaats: </strong> {$postcode} {$woonplaats}</p> <p><strong>Emailadres: </strong> {$email} </p> <p><strong>Telefoonnummer: </strong> {$telefoon} </p> <p><strong>Aantal kaarten kinderen: </strong> {$kaartenkind} </p> <p><strong>Aantal kaarten volwassenen: </strong> {$kaartenvolw} </p> <p><strong>Opmerkingen: </strong> {$bericht} </p> <p>This message was sent from the IP Address: {$ipaddress} on {$date} at {$time}</p>"; mail("mail@mail.com","Bestelling kaarten Sound of Music",$emailbody,$headers); } //what we need to return back to our form $returndata = array( 'posted_form_data' => array( 'naam' => $naam, 'adres' => $adres, 'postcode' => $postcode, 'woonplaats' => $woonplaats, 'email' => $email, 'kaartenkind' => $kaartenkind, 'kaartenvolw' => $kaartenvolw, 'telefoon' => $telefoon, 'bericht' => $bericht ), 'form_ok' => $formok, 'errors' => $errors ); //if this is not an ajax request if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) !== 'xmlhttprequest'){ //set session variables session_start(); $_SESSION['cf_returndata'] = $returndata; //redirect back to form header('location: ' . $_SERVER['HTTP_REFERER']); } } |
De code van index.php:
PHP:
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
| <?php //init variables $cf = array(); $sr = false; if(isset($_SESSION['cf_returndata'])){ $cf = $_SESSION['cf_returndata']; $sr = true; } ?> <ul id="errors" class="<?php echo ($sr && !$cf['form_ok']) ? 'visible' : ''; ?>"> <li id="info">There were some problems with your form submission:</li> <?php if(isset($cf['errors']) && count($cf['errors']) > 0) : foreach($cf['errors'] as $error) : ?> <li><?php echo $error ?></li> <?php endforeach; endif; ?> </ul> <p id="success" class="<?php echo ($sr && $cf['form_ok']) ? 'visible' : ''; ?>">Bedankt voor uw bestelling!</p> <form id="form1" action="sendmail.php" method="post"> <fieldset> <legend>Uw gegevens</legend> <ol> <li> <label for="naam">Naam</label> <input id="naam" name="naam" type="text" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['naam'] : '' ?>" placeholder="Voor- en achternaam" title="formaat: voornaam achternaam" required autofocus> </li> <li> <label for="adres">Adres</label> <input id="adres" name="adres" type="adres" title="Straatnaam 1" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['adres'] : '' ?>"placeholder="Straatnaam 1" required> </li> <li> <label for="postcode">Postcode</label> <input id="postcode" name="postcode" type="postcode" title="1234 AB" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['postcode'] : '' ?>"placeholder="1234 AB" required> </li> <li> <label for="woonplaats">Woonplaats</label> <input id="woonplaats" name="woonplaats" type="woonplaats" title="Woonplaats" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['woonplaats'] : '' ?>"placeholder="Woonplaats" required> </li> <li> <label for="email">E-mail</label> <input id="email" name="email" type="email" title="example@example.com" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['email'] : '' ?>"placeholder="example@example.com" required> </li> <li> <label for="telefoon">Telefoonnummer</label> <input id="telefoon" name="telefoon" type="telefoon" title="0123-456789" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['telefoon'] : '' ?>"placeholder="0123-456789"> </li> </ol> </fieldset> <fieldset> <legend>Bestelling</legend> <ol> <li> <label for="kaarten">Datum voorstelling:</label> <select id="kaarten" name="kaarten"> <option value="16maart" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaarten'] == '16maart') ? "selected='selected'" : '' ?>>16 maart 2013, Aanvang 19.30 uur</option> <option value="22maart"<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaarten'] == '22maart') ? "selected='selected'" : '' ?>>22 maart 2013, Aanvang 19.30 uur</option> <option value="23maart"<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaarten'] == '23maart') ? "selected='selected'" : '' ?>>22 maart 2013, Aanvang 19.30 uur</option> <option value="17maart"<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaarten'] == '17maart') ? "selected='selected'" : '' ?>>17 maart 2013, Aanvang 14.00 uur</option> <option value="24maart"<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaarten'] == '24maart') ? "selected='selected'" : '' ?>>24 maart 2013, Aanvang 14.00 uur</option> </select> </li> <li> <label for="kaartenkind">Aantal kinderen t/m 12 jaar:</label> <select id="kaartenkind" name="kaartenkind"> <option value="1krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '1krtkind') ? "selected='selected'" : '' ?>>1 kaart, €10,00</option> <option value="2krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '2krtkind') ? "selected='selected'" : '' ?>>2 kaarten, €20,00</option> <option value="3krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '3krtkind') ? "selected='selected'" : '' ?>>3 kaarten, €30,00</option> <option value="4krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '4krtkind') ? "selected='selected'" : '' ?>>4 kaarten, €40,00</option> <option value="5krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '5krtkind') ? "selected='selected'" : '' ?>>5 kaarten, €50,00</option> <option value="6krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '6krtkind') ? "selected='selected'" : '' ?>>6 kaart, €60,00</option> <option value="7krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '7krtkind') ? "selected='selected'" : '' ?>>7 kaarten, €70,00</option> <option value="8krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '8krtkind') ? "selected='selected'" : '' ?>>8 kaarten, €80,00</option> <option value="9krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '9krtkind') ? "selected='selected'" : '' ?>>9 kaarten, €90,00</option> <option value="10krtkind" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenkind'] == '10krtkind') ? "selected='selected'" : '' ?>>10 kaarten, €100,00</option> </select> </li> <li> <label for="kaartenvolw">Aantal volwassenen:</label> <select id="kaartenvolw" name="kaartenvolw"> <option value="1krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '1krtvolw') ? "selected='selected'" : '' ?>>1 kaart, €15,00</option> <option value="2krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '2krtvolw') ? "selected='selected'" : '' ?>>2 kaarten, €30,00</option> <option value="3krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '3krtvolw') ? "selected='selected'" : '' ?>>3 kaarten, €45,00</option> <option value="4krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '4krtvolw') ? "selected='selected'" : '' ?>>4 kaarten, €60,00</option> <option value="5krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '5krtvolw') ? "selected='selected'" : '' ?>>5 kaarten, €75,00</option> <option value="6krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '6krtvolw') ? "selected='selected'" : '' ?>>6 kaart, €90,00</option> <option value="7krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '7krtvolw') ? "selected='selected'" : '' ?>>7 kaarten, €105,00</option> <option value="8krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '8krtvolw') ? "selected='selected'" : '' ?>>8 kaarten, €120,00</option> <option value="9krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '9krtvolw') ? "selected='selected'" : '' ?>>9 kaarten, €135,00</option> <option value="10krtvolw" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['kaartenvolw'] == '10krtvolw') ? "selected='selected'" : '' ?>>10 kaarten, €150,00</option> </select> </li> </ol> </fieldset> <fieldset> <legend>Kaarten voor meerdere voorstellingen?</legend> <p> Bestelt u voor meerdere voorstellingen kaarten, geef hieronder dan het aantal per avond.</p> <p> </p> <ol> <li> <label for="bericht">Opmerkingen</label> <textarea id="bericht" name="bericht" rows="10" placeholder="Uw bericht ..."><?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['bericht'] : '' ?></textarea> </li> </ol> </fieldset> <p> U kunt de kaarten betalen aan de kassa op de avond van de voorstelling. De kaarten liggen daar voor u klaar.<br><br></p> <fieldset> <button name="submit" type="submit">Verstuur!</button> </fieldset> </form> <?php unset($_SESSION['cf_returndata']); ?> </section> </div><!-- End of 'content'--> <footer></footer> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script>!window.jQuery && document.write(unescape('%3Cscript src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"%3E%3C/script%3E'))</script> <script type="text/javascript" src="/js/jquery.lightbox-0.5.min.js"></script> |
[ Voor 5% gewijzigd door Maarten L op 21-02-2013 19:57 ]
www.maartenlangelo.nl