Ik krijg mijn contactformulier niet werkend!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pieter a

Pieter a

29/12/2015 22:19:00
Quote Anchor link
Hey,

Ik ben nog maar net nieuw qua PHP en ik probeer hier wat werkend te krijgen, maar voorlopig zonder succes...

Ik vind geen fout... Iemand die mij hier kan helpen? :)
Als ik alles invul en op Verzenden druk krijg ik enkel mijn error-melding te zien...


Alvast bedankt !

HTML:
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
<form name="reservatie" method="post" action='Vergader.php'>
<table width="415px">
<tr>
     <td valign="top">
     <label for="vergaderachter">Welke ruimte wenst u te reserveren?</label>
     </td>
     <td>
     <input type="checkbox" id="dag" name="vergaderachter" value="Vergaderruimte" />
     <label for="vergaderachter">Vergaderruimte</label>
     <br />
     <input type="checkbox" id="welkeDag" name="vergaderachter" value="Achterruimte" />
     <label for="vergaderachter">Achterruimte</label>
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="volledigeNaam">Volledige naam</label>
     </td>
     <td valign="top">
     <input  type="text" name="volledigeNaam" maxlength="50" size="30"
     placeholder="Plaats hier uw volledige naam.">
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="deTelefoon">Telefoonnummer</label>
     </td>
     <td valign="top">
     <input  type="telephone" name="deTelefoon" maxlength="50" size="30"
     placeholder="Plaats hier uw telefoonnummer.">
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="email">E-mail</label>
     </td>
     <td valign="top">
     <input  type="text" name="email" maxlength="80" size="30"
     placeholder="Plaats hier uw e-mail adres.">
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="welkeDag">Welke dag wenst u te reserveren?</label>
     </td>
     <td>
     <input type="checkbox" id="welkeDag" name="welkeDag" value="Maandag" />
     <label for="welkeDag">Maandag</label>
     <br />
     <input type="checkbox" id="welkeDag" name="welkeDag" value="Dinsdag" />
     <label for="welkeDag">Dinsdag</label>
     <br />
     <input type="checkbox" id="welkeDag" name="welkeDag" value="Woensdag" />
     <label for="welkeDag">Woensdag</label>
     <br />
     <input type="checkbox" id="welkeDag" name="welkeDag" value="Donderdag" />
     <label for="welkeDag">Donderdag</label>
     <br />
     <input type="checkbox" id="welkeDag" name="welkeDag" value="Vrijdag" />
     <label for="welkeDag">Vrijdag</label>
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="uurStart">Vanaf (tijdstip):</label>
     </td>
     <td valign="top">
     <input  type="text" name="uurStart" maxlength="30" size="30"
     placeholder="Plaats hier het startuur voor uw reservatie.">
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="uurStop">Tot (tijdstip):</label>
     </td>
     <td valign="top">
     <input  type="text" name="uurStop" maxlength="30" size="30"
     placeholder="Plaats hier het startuur voor uw reservatie.">
     </td>
</tr>
<tr>
     <td valign="top">
     <label for="nogPersonen">Hoeveel personen?</label>
     </td>
     <td valign="top">
     <input  type="text" name="nogPersonen" maxlength="30" size="30"
     placeholder="Plaats hier het aantal verwachte personen.">
     </td>
</tr>
<tr>
 <td valign="top">
  <label for="lunchOntbijt">Ontbijt of lunch?</label>
 </td>
 <td valign="top">
  <input type="checkbox" id="lunchOntbijt" name="lunchOntbijt" value="Ontbijt" />
     <label for="lunchOntbijt">Ontbijt</label>
     <br />
     <input type="checkbox" id="lunchOntbijt" name="lunchOntbijt" value="Lunch" />
     <label for="lunchOntbijt">Lunch</label>
 </td>
</tr>
<tr>
 <td valign="top"><div class="borderLine"></div>
  <label for="Als">indien lunch:</label>
 </td>
 <td valign="top"><div class="borderLine"></div>
  <input type="checkbox" id="AlsBrood" name="Als" value="Wit Brood" />
     <label for="Als">Wit brood</label>
     <br />
     <input type="checkbox" id="AlsBrood" name="Als" value="Bruin Brood" />
     <label for="Als">Bruin brood</label>
     <br />
     <div class="borderLine"></div>
     <input type="checkbox" id="AlsExtra" name="Als" value="Kaas" />
     <label for="Als2">Kaas</label>
     <br />
     <input type="checkbox" id="AlsExtra" name="Als2" value="Prosciutto" />
     <label for="Als2">Prosciutto (Italiaanse ham)</label>
     <br />
     <input type="checkbox" id="AlsExtra" name="Als2" value="Tonijn" />
     <label for="Als2">Tonijn</label>
 </td>
</tr>
<tr>
     <td valign="top">
     <label for="commentaar">Bijkomende informatie:</label>
     </td>
     <td valign="top">
     <input  type="text" name="commentaar" maxlength="300" size="30"
     placeholder="Plaats hier extra informatie. (max. 300 tekens.)"/>
     </td>
</tr>
<tr>
 <td colspan="2" style="text-align:center">
  <input type="submit" value="Verzenden"/>
  <input type="reset" value="Opnieuw"/>
 </td>
</tr>
</table>
</form>


Mijn PHP:
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
<style>
#ThankYou{
    width:100%;
    height:auto;
    text-align:center;
}
</style>

<?php
if(isset($_POST['email'])) {
    
    // CHANGE THE TWO LINES BELOW
    $recipients = array(
  "[email protected]",
  // more emails
);
$email_to = implode(',', $recipients); // your email address
$email_subject = "Reservatie Du Bouquille"; // email subject line
    
    
    function died($error) {
        // your error code can go here
        echo "Verzenden mislukt. Controleer of alle gegevens correct zijn ingevuld.<br /><br />";
        echo $error."<br /><br />";
        die();
    }

    
    // validation expected data exists
    if(!isset($_POST['volledigeNaam']) ||
        !
isset($_POST['vergaderachter']) ||
        !
isset($_POST['deTelefoon']) ||
        !
isset($_POST['deEmail']) ||
        !
isset($_POST['welkeDag']) ||
        !
isset($_POST['welkUur']) ||
        !
isset($_POST['nogPersonen']) ||
        !
isset($_POST['lunchOntbijt']) ||
        !
isset($_POST['Als']) ||
        !
isset($_POST['Als2']) ||
        !
isset($_POST['meenemen']) ||
        !
isset($_POST['commentaar'])) {
            
        died('Onze excuses, er blijkt een probleem te zijn met het formulier.');        
    }

    
    $volledigeNaam = $_POST['volledigeNaam']; // required
    $vergaderachter = $_POST['vergaderachter']; // required
    $deTelefoon = $_POST['deTelefoon']; // not required
    $email_from = $_POST['email']; // required
    $welkeDag = $_POST['welkeDag']; // required
    $welkUur = $_POST['welkUur']; // required
    $nogPersonen = $_POST['nogPersonen']; // required
    $lunchOntbijt = $_POST['lunchOntbijt']; // required
    $Als = $_POST['Als']; // required
    $Als2 = $_POST['Als2']; // required
    $meenemen = $_POST['meenemen']; // required
    $commentaar = $_POST['commentaar']; // required
    
    $error_message = "";
    $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
  if(!preg_match($email_exp,$email_from)) {
      $error_message .= 'Het e-mail adres die u heeft ingegeven is niet geldig.<br />';
  }

    $string_exp = "/^[A-Za-z .'-]+$/";
  if(!preg_match($string_exp,$volledigeNaam)) {
      $error_message .= 'De naam die u heeft ingegeven is niet geldig.<br />';
  }

  if(strlen($welkeDag) < 1) {
      $error_message .= 'U heeft geen dag aangeduid.<br />';
  }

  if(strlen($lunchOntbijt) < 1) {
      $error_message .= 'U heeft geen keuze tussen Ontbijt & lunch aangeduid.<br />';
  }

  if(strlen($meenemen) < 1) {
      $error_message .= 'U heeft geen keuze tussen Take away & ter plaatse aangeduid.<br />';
  }
  
  if(strlen($commentaar) < 2) {
      $error_message .= 'De commentaar die u heeft ingegeven is niet geldig.<br />';
  }

  if(strlen($error_message) > 0) {
      died($error_message);
  }

    $email_message = "Onderstaande gegevens werden verzameld en doorgegeven:\n\n";
    
    function
clean_string($string) {
      $bad = array("content-type","bcc:","to:","cc:","href");
      return str_replace($bad,"",$string);
    }

    
    $email_message .= "Vergader- of achterruimte: ".clean_string($vergaderachter)."\n";
    $email_message .= "Volledige naam: ".clean_string($volledigeNaam)."\n";
    $email_message .= "deTelefoon: ".clean_string($deTelefoon)."\n";
    $email_message .= "E-mail: ".clean_string($email_from)."\n";
    $email_message .= "Dag: ".clean_string($welkeDag)."\n";
    $email_message .= "welkUur: ".clean_string($welkUur)."\n";
    $email_message .= "Aantal personen: ".clean_string($nogPersonen)."\n";
    $email_message .= "Ontbijt of lunch: ".clean_string($lunchOntbijt)."\n";
    $email_message .= "Als: ".clean_string($Als)."\n";
    $email_message .= "Extra: ".clean_string($Als2)."\n";
    $email_message .= "Meenemen of ter plaatse: ".clean_string($meenemen)."\n";
    $email_message .= "Comments: ".clean_string($commentaar)."\n";
    
    
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@
mail($email_to, $email_subject, $email_message, $headers);  
?>


<!-- place your own success html below -->
<div id="ThankYou">
Hartelijk bedankt voor uw aanvraag.<br />
U ontvangt nog een bevestigingsmail.
</div>

<?php
}
die();
?>
Gewijzigd op 29/12/2015 22:37:41 door Pieter a
 
PHP hulp

PHP hulp

15/01/2025 00:04:16
 
- Ariën  -
Beheerder

- Ariën -

29/12/2015 22:29:30
Quote Anchor link
We hebben ook [code] en [/code]-tags waar je je code tussen kan plaatsen. Ook is het niet aan te raden om je mailadres open en bloot te plaatsen vanwege spam.

Verder zijn we benieuwd wat er gebeurd. Over welke error melding hebben we het?

Kijk ook eens naar je mail-headers:
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
 
Pieter a

Pieter a

29/12/2015 22:35:22
Quote Anchor link
Ah, die code-tags had ik er niet bij zien staan, ik zal het voortaan gebruiken.

Wat er gebeurt, is dat als ik dus op "Verzenden" druk, ik enkel de echo op lijn 23 en 42 uit de php te zien krijg.
Gewijzigd op 29/12/2015 22:39:23 door Pieter a
 
- Ariën  -
Beheerder

- Ariën -

29/12/2015 22:43:35
Quote Anchor link
Blijkbaar mis je een $_POST waarde uit je formulier.

Bekijk maar eens met deze code op de plek van je foutmelding.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "<pre>".print_r($_POST,1)."</pre>";
?>
 
Pieter a

Pieter a

29/12/2015 22:49:09
Quote Anchor link
Wel, ik heb de lijnen daarmee vervangen en ik krijg dit...

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
Array
(
    [vergaderachter] => Vergaderruimte
    [volledigeNaam] => Al Bundy
    [deTelefoon] => 00
    [email] => [email protected]
    [welkeDag] => Woensdag
    [uurStart] => 11.45
    [uurStop] => 13.00
    [nogPersonen] => 3
    [lunchOntbijt] => Lunch
    [Als] => Kaas
    [commentaar] => voorbeeld
)

Onze excuses, er blijkt een probleem te zijn met het formulier.
 
- Ariën  -
Beheerder

- Ariën -

29/12/2015 22:53:15
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
if(!isset($_POST['volledigeNaam']) ||
        !isset($_POST['vergaderachter']) ||
        !isset($_POST['deTelefoon']) ||
        !isset($_POST['deEmail']) ||
        !isset($_POST['welkeDag']) ||
        !isset($_POST['welkUur']) ||
        !isset($_POST['nogPersonen']) ||
        !isset($_POST['lunchOntbijt']) ||
        !isset($_POST['Als']) ||
        !isset($_POST['Als2']) ||
        !isset($_POST['meenemen']) ||
        !isset($_POST['commentaar'])) {

Ze lopen niet gelijk. Als2 mist als formulier-element in je array. Hier moet [] achter staan in je HTML name-attribuut, omdat je meerdere keuzes onder één value op wilt slaan, en dus een array wilt hebben.
Gewijzigd op 29/12/2015 22:55:06 door - Ariën -
 
- SanThe -

- SanThe -

29/12/2015 23:36:18
Quote Anchor link
2 keer dezelfde name => werkt niet.
<input type="checkbox" id="dag" name="vergaderachter"
<input type="checkbox" id="welkeDag" name="vergaderachter"

5 keer hetzelfde id => werkt niet.
5 keer dezelfde name => werkt niet.
<input type="checkbox" id="welkeDag" name="welkeDag" value="Maandag" />
<input type="checkbox" id="welkeDag" name="welkeDag" value="Dinsdag" />
<input type="checkbox" id="welkeDag" name="welkeDag" value="Woensdag" />
<input type="checkbox" id="welkeDag" name="welkeDag" value="Donderdag" />
<input type="checkbox" id="welkeDag" name="welkeDag" value="Vrijdag" />

2 keer hetzelfde id => werkt niet.
2 keer dezelfde name => werkt niet.
<input type="checkbox" id="lunchOntbijt" name="lunchOntbijt" value="Ontbijt" />
<input type="checkbox" id="lunchOntbijt" name="lunchOntbijt" value="Lunch" />

2 keer hetzelfde id => werkt niet.
3 keer dezelfde name => werkt niet.
3 keer hetzelfde id => werkt niet.
2 keer dezelfde name => werkt niet.
<input type="checkbox" id="AlsBrood" name="Als" value="Wit Brood" />
<input type="checkbox" id="AlsBrood" name="Als" value="Bruin Brood" />
<input type="checkbox" id="AlsExtra" name="Als" value="Kaas" />
<input type="checkbox" id="AlsExtra" name="Als2" value="Prosciutto" />
<input type="checkbox" id="AlsExtra" name="Als2" value="Tonijn" />
 
Pieter a

Pieter a

29/12/2015 23:41:21
Quote Anchor link
Hoe moeten de $email_message .= "Volledige naam: ".clean_string($volledigeNaam)."\n"; 's dan weten waaruit iets gekozen wordt ?
 
- SanThe -

- SanThe -

29/12/2015 23:43:37
Quote Anchor link
type="checkbox"

Kijk eens naar type="radio"
 
- Ariën  -
Beheerder

- Ariën -

29/12/2015 23:45:17
Quote Anchor link
Die wordt gewoon gebruikt hoor, dus daar hoef je niet naar te kijken.
Als je twee keer dezelfde name hebt, zoals bij Als, en Als2 (rare benamingen trouwens), lunchOntbijt, welkeDag en vergaderachter. Dan moet je daar een array van maken. Dit kan door er een [] acher te zetten in de HTML:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<input type="checkbox" id="AlsBrood" name="Als[]" value="Wit Brood" />
<input type="checkbox" id="AlsBrood" name="Als[]" value="Bruin Brood" />
<input type="checkbox" id="AlsExtra" name="Als[]" value="Kaas" />

Dan heb je in: $_POST['Als'][] de nodige data staan die aangevinkt is.
Bedenk wel of er één of meerdere keuzes mogen worden gemaakt.
Meerdere keuzes: Checkbox
Enkele keuze: Radio
Gewijzigd op 29/12/2015 23:46:14 door - Ariën -
 



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.