Formulier wordt soms meerdere malen verzonden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET developer begint jouw dag na een bak koffie met een stand up. De vorderingen worden tijdens de stand up besproken en de doelen worden opgesteld waar jullie als team in de volgende sprint naartoe gaan werken. Onze backend is geschreven in .NET Core en onze Front-end in Angular. Bij ons ga jij dan ook Fullstack aan de slag. Jij wordt hier opgeleid om zelfstandig te kunnen programmeren en applicaties te kunnen implementeren. Er wordt op projectbasis gewerkt, dit bied leuke uitdagingen omdat elke klant een andere visie heeft over de applicatie die wij maken. Je gaat

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Senior .NET Ontwikkelaar

In het kort Als Senior .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag met complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek (denk aan ECT) en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Senior Developer Betty Blocks Blauwe Haven Rotterd

Functieomschrijving Voor de Politie zijn wij opzoek naar een Senior Developer Betty Blocks Blauwe Haven Rotterdam. De politieorganisatie heeft jaarlijks te maken met een aanzienlijk aantal politiemedewerkers die vanwege mentale overbelasting niet of beperkt inzetbaar zijn. De Blauwe Haven Rotterdam ondersteunt deze politiemedewerkers in hun herstel en re-integratieproces. De huidige digitale systemen van de Politie bieden onvoldoende ondersteuning in het herstel- en re-integratieproces van politiemedewerkers. Zowel voor de politiemedewerkers als voor de organisatie. Politiemedewerkers worden buitengesloten, waardoor zij eigen regie verliezen. Begeleiders kunnen de voortgang van de medewerkers niet goed monitoren. Management beschikt niet over de mogelijkheid trends te signaleren

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

Front end developer binnen de consultancy

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

UX Writer (m/v/d)

UX Writer (m/v/d) Everything we do, starts with you. Together with you, we build the most human-centric fintech. We have the ambition to create the next. And - with Bertelsmann - a strong foundation to start from. Let’s make it new – for society and for yourself. Wij zijn op zoek naar een UX Writer (m/v/d) Fulltime - Op ons kantoor in Amsterdam of Heerenveen / deels vanuit huis Als UX Writer bij Riverty hou jij je bezig met onze strategie om daar te zijn waar onze gebruikers zijn en op de manier waarop zij ons nodig hebben, terwijl wij

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »
Ton Peeters

Ton Peeters

16/09/2021 11:23:16
Quote Anchor link
Hallo,
Niet zo heel erg bekend met PHP-scripts en daarom kan ik dit probleem niet triggeren:

Op een site van een van mijn klanten staat een reserveringsformulier (www.daytonadasburg.com/reservering/index.php)
Basis heb ik ooit ergens gevonden (misschien op dit forum??) aangepast en functioneert al jaren naar volle tevredenheid.
Tot voor enkele maanden geleden; hotelbaas gaf te kennen dat hij soms dezelfde reserveringen meerdere malen achter elkaar ontving - lastig.
Als ik in de inbox kijk dan zie ik idd soms dezelfde reserveringen 3-5 binnenkomen met enkele seconden vertraging.
Maar niet altijd...
Ticket aangemaakt bij hostingbedrijf; hopende dat zij misschien een oplossing of reden van fout kenden- niet dus...
Hun reply: "...Wellicht dat je developer hier eens naar kan kijken om te zien of er ergens een timeout wordt bereikt waardoor het script een 2e email genereert..."
Is wel een hint maar ik heb te weinig kennis van PHP om dat te tackelen.
Misschien dat via dit forum een oplossing gevonden kan worden.

Het formulier is, zoals eerder vermeld, te vinden op : www.daytonadasburg.com/reservering/index.php
Ik heb hier geen mogelijkheid om het script zelf bij te sluiten...of zie ik iets over het hoofd?

Ik zie wel uit naar de reacties.
 
PHP hulp

PHP hulp

20/04/2024 08:39:22
 
- Ariën  -
Beheerder

- Ariën -

16/09/2021 11:34:41
Quote Anchor link
Het kan veel oorzaken hebben. Kan je de *relevante* code hier plaatsen, tussen code-tags?
 
Adoptive Solution

Adoptive Solution

16/09/2021 11:37:50
Quote Anchor link
Als het formulier is verzonden en je doet een pagina reload, krijg je een melding.
Als je dan doorgaat wordt het formulier opnieuw verzonden.

Gebruik deze code bovenaan de pagina code :

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
<?php
session_start();
//https://stackoverflow.com/questions/13889198/php-avoid-browser-reposting-post-on-page-refresh/13889283#13889283
if( strcasecmp( $_SERVER['REQUEST_METHOD'],"POST" ) === 0 )
{

    $_SESSION['postdata'] = $_POST;
    header("Location: ".$_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']);
    exit();
}


if ( !$_SESSION['postdata'] )
{

    header("Location: forum_login.php");
    exit();
}


if( isset( $_SESSION['postdata'] ) )
{

    $_POST = $_SESSION['postdata'];
    unset($_SESSION['postdata']);
}


?>


Deze regel aanpassen of weglaten naar eigen situatie :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header("Location: forum_login.php");
Gewijzigd op 16/09/2021 11:38:12 door Adoptive Solution
 
Ton Peeters

Ton Peeters

16/09/2021 11:56:10
Quote Anchor link
Het PHP script:
>>>
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

ob_start();
session_start();

// Config Gedeelte
$cfg['url'] = "http://www.daytonadasburg.com";        // Site waarnaar je terug gaat als je een bericht hebt achtergelaten
$cfg['naam'] = "Hotel Daytona Dasburg";            // Webmaster naam
$cfg['email'] = "[email protected]";        // Webmaster E-mail
$cfg['spam'] = 2;                                    // Anti Spam Tijd in Minuten ( Voer "0" om de Spam Beveiliging uit te zetten )
$cfg['text'] = TRUE;                                // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['input'] = TRUE;                                // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$cfg['HTML'] = TRUE;                                // Een HTML email ( TRUE voor aan, FALSE voor uit )
$cfg['CAPTCHA'] = TRUE;                                // CAPTCHA ( TRUE voor aan, FALSE voor uit )
$cfg['onderwerp'] = "reservering";


// Hieronder niks meer veranderen
// E-mail Checker / Validator

function checkmail($email)
{

    if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
    {

        return TRUE;
    }

    return FALSE;
}


$formulier = TRUE;

if(!isset($_COOKIE['formulier']))
{

    if(isset($_POST['wis']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {

        foreach($_POST as $key => $value)
        {

            unset($value);
        }

        header("Location: ".$_SERVER['PHP_SELF']."");
    }

        
    if(isset($_POST['verzenden']) && ($_SERVER['REQUEST_METHOD'] == "POST"))
    {
$aFout = array();
        $datum_aankomst = trim($_POST['datum_aankomst']);
        $datum_vertrek = trim($_POST['datum_vertrek']);
        $naam = trim($_POST['naam']);
        $adres = trim($_POST['adres']);
        $postcode = trim($_POST['postcode']);
        $plaats = trim($_POST['plaats']);
        $telefoon = trim($_POST['telefoon']);
        $email = trim($_POST['email']);
        $aantal_personen = trim($_POST['aantal_personen']);
        $samenstelling = trim($_POST['samenstelling']);
        $ontbijt = trim($_POST['ontbijt']);
        $alacarte = trim($_POST['alacarte']);
        $dagmenu = trim($_POST['dagmenu']);
        $speksteengrillen = trim($_POST['speksteengrillen']);
        $speenvarken = trim($_POST['speenvarken']);
        $BBQ = trim($_POST['BBQ']);
        $opmerking = trim($_POST['opmerking']);
        
        if($cfg['CAPTCHA'])
        {

            $code = $_POST['code'];
        }

                
        if(empty($datum_aankomst))
        {

            $aFout[] = "Er is geen aankomstdatum ingevuld.";
            unset($datum_aankomst);
            $fout['text']['datum_aankomst'] = TRUE;
            $fout['input']['datum_aankomst'] = TRUE;
        }

        
        if(empty($datum_vertrek))
        {

            $aFout[] = "Er is geen vertrekdatum ingevuld.";
            unset($datum_vertrek);
            $fout['text']['datum_vertrek'] = TRUE;
            $fout['input']['datum_vertrek'] = TRUE;
        }


        if(empty($naam))
        {

            $aFout[] = "Er is geen naam ingevuld.";
            unset($naam);
            $fout['text']['naam'] = TRUE;
            $fout['input']['naam'] = TRUE;
        }

        
        if(empty($adres))
        {

            $aFout[] = "Er is geen adres ingevuld.";
            unset($adres);
            $fout['text']['adres'] = TRUE;
            $fout['input']['adres'] = TRUE;
        }

        
        if(empty($postcode))
        {

            $aFout[] = "Er is geen postcode ingevuld.";
            unset($postcode);
            $fout['text']['postcode'] = TRUE;
            $fout['input']['postcode'] = TRUE;
        }

        
        if(empty($plaats))
        {

            $aFout[] = "Er is geen plaats ingevuld.";
            unset($plaats);
            $fout['text']['plaats'] = TRUE;
            $fout['input']['plaats'] = TRUE;
        }
        

        if(empty($telefoon))
        {

            $aFout[] = "Er is geen telefoonnummer ingevuld.";
            unset($telefoon);
            $fout['text']['telefoon'] = TRUE;
            $fout['input']['telefoon'] = TRUE;
        }

        
        if(empty($email))
        {

            $aFout[] = "Er is geen e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        elseif(checkmail($email) == 0)
        // Wanneer je PHP 5.2 > gebruikt
        //elseif(!filter_var($email, FILTER_VALIDATE_EMAIL))

        {
            $aFout[] = "Er is geen correct e-mail adres ingevuld.";
            unset($email);
            $fout['text']['email'] = TRUE;
            $fout['input']['email'] = TRUE;
        }

        
        if(empty($aantal_personen))
        {

            $aFout[] = "Het aantal personen is niet ingevuld.";
            unset($aantal_personen);
            $fout['text']['aantal_personen'] = TRUE;
            $fout['input']['aantal_personen'] = TRUE;
        }


        if(empty($samenstelling))
        {

            $aFout[] = "De groepssamenstelling is niet ingevuld.";
            unset($samenstelling);
            $fout['text']['samenstelling'] = TRUE;
            $fout['input']['samenstelling'] = TRUE;
        }


        if($cfg['CAPTCHA'])
        {

            if(strtoupper($code) != $_SESSION['captcha_code'])
            {

                $aFout[] = "Er is geen correcte code ingevuld.";
                $fout['text']['code'] = TRUE;
                $fout['input']['code'] = TRUE;
            }
        }

        if(!$cfg['text'])
        {

            unset($fout['text']);
        }

        if(!$cfg['input'])
        {

            unset($fout['input']);
        }

        if(!empty( $aFout ))
        {

            $errors = '
            <div id="errors">
            <ul>'
;
            foreach($aFout as $sFout)
            {

                $errors .= "    <li>".$sFout."</li>\n";
            }

            $errors .= "</ul>
            </div>"
;
        }

        else
        {
            $formulier = FALSE;
            
##########################        
## html - non-html form ##        
##########################

    
            if($cfg['HTML'])
            {

                // Headers
                $headers = "From: \"Hotel Daytona\" <".$cfg['email'].">\r\n";
                $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
                $headers .= "Return-Path: Mail-Error <".$cfg['email'].">\n";
                $headers .= "MIME-Version: 1.0\n";
                $headers .= "Content-Transfer-Encoding: 8bit\n";
                $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                
                $bericht='
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                <html>
                <head>
                </head>
                <body>
                <br />
                Naam: <b>'
.$naam.'</b><br />
                Email: <b><a href="mailto:'
.$email.'">'.$email.'</a></b><br />
                Datum aankomst:<b> '
.$datum_aankomst.'</b><br />
                Datum vertrek:<b> '
.$datum_vertrek.'</b><br /><br />
                <i>Groep</i><br />
                Aantal personen:<b> '
.$aantal_personen.'</b><br />
                Samenstelling groep:<b> '
.$samenstelling.'</b><br />
                <br />
                <i>Gegevens contactpersoon</i>
                <br />
                Adres:<b> '
.$adres.'</b><br />
                Postcode:<b> '
.$postcode.'</b><br />
                Plaats/Land:<b> '
.$plaats.'</b><br />
                Telefoon:<b> '
.$telefoon.'</b><br /><br />
                <i>Restaurant</i><br />
                Ontbijt:<b> '
.$ontbijt.'</b><br />
                A la carte:<b> '
.$alacarte.'</b><br />
                Dagmenu:<b> '
.$dagmenu.'</b><br />
                Speksteengrillen:<b> '
.$speksteengrillen.'</b><br />
                Speenvarken:<b> '
.$speenvarken.'</b><br />
                BBQ:<b> '
.$BBQ.'</b><br />
                <br />
                Bericht:<br />
                <b>'
.$opmerking.'</b>
                <br />
                <br />
                <br />
                --------------------------------------------------------------------------<br />
                <b>Datum:</b> '
.date("d-m-Y @ H:i:s").'<br />
                <b>IP:</b>'
.$_SERVER['REMOTE_ADDR'].'</a><br />
                <b>Host:</b> '
.gethostbyaddr($_SERVER['REMOTE_ADDR']).'<br />
                </body>
                </html>'
;
            }

                    
            if(mail($cfg['email'], "Hotel Daytona ".$cfg['onderwerp'], $bericht, $headers))
            {

                if(isset($_POST['stuurkopie']))
                {

                    $headers = "From: \"Copy reservering van:\" <".$naam.">\r\n";
                    $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
                    $headers .= "Return-Path: Mail-Error <".$email.">\n";
                    $headers .= "MIME-Version: 1.0\n";
                    $headers .= "Content-Transfer-Encoding: 8bit\n";
                    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
                    
                    mail($email, "Hotel Daytona Dasburg ".$cfg['onderwerp'], $bericht, $headers);
                
                }

                
                unset($naam, $email, $bericht);
                setcookie("formulier", 1, time() + ( $cfg['spam'] * 60 ) );
        
                echo "
                <p>
                Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
                <br />
                Met vriendelijke groeten,<br />
                <b>Jan en Hilly Koelewijn</b><br />
                <b>"
.$cfg['naam']."</b>
                </p>
                "
;    
            }

            else
            {
                echo "Er is een fout opgetreden bij het verzenden van de email";
            }

            ##header("refresh:100;url=".$cfg['url']."");##
        }
    }

    if($formulier)
    {


###################    
## het formulier ##    
###################

    ?>

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <link href="style.css" rel="stylesheet" type="text/css" />
        
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <meta http-equiv="Content-Language" content="nl" />
    </head>
    
    <body>
    <div id="container">  
    <?php
    if(isset($errors)) {
        echo $errors;
    }

    ?>


        <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
        <label <?php if(isset($fout['text']['datum_aankomst'])) { echo 'class="fout"'; } ?>>Datum aankomst:</label>
        <input type="text" id="nieuw" name="datum_aankomst" maxlength="40" <?php if(isset($fout['input']['datum_aankomst'])) { echo 'class="fout'; } ?> value="<?php if (!empty($datum_aankomst)) { echo stripslashes($datum_aankomst); } ?>" size="36"/><br />
        <label <?php if(isset($fout['text']['datum_vertrek'])) { echo 'class="fout"'; } ?>>Datum vertrek:</label>
        <input type="text" id="nieuw" name="datum_vertrek" maxlength="40" <?php if(isset($fout['input']['datum_vertrek'])) { echo 'class="fout'; } ?> value="<?php if (!empty($datum_vertrek)) { echo stripslashes($datum_vertrek); } ?>" size="36"/><br />
<i>Inchecken tussen 16u00u en 18u00, anders even telefonisch melden.</i>
<h4>Contactpersoon</h4>
        <label <?php if(isset($fout['text']['naam'])) { echo 'class="fout"'; } ?>>Naam:</label>
        <input type="text" id="naam" name="naam" maxlength="30" <?php if(isset($fout['input']['naam'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($naam)) { echo stripslashes($naam); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['adres'])) { echo 'class="fout"'; } ?>>Adres:</label>
        <input type="text" id="adres" name="adres" maxlength="30" <?php if(isset($fout['input']['adres'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($adres)) { echo stripslashes($adres); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['postcode'])) { echo 'class="fout"'; } ?>>Postcode:</label>
        <input type="text" id="postcode" name="postcode" maxlength="30" <?php if(isset($fout['input']['postcode'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($postcode)) { echo stripslashes($postcode); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['plaats'])) { echo 'class="fout"'; } ?>>Plaats / Land:</label>
        <input type="text" id="plaats" name="plaats" maxlength="30" <?php if(isset($fout['input']['plaats'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($plaats)) { echo stripslashes($plaats); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['telefoon'])) { echo 'class="fout"'; } ?>>Telefoonnummer:</label>
        <input type="text" id="telefoon" name="telefoon" maxlength="30" <?php if(isset($fout['input']['telefoon'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($telefoon)) { echo stripslashes($telefoon); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['email'])) { echo 'class="fout"'; } ?>>Email:</label>
        <input type="text" id="email" name="email" maxlength="255" <?php if(isset($fout['input']['email'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($email)) { echo stripslashes($email); } ?>"size="36" /><br />
<h4>Groep</h4>
        <label <?php if(isset($fout['text']['aantal_personen'])) { echo 'class="fout"'; } ?>>Aantal personen:</label>
        <input type="text" id="aantal_personen" name="aantal_personen" maxlength="30" <?php if(isset($fout['input']['aantal_personen'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($aantal_personen)) { echo stripslashes($aantal_personen); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['samenstelling'])) { echo 'class="fout"'; } ?>>Samenstelling groep:</label>
        <input type="text" id="samenstelling" name="samenstelling" maxlength="30" <?php if(isset($fout['input']['samenstelling'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($samenstelling)) { echo stripslashes($samenstelling); } ?>"size="36" /><br />
<i>A.u.b. aangeven : m/v - stel/single</i>
<h4>Restaurant</h4>
        <label <?php if(isset($fout['text']['ontbijt'])) { echo 'class="fout"'; } ?>>Ontbijt:</label>
        <input type="text" id="ontbijt" name="ontbijt" maxlength="30" <?php if(isset($fout['input']['ontbijt'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($ontbijt)) { echo stripslashes($ontbijt); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['alacarte'])) { echo 'class="fout"'; } ?>> la carte:</label>
        <input type="text" id="alacarte" name="alacarte" maxlength="30" <?php if(isset($fout['input']['alacarte'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($alacarte)) { echo stripslashes($alacarte); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['dagmenu'])) { echo 'class="fout"'; } ?>>Dagmenu:</label>
        <input type="text" id="dagmenu" name="dagmenu" maxlength="30" <?php if(isset($fout['input']['dagmenu'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($dagmenu)) { echo stripslashes($dagmenu); } ?>"size="36" /><br />
        <label <?php if(isset($fout['text']['speksteengrillen'])) { echo 'class="fout"'; } ?>>Speksteengrillen:<br/>
        (min.4 pers.)</label><input type="text" id="dagmenu" name="speksteengrillen" maxlength="30" <?php if(isset($fout['input']['speksteengrillen'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($speksteengrillen)) { echo stripslashes($speksteengrillen); } ?>"size="36" /><br /><br />
        <label <?php if(isset($fout['text']['speenvarken'])) { echo 'class="fout"'; } ?>>Speenvarken a/h spit:<br /> (min.15 pers.)</label>
        <input type="text" id="speenvarken" name="speenvarken" maxlength="30" <?php if(isset($fout['input']['speenvarken'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($speenvarken)) { echo stripslashes($speenvarken); } ?>"size="36" /><br /><br />
        <label <?php if(isset($fout['text']['BBQ'])) { echo 'class="fout"'; } ?>>B.B.Q.:<br /> (min.4 pers.)</label>
        <input type="text" id="BBQ" name="BBQ" maxlength="30" <?php if(isset($fout['input']['BBQ'])) { echo 'class="fout"'; } ?> value="<?php if (!empty($BBQ)) { echo stripslashes($BBQ); } ?>"size="36" /><br /><br/>
        <i>A.u.b. aangeven: ja / nee of laat veld leeg<br>
        Ook graag hieronder extra aangeven indien iemand een dieet volgt</i>
        <br><br>    
        <label <?php if(isset($fout['text']['opmerking'])) { echo 'class="fout"'; } ?>>Opmerking:</label>
        <textarea id="opmerking" name="opmerking" <?php if(isset($fout['input']['opmerking'])) { echo 'class="fout"'; } ?> cols="35" rows="3"><?php if (!empty($opmerking)) { echo stripslashes($opmerking); } ?></textarea><br /><br />

        <?php
        if($cfg['CAPTCHA'])
        {

        ?>

        <label>Code:</label>
        <img style="margin-left:3px" src="captcha.php" alt="" /><br />
        
        <label <?php if(isset($fout['text']['code'])) { echo 'class="fout"'; } ?>>Vul code in:</label>
        <input type="text" id="code" name="code" maxlength="4" size="4" <?php if(isset($fout['input']['code'])) { echo 'class="captcha fout"'; } ?> /><br />
        <?php
        }
        ?>

        <label for="stuurkopie">Stuur mij een kopie</label><input type="checkbox" id="stuurkopie" name="stuurkopie" value="1" /><br />
        
        <label></label>
        <input type="submit" id="verzenden" name="verzenden" value="Verzenden" />
        <input type="submit" id="wis" name="wis" value="Wis velden" />
        </form>
    </div>
        
</body>  
</html>
    <?php
    }
}

else
{
    echo "
    <p>
    U kunt maar eens in de "
.$cfg['spam']." minuten een e-mail versturen!<br />
    </p>"
;
    ##header("refresh:100;url=".$cfg['url']."");##
}
?>


Edit:
Ik heb code-tags geplaatst. Gelieve deze voortaan zelf toe te voegen via de Afbeelding-knop bij de reactie-pagina, of kijk bij de UBB opmaakcodes bij de Veelgestelde vragen.

Ook wil ik vragen om in het vervolg relavante code te plaatsen, wat niet meer dan ongeveer 20 regels is. Niemand heeft behoefte om 300 regels of langer door te lezen.

Alvast bedankt!
Gewijzigd op 20/09/2021 00:24:34 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

16/09/2021 11:59:29
Quote Anchor link
Graag de relevante code (tot ongeveer 20 regels) tussen codetags. Zie ook het opmaakcodeoverzicht in de Veelgestelde vragen.
 
Ton Peeters

Ton Peeters

16/09/2021 12:00:44
Quote Anchor link
Overigens; bij relaod en opnieuw trachten te versturen wordt deze geblokkeerd omdat er slechts 1 x per 2 minuten een bericht mag worden verzonden.

Toevoeging op 16/09/2021 12:07:43:

...sorry, ik mis de "veelgestelde vragen"...

Toevoeging op 16/09/2021 12:12:21:

- Ariën - op 16/09/2021 11:59:29:
Graag de relevante code (tot ongeveer 20 regels) tussen codetags. Zie ook het opmaakcodeoverzicht in de Veelgestelde vragen.

...sorry, ik kan "veelgestelde vragen"niet vinden, noch"opmaak codeoverzicht"
Hele script telt 386 regels(?)
 
- Ariën  -
Beheerder

- Ariën -

16/09/2021 12:34:55
Quote Anchor link
Onderaan staat de link [ur;=https://www.phphulp.nl/veel-gestelde-vragen/]daarheen[/url]. :-)
Graag de code wat compacter maken tot +/- 20 regel, we willen graag helpen, maar het is erg veel werk voor ons om straks tegen de 400 regels door te spitten.
Gewijzigd op 16/09/2021 13:56:01 door - Ariën -
 
Ivo P

Ivo P

17/09/2021 13:27:23
Quote Anchor link
maak een script genaamd success.php
met als inhoud
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
                <p>
                Uw bericht is succesvol verzonden, er word zo snel mogelijk gereageerd.<br />
                <br />
                Met vriendelijke groeten,<br />
                <b>Jan en Hilly Koelewijn</b><br />
                <b>".$cfg['naam']."</b>
                </p>


En op regel 265 vervang je de gelijkluidende echo door

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php header('Location: success.php', true, 303); ?>


Daarmee voorkom je dat iemand op Refresh kan klikken. (of ja, hij klikt wel op refresh,maar verstuurt dan niet meer opnieuw de formdata.)

Toevoeging op 17/09/2021 13:28:17:

aanvulling: ik zie nog een $cfg in die html staan.
Dat moet je dan nog even oplossen.
 
Ton Peeters

Ton Peeters

20/09/2021 00:08:10
Quote Anchor link
Lieden, bedankt voor jullie input.
Ik heb nu 2 wijzigingen doorgevoerd:
1: vóór start script een stukje wat zou moeten voorkomen dat na refresh het formulier nogmaals verzonden wordt
2: De reactie van hotelier als nieuw php-tje zodat er een "ander"script draait.
"cfg['naam']" simpelweg vervangen door de naam.
Script wordt zondag op maandag ge-upload en dan zullen we week eens afwachten; kijken wat er gebeurd.
 
- Ariën  -
Beheerder

- Ariën -

20/09/2021 00:25:43
Quote Anchor link
Fijn om te horen dat je het script aangepast hebt.
Ik heb je vorige bericht even aangepast met code-tags en wat uitleg. Lees graag even het rode blok onder je bericht.
Gewijzigd op 20/09/2021 00:26:14 door - Ariën -
 
Ton Peeters

Ton Peeters

20/09/2021 00:35:41
Quote Anchor link
Ariën, bedankt voor je moeite én ik heb het blok gelezen.
 



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.