Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

PHP Form Probleem

Pagina: 1
Acties:
  • 274 views

  • MrChillax
  • Registratie: januari 2015
  • Laatst online: 21-03-2019
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:

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?

  • Qzar
  • Registratie: december 2009
  • Laatst online: 23:13
$message .= .$check . '<br>';

waarom heb je een . staan voor de $check?

  • MrChillax
  • Registratie: januari 2015
  • Laatst online: 21-03-2019
Zo dat was snel. Die heb ik er staan zodat de values niet allemaal aan elkaar worden geplaatst.
Ben echter geen PHP master dus kan best fout zitten in sommige dingen.

  • azerty
  • Registratie: maart 2009
  • Laatst online: 21:47

azerty

McFly

En heb je echt geen idee waarom het fout loopt? Een IDE zou je er zo op wijzen (heck, zelfs de code layout boven geeft al een hint waar het fout loopt).

  • MrChillax
  • Registratie: januari 2015
  • Laatst online: 21-03-2019
Ja inderdaad, heb het gefixt. Thanks voor de posts en aanmoediging.

  • NMe
  • Registratie: februari 2004
  • Laatst online: 00:59

NMe

Quia Ego Sic Dico.

Tsja, syntax errors moet je toch echt zelf wel kunnen oplossen, en áls je dan al een topic opent helpt het als je zegt welke error je dan krijgt. Tegen een programmeur zeggen dat je "een error" krijgt en verwachten dat hij je probleem oplossen is hetzelfde als tegen een dokter zeggen "ik ben ziek" en verwachten dat hij je een medicijn geeft dat je beter maakt.

Hoe dan ook, omdat je dit probleem ook zelf had kunnen oplossen doe ik dit topic dicht.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.



Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True