Ik heb verschillende stappen nodig in 1 PHP form pagina. Ik heb dit allemaal gecodeerd en geef variabelen door d.m.v. de hidden tag. Toch loopt er iets mis in de laatste stap, de formulierelementen die daar ingevuld moeten worden verschijnen niet in de automatische mail die verzonden wordt.
Ik zoek dus naar een oplossing voor de volgende situatie :
- gebruiker geeft op het formulier enkele velden in
- gebruiker klikt op volgende
- velden van de vorige stap worden bijgehouden in het script en gebruiker moet extra velden invullen
- gebruiker klikt op bevestig
- alle velden die de gebruiker in beide stappen heeft ingevuld verschijnen in de automatische mail die verzonden wordt
Hieronder de code of heeft er iemand een betere oplossing (zonder database, cookies of sessies liefst)
Ik zoek dus naar een oplossing voor de volgende situatie :
- gebruiker geeft op het formulier enkele velden in
- gebruiker klikt op volgende
- velden van de vorige stap worden bijgehouden in het script en gebruiker moet extra velden invullen
- gebruiker klikt op bevestig
- alle velden die de gebruiker in beide stappen heeft ingevuld verschijnen in de automatische mail die verzonden wordt
Hieronder de code of heeft er iemand een betere oplossing (zonder database, cookies of sessies liefst)
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
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
| if (!isset($submit) && !(noform_var)) { echo "<h2>Reservatieformulier</h2>"; echo "<br>"; } // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !checkmail($_POST['mail'])) ) { if ($_POST['submit'] && (!$_POST['naam'] || !checkmail($_POST['mail']))) { echo "Je bent gegevens vergeten in te vullen. Ook kan het zijn "; echo "dat je een verkeerd emailadres hebt ingevuld.<p>"; } if(!$_POST['bevestig']) { // stap1 // form + tabel echo "<table width=\"400\" class=\"tekst\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; echo "<form method=\"POST\" ACTION=\"reservatie.php\">"; // reeds klant echo "<tr><td><b>Reeds klant?</b></td></tr>"; echo "<tr><td><input type=\"radio\" name=\"klant\" value=\"1\">Ja</td></tr>"; echo "<tr><td>"; echo "Klantnummer: "; echo "<input type=\"text\" name=\"klantnummer\" value=\"" . $_POST['klantnummer'] . "\"></td></tr>"; echo "<tr><td><input type=\"radio\" name=\"klant\" value=\"2\">Nee</td></tr>"; // space echo "<tr><td> </td></tr>"; // dier echo "<tr><td><b>Dier dat verzorgd moet worden: </b></td></tr>"; echo "<tr><td><input type=\"radio\" name=\"dier\" value=\"1\">Hond</td></tr>"; echo "<tr><td>"; echo "Reeds ICare lid? (dit geeft recht op 10% korting op de uitlaatdienst en thuisoppas)<br />Lidnummer: "; echo "<input type=\"text\" name=\"icarenummer\" value=\"" . $_POST['icarenummer'] . "\"></td></tr>"; echo "<tr><td><input type=\"radio\" name=\"dier\" value=\"2\">Kat</td></tr>"; echo "<tr><td><input type=\"radio\" name=\"dier\" value=\"3\">Knaagdier</td></tr>"; echo "<tr><td><input type=\"radio\" name=\"dier\" value=\"4\">Andere</td></tr>"; echo "<tr><td><input type=\"text\" name=\"andere\" value=\"" . $_POST['andere'] . "\"></td></tr>"; | KNIP andere formulierelementen | echo "<tr><td> </td></tr>"; echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Volgende\"></td></tr>"; // sluit form + tabel echo "</form>"; echo "</table>"; } } // stap2 else { $klant = $_POST['klant']; $klantnummer = $_POST['klantnummer']; $dier = $_POST['dier']; $icarenummer = $_POST['icarenummer']; $andere = $_POST['andere']; ...... $noform_var = 1; if($dier = 1) { // hond gekozen // naam echo "<tr><td><b>Gegevens hond: </b></td></tr><br /><br />"; echo "<tr><td>Ras: </td></tr><br />"; echo "<tr><td><input type=\"text\" name=\"hond_ras\" value=\"" . $_POST['hond_ras'] . "\"></td></tr><br />"; echo "<tr><td>Naam: </td></tr><br />"; echo "<tr><td><input type=\"text\" name=\"hond_naam\" value=\"" . $_POST['hond_naam'] . "\"></td></tr><br />"; echo "<tr><td>Leeftijd: </td></tr><br />"; echo "<tr><td><input type=\"text\" name=\"hond_leeftijd\" value=\"" . $_POST['hond_leeftijd'] . "\"></td></tr><br /><br />"; echo "<tr><td>Geslacht: </td></tr><br />"; echo "<tr><td><input type=\"radio\" name=\"hond_geslacht\" value=\"1\">Reu</td></tr><br />"; echo "<tr><td><input type=\"radio\" name=\"hond_geslacht\" value=\"2\">Teef</td></tr><br /><br />"; | KNIP andere formulierelementen | } // form + tabel echo "<table width=\"400\" class=\"tekst\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; echo "<form method=\"POST\" ACTION=\"reservatie.php\">"; // button echo "<tr><td> <input type=\"submit\" name=\"bevestig\" value=\"Bevestig\"></td></tr>"; ?> <input type='hidden' name='klant' value='<?php echo $_POST['klant'];?>'> <input type='hidden' name='klantnummer' value='<?php echo $_POST['klantnummer'];?>'> <input type='hidden' name='dier' value='<?php echo $_POST['dier'];?>'> <input type='hidden' name='icarenummer' value='<?php echo $_POST['icarenummer'];?>'> <input type='hidden' name='andere' value='<?php echo $_POST['andere'];?>'> ..... <?php // sluit form + tabel echo "</form>"; echo "</table>"; } if($_POST['bevestig']) { // $hond_ras = $_POST['hond_ras']; $inhoud_mail = "===================================================\n"; $inhoud_mail .= "Ingevuld reservatieformulier\n"; $inhoud_mail .= "===================================================\n\n"; $inhoud_mail .= "Hallo,\n\n"; $inhoud_mail .= "Reeds klant? \n\n"; $inhoud_mail .= "Klant: $klant\n"; if($klantnummer) { $inhoud_mail .= "Klantnummer: $klantnummer\n\n"; } $inhoud_mail .= "Dier dat verzorgd moet worden?\n\n"; $inhoud_mail .= "Dier: $dier\n\n"; ...... $inhoud_mail .= "Gegevens hond: \n\n"; $inhoud_mail .= "ICarenummer: " . $_POST['icarenummer'] . "\n"; $inhoud_mail .= "Ras: $hond_ras" . $_POST['hond_ras'] . "\n"; // PROBLEEM : $hond_ras variabele wordt niet ingevuld in de mail die de ontvanger aankrijgt $inhoud_mail .= "===================================================\n\n"; // -------------------- // spambot protectie // ------ // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ // ------ $headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">"; // geef e-mail adres op van ontvanger $mail_ontv = "emailadres hier verwijderd"; mail($mail_ontv, $_POST['naam'], $inhoud_mail, $headers); echo "<p>"; echo "<h6>Uw reservatie werd succesvol verzonden naar $mail!</h6>"; echo "</p>"; } |