Php mail script geeft 500 error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rik Oudega

Rik Oudega

29/05/2013 17:31:41
Quote Anchor link
Hallo,

Ik gebruik een email script om aanmeldingen te verwerken. Nu wil ik dat de site de aanmelding opstuurt en ik wil dat de aanmelder een mail ontvangt. Echter, zodra ik de regel toevoeg werkt het script niet meer en krijg ik een 500 error. Ik heb de regel inactief gemaakt/aangeduid met een # (zie regel 164).

Ziet iemand het probleem?

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
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<?php include('style/config.php');
?>

<html>
    <head>
        <title>titel</title>
        <link rel="stylesheet" type="text/css" href="../style/style.css" />
        <meta HTTP-EQUIV="REFRESH" content="5; url=/index.php">
    </head>
        <body>        
            <?php include("../style/header.php");
            ?>

                <div class="cont">
                <?php include('style/config.php');?>
<?php
session_start();
if (!isset($_SESSION['username'])) {
include("../style/membersidebar.php");
}

else
{
include("../style/adminsidebar.php");
}

?>

                    <div class="box">
<?php
$naar
= 'email'; // Waar moet het naartoe?
$onderwerp = 'onderwerp'; // Het onderwerp van het bericht
$bcontactpersoon = 'naam';
 
// Header instellen, zodat nl2br() werkt
$headers = "MIME-version: 1.0\r\n";
$headers .= "content-type: text/html;charset=utf-8\r\n";
$bheaders = "MIME-version: 1.0\r\n";
$bheaders .= "content-type: text/html;charset=utf-8\r\n";
 
if(isset($_POST['versturen'])) // Als het formulier verzonden is door op de verzend knop te klikken
{
    $bedrijf = ($_POST['bedrijf']); // Alle overbodige spaties uit het voornaam veld verwijderen
    $kvknummer = ($_POST['kvknummer']);
    $btwnummer = ($_POST['btwnummer']);
    $branche = ($_POST['branche']);
    $teverkopen = ($_POST['teverkopen']);
    $contactpersoon = ($_POST['contactpersoon']);
    $adres = ($_POST['adres']);
    $postcodeplaats = ($_POST['postcodeplaats']);
    $telefoonnummer = ($_POST['telefoonnummer']);
    $email = ($_POST['email']);
    $aantalkramen = ($_POST['aantalkramen']);
    $dekzeilen = ($_POST['dekzeilen']);
    $grondplaats = ($_POST['grondplaats']);
    $balken = ($_POST['balken']);
    $planken = ($_POST['planken']);
    $schragen = ($_POST['schragen']);
    $elektriciteit = ($_POST['elektriciteit']);
    $krachtelek = ($_POST['krachtelek']);
    $hoeveelelek = ($_POST['hoeveelelek']);
    $waarvoorelek = ($_POST['waarvoorelek']);
    $overig = ($_POST['overig']);
    $pleknummer = ($_POST['pleknummer']);
    $captcha = ($_POST['captcha']);
    $betaald = ($_POST['betaald']);
    $fout = false; // Om te kijken straks of er wat fout is
    
    $tijd = strftime('%H:%M');
    $datum = strftime('%d/%m/%y');  
    $ip = getenv('REMOTE_ADDR');
    $bericht = 'Geachte heer/mevrouw '.$contactpersoon.',
    
    Wij hebben uw aanmelding ontvangen op '
.$datum.' om '.$tijd.' uur.
    
    Wij nemen uw aanmelding zo spoedig mogelijk in behandeling.
    
    Zodra wij uw aanmelding verwerkt hebben, ontvangt u van ons de bevestiging/factuur met verdere informatie.
    
    Met vriendelijke groet,
    De Avondmarkt Commissie'
;
    $message = 'Deze aanmelding kwam van '.$ip.' op '.$datum.' van het volgende email adres: '.$email.' Hier volg de aanmelding:  
    ____________________________________
    Naam bedrijf/vereniging/instelling: '
.$bedrijf.'
    
    Contactpersoon: '
.$contactpersoon.'
    Adres: '
.$adres.'
    Postcode/Plaats: '
.$postcodeplaats.'
    Telefoonnummer: '
.$telefoonnummer.'
    Email: '
.$email.'
    
    Branche: '
.$branche.'
    Te verkopen artikelen: '
.$teverkopen.'
    
    Nr.K.v.K./CRK: '
.$kvknummer.'
    BTW-nummer: '
.$btwnummer.'
    
    Aant.kramen: '
.$aantalkramen.' stuk(s)
    Grondplaats aantal meters: '
.$grondplaats.'
    Dekzeil(en) excl. klemmen: '
.$dekzeilen.'
    
    Extra materiaal: '
.$balken.' x balk '.$planken.' x plank '.$schragen.' x schraag
    
    Stroom gewenst: '
.$elektriciteit.' Krachtstroom gewenst: '.$krachtelek.'
    Zo ja, hoeveel/waarvoor: '
.$hoeveelelek.' Amp voor: '.$waarvoorelek.'
    
    Overige wensen: '
.$overig.'
    
    Kraam plek voorkeur: '
.$pleknummer.'';
    if(empty($bedrijf))
    {

        print '<p>Het is verplicht het bedrijf/vereniging/instelling veld in te vullen</p>';
        $fout = true; // Zorgen dat het script zometeen weet dat er wat fout is
    }
    if(empty($branche))
    {

        print '<p>Het is verplicht het branche veld in te vullen</p>';
        $fout = true;
    }

    if(empty($teverkopen))
    {

        print '<p>Het is verplicht het te verkopen artikelen veld in te vullen</p>';
        $fout = true;
    }

    if(empty($contactpersoon))
    {

        print '<p>Het is verplicht het voor- en achternaam veld in te vullen</p>';
        $fout = true;
    }

    if(empty($adres))
    {

        print '<p>Het is verplicht het straat en huisnummer veld in te vullen</p>';
        $fout = true;
    }

    if(empty($postcodeplaats))
    {

        print '<p>Het is verplicht het postcode en plaats veld in te vullen</p>';
        $fout = true;
    }

    if(empty($telefoonnummer))
    {

        print '<p>Het is verplicht het telefoonnummer veld in te vullen</p>';
        $fout = true;
    }

    if(empty($email))
    {

        print '<p>Het is verplicht het e-mailadres veld in te vullen</p>';
        $fout = true;
    }

    if(!filter_var($email, FILTER_VALIDATE_EMAIL))
    {

        print '<p>Het e-mail adres is niet correct ingevuld</p>';
        $fout = true;
    }

    if(empty($captcha))
    {

        print '<p>Het captcha veld is niet correct ingevuld</p>';
        $fout = true;
    }

 
    if($fout == false) // Als er niks fout is (alles is dus netjes ingevuld)
    {
        $headers .= 'From: ' . $contactpersoon . '<' . $email . '>'; // Een afzender instellen zodat je kan reageren.
        $bheaders .= 'From: ' . $bcontactpersoon . '<' . $naar . '>'; // Een afzender instellen zodat je kan reageren.
            
        if(mail($naar, $onderwerp, nl2br($message), $headers))
        {

            print '<p>Uw aanmelding is met succes ontvangen. Binnen enkele minuten ontvangt u van ons een bevestiging van uw aanmelding. U wordt over enkele seconden doorverwezen.</p>';
#            mail($email, $onderwerp, nl2br($bericht), $bheaders);
        }
        else
        {
            print '<p>Helaas, er is wat fout gegaan tijdens het verzenden van uw aanmelding.</p>';
        }
    }
}

?>



</div>
                    
                    <?php
                        include("../style/footer.php");
                    ?>

                </div>
            </div>
        </div>
    </body>
</html>
Gewijzigd op 29/05/2013 17:44:45 door Rik Oudega
 
PHP hulp

PHP hulp

28/12/2024 13:20:34
 
- Ariën  -
Beheerder

- Ariën -

29/05/2013 17:38:49
Quote Anchor link
En wat zegt de error-log? Haal ook even je mailadres uit je code hier, vanwege spam-harvesters.

Lijn 164 is ook niet nodig want je mail enkele lijnen daarvoor al.
Gewijzigd op 29/05/2013 17:39:31 door - Ariën -
 
Donny Wie weet

Donny Wie weet

29/05/2013 17:51:04
Quote Anchor link
Nog een tip voor je foutafhandeling. Overal gebruik je een $fout = false, en daarbij een bepaalde tekst. Wat sneller, en simpeler is is bijvoorbeeld:

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
<?php

$error
= array();

if(empty($bedrijf)) $error[] = '<li>Het is verplicht het bedrijf/vereniging/instelling veld in te vullen</li>';
if(empty($optie2)) $error[] = '<li>U heeft optie 2 niet ingevuld!</li>';
if(empty($optie3)) $error[] = '<li>Optie 3 is ook verplicht!</li>';

//Als de $error gevuld is
if (!empty($error)){
        echo 'Er ging het volgende mis:<ul>'. implode($error).'</ul>';
}
else {
        echo 'Alles ging goed dus voer script verder uit';
}

?>
 
Rik Oudega

Rik Oudega

29/05/2013 18:00:41
Quote Anchor link
- Aar - op 29/05/2013 17:38:49:
En wat zegt de error-log? Haal ook even je mailadres uit je code hier, vanwege spam-harvesters.

Lijn 164 is ook niet nodig want je mail enkele lijnen daarvoor al.


Misschien een beetje dom... maar ik kan nergens een error log vinden :S ik kan wel acces logs vinden
 
- Ariën  -
Beheerder

- Ariën -

29/05/2013 18:01:56
Quote Anchor link
zet anders error_reporting eens op E_ALL en display_errors op on
 
Rik Oudega

Rik Oudega

29/05/2013 18:07:40
Quote Anchor link
Ik kan niet in het php.ini bestand, mijn website wordt gehost bij starhosting
 
Donny Wie weet

Donny Wie weet

29/05/2013 18:13:59
Quote Anchor link
Je kan een error reporting ook in het PHP document plaatsen
 
Rik Oudega

Rik Oudega

29/05/2013 18:17:21
Quote Anchor link
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Ik kan de error pagina's wel toewijzen, maar wat voor code zou er moeten staan?

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Gewijzigd op 29/05/2013 18:18:21 door Rik Oudega
 
Donny Wie weet

Donny Wie weet

29/05/2013 20:26:58
Quote Anchor link
In mn root kan ik een bestand maken voor de error reporting: .user.ini

Daarin staat de volgende code:

error_reporting = E_ALL & ~E_DEPRECATED
display_errors = On
display_startup_errors = On


Probeer die eens uit, kweet niet of dat bij jouw host ook werkt?
 



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.