Msn support
Graag zou ik wat msn support willen hebben met een script die ik heb. Er moeten queries gemaakt worden etc. etc. Het gaat om een bestellingscript. Als je geen zin hebt om dit gratis te doen, dan wil ik er 10 euro voor betalen aangezien dit erg belangrijk is!!
Ik hoop dat iemand me wilt helpen! Overigens vette site overzichtelijk!
Met vriendelijke groet,
soep?
Gewoon je vragen hier stellen. Mensen reageren best snel en goed.
session_start();
header("Cache-control: private"); # -> voorkomt dat je javascript:history.go(-1) niet meer werkt in IE
ini_set('show_errors', 'on'); # -> melden dat we de errors willen zien
error_reporting(E_ALL); # -> melden dat we ALLE errors willen zien
#####################################################################################
# #
# Dit script vormt een bestelformulier met diverse checks. Het is mooi in haar #
# eenvoud. Ik was er zelf lang naar op zoek, en toen heb ik het zelf maar gemaakt. #
# #
# Hoewel het ->hele<- script op 1 pagina staat, bestaat het uit drie delen: #
# * 'pagina' 1: producten selecteren door m.b.v. een pull down gewenste #
# aantal(len) te kiezen. #
# * 'pagina' 2: bestelling controleren en bevestigen. #
# * 'pagina' 3: gegevens invullen en de bestelling versturen. #
# #
# Verder kan men bij het achterlaten van de NAW-gegevens ervoor kiezen om zich op #
# te geven voor een digitale nieuwsbrief. Aanmeldingen hiervoor worden in een #
# database opgeslagen. #
# #
# Ik heb o.a. gebruik gemaakt van Sessions, MySQL en Arrays, dus basiskennis op #
# dat gebied is wel vereist als de code wilt aanpassen naar eigen wensen. #
# #
# Gegevens voor het inloggen op de database heb ik zelf in een bestand #
# 'config.php' gezet. Dat moet er dan als volgt uitzien: #
# #
# -------------- begin [config.php] #
#
Code (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
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
<?php #
# $hostname = "********"; # -> zal in de meeste gevallen "localhost" zijn #
# $username = "********"; #
# $password = "********"; #
# $database = "********"; # -> naam van je database #
# ? > <- zonder die spatie dan tussen ? en >! #
# -------------- einde [config.php] #
# #
# In de database heb je in mijn voorbeeld twee tabellen nodig. In de eerste staan #
# de producten: #
# #
# | id | artikelnaam | bestelnummer | prijs | verzendkosten | #
# #
# -> De 'bestelkosten' zijn de bestelkosten per eenheid van het artikel (wordt #
# vermenigvuldigd met het aantal bestelde eenheden). #
# #
# Deze tabel maak je door de volgende query uit te voeren: #
# #
# CREATE TABLE producten ( #
# id int(11) NOT NULL auto_increment, #
# artikelnaam varchar(80) NOT NULL, #
# bestelnummer varchar(40) NOT NULL, #
# prijs float(10,2) DEFAULT '0.00' NOT NULL, #
# verzendkosten float(10,2) DEFAULT '0.00' NOT NULL, #
# PRIMARY KEY (id), #
# UNIQUE id_2 (id), #
# KEY id (id) #
# ); #
# #
# In de tweede tabel worden de aanmeldingen voor de nieuwsbrief opgeslagen: #
# #
# | id | datum | naam | email | ipadres | #
# #
# Deze tabel maak je door de volgende query uit te voeren: #
# #
# CREATE TABLE nieuwsbrief ( #
# id int(11) NOT NULL auto_increment, #
# datum DATE NOT NULL, #
# naam varchar(40) NOT NULL, #
# email varchar(40) NOT NULL, #
# ipadres varchar(40) NOT NULL, #
# PRIMARY KEY (id), #
# UNIQUE id_2 (id), #
# KEY id (id) #
# ); #
# #
# Productoverzicht en de bestelling worden gegenereerd a.d.h.v. de database. #
# De code is - mede hierdoor en door het gebruik van arrays - redelijk #
# efficiënt te noemen. En verder zit er in de 'shop' nog een aantal #
# aardigheidjes, zoals: #
# * checks op verplichte velden #
# * checks op format van de e-mail, telefoon- en faxnummers #
# * het disable-en van de submitknoppen zodra erop geklikt wordt. #
# Laatste voorkomt dat mensen per ongeluk twee keer op verzenden drukken. #
# #
# Ik hoop dat je er wat aan hebt. Mocht je vragen hebben, post ze hier (=op #
# de site van phpfreakz) -> e-mail lees ik weinig. #
# #
# Succes ermee! #
# #
#####################################################################################
include("config.php"); # -> aanmaken (zie boven)
mysql_connect($hostname,$username,$password) or die ("Kan geen verbinding maken met de database...");
mysql_select_db($database);
?>
# $hostname = "********"; # -> zal in de meeste gevallen "localhost" zijn #
# $username = "********"; #
# $password = "********"; #
# $database = "********"; # -> naam van je database #
# ? > <- zonder die spatie dan tussen ? en >! #
# -------------- einde [config.php] #
# #
# In de database heb je in mijn voorbeeld twee tabellen nodig. In de eerste staan #
# de producten: #
# #
# | id | artikelnaam | bestelnummer | prijs | verzendkosten | #
# #
# -> De 'bestelkosten' zijn de bestelkosten per eenheid van het artikel (wordt #
# vermenigvuldigd met het aantal bestelde eenheden). #
# #
# Deze tabel maak je door de volgende query uit te voeren: #
# #
# CREATE TABLE producten ( #
# id int(11) NOT NULL auto_increment, #
# artikelnaam varchar(80) NOT NULL, #
# bestelnummer varchar(40) NOT NULL, #
# prijs float(10,2) DEFAULT '0.00' NOT NULL, #
# verzendkosten float(10,2) DEFAULT '0.00' NOT NULL, #
# PRIMARY KEY (id), #
# UNIQUE id_2 (id), #
# KEY id (id) #
# ); #
# #
# In de tweede tabel worden de aanmeldingen voor de nieuwsbrief opgeslagen: #
# #
# | id | datum | naam | email | ipadres | #
# #
# Deze tabel maak je door de volgende query uit te voeren: #
# #
# CREATE TABLE nieuwsbrief ( #
# id int(11) NOT NULL auto_increment, #
# datum DATE NOT NULL, #
# naam varchar(40) NOT NULL, #
# email varchar(40) NOT NULL, #
# ipadres varchar(40) NOT NULL, #
# PRIMARY KEY (id), #
# UNIQUE id_2 (id), #
# KEY id (id) #
# ); #
# #
# Productoverzicht en de bestelling worden gegenereerd a.d.h.v. de database. #
# De code is - mede hierdoor en door het gebruik van arrays - redelijk #
# efficiënt te noemen. En verder zit er in de 'shop' nog een aantal #
# aardigheidjes, zoals: #
# * checks op verplichte velden #
# * checks op format van de e-mail, telefoon- en faxnummers #
# * het disable-en van de submitknoppen zodra erop geklikt wordt. #
# Laatste voorkomt dat mensen per ongeluk twee keer op verzenden drukken. #
# #
# Ik hoop dat je er wat aan hebt. Mocht je vragen hebben, post ze hier (=op #
# de site van phpfreakz) -> e-mail lees ik weinig. #
# #
# Succes ermee! #
# #
#####################################################################################
include("config.php"); # -> aanmaken (zie boven)
mysql_connect($hostname,$username,$password) or die ("Kan geen verbinding maken met de database...");
mysql_select_db($database);
?>
<html>
<head>
<title>shop</title>
<script language="JavaScript" type="text/javascript">
<!--
function dis_sub(formnaam) {
document.forms[formnaam].subknop.disabled = true;
}
function decrease_value(nummer) {
veld_id = "product["+nummer+"]";
veld = document.getElementById(veld_id);
if (veld.value > 0) {
veld.value--;
veld.focus();
veld.select();
}
}
function increase_value(nummer) {
veld_id = "product["+nummer+"]";
veld = document.getElementById(veld_id);
if (veld.value < 99) {
veld.value++;
veld.focus();
veld.select();
}
}
function KeyCheck(myfield,e) {
var keycode;
if (window.event) {
keycode = window.event.keyCode;
} else if (e) {
keycode = e.which;
} else {
return true;
}
if (((keycode>47) && (keycode<58) ) || (keycode==8)) {
return true;
} else {
return false;
}
}
//-->
</script>
<style type="text/css">
<!--
/* maak er wat moois van */
//-->
</style>
</head>
<body>
Code (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
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
387
388
389
390
391
392
393
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
387
388
389
390
391
392
393
<?php
if (!isset($_POST['action'])) { # -> voorkomen dat je een undefined index krijgt
$_POST['action'] = "";
}
if ($_POST['action'] == "verstuur") {
#---------- controleer op fouten
if (!isset($_POST['aanhef'])) { # -> voorkomen dat je een undefined index krijgt
$_POST['aanhef'] = "";
}
if (!isset($_POST['nieuwsbrief'])) { # -> voorkomen dat je een undefined index krijgt (checkbox)
$_POST['nieuwsbrief'] = "";
}
if (!isset($_POST['betaling'])) { # -> voorkomen dat je een undefined index krijgt (radiobutton)
$_POST['betaling'] = "";
}
$foutoverzicht = "<h1>Bestelling niet geplaatst!</h1>\nUw bestelling bevat de volgende fouten:\n<ul>\n";
if ($_POST['naam'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen naam ingevuld</li>\n";
}
if ($_POST['adres'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen adres ingevuld</li>\n";
}
if ($_POST['postcode'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen postcode ingevuld</li>\n";
}
if ($_POST['woonplaats'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen plaats ingevuld</li>\n";
}
if ($_POST['telefoon'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen telefoonnummer ingevuld</li>\n";
} elseif (!ereg("^[0-9 ()+-]+$", $_POST['telefoon'])) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect telefoonnummer ingevuld</li>\n";
}
if (($_POST['telefax'] != "") && (!ereg("^[0-9 ()+-]+$", $_POST['telefax']))) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect faxnummer ingevuld</li>\n";
}
if (($_POST['nieuwsbrief'] == "ja") && ($_POST['email'] == "")) {
$correct = "no";
$foutoverzicht .= "<li>In geval van aanmelding voor de digitale nieuwsbrief dient u een e-mail adres in te vullen</li>";
} elseif (($_POST['email'] != "") && (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $_POST['email']))) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect e-mail adres ingevuld</li>\n";
}
if ($_POST['betaling'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft niet aangegeven op welke wijze u wenst te betalen</li>\n";
}
$foutoverzicht .= "</ul>\n<a href=\"javascript:history.go(-1)\">Klik hier om terug te keren naar het bestelformulier</a>\n";
#----------
#---------- correct? -> mail versturen
if (!isset($correct)) { # -> voorkomen dat je een undefined variable krijgt
$correct = "";
}
if ($correct != "no") {
#---------- variabelen
$onze_naam = "**************"; # <- vul hier je eigen naam in
$onze_email = "**************"; # <- vul hier je emailadres in (daar wordt de bestelling naar verstuurd)
$onderwerp_naar_ons = "Een online bestelling van ".$_POST['aanhef']." ".$_POST['naam'];
$onderwerp_naar_besteller = "Uw bestelling op de website van ".$onze_naam;
$datum = date("d-m-Y H:i:s");
$datum_kort = date("d-m-Y");
if (gethostbyaddr($_SERVER['REMOTE_ADDR']) == "") {
$ipadres = "niet beschikbaar";
} else {
$ipadres = gethostbyaddr($_SERVER['REMOTE_ADDR']);
}
#-----------
#----------- gegevens van de besteller
$gegevens_besteller = "
<table cellpadding=\"0\" cellspacing=\"3\" border=\"0\">
<tr>
<td>Naam:</td>
<td>".$_POST['aanhef']." ".$_POST['naam']."</td>
</tr>
<tr>
<td>Adres:</td>
<td>".$_POST['adres']."<br>".$_POST['postcode']." ".$_POST['woonplaats']."</td>
</tr>
<tr>
<td>Telefoon:</td>
<td>".$_POST['telefoon']."</td>
</tr>
<tr>
<td>Telefax:</td>
<td>".$_POST['telefax']." </td>
</tr>
<tr>
<td>E-mail:</td>
<td><a href=\"mailto:".$_POST['email']."\">".$_POST['email']."</a> </td>
</tr>
<tr>
<td>Aanmelding nieuwsbrief:</td>
<td>".$_POST['nieuwsbrief']." </td>
</tr>
<tr>
<td>Bijzonderheden:</td>
<td>".$_POST['bijzonderheden']." </td>
</tr>
</table>";
#-----------
#----------- stylesheet van de e-mail -> zelf maken
$stylesheet_email = "<style type=\"text/css\">\n/* maak er wat moois van */\n</style>\n";
#-----------
#----------- header van de mail naar ons
if ($_POST['email'] != "") {
$adres_naar_ons = $_POST['email'];
} else {
$adres_naar_ons = $onze_email;
}
$header_naar_ons = "From: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "Sender: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "Reply-To: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "MIME-Version: 1.0\n";
$header_naar_ons .= "Content-Type: text/html; charset=iso-8859-1\n";
$header_naar_ons .= "Return-Path: <".$adres_naar_ons.">";
#-----------
#----------- de mail naar ons
$mail_naar_ons = "
<html>
<head>
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<META content=\"text/html; charset=iso-8859-1\" http-equiv=\"Content-Type\">
<title>".$onderwerp_naar_ons."</title>".$stylesheet_email."
</head>
<body>
<br>De volgende bestelling is op <strong>".$datum."</strong> binnengekomen via de website:
<br><br>".$_SESSION['bestelling']."Gegevens van de besteller:<br><br>".$gegevens_besteller."
Ip-adres: <strong>".$ipadres."</strong><br><br>
<strong>Het totaalbedrag van ".$_SESSION['totaal']." ".$_POST['betaling']."</strong>
</body>
</html>";
#----------
#----------- header van de mail naar de besteller
$header_naar_besteller = "From: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "Sender: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "Reply-To: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "MIME-Version: 1.0\n";
$header_naar_besteller .= "Content-Type: text/html; charset=iso-8859-1\n";
$header_naar_besteller .= "Return-Path: <".$onze_email.">";
#-----------
#----------- de mail naar de besteller
$mail_naar_besteller = "
<html>
<head>
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<META content=\"text/html; charset=iso-8859-1\" http-equiv=\"Content-Type\">
<title>".$onderwerp_naar_besteller."</title>".$stylesheet_email."
</head>
<body>
<br>Geachte ".$_POST['aanhef']." ".$_POST['naam'].",<br><br>
Op ".$datum_kort." heeft u de volgende bestelling geplaatst op de website van ".$onze_naam.":
<br><br>".$_SESSION['bestelling']."Uw gegevens:<br><br>".$gegevens_besteller."
<strong>Het totaalbedrag van ".$_SESSION['totaal']." ".$_POST['betaling']."</strong><br><br>
Uw bestelling is in behandeling!<br><br>
Mochten er onjuiste gegevens in uw bestelling voorkomen, neem dan contact met ons op.<br><br>
Met vriendelijke groet,<br><br>".$onze_naam."
</body>
</html>";
#----------
#---------- aanmeldingen nieuwsbrief opslaan
if ($_POST['nieuwsbrief'] == "ja") {
$query_nb = "INSERT INTO nieuwsbrief (datum,naam,email,ipadres) VALUES (NOW(),'$naam','$email','$ipadres')";
mysql_query($query_nb) or die (mysql_error());
}
#----------
#---------- daadwerkelijk versturen
mail($onze_email,$onderwerp_naar_ons,$mail_naar_ons,$header_naar_ons);
if ($_POST['email'] != "") { # -> eventuele autoresponder
mail($_POST['email'],$onderwerp_naar_besteller,$mail_naar_besteller,$header_naar_besteller);
}
echo "<meta http-equiv=\"refresh\" content=\"5;URL=shop.php\">\n";
echo "<h1>Bestelling voltooid!</h1>\n";
echo "Bedankt voor uw bestelling ".$_POST['aanhef']." ".$_POST['naam'].", u ontvangt zo spoedig mogelijk bericht!<br><br>\n";
echo "U wordt nu teruggebracht naar de startpagina...";
session_destroy(); # -> sessie verwijderen
#----------
} else { # -> niet correct NAW ingevuld -> foutoverzicht
echo $foutoverzicht;
}
} elseif ($_POST['action'] == "bevestig") {
?>
if (!isset($_POST['action'])) { # -> voorkomen dat je een undefined index krijgt
$_POST['action'] = "";
}
if ($_POST['action'] == "verstuur") {
#---------- controleer op fouten
if (!isset($_POST['aanhef'])) { # -> voorkomen dat je een undefined index krijgt
$_POST['aanhef'] = "";
}
if (!isset($_POST['nieuwsbrief'])) { # -> voorkomen dat je een undefined index krijgt (checkbox)
$_POST['nieuwsbrief'] = "";
}
if (!isset($_POST['betaling'])) { # -> voorkomen dat je een undefined index krijgt (radiobutton)
$_POST['betaling'] = "";
}
$foutoverzicht = "<h1>Bestelling niet geplaatst!</h1>\nUw bestelling bevat de volgende fouten:\n<ul>\n";
if ($_POST['naam'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen naam ingevuld</li>\n";
}
if ($_POST['adres'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen adres ingevuld</li>\n";
}
if ($_POST['postcode'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen postcode ingevuld</li>\n";
}
if ($_POST['woonplaats'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen plaats ingevuld</li>\n";
}
if ($_POST['telefoon'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft geen telefoonnummer ingevuld</li>\n";
} elseif (!ereg("^[0-9 ()+-]+$", $_POST['telefoon'])) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect telefoonnummer ingevuld</li>\n";
}
if (($_POST['telefax'] != "") && (!ereg("^[0-9 ()+-]+$", $_POST['telefax']))) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect faxnummer ingevuld</li>\n";
}
if (($_POST['nieuwsbrief'] == "ja") && ($_POST['email'] == "")) {
$correct = "no";
$foutoverzicht .= "<li>In geval van aanmelding voor de digitale nieuwsbrief dient u een e-mail adres in te vullen</li>";
} elseif (($_POST['email'] != "") && (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $_POST['email']))) {
$correct = "no";
$foutoverzicht .= "<li>U heeft een incorrect e-mail adres ingevuld</li>\n";
}
if ($_POST['betaling'] == "") {
$correct = "no";
$foutoverzicht .= "<li>U heeft niet aangegeven op welke wijze u wenst te betalen</li>\n";
}
$foutoverzicht .= "</ul>\n<a href=\"javascript:history.go(-1)\">Klik hier om terug te keren naar het bestelformulier</a>\n";
#----------
#---------- correct? -> mail versturen
if (!isset($correct)) { # -> voorkomen dat je een undefined variable krijgt
$correct = "";
}
if ($correct != "no") {
#---------- variabelen
$onze_naam = "**************"; # <- vul hier je eigen naam in
$onze_email = "**************"; # <- vul hier je emailadres in (daar wordt de bestelling naar verstuurd)
$onderwerp_naar_ons = "Een online bestelling van ".$_POST['aanhef']." ".$_POST['naam'];
$onderwerp_naar_besteller = "Uw bestelling op de website van ".$onze_naam;
$datum = date("d-m-Y H:i:s");
$datum_kort = date("d-m-Y");
if (gethostbyaddr($_SERVER['REMOTE_ADDR']) == "") {
$ipadres = "niet beschikbaar";
} else {
$ipadres = gethostbyaddr($_SERVER['REMOTE_ADDR']);
}
#-----------
#----------- gegevens van de besteller
$gegevens_besteller = "
<table cellpadding=\"0\" cellspacing=\"3\" border=\"0\">
<tr>
<td>Naam:</td>
<td>".$_POST['aanhef']." ".$_POST['naam']."</td>
</tr>
<tr>
<td>Adres:</td>
<td>".$_POST['adres']."<br>".$_POST['postcode']." ".$_POST['woonplaats']."</td>
</tr>
<tr>
<td>Telefoon:</td>
<td>".$_POST['telefoon']."</td>
</tr>
<tr>
<td>Telefax:</td>
<td>".$_POST['telefax']." </td>
</tr>
<tr>
<td>E-mail:</td>
<td><a href=\"mailto:".$_POST['email']."\">".$_POST['email']."</a> </td>
</tr>
<tr>
<td>Aanmelding nieuwsbrief:</td>
<td>".$_POST['nieuwsbrief']." </td>
</tr>
<tr>
<td>Bijzonderheden:</td>
<td>".$_POST['bijzonderheden']." </td>
</tr>
</table>";
#-----------
#----------- stylesheet van de e-mail -> zelf maken
$stylesheet_email = "<style type=\"text/css\">\n/* maak er wat moois van */\n</style>\n";
#-----------
#----------- header van de mail naar ons
if ($_POST['email'] != "") {
$adres_naar_ons = $_POST['email'];
} else {
$adres_naar_ons = $onze_email;
}
$header_naar_ons = "From: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "Sender: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "Reply-To: ".$_POST['naam']."<".$adres_naar_ons.">\n";
$header_naar_ons .= "MIME-Version: 1.0\n";
$header_naar_ons .= "Content-Type: text/html; charset=iso-8859-1\n";
$header_naar_ons .= "Return-Path: <".$adres_naar_ons.">";
#-----------
#----------- de mail naar ons
$mail_naar_ons = "
<html>
<head>
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<META content=\"text/html; charset=iso-8859-1\" http-equiv=\"Content-Type\">
<title>".$onderwerp_naar_ons."</title>".$stylesheet_email."
</head>
<body>
<br>De volgende bestelling is op <strong>".$datum."</strong> binnengekomen via de website:
<br><br>".$_SESSION['bestelling']."Gegevens van de besteller:<br><br>".$gegevens_besteller."
Ip-adres: <strong>".$ipadres."</strong><br><br>
<strong>Het totaalbedrag van ".$_SESSION['totaal']." ".$_POST['betaling']."</strong>
</body>
</html>";
#----------
#----------- header van de mail naar de besteller
$header_naar_besteller = "From: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "Sender: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "Reply-To: ".$onze_naam."<".$onze_email.">\n";
$header_naar_besteller .= "MIME-Version: 1.0\n";
$header_naar_besteller .= "Content-Type: text/html; charset=iso-8859-1\n";
$header_naar_besteller .= "Return-Path: <".$onze_email.">";
#-----------
#----------- de mail naar de besteller
$mail_naar_besteller = "
<html>
<head>
<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<META content=\"text/html; charset=iso-8859-1\" http-equiv=\"Content-Type\">
<title>".$onderwerp_naar_besteller."</title>".$stylesheet_email."
</head>
<body>
<br>Geachte ".$_POST['aanhef']." ".$_POST['naam'].",<br><br>
Op ".$datum_kort." heeft u de volgende bestelling geplaatst op de website van ".$onze_naam.":
<br><br>".$_SESSION['bestelling']."Uw gegevens:<br><br>".$gegevens_besteller."
<strong>Het totaalbedrag van ".$_SESSION['totaal']." ".$_POST['betaling']."</strong><br><br>
Uw bestelling is in behandeling!<br><br>
Mochten er onjuiste gegevens in uw bestelling voorkomen, neem dan contact met ons op.<br><br>
Met vriendelijke groet,<br><br>".$onze_naam."
</body>
</html>";
#----------
#---------- aanmeldingen nieuwsbrief opslaan
if ($_POST['nieuwsbrief'] == "ja") {
$query_nb = "INSERT INTO nieuwsbrief (datum,naam,email,ipadres) VALUES (NOW(),'$naam','$email','$ipadres')";
mysql_query($query_nb) or die (mysql_error());
}
#----------
#---------- daadwerkelijk versturen
mail($onze_email,$onderwerp_naar_ons,$mail_naar_ons,$header_naar_ons);
if ($_POST['email'] != "") { # -> eventuele autoresponder
mail($_POST['email'],$onderwerp_naar_besteller,$mail_naar_besteller,$header_naar_besteller);
}
echo "<meta http-equiv=\"refresh\" content=\"5;URL=shop.php\">\n";
echo "<h1>Bestelling voltooid!</h1>\n";
echo "Bedankt voor uw bestelling ".$_POST['aanhef']." ".$_POST['naam'].", u ontvangt zo spoedig mogelijk bericht!<br><br>\n";
echo "U wordt nu teruggebracht naar de startpagina...";
session_destroy(); # -> sessie verwijderen
#----------
} else { # -> niet correct NAW ingevuld -> foutoverzicht
echo $foutoverzicht;
}
} elseif ($_POST['action'] == "bevestig") {
?>
<form action="" method="POST" name="shop_c" onSubmit="javascript:dis_sub(shop_c);">
<input type="hidden" name="action" value="verstuur">
<h1>Stap 3 - Vul uw gegevens in</h1>
Let op: alle velden gemarkeerd met * zijn verplicht.<br><br>
<table cellspacing="3" cellpadding="0" border="0">
<tr>
<td>Aanhef:</td>
<td><input type="radio" name="aanhef" value="Meneer"> Dhr. <input type="radio" name="aanhef" value="Mevrouw"> Mevr.</td>
<td>Naam*:</td>
<td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Adres*:</td>
<td><input type="text" name="adres"></td>
<td colspan="2"></td>
</tr>
<tr>
<td>Postcode*:</td>
<td><input type="text" name="postcode"></td>
<td>Woonplaats*:</td>
<td><input type="text" name="woonplaats"></td>
</tr>
<tr>
<td>Telefoon*:</td>
<td><input type="text" name="telefoon"></td>
<td rowspan="3" style="vertical-align:top;padding-top:4px;">Bijzonderheden:</td>
<td rowspan="3"><textarea rows="6" name="bijzonderheden" style="height:72px;"></textarea></td>
</tr>
<tr>
<td>Telefax:</td>
<td><input type="text" name="telefax"></td>
</tr>
<tr>
<td>E-mail adres:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td colspan="4"><strong>Het totaalbedrag van :</strong><br>
<input type="radio" name="betaling" value="wordt overgemaakt op girorekening ****** t.n.v. ****** te ******."> Maak ik over op uw girorekening <strong>******</strong> t.n.v. ****** te ******.<br>
<input type="radio" name="betaling" value="wordt voldaan via een factuur. Let op: betaling dient te geschieden binnen 14 dagen na ontvangst."> Wil ik graag via een factuur voldoen. <strong>Let op: betaling dient te geschieden binnen ** dagen na ontvangst.</strong></td>
<!-- zo maar twee opties - hier kan je mee doen wat je zelf wilt ;-) //-->
</tr>
<tr>
<td colspan="4"><input type="checkbox" name="nieuwsbrief" value="ja"> Meld mij aan voor uw digitale nieuwsbrief</td>
</tr>
<tr>
<td colspan="4" align="center"><input type="reset" value="« Leeg de velden"> <input type="submit" value="Plaats bestelling »" name="subknop"></td>
</tr>
</table>
</form><br>
Wilt u uw bestelling wijzigen, <a href="javascript:history.go(-2)">klik dan hier</a>.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
} elseif ($_POST['action'] == "selecteer") {
$i = 1;
$totaal_aantal_a = ""; # -> begin leeg op te voorkomen dat je een undefined variable krijgt
foreach ($_POST['product'] as $value) {
$totaal_aantal_a = $totaal_aantal_a+$value;
$i++;
}
if ($totaal_aantal_a != "0") { # -> akkoord: product(en) geselecteerd -> naam invullen
?>
} elseif ($_POST['action'] == "selecteer") {
$i = 1;
$totaal_aantal_a = ""; # -> begin leeg op te voorkomen dat je een undefined variable krijgt
foreach ($_POST['product'] as $value) {
$totaal_aantal_a = $totaal_aantal_a+$value;
$i++;
}
if ($totaal_aantal_a != "0") { # -> akkoord: product(en) geselecteerd -> naam invullen
?>
<form action="" method="POST" name="shop_b" onSubmit="javascript:dis_sub(shop_b);">
<input type="hidden" name="action" value="bevestig">
Code (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
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
<?php
#----------- de tabelheader
$_SESSION['bestelling'] = "<table cellspacing=\"3\" cellpadding=\"0\" border=\"0\">\n"; # -> bestelling sessievar maken om in volgende formulier te gebruiken
$_SESSION['bestelling'] .= "<tr>\n";
$_SESSION['bestelling'] .= "<td>Artikelnaam</td>\n";
$_SESSION['bestelling'] .= "<td>Prijs</td>\n";
$_SESSION['bestelling'] .= "<td>Aantal</td>\n";
$_SESSION['bestelling'] .= "<td>Verzendkosten</td>\n";
$_SESSION['bestelling'] .= "<td>Totaal</td>\n";
$_SESSION['bestelling'] .= "</tr>\n";
#-----------
#----------- de tabelrijen
$i = 1;
$totaal_aantal_b = ""; # -> begin leeg op te voorkomen dat je een undefined variable krijgt
$totaal_verzendkosten = "";
$totaal = "";
foreach ($_POST['product'] as $value) {
if ($value != "0") {
$query_bestelling = mysql_query ("SELECT * FROM producten WHERE id = $i");
while ($row = mysql_fetch_array ($query_bestelling)) {
#----------- subtotalen
$totaal_aantal_b = $totaal_aantal_b+$value;
$verzendkosten = $value*$row['verzendkosten'];
$subtotaal = ($value*$row['prijs'])+$verzendkosten;
$totaal_verzendkosten = $totaal_verzendkosten+$verzendkosten;
$totaal = $totaal+$subtotaal;
#-----------
#----------- notatie subtotalen
$row['prijs'] = "€".number_format($row['prijs'], 2, ',', ',');
$verzendkosten = "€".number_format($verzendkosten, 2, ',', ',');
$subtotaal = "€".number_format($subtotaal, 2, ',', ',');
#-----------
#----------- rijen genereren
$_SESSION['bestelling'] .= "<tr>\n<td>(".$row['bestelnummer'].") ".$row['artikelnaam']."</td>\n";
$_SESSION['bestelling'] .= "<td>".$row['prijs']."</td>\n";
$_SESSION['bestelling'] .= "<td>".$value."</td>\n";
$_SESSION['bestelling'] .= "<td>".$verzendkosten."</td>\n";
$_SESSION['bestelling'] .= "<td>".$subtotaal."</td>\n</tr>\n";
#-----------
}
}
$i++;
}
#-----------
#----------- totalen
$totaal_verzendkosten = "€".number_format($totaal_verzendkosten, 2, ',', ',');
$totaal = "€".number_format($totaal, 2, ',', ',');
$_SESSION['totaal'] = $totaal; # -> totaalbedrag sessievar maken om in volgende formulier te gebruiken
#-----------
#----------- tabeleinde schrijven
$_SESSION['bestelling'] .= "<tr>\n";
$_SESSION['bestelling'] .= "<td></td>\n";
$_SESSION['bestelling'] .= "<td></td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal_aantal_b."</td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal_verzendkosten."</td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal."</td>\n";
$_SESSION['bestelling'] .= "</tr>\n";
$_SESSION['bestelling'] .= "</table>\n";
#-----------
?>
#----------- de tabelheader
$_SESSION['bestelling'] = "<table cellspacing=\"3\" cellpadding=\"0\" border=\"0\">\n"; # -> bestelling sessievar maken om in volgende formulier te gebruiken
$_SESSION['bestelling'] .= "<tr>\n";
$_SESSION['bestelling'] .= "<td>Artikelnaam</td>\n";
$_SESSION['bestelling'] .= "<td>Prijs</td>\n";
$_SESSION['bestelling'] .= "<td>Aantal</td>\n";
$_SESSION['bestelling'] .= "<td>Verzendkosten</td>\n";
$_SESSION['bestelling'] .= "<td>Totaal</td>\n";
$_SESSION['bestelling'] .= "</tr>\n";
#-----------
#----------- de tabelrijen
$i = 1;
$totaal_aantal_b = ""; # -> begin leeg op te voorkomen dat je een undefined variable krijgt
$totaal_verzendkosten = "";
$totaal = "";
foreach ($_POST['product'] as $value) {
if ($value != "0") {
$query_bestelling = mysql_query ("SELECT * FROM producten WHERE id = $i");
while ($row = mysql_fetch_array ($query_bestelling)) {
#----------- subtotalen
$totaal_aantal_b = $totaal_aantal_b+$value;
$verzendkosten = $value*$row['verzendkosten'];
$subtotaal = ($value*$row['prijs'])+$verzendkosten;
$totaal_verzendkosten = $totaal_verzendkosten+$verzendkosten;
$totaal = $totaal+$subtotaal;
#-----------
#----------- notatie subtotalen
$row['prijs'] = "€".number_format($row['prijs'], 2, ',', ',');
$verzendkosten = "€".number_format($verzendkosten, 2, ',', ',');
$subtotaal = "€".number_format($subtotaal, 2, ',', ',');
#-----------
#----------- rijen genereren
$_SESSION['bestelling'] .= "<tr>\n<td>(".$row['bestelnummer'].") ".$row['artikelnaam']."</td>\n";
$_SESSION['bestelling'] .= "<td>".$row['prijs']."</td>\n";
$_SESSION['bestelling'] .= "<td>".$value."</td>\n";
$_SESSION['bestelling'] .= "<td>".$verzendkosten."</td>\n";
$_SESSION['bestelling'] .= "<td>".$subtotaal."</td>\n</tr>\n";
#-----------
}
}
$i++;
}
#-----------
#----------- totalen
$totaal_verzendkosten = "€".number_format($totaal_verzendkosten, 2, ',', ',');
$totaal = "€".number_format($totaal, 2, ',', ',');
$_SESSION['totaal'] = $totaal; # -> totaalbedrag sessievar maken om in volgende formulier te gebruiken
#-----------
#----------- tabeleinde schrijven
$_SESSION['bestelling'] .= "<tr>\n";
$_SESSION['bestelling'] .= "<td></td>\n";
$_SESSION['bestelling'] .= "<td></td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal_aantal_b."</td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal_verzendkosten."</td>\n";
$_SESSION['bestelling'] .= "<td>".$totaal."</td>\n";
$_SESSION['bestelling'] .= "</tr>\n";
$_SESSION['bestelling'] .= "</table>\n";
#-----------
?>
<h1>Stap 2 - Controleer uw bestelling</h1>
U heeft het/de volgende product(en) op uw bestellijst gezet:<br><br>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
#----------- echo de hele tabel
echo $_SESSION['bestelling']."<br>";
#-----------
?>
#----------- echo de hele tabel
echo $_SESSION['bestelling']."<br>";
#-----------
?>
Wilt u uw bestelling wijzigen, <a href="javascript:history.go(-1)">klik dan hier</a>.<br><br>
Is de bestellijst correct?
Ga dan door naar <a href="javascript:document.forms['shop_b'].submit();">stap drie</a>.
</form>
<h1>U heeft geen product(en) geselecteerd!</h1>
<a href="javascript:history.go(-1)">Ga terug en maak uw selectie</a>
<h1>Stap 1 - Maak uw selectie</h1>
Maak uw keuze uit de producten door het aantal gewenste exemplaren te selecteren.
Wanneer u hiermee klaar bent klikt u op "Besteloverzicht" onder aan de pagina.<br><br>
<form action="" method="POST" name="shop_a" onSubmit="javascript:dis_sub(shop_a);">
<input type="hidden" name="action" value="selecteer">
<h2>Onze collectie</h2>
<table cellspacing="3" cellpadding="0" border="0">
<tr>
<td>Artikelnaam</td>
<td>Prijs</td>
<td>Aantal</td>
</tr>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
#---------- schrijf de rijen
$query_overzicht = mysql_query ("SELECT * FROM producten ORDER BY id ASC");
while ($row = mysql_fetch_array ($query_overzicht)) {
$row['prijs'] = "€".number_format($row['prijs'], 2, ',', ',');
echo "<tr>\n<td>(".$row['bestelnummer'].") ".$row['artikelnaam']."</td>\n";
echo "<td>".$row['prijs']."</td>\n";
echo "<td><input type=\"text\" name=\"product[".$row['id']."]\" id=\"product[".$row['id']."]\" value=\"0\" style=\"width:25px;text-align:right;\" maxlength=\"2\" onKeyPress=\"return KeyCheck(this,event);\">\n";
echo "<a href=\"javascript:increase_value(".$row['id'].");\" title=\"Voeg een eenheid toe\">[+]</a> <a href=\"javascript:decrease_value(".$row['id'].");\" title=\"Haal er een eenheid af\">[-]</a>\n</td>\n</tr>\n";
}
#----------
?>
#---------- schrijf de rijen
$query_overzicht = mysql_query ("SELECT * FROM producten ORDER BY id ASC");
while ($row = mysql_fetch_array ($query_overzicht)) {
$row['prijs'] = "€".number_format($row['prijs'], 2, ',', ',');
echo "<tr>\n<td>(".$row['bestelnummer'].") ".$row['artikelnaam']."</td>\n";
echo "<td>".$row['prijs']."</td>\n";
echo "<td><input type=\"text\" name=\"product[".$row['id']."]\" id=\"product[".$row['id']."]\" value=\"0\" style=\"width:25px;text-align:right;\" maxlength=\"2\" onKeyPress=\"return KeyCheck(this,event);\">\n";
echo "<a href=\"javascript:increase_value(".$row['id'].");\" title=\"Voeg een eenheid toe\">[+]</a> <a href=\"javascript:decrease_value(".$row['id'].");\" title=\"Haal er een eenheid af\">[-]</a>\n</td>\n</tr>\n";
}
#----------
?>
<tr>
<td colspan="3" align="center"><input type="reset" value="« Leeg de velden"> <input type="submit" value="Besteloverzicht »" name="subknop"></td>
</tr>
</table>
</body>
*/html>
Dit script is van phpfr****
Het is best een lastig script, vooral voor de beginnende. Er moet een quearie aangemaakt worden en ik heb geen idee hoe ik dat doe!
Dus als ik jou was zou ik dit 'boek' weer verwijderen (met de editknop boven je post) en eerst een goede gerichte vraag stellen.