inlog en registratie systeem php

Overzicht

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5 volgende »

- Pepijn  -

- Pepijn -

10/07/2013 11:41:47
Anchor link
- Aar - op 09/07/2013 19:22:10:
Ik snap eigenlijk het nut van die fouten() functie niet?
Je kan toch net zo makkelijk gewoon bij elke foutmelding iets als dit plaatsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// voorbeeld foutmelding...
$fout[] = "Gebruikersnaam moet minimaal 3 karakters bevatten.";
?>


En dan aan het einde een count() doen, en als deze > 0 een foreach laten tonen?
Functies zijn leuk als iets steeds herhaald, wordt, maar in dit geval wordt het maar 1 keer gebruikt in het script.

Misschien een leuke tip voor Melissa. Op de functiesnamen in een php-blok op het forum kan je ook klikken, dan wordt je doorverwezen naar de handleiding ervan op php.net waar ziet hoe de functie werkt, hoe deze opgebouwd moet worden en wat deze voor input nodig heeft (denk aan variabelen, array's etc..).

Al blijf ik erbij dat de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "Hallo world" ;?>
de eerste beste stap zal zijn.
Maar daar ga ik niet meer verder over uitwijden.


Zo doe ik mijn foutmeldingen ook.
 
PHP hulp

PHP hulp

25/11/2024 02:36:19
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 11:43:07
Anchor link
wat doet de get magic sql?

Toevoeging op 10/07/2013 11:44:47:

Pepijn --- op 10/07/2013 11:41:47:
- Aar - op 09/07/2013 19:22:10:
Ik snap eigenlijk het nut van die fouten() functie niet?
Je kan toch net zo makkelijk gewoon bij elke foutmelding iets als dit plaatsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// voorbeeld foutmelding...
$fout[] = "Gebruikersnaam moet minimaal 3 karakters bevatten.";
?>




En dan aan het einde een count() doen, en als deze > 0 een foreach laten tonen?
Functies zijn leuk als iets steeds herhaald, wordt, maar in dit geval wordt het maar 1 keer gebruikt in het script.

Misschien een leuke tip voor Melissa. Op de functiesnamen in een php-blok op het forum kan je ook klikken, dan wordt je doorverwezen naar de handleiding ervan op php.net waar ziet hoe de functie werkt, hoe deze opgebouwd moet worden en wat deze voor input nodig heeft (denk aan variabelen, array's etc..).

Al blijf ik erbij dat de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "Hallo world" ;?>
de eerste beste stap zal zijn.
Maar daar ga ik niet meer verder over uitwijden.


Zo doe ik mijn foutmeldingen ook.


hoe bedoel je met count?
 
DavY -

DavY -

10/07/2013 12:05:04
Anchor link
- Aar - op 09/07/2013 19:22:10:
Ik snap eigenlijk het nut van die fouten() functie niet?
Je kan toch net zo makkelijk gewoon bij elke foutmelding iets als dit plaatsen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// voorbeeld foutmelding...
$fout[] = "Gebruikersnaam moet minimaal 3 karakters bevatten.";
?>


En dan aan het einde een count() doen, en als deze > 0 een foreach laten tonen?
Functies zijn leuk als iets steeds herhaald, wordt, maar in dit geval wordt het maar 1 keer gebruikt in het script.

Misschien een leuke tip voor Melissa. Op de functiesnamen in een php-blok op het forum kan je ook klikken, dan wordt je doorverwezen naar de handleiding ervan op php.net waar ziet hoe de functie werkt, hoe deze opgebouwd moet worden en wat deze voor input nodig heeft (denk aan variabelen, array's etc..).

Al blijf ik erbij dat de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "Hallo world" ;?>
de eerste beste stap zal zijn.
Maar daar ga ik niet meer verder over uitwijden.


Aar, je hebt eigenlijk ook gelijk, dat je 'foreach' ook kan gebruiken hierin. Het staat je dan ook vrij om het script te verbeteren. Ook ben ik het eens met je dat het beter is voor Melissa om met echo te gaan beginnen, want zo te merken heeft ze niet veel kennis van php.
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 12:07:04
Anchor link
je bedoeld dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// voorbeeld foutmelding...
$fout[] = "Gebruikersnaam moet minimaal 3 karakters bevatten.";
if (count($fout) > 0)
   {
  
     foreach($fout as $value)
     {

          echo $value . '<br/>';
    }
  }

?>



maar mijn vraag was: wat doet dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Naampaard']);
}
 
DavY -

DavY -

10/07/2013 12:08:11
Anchor link
Melissa Heijligers op 09/07/2013 19:41:11:
dankje DavyBlaat

Toevoeging op 10/07/2013 10:16:29:

onder fouten($fout);

hoort toch niks meer of moet dit eronder:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
if (count($fout) > 0)
   {  
     foreach($fout as $value)
     {
          echo $value . '<br/>';
    }
  }  


Nee, dat is niet nodig, want je hebt immers al een function voor afhandelingen van fouten, maar melissa, ik denk dat je beter eerst phptuts.nl kan beginnen voor je een stap verder gaat, zoals een registratie script.


Toevoeging op 10/07/2013 12:10:58:

Melissa Heijligers op 10/07/2013 12:07:04:
je bedoeld dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// voorbeeld foutmelding...
$fout[] = "Gebruikersnaam moet minimaal 3 karakters bevatten.";
if (count($fout) > 0)
   {
  
     foreach($fout as $value)
     {

          echo $value . '<br/>';
    }
  }

?>



maar mijn vraag was: wat doet dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Naampaard']);
}


Hier kun je lezen en uitproberen wat get_magic_quotes_gpc doet: http://www.tizag.com/phpT/php-magic-quotes.php
 
Obelix Idefix

Obelix Idefix

10/07/2013 12:42:38
Anchor link
@Davy:
Waarom in je post van 09/07/2013 16:53:01 (Toevoeging op 09/07/2013 17:27:16:)
Op regel 18 een variabele aanmaken? Je controleert niet eens of die $_POST wel bestaat.
Op regel 32 maak je nog een variabele aan, gebaseerd op dezelfde $_POST als regel 18. Je maakt dus 2x een variabele aan, terwijl je gewoon met $_POST kunt werken. Zo weet je later toch nooit meer welke variabele waar vandaan komt?
In een query zou ik, bij gebruikersinput, altijd gebruik maken van beveiliging (mysql(i)_real_escape_string).
Or die is geen foutafhandeling. Zorg voor een nette manier.
Op regel 42 gebruik je mysql_real_escape_string buiten de query. Dat is niet gebruikelijk. Waarom daarna nog een keer strip_tags? En waarom nu weer terug naar de aangemaakte variabele van regel 18?
Doorgaans wordt aangeraden om variabelen buiten quotes te houden in een query.
In een live-omgeving wil je nooit de foutmelding tonen (regel 46). Kwaadwillenden zouden daarmee hun voordeel kunnen doen. Wederom: zorg voor nette foutafhandeling.
Op regel 8 houdt je de variabele buiten quotes, op regel 37 binnen quotes.
Ook op regel 48: waarom variabele met quotes er om heen?
Op regel 50 heb je ineens $gebruikersnaam, moet dat niet $Gebruikersnaam zijn (of eigenlijk strip_tags($_POST['gebruikersnaam'])?
Grote kans dat je headers incompleet zijn (http://phpwiki.santhe.nl/index.php/De_juiste_mailheaders). Gebruik voor mail een class als swiftmailer of phpmailer.

offtopic: waarom quoten mensen hele teksten om maar op 1 regel te reageren?
Gewijzigd op 10/07/2013 12:43:00 door Obelix Idefix
 
Ozzie PHP

Ozzie PHP

10/07/2013 12:59:42
Anchor link
Offtopic:

Obelix en Idefix op 10/07/2013 12:42:38:
offtopic: waarom quoten mensen hele teksten om maar op 1 regel te reageren?

Goede vraag... omdat de meesten van hun beginnelingen zijn en niet weten hoe je de tekst binnen een quote moet verwijderen. Gezien de code wordt er ook maar een beetje wat aangeklooid. De topicstarter heeft nog geen PHP basiskennis en daarom zie je dat ze van alles vraagt en zomaar alles klakkeloos van anderen aanneemt. Inclusief alle fouten. Ze wil van alles weten (op zich niks mis mee), maar is niet bereid om eerst zelf wat PHP basiskennis op te doen. Vroeg of laat gaat het dus gewoon mis met haar site. Maar goed, daar is ze al heeeeel vaak op aangesproken.
 
- Ariën  -
Beheerder

- Ariën -

10/07/2013 13:45:32
Anchor link
Beste Melissa.

Ik snap dat je geïnteresseerd ben in PHP, ook al ben je iets te vingervlug bezig in mijn ogen.
Maar wat houdt je tegen om zelf ook eens wat research te doen?

Je vroeg zojuist wat addslashes() en get_magic_quotes_gpc() doen. Ik kan je vertellen dat je dit op php.net heel makkelijk op kan zoeken:
http://php.net/get_magic_quotes_gpc
http://php.net/addslashes
Je kan ook andere functienamen gebruiken in plaats van deze.....

Het verstandigste is natuurlijk om bij de basis van PHP te beginnen, omdat de wereld van PHP heel breed is, en veel gevaren en complexiteit kent bij het bouwen van een applicatie.
Gewijzigd op 10/07/2013 13:50:53 door - Ariën -
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 14:16:03
Anchor link
dankje :)

Toevoeging op 10/07/2013 14:31:16:

is dit goed?

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
function fouten($fout){
if (!empty($fout))
   {  
    $i = 0;
     while ($i < count($fout)){
          echo "<p><span class='fout'>".$fout[$i]."</span></p>";
          $i++;}
}
}


if ($_SERVER['REQUEST_METHOD']=="POST")
{
    
$Gebruikersnaam = trim($_POST['Gebruikersnaam']);    
    
if (strlen($Gebruikersnaam) < 3) {
 $fout[] = 'Gebruikersnaam moet minimaal 3 karakters bevatten.';
}

if (strlen($Gebruikersnaam) >30) {
    $fout[] = 'Gebruikersnaam moet maximaal 30 karakters bevatten.';
}    

if (!get_magic_quotes_gpc()) {
    $_POST[] = addslashes($_POST['Gebruikersnaam']);
}

$ControleerGebruiker = $_POST['Gebruikersnaam'];
$Controleer = mysql_query("SELECT gebruikersnaam FROM gebruikers WHERE gerbuikersnaam='$ControleerGebruiker'")or die (mysql_error());
$Controleer2 = mysql_num_rows($Controleer);

if ($Controleer2 != 0) {
    $fout[] = "Sorry, de gebruikersnaam <strong>'.$_POST['Gebruikersnaam'].'</strong> is al in gebruik.";
}

if (!$fout ) {
    
$Gebruikersnaam = mysql_real_escape_string($Gebruikersnaam);
$Gebruikersnaam = strip_tags($Gebruikersnaam);
}



$Stalnaam = trim($_POST['Stalnaam']);

if (strlen($Stalnaam) <3) {
    $fout[] = 'Stalnaam moet minimaal 3 karakters bevatten.';
}

if(strlen($Stalnaam) >40) {
    $fout[] = 'Stalnaam moet maximaal 40 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Stalnaam']);
}

$ControleerStalnaam = $_POST['Stalnaam'];
$Controleer = mysql_query("SELECT stalnaam FROM stalnamen WHERE stalnaam='$ControleerStalnaam'")or die (mysql_error());
$Controleer2 = mysql_num_rows($Controleer);

if ($Controleer2 != 0) {
    $fout[] = "Sorry, de stalnaam <strong>'.$_POST['Stalnaam'].'</strong> is al in gebruik.";
}

if (!$fout ) {
 
$Stalnaam = mysql_real_escape_string($Stalnaam);
$Stalnaam = strip_tags($Stalnaam);     
}



$Naampaard = trim($_POST['Naampaard']);

if (strlen($Naampaard)) <1) {
    $fout[] = 'Naam paard moet minimaal 1 karakter bevatten.';
}

if(strlen($Naampaard) >35) {
    $fout[] = 'Naam paard moet maximaal 35 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Naampaard']);
}

$ControleerPaardnaam = $_POST['Paardnaam'];
$Controleer = mysql_query("SELECT paardnaam FROM paardennamen WHERE paardnaam='$ControleerPaardnaam'")or die (mysql_error());

if (!fout ) {
    
$Paardnaam = mysql_real_escape_string($Paardnaam);
$Paardnaam = strip_tags($Paardnaam);
}






$Uitvoeren = "INSERT INTO gebruikers (gebruikersnaam, stalnaam, naampaard, ras, geslacht, wachtwoord, email) VALUES ('$Gebruikersnaam', '$Stalnaam', '$Naampaard', '$Ras', '$Geslacht', '$Wachtwoord', '$Email')";
$Resultaat1 = mysql_query($Uitvoeren) or die('Er is een fout opgetreden: ' . mysql_error());

$Naar = "$Email";
$Onderwerp = "Je hebt met succes op Horselife.net84.net geregistreerd!";
$Emailveld = "Hallo $Gebruikersnaam, Welkom bij Horselife.net84.net en heel veel plezier met het spel! Hier zijn je gegevens: gebruikersnaam: $Gebruikersnaam, Stalnaam: $Stalnaam en wachtwoord: $Wachtwoord";
$ExtraHeaders = "Van: <[email protected]>";
$ExtraHeaders .= "Antwoorden: [email protected]";
if(mail($Naar, $Onderwerp, $Emailveld, $ExtraHeaders)){}
}
}

fouten($fout);
 
Obelix Idefix

Obelix Idefix

10/07/2013 15:50:22
Anchor link
Lees je reacties wel?
Je code is niet goed, zie mijn reactie/opmerkingen van 10/07/2013 12:42:38

Tip: Spring je code goed/beter in. Heb jij bijvoorbeeld enig idee wel { hoort bij regel 112 en 113?

Tip: Gebruik geen mysql meer maar stap over op mysqli. Mysql is 'deprecated'.

Doorgaans echo je volgens mij niet in een functie, maar geeft een functie gegevens (in een variabele) of TRUE/FALSE terug.
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 16:09:03
Anchor link
Toevoeging op 10/07/2013 16:11:12:

mysqli moet hetzelfde als mysql ingevoerd..?

hoe bedoel je met true false?
dan zegt ie toch niks?
Gewijzigd op 10/07/2013 16:11:25 door Melissa Heijligers
 
Obelix Idefix

Obelix Idefix

10/07/2013 16:15:01
Anchor link
Het is je al vaker gezegd: begin bij het begin.

Als je zegt dat je al heel veel hebt geleerd, dan zou je het verschil tussen mysql en mysqli moeten weten.

Misschien nog maar eens verdiepen in functies.

Google kan je op je eigen vragen prima van een antwoord voorzien.
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 16:16:05
Anchor link
maar het kan toch ook met mysql?
mij gaat het er alleen om dat het gewoon doet wat het moet doen..
 
Obelix Idefix

Obelix Idefix

10/07/2013 16:28:36
Anchor link
Melissa Heijligers op 10/07/2013 16:16:05:
maar het kan toch ook met mysql?
mij gaat het er alleen om dat het gewoon doet wat het moet doen..

Heb je al gekeken wat het verschil is tussen mysql en mysqli? Dan weet je ook waarom ik je daarop heb gewezen.

Beveiliging, etc. boeit je kennelijk ook niet. Als het maar werkt.

Ik ga definitief geen tijd meer aan besteden aan jouw topics. Je doet toch niets met de opmerkingen, adviezen en tips. Kortom: zinloos.
Gewijzigd op 10/07/2013 16:29:56 door Obelix Idefix
 
- Ariën  -
Beheerder

- Ariën -

10/07/2013 16:42:50
Anchor link
Beste Melissa, je hebt dit topic gestart om reacties en tips van anderen te krijgen. Echter doe je er niks mee.

Ik wil dit topic nog één mogelijke kans geven en je vragen om iets met de gegeven adviezen en tips te doen. Anders had je net zo goed geen topic kunnen starten in mijn ogen.

Als dit topic weer op hetzelfde verhaal uitloopt, dan gaat het gewoon weer op slot.
Gewijzigd op 10/07/2013 16:48:22 door - Ariën -
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 16:48:27
Anchor link
dus ik moet mysql vervangen door mysqli? ja toch?
 
- Ariën  -
Beheerder

- Ariën -

10/07/2013 17:01:40
Anchor link
Ja, en alleen vervangen is vaak niet alleen voldoende.
Zie daarvoor de beschrijving van de mysql, en de mysqli functies op php.net

Bijv. mysql_query v.s. mysqli_query
Gewijzigd op 10/07/2013 17:02:50 door - Ariën -
 
Ozzie PHP

Ozzie PHP

10/07/2013 17:04:05
Anchor link
Lieve Melissa,

Laat ik beginnen te zeggen dat het heel bewonderenswaardig is dat je zo je best doet om je eigen website te bouwen. Je bent super gemotiveerd en dat is hartstikke goed. Je moet alleen begrijpen dat het een aantal jaar ervaring kost om een goede website te kunnen bouwen. Die ervaring heb jij helaas nog niet.

Je gaat een heleboel dingen vragen, die je zelf zou kunnen weten als je de tijd neemt om wat basiskennis van PHP te leren. Omdat jij dat echter niet doet, geraak je keer op keer in de problemen en verwacht je van ons dat wij die problemen gaan oplossen. Zolang jij echter zelf geen moeite doet om wat basiskennis te leren, is het voor ons heel frustrerend en vervelend om jou te helpen. Iedereen die jou hier probeert te helpen doet dat op vrijwillige basis. Niemand krijgt daar iets voor betaald. Ik zal je uitleggen wat dat betekent. Dat betekent dat mensen hier GRATIS tijd en moeite in jou investeren. Als jij dan vervolgens niks met die adviezen doet, en als jij niet zelf bereid bent om tijd te investeren, dan betekent dat dat alle tijd en moeite van één kant komt. Namelijk de onze. Terwijl het JOUW website is! Ik hoop dat jij zelf ook begrijpt dat dat eigenlijk niet klopt.

Je mag van mij best doorgaan op de manier zoals je dat nu doet, maar ik zal je vertellen dat de kans dan groot is dat dit topic wordt gesloten. En aangezien dit dan het zoveelste topic is dat wordt gesloten, bestaat de kans dat je van het forum wordt geblokkeerd. Dat houdt in dat je hier nooit meer een vraag kan stellen.

Misschien moet je dus even goed nadenken wat je nou precies wilt. Doorgaan en niks van ons aannemen, met het risico dat je straks hier helemaal niet meer terecht kunt, of toch zelf maar eens wat basiskennis gaan leren? De keus is helemaal aan jou, dus je mag zelf kiezen.

Daarnaast wil ik ook nog even zeggen dat veel van ons al jarenlang programmeren. Jij bent nog maar net begonnen. Daar is niks mis mee, maar ik wil alleen maar zeggen dat wij echt heel goed weten waar we over praten.

Ik hoop dat je iets met mijn advies doet, want anders zou het zomaar kunnen zijn dat je straks helemaal niet meer op dit forum terecht zou kunnen, en dat zou toch jammer zijn vind je ook niet?

De keuze is nu aan jou. Ik zou beginnen met het kopen van een PHP boek en eerst eens wat basiskennis opdoen. Besluit je toch om je eigen weg te volgen. Prima! Maar besef je dan goed dat dit forum misschien voor altijd ontoegankelijk voor je wordt. Veel succes met je keuze!
Gewijzigd op 10/07/2013 17:08:25 door Ozzie PHP
 
Obelix Idefix

Obelix Idefix

10/07/2013 17:14:07
Anchor link
Ozzie PHP op 10/07/2013 17:04:05:
Ik zou beginnen met het kopen van een PHP boek

Je advies is goed bedoelt, maar als ik PHP zou gaan leren uit een boek is de kans vrij groot dat het verkeerd wordt uitgelegd / aangeleerd. In bijna geen enkel boek wordt beveiliging en goede foutafhandeling uitgelegd, gebruikt men * in query's en wordt mysql uitgelegd ipv mysqli. :-(
Gewijzigd op 10/07/2013 17:14:38 door Obelix Idefix
 
Melissa Heijligers

Melissa Heijligers

10/07/2013 17:18:11
Anchor link
sorry, maar 1 vraagje..hoe maak ik mail en wachtwoord net als het bovenste?

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
$Geslacht = trim($_POST['Geslacht']);

if (strlen($Geslacht) <3) {
    $fout[] = 'Geslacht moet minimaal 3 karakters bevatten.';
}

if(strlen($Geslacht) >7) {
    $fout[] = 'Geslacht moet maximaal 7 karakters bevatten.';
}

if(!get_magic_quotes_gpc()) {
    $_POST[] addslashes($_POST['Geslacht']);
}

$ControleerGeslacht = $_POST['Geslacht'];
$Controleer = mysql_query("SELECT geslacht FROM geslachten WHERE geslacht='$ControleerGeslacht'")or die (mysql_error());

if (!fout ) {
    
$Geslacht = mysql_real_escape_string($Geslacht);
$Geslacht = strip_tags($Geslacht);
}



  if(empty($_POST['wachtwoord'])) {
        $fout[]    = 'Er is geen wachtwoord opgegeven.';
    } elseif($_POST['wachtwoord'] != $_POST['wachtwoord_herh']) {
        $fout[] = 'De wachtwoorden komen niet overeen.';
    }


  
    if(!is_email($_POST['email'])) {
        $fout[] = 'Er is geen geldig e-mailadres opgegeven.';
    } elseif(geregistreerd($_POST['email'], 'email')) {
        $fout[] = 'Dit e-mailadres is reeds geregistreerd.';
    }


Toevoeging op 10/07/2013 17:18:30:

- Aar - op 10/07/2013 17:01:40:
Ja, en alleen vervangen is vaak niet alleen voldoende.
Zie daarvoor de beschrijving van de mysql, en de mysqli functies op php.net

Bijv. mysql_query v.s. mysqli_query


dankje
 

Pagina: « vorige 1 2 3 4 5 volgende »

 

Dit topic is gesloten.



Overzicht

 
 

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.