Hallo programmers,
Heb een probleem met mijn PHP code om een mail te versturen via SMTP. Bijna alles werkt momenteel, echter 1 statement geeft een error op mijn page. Momenteel test ik het script uit op een Ubuntu 14.04 server met nginx en php-fpm. Met het volgende script wil ik mails gaan versturen:
Het probleem ligt hem nu aan de volgende statement:
Wanneer ik dit wil gebruiken om de values van de checkboxes wil plaatsen in de mail krijg ik een 500 Internal Server Error. Als ik dit stukje code verwijder is er geen probleem, maar krijg ik niet de values binnen. Iemand een idee?
Heb een probleem met mijn PHP code om een mail te versturen via SMTP. Bijna alles werkt momenteel, echter 1 statement geeft een error op mijn page. Momenteel test ik het script uit op een Ubuntu 14.04 server met nginx en php-fpm. Met het volgende script wil ik mails gaan versturen:
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
| <?php if(isset($_POST['submit'])) { $message= 'Full Name: '.$_POST['fullname'].'<br /> Subject: '.$_POST['subject'].'<br /> Phone: '.$_POST['phone'].'<br />'; foreach($_POST['check_list'] as $check) { $message .= .$check . '<br>'; } Email: '.$_POST['emailid'].'<br /> Comments: '.$_POST['comments'].' '; require "PHPMailer-master/class.phpmailer.php"; //include phpmailer class // Instantiate Class $mail = new PHPMailer(); // Set up SMTP $mail->IsSMTP(); // SMTP connectie $mail->SMTPAuth = true; // Connectie heeft autarisatie nodig $mail->SMTPSecure = "ssl"; // Connectie gebruikt TLS $mail->Host = "mail.domain.me"; //SMTP server adres $mail->Port = 465; //SMTP server port $mail->Encoding = '7bit'; // Authentication $mail->Username = "support@domain.me"; // Full address $mail->Password = "sdfuuiy76in"; // Password // Compose $mail->SetFrom($_POST['emailid'], $_POST['fullname']); $mail->AddReplyTo($_POST['emailid'], $_POST['fullname']); $mail->Subject = "Nieuw Contact Formulier"; // Onderwerp $mail->MsgHTML($message); // Send To $mail->AddAddress("ontvanger@hotmail.com", "Mr. Example"); $result = $mail->Send(); // Send! $message = $result ? '<div class="alert alert-success" role="alert"><strong>Success!</strong>Message Sent Successfully!</div>' : '<div class="alert alert-danger" role="alert"><strong>Error!</strong>There was a problem delivering the message.</div>'; unset($mail); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Contact Form</title> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" href="css/style.css"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="contactform"> <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title"><a href="">Contact Form</a></h3> </div> <div class="panel-body"> <form name="form1" id="form1" action="" method="post"> <fieldset> <input type="text" class="form-control" name="fullname" placeholder="Volledige Naam" /> <br /> <input type="text" class="form-control" name="subject" placeholder="Onderwerp" /> <br /> <input type="text" class="form-control" name="phone" placeholder="Telefoonnummer" /> <br /> <input type="email" class="form-control" name="emailid" placeholder="Email" /> <br /> <div class="checkbox"> <label> <input type="checkbox" name="check_list[]" value="value1">Check me </label> <label> <input type="checkbox" name="check_list[]" value="value2">Check me 2 </label> </div> <br /> <textarea rows="4" class="form-control" cols="20" name="comments" placeholder="Extra tekst indien gewenst"></textarea> <br /> <input type="submit" class="btn btn-success"name="submit" value="Verstuur" /> </fieldset> </form> <p><?php if(!empty($message)) echo $message; ?></p> </div> </div> </div> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html> |
Het probleem ligt hem nu aan de volgende statement:
PHP:
1
2
3
| foreach($_POST['check_list'] as $check) { $message .= .$check . '<br>'; } |
Wanneer ik dit wil gebruiken om de values van de checkboxes wil plaatsen in de mail krijg ik een 500 Internal Server Error. Als ik dit stukje code verwijder is er geen probleem, maar krijg ik niet de values binnen. Iemand een idee?