magazijn
Kijk is naar mijn post met al die code en leg je eigen code ernaast. Kijk vervolgens naar verschil van foutafhandeling en je hoeft ook niet 4x een connectie te maken met database eennmaal is genoeg. Ik zit nu op mijn telefoon maar kijk is op de voorpagina van phphulp naar de beginnershandleiding van roel en pas je code daar aan wedden dat je zelf achter je fout komt?
Reshad F op 26/06/2012 11:21:48:
wat chi bedoelt is.
je moet doen bijv
Toevoeging op 26/06/2012 11:33:49:
en zoiets als totaalplaatje met goede foutafhandeling enz.
je moet doen bijv
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$content = 'hier je html';
$content .= 'hier je html';
$content .= 'hier je html';
echo $content;
?>
$content = 'hier je html';
$content .= 'hier je html';
$content .= 'hier je html';
echo $content;
?>
Toevoeging op 26/06/2012 11:33:49:
en zoiets als totaalplaatje met goede foutafhandeling enz.
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
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
<?php
include('/Connections/connect.php');
// producten laten zien
$sql = "SELECT
artikel_id, aantal, merk, product
FROM
artikel
ORDER BY
aantal"; // dit is dus de query om de producten op te halen...
$query = mysql_query($sql);
if($query === false)
{
echo 'foutmelding hier';
}
else
{
$num = mysql_num_rows($query); // Het aantal producten...
if($num == 0)
{
echo "<p>Er zijn geen artikellen gevonden.</p>\n";
}
else
{
// Laat de producten zien
while($artikel = mysql_fetch_assoc($query))
{
$content = "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
$content .= "<table width='200' border='1'>";
$content .= '<tr>';
$content .= ' <th scope="col">artikel_id</th>';
$content .= ' <th scope="col">aantal</th>';
$content .= ' <th scope="col">merk</th>';
$content .= ' <th scope="col">product</th>';
$content .= '</tr>';
$content .= '<tr>';
$content .= "<td><strong>" . $artikel['artikel_id'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['aantal'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['merk'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['product'] . "</strong></td>";
$content .= '</tr>';
$content .= "Aantal: <input type=\"text\" name=\"hoeveelheid\" size=\"2\" maxlength=\"2\" value=\"1\" />\n";
$content .= "<input type=\"submit\" value=\"Toevoegen\" /></p>\n";
$content .= "</form>\n";
$content .= ' <tr>';
$content .= ' <td> </td>';
$content .= '<td> </td>';
$content .= ' <td> </td>';
$content .= ' </tr>';
$content .= '</table>';
$content .= "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
echo $content;
}
}
}
?>
include('/Connections/connect.php');
// producten laten zien
$sql = "SELECT
artikel_id, aantal, merk, product
FROM
artikel
ORDER BY
aantal"; // dit is dus de query om de producten op te halen...
$query = mysql_query($sql);
if($query === false)
{
echo 'foutmelding hier';
}
else
{
$num = mysql_num_rows($query); // Het aantal producten...
if($num == 0)
{
echo "<p>Er zijn geen artikellen gevonden.</p>\n";
}
else
{
// Laat de producten zien
while($artikel = mysql_fetch_assoc($query))
{
$content = "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
$content .= "<table width='200' border='1'>";
$content .= '<tr>';
$content .= ' <th scope="col">artikel_id</th>';
$content .= ' <th scope="col">aantal</th>';
$content .= ' <th scope="col">merk</th>';
$content .= ' <th scope="col">product</th>';
$content .= '</tr>';
$content .= '<tr>';
$content .= "<td><strong>" . $artikel['artikel_id'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['aantal'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['merk'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['product'] . "</strong></td>";
$content .= '</tr>';
$content .= "Aantal: <input type=\"text\" name=\"hoeveelheid\" size=\"2\" maxlength=\"2\" value=\"1\" />\n";
$content .= "<input type=\"submit\" value=\"Toevoegen\" /></p>\n";
$content .= "</form>\n";
$content .= ' <tr>';
$content .= ' <td> </td>';
$content .= '<td> </td>';
$content .= ' <td> </td>';
$content .= ' </tr>';
$content .= '</table>';
$content .= "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
echo $content;
}
}
}
?>
Ik ben gek, ik spoor niet, ik heb geen verstand van databases en helemaal niet van php, maar ik weet wel dat er niks klopt van bovenstaande code.
Even buiten het feit dat er tig keer exact hetzelfde formulier gegenereerd wordt, is de grote vraag welk artikel besteld wordt!
Zet dus je $content buiten je while :).
Maar wat ik juist wou was dat je elk product in een apart formulier zet.
en dat voert dit script goed uit.
misschien niet handig maar op deze manier wou ik de over zicht bewaren wat de gebruiker in zicht krijgt.
dit was voor mij de enige oplossing waar ik zelf nog iets van begreep.
die bestel opdracht kan ik misschien beter los zetten van de formulieren.
daar ben ik het ook mee eens
zo dat de gebruiker meerdere producten kan selecteren.
maar eerst moet ik gewoon even zorgen dat er wat verwerkt word en dan kan ik dat weer aanpakken.
Jemig, pak een bestaande webshop, dan kom je waar je wilt met GOEDE code....
@Ger lol dit is de code van de TS alleen dan iets beter ingesproken de foutafhandeling een beetje goed gemaakt en klaar? ik heb voor de rest niets voor hem veranderd omdat hij daar zelf achter moet komen als het niet goed werkt o.i.d. misschien als je het gelezen had dan zou je dat snappen.
@herman
Ik heb even snel een voorbeeldje in elkaar geflansd, je moet het zelf nog wel wat oppoetsen:
Het formulier:
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
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
<?php
include('/Connections/connect.php');
// producten laten zien
$sql = "SELECT
artikel_id, aantal, merk, product
FROM
artikel
ORDER BY
aantal"; // dit is dus de query om de producten op te halen...
$query = mysql_query($sql);
if($query === false)
{
echo 'foutmelding hier';
}
else
{
$num = mysql_num_rows($query); // Het aantal producten...
if($num == 0)
{
echo "<p>Er zijn geen artikellen gevonden.</p>\n";
}
else
{
// Laat de producten zien
$content = "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
$content .= "<table width='200' border='1'>";
$content .= '<tr>';
$content .= ' <th scope="col">artikel_id</th>';
$content .= ' <th scope="col">vooraad</th>';
$content .= ' <th scope="col">merk</th>';
$content .= ' <th scope="col">product</th>';
$content .= ' <th scope="col">aantal</th>';
$content .= '</tr>';
while($artikel = mysql_fetch_assoc($query))
{
$content .= '<tr>';
$content .= "<td><strong>" . $artikel['artikel_id'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['aantal'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['merk'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['product'] . "</strong></td>";
$content .= 'Aantal: <input type="text" name="hoev' . $artikel['artikel_id'] . '" size="2" maxlength="2" value="0" />' ."\n";
$content .= '</tr>';
}
$content .= '<input type="submit" name="Toevoegen" value="Toevoegen" /></p>' ."\n";
$content .= ' <tr>';
$content .= ' <td> </td>';
$content .= '<td> </td>';
$content .= ' <td> </td>';
$content .= ' </tr>';
$content .= '</table>';
$content .= "</form>\n";
echo $content;
}
}
?>
include('/Connections/connect.php');
// producten laten zien
$sql = "SELECT
artikel_id, aantal, merk, product
FROM
artikel
ORDER BY
aantal"; // dit is dus de query om de producten op te halen...
$query = mysql_query($sql);
if($query === false)
{
echo 'foutmelding hier';
}
else
{
$num = mysql_num_rows($query); // Het aantal producten...
if($num == 0)
{
echo "<p>Er zijn geen artikellen gevonden.</p>\n";
}
else
{
// Laat de producten zien
$content = "<form action=\"add.php\" method=\"post\">\n";
$content .= 'artikel:<br/> ';
$content .= "<table width='200' border='1'>";
$content .= '<tr>';
$content .= ' <th scope="col">artikel_id</th>';
$content .= ' <th scope="col">vooraad</th>';
$content .= ' <th scope="col">merk</th>';
$content .= ' <th scope="col">product</th>';
$content .= ' <th scope="col">aantal</th>';
$content .= '</tr>';
while($artikel = mysql_fetch_assoc($query))
{
$content .= '<tr>';
$content .= "<td><strong>" . $artikel['artikel_id'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['aantal'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['merk'] . "</strong></td>";
$content .= "<td><strong>" . $artikel['product'] . "</strong></td>";
$content .= 'Aantal: <input type="text" name="hoev' . $artikel['artikel_id'] . '" size="2" maxlength="2" value="0" />' ."\n";
$content .= '</tr>';
}
$content .= '<input type="submit" name="Toevoegen" value="Toevoegen" /></p>' ."\n";
$content .= ' <tr>';
$content .= ' <td> </td>';
$content .= '<td> </td>';
$content .= ' <td> </td>';
$content .= ' </tr>';
$content .= '</table>';
$content .= "</form>\n";
echo $content;
}
}
?>
in add.php (zelf connectie enzo nog regelen)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
//je moet het zelf nog wel een beetje finetunen met fouthandeling en beveilging
//sloop de submit uit $_POST
unset($_POST['Toevoegen']);
//maak een nieuwe bestelling aan
$result = mysql_query("INSERT INTO bestellingen (besteldatum) VALUES('" . date('Y-m-d') . "')");
if($result) {
$bestelid = mysql_insert_id();
$sql = "INSERT INTO bestel_produkt (bestel_id, artikel_id, aantal) VALUES ";
foreach($_POST as $key => $value) {
if ($value > 0) {
$sql .= "(" . $bestel_id . ',' . str_replace('hoev', '', $key) . ',' . $value . '),';
}
else { unset($_POST[$key]); }
}
if (count($_POST) > 0) {
$sql = substr($sql, -1); //haalt de laatste komma weg
$res = mysql_query($sql);
}
}
?>
//je moet het zelf nog wel een beetje finetunen met fouthandeling en beveilging
//sloop de submit uit $_POST
unset($_POST['Toevoegen']);
//maak een nieuwe bestelling aan
$result = mysql_query("INSERT INTO bestellingen (besteldatum) VALUES('" . date('Y-m-d') . "')");
if($result) {
$bestelid = mysql_insert_id();
$sql = "INSERT INTO bestel_produkt (bestel_id, artikel_id, aantal) VALUES ";
foreach($_POST as $key => $value) {
if ($value > 0) {
$sql .= "(" . $bestel_id . ',' . str_replace('hoev', '', $key) . ',' . $value . '),';
}
else { unset($_POST[$key]); }
}
if (count($_POST) > 0) {
$sql = substr($sql, -1); //haalt de laatste komma weg
$res = mysql_query($sql);
}
}
?>
Gewijzigd op 27/06/2012 10:31:41 door Ger van Steenderen
als laatste gepost heb die look bedoel ik.
Maar dan met.1 post.
dit is voor de product overzicht.
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
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
<?php
include('inloggen2.html');
// EAN-code lezen uit de URL-variabele 'ean':
if (isset($_GET['ean'])) {
$ean = $_GET['ean'];
// De EAN-code moet uit 13 cijfers bestaan:
if ((strlen($ean) <> 13) or (!is_numeric($ean))) {
include('index2.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
}
} else {
include('index.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
}
// SQL-selectiequery:
$sql = "SELECT * FROM `producten`,`accounts' ";
$sql .= "WHERE `ean`,`gebruikersnaam` = " . $ean . $gebruikersnaam ;
while ($rij = mysql_fetch_assoc($resultaat)) {
$gebruikersnaam = $rij["gebruikersnaam"];
echo $gebruikersnaam;
// Databaseverbinding openen en query uitvoeren:
//mysql_select_db("test") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Is er een record gevonden?
if (mysql_num_rows($resultaat) < 1) {
mysql_free_result($resultaat); // Resultaatset vrijgeven
//mysql_close($verbinding); // Databaseverbinding sluiten
include('index.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
} else {
// De productgegevens opslaan in variabelen:
while ($rij = mysql_fetch_assoc($resultaat)) {
$naam = $rij["naam"];
$aantal = $rij["aantal"];
$omschrijving = $rij["omschrijving"];
$details = $rij["details"];
}
// Resultaatset vrijgeven en databaseverbinding sluiten:
mysql_free_result($resultaat);
mysql_close($verbinding);
}
// Ordernummer doorgeven als sessie-id (sid) in URL's:
if (isset($_GET['sid'])) {
$url1 = "?sid=" . $_GET['sid'];
$url2 = "&sid=" . $_GET['sid'];
} else {
$url1 = "";
$url2 = "";
}
// Webpagina weergeven:
?>
include('inloggen2.html');
// EAN-code lezen uit de URL-variabele 'ean':
if (isset($_GET['ean'])) {
$ean = $_GET['ean'];
// De EAN-code moet uit 13 cijfers bestaan:
if ((strlen($ean) <> 13) or (!is_numeric($ean))) {
include('index2.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
}
} else {
include('index.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
}
// SQL-selectiequery:
$sql = "SELECT * FROM `producten`,`accounts' ";
$sql .= "WHERE `ean`,`gebruikersnaam` = " . $ean . $gebruikersnaam ;
while ($rij = mysql_fetch_assoc($resultaat)) {
$gebruikersnaam = $rij["gebruikersnaam"];
echo $gebruikersnaam;
// Databaseverbinding openen en query uitvoeren:
//mysql_select_db("test") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Is er een record gevonden?
if (mysql_num_rows($resultaat) < 1) {
mysql_free_result($resultaat); // Resultaatset vrijgeven
//mysql_close($verbinding); // Databaseverbinding sluiten
include('index.php'); // Overzicht van producten weergeven
exit; // Script beëindigen
} else {
// De productgegevens opslaan in variabelen:
while ($rij = mysql_fetch_assoc($resultaat)) {
$naam = $rij["naam"];
$aantal = $rij["aantal"];
$omschrijving = $rij["omschrijving"];
$details = $rij["details"];
}
// Resultaatset vrijgeven en databaseverbinding sluiten:
mysql_free_result($resultaat);
mysql_close($verbinding);
}
// Ordernummer doorgeven als sessie-id (sid) in URL's:
if (isset($_GET['sid'])) {
$url1 = "?sid=" . $_GET['sid'];
$url2 = "&sid=" . $_GET['sid'];
} else {
$url1 = "";
$url2 = "";
}
// Webpagina weergeven:
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta name="keywords" content="">
<meta name="description" content="">
<link href="p.css" media="print" rel="stylesheet" type="text/css">
<link href="xp.css" media="screen" rel="stylesheet" type="text/css">
</head>
<body>
<p align="right"><a href="winkelwagentje.php">Winkelwagentje</a> | <a href="account.php">Account</a> | <a href="producten.php">Catalogus</a> | <a href="zoeken.php">Zoeken</a></p>
<table border="0" cellpadding="10" cellspacing="0" width="100%">
<tr>
<td valign="top"><p align="center">
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
// Bestandsnaam in de vorm "EAN.gif", bijvoorbeeld "9789045634838.gif":
$afbeelding = $ean . ".gif";
// Afbeelding alleen weergeven als het bestand $afbeelding bestaat:
if (file_exists($afbeelding)) {
echo '<img alt="' . $naam . '" border="0" src="' . $afbeelding . '"><br>';
}
?>
// Bestandsnaam in de vorm "EAN.gif", bijvoorbeeld "9789045634838.gif":
$afbeelding = $ean . ".gif";
// Afbeelding alleen weergeven als het bestand $afbeelding bestaat:
if (file_exists($afbeelding)) {
echo '<img alt="' . $naam . '" border="0" src="' . $afbeelding . '"><br>';
}
?>
</p></td>
<td>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Productnaam weergeven als kop:
echo "<h1>" . $naam . "</h1>\n";
// Hyperlink voor het toevoegen van het product aan het winkelwagentje:
echo '<p><a href="winkelwagentje.php?toevoegen=' . $ean . $url2 . '" title="' . $naam . ' toevoegen aan uw winkelwagentje">';
echo '<img align="texttop" alt="Bestellen" border="0" src="wagentje.gif"> Bestellen';
echo "</a></p>\n";
// Omschrijving weergeven als alinea:
echo "<p><strong>" . htmlentities($omschrijving) . "</strong></p>\n";
// Details weergeven voor de rest van de webpagina:
echo $details;
// Einde van de webpagina insluiten:
include('footer.inc');
?>
// Productnaam weergeven als kop:
echo "<h1>" . $naam . "</h1>\n";
// Hyperlink voor het toevoegen van het product aan het winkelwagentje:
echo '<p><a href="winkelwagentje.php?toevoegen=' . $ean . $url2 . '" title="' . $naam . ' toevoegen aan uw winkelwagentje">';
echo '<img align="texttop" alt="Bestellen" border="0" src="wagentje.gif"> Bestellen';
echo "</a></p>\n";
// Omschrijving weergeven als alinea:
echo "<p><strong>" . htmlentities($omschrijving) . "</strong></p>\n";
// Details weergeven voor de rest van de webpagina:
echo $details;
// Einde van de webpagina insluiten:
include('footer.inc');
?>
dit is het winkelwagen idee
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
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
<?php
/* MySQL-query's voor het maken van de tabellen 'orders' en 'orderdetails'
(de query voor de tabel 'producten' vindt u in producten.php):
CREATE TABLE `orders` (
`ordernummer` VARCHAR(255) NOT NULL,
`gebruikersnaam` VARCHAR(20) NOT NULL,
`orderdatum` DATE NOT NULL,
`status` INT NOT NULL,
PRIMARY KEY (`ordernummer`),
INDEX (`gebruikersnaam`)
);
CREATE TABLE `orderdetails` (
`ordernummer` VARCHAR(255) NOT NULL,
`ean` BIGINT(13) NOT NULL,
`aantal` TINYINT NOT NULL,
PRIMARY KEY (`ordernummer`, `ean`),
INDEX (`aantal`)
);
*/
// +--------------------------------------------------------+
// | Altijd een actuele versie van deze webpagina weergeven |
// +--------------------------------------------------------+
if (!headers_sent()) {
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
}
// Constanten voor mysql_connect() definiëren:
include('/Connections/connect.php');
include('loggen.inc.php');
// Bestaand ordernummer lezen:
if (isset($_GET['sid'])) {
$ordernummer = $_GET['sid'];
} else {
$ordernummer = "";
}
// Nieuw ordernummer maken als de order nog niet bestaat:
if ((isset($_GET['toevoegen'])) and (!OrderBestaat($ordernummer))) {
$ordernummer = "";
// Het ordernummer bestaat uit 25 hexadecimale cijfers:
for ($i = 1; $i <= 25; $i++) {
mt_srand((int) (microtime() * 1000000));
$ordernummer .= dechex(mt_rand(0, 15));
}
$ordernummer = strtoupper($ordernummer);
// Nieuwe order toevoegen aan de tabel 'orders':
$sql = "INSERT INTO `orders` (`ordernummer`, `gebruikersnaam`, `orderdatum`, `status`) ";
$sql .= "VALUES (";
$sql .= "'$ordernummer', '', '" . date("Y-m-d") . "', '0'";
$sql .= "); ";
// Databaseverbinding openen en query uitvoeren:
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
mysql_select_db("magazijn") or die(mysql_error());
mysql_query($sql) or die(mysql_error());
// mysql_close($verbinding);
}
// Artikel toevoegen:
if (isset($_GET['toevoegen'])) {
$ean = $_GET['toevoegen'];
// Het product moet voorkomen in de tabel 'producten':
//if (ProductBestaat($ean)) {
// Bestaat het ordernummer wel, controleer dan of het toe te voegen product
// al is besteld om een bijwerkquery of toevoegquery uit te voeren:
$sql = "SELECT `aantal1` FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean';";
// Databaseverbinding openen en query uitvoeren:
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($resultaat) == 0) {
// Resultaatset vrijgeven:
mysql_free_result($resultaat);
// Toevoegquery opstellen:
$sql = "INSERT INTO `orderdetails` (`ordernummer`, `ean`, `aantal1`) ";
$sql .= "VALUES (";
$sql .= "'$ordernummer', '$ean', '1'";
$sql .= "); ";
} else {
// Huidig aantal lezen en met 1 verhogen:
$rij = mysql_fetch_assoc($resultaat);
$aantal = $rij["aantal1"] + 1;
// Resultaatset vrijgeven:
mysql_free_result($resultaat);
// Bijwerkquery opstellen:
$sql = "UPDATE `orderdetails` ";
$sql .= "SET `aantal1`='$aantal' ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
}
// Toevoegquery of bijwerkquery uitvoeren:
mysql_query($sql) or die($sql . mysql_error());
// mysql_close($verbinding);
}
//}
// Artikel verwijderen:
if (isset($_GET['verwijderen'])) {
$ean = $_GET['verwijderen'];
// Het product moet bestaan ...
if (ProductBestaat($ean)) {
// ... en de order moet bestaan:
if (OrderBestaat($ordernummer)) {
// Verwijderquery uitvoeren:
$sql = "DELETE FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
mysql_query($sql) or die(mysql_error());
//mysql_close($verbinding);
}
}
}
// Aantal artikelen wijzigen
// als het formulier is verzonden met de methode POST
// en er op een knop met de naam 'actie' is geklikt ...
if (isset($_POST['actie'])) {
// ... en de waarde van die knop 'Bijwerken' is ...
if ($_POST['actie'] == "Bijwerken") {
// ... en het ordernummer bestaat:
if (OrderBestaat($ordernummer)) {
// Records voor deze order selecteren
// en daarna eventueel bijwerken of verwijderen:
$sql = "SELECT `ean`, `aantal1` FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer'";
include('/Connections/connect.php');
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
//mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
while ($rij = mysql_fetch_assoc($resultaat)) {
$ean = $rij['ean'];
if (isset($_POST[$ean])) {
// Nieuw aantal van een product lezen uit het formulier:
$nieuw_aantal = $_POST[$ean];
if (is_numeric($nieuw_aantal)) {
// Controleren of het aantal is gewijzigd:
if ($nieuw_aantal != $rij['aantal1']) {
// Record verwijderen:
if ($nieuw_aantal < 1) {
$sql = "DELETE FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
// Record bijwerken:
} else {
$sql = "UPDATE `orderdetails` ";
$sql .= "SET `aantal1`='$nieuw_aantal' ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
}
// Verwijderquery of bijwerkquery uitvoeren
// via de bestaande databaseverbinding:
mysql_query($sql) or die(mysql_error());
}
}
}
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
}
}
}
// +----------------------------------------------------+
// | Aan de kassa klant- of betalingsgegevens toevoegen |
// +----------------------------------------------------+
// Controleren of het verzoek de variabele 'actie' bevat ...
include('/Connections/connect.php');
include('loggen.inc.php');
if (isset($_REQUEST['actie'])) {
// ... en die variabele de waarde 'kassa' of 'Naar de kassa' heeft:
if (($_REQUEST['actie'] == 'kassa') or ($_REQUEST['actie'] == 'Naar de kassa')) {
// Controleren of de order bestaat:
if (OrderBestaat($ordernummer)) {
include_once('header.inc');
echo "<h1>Bestelling</h1>\n";
echo '<p>Hieronder vindt u een overzicht van uw bestelling met ordernummer ' . $ordernummer . '. ';
echo 'Met het <a href="winkelwagentje.php?sid=' . $ordernummer . '">winkelwagentje</a> kunt u deze bestelling nog aanpassen.</p>';
// Overzicht van de order weergeven:
echo '<table border="0" cellspacing="0" cellpadding="3" width="100%">';
echo '<tr bgcolor="#CCCCCC">';
echo '<th style="text-align: left" width="60%">Artikel</th>';
echo '<th colspan="2" style="text-align: center" width="13%">aantal</th>';
echo '<th style="text-align: right" width="13%">Aantal</th>';
echo '<th colspan="2" width="14%">Bedrag</th>';
echo '</tr>';
$totaalaantal = 0; // Totaalaantal artikelen in het winkelwagentje
$sql = "SELECT orderdetails.ean, orderdetails.aantal1, producten.naam, producten.aantal ";
$sql .= "FROM `producten` RIGHT JOIN `orderdetails` ON producten.ean = orderdetails.ean ";
$sql .= "WHERE `ordernummer`= '$ordernummer' ";
$sql .= "ORDER BY producten.naam ASC ";
$sql .= ";";
//mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Eén rij per product weergeven:
while ($rij = mysql_fetch_assoc($resultaat)) {
echo '<tr bgcolor="#EEEEEE">';
echo '<td>' . $rij['naam'] . ' (EAN ' . $rij['ean'] . ')</td>';
echo '<td style="text-align: center">&aantal1;</td>';
echo '<td style="text-align: right">' . number_format($rij['aantal'], 2, ",", ".") . '</td>';
echo '<td style="text-align: right">' . number_format($rij['aantal1'], 0, ",", ".") . '</td>';
echo '<td style="text-align: center">&aantal;</td>';
$subtotaal = $rij['aantal'] * $rij['aantal1'];
echo '<td style="text-align: right">' . number_format($subtotaal, 2, ",", ".") . '</td>';
echo "</tr>\n";
$totaalaantal = $totaalaantal - $rij['aantal1'];
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
echo '<tr style="background-color: #CCCCCC">';
echo '<th style="text-align: left" colspan="3">Totaalaantal en totaalbedrag</th>';
echo '<th style="border-top: solid 1px black; border-bottom: double 3px black; text-align: right">' . number_format($totaalaantal, 0, ",", ".") . '</th>';
echo '<td style="border-top: solid 1px black; border-bottom: double 3px black; text-align: center">€</td>';
echo "</tr>\n";
echo "</table>\n";
echo "<h2>Besteling</h2>\n";
echo 'U kunt betalingen hiertoe afhandelen via een <a href="account.php?sid=' . $ordernummer . '">gebruikersaccount</a>. </p>';
include_once('footer.inc');
exit;
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
// +--------------------------+
// | Winkelwagentje weergeven |
// +--------------------------+
// Server-side include voor het begin van de webpagina:
include_once('header.inc');
include('/Connections/connect.php');
include('loggen.inc.php');
// Ordernummer doorgeven als sessie-id (sid):
if (strlen($ordernummer) > 0) {
$url = "?sid=" . $ordernummer;
} else {
$url = "";
}
// Eenvoudige navigatiebalk weergeven:
echo '<p style="text-align: right">';
echo '<strong>Winkelwagentje</strong>';
echo ' | ';
echo '<a href="account.php' . $url . '">Account</a>';
echo ' | ';
echo '<a href="product.php' . $url . '">Catalogus</a>';
echo ' | ';
echo '<a href="zoeken.php' . $url . '">Zoeken</a>';
echo "</p>\n";
echo "<h1>Winkelwagentje</h1>\n";
$totaalaantal = 0; // Totaalaantal artikelen in het winkelwagentje
$totaalbedrag = 0; // Totaalbedrag van de order
$winkelwagentje = ""; // HTML met de inhoud van het winkelwagentje
// Selectiequery uitvoeren voor de inhoud van het huidige winkelwagentje:
$sql = "SELECT orderdetails.ean, orderdetails.aantal1, producten.naam, producten.aantal ";
$sql .= "FROM `producten` RIGHT JOIN `orderdetails` ON producten.ean = orderdetails.ean ";
$sql .= "WHERE `ordernummer`= '$ordernummer' ";
$sql .= "ORDER BY producten.naam ";
$sql .= ";";
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Eén rij per product weergeven:
while ($rij = mysql_fetch_assoc($resultaat)) {
$winkelwagentje .= '<tr>';
$winkelwagentje .= '<td><a href="product.php?ean=' . $rij['ean'] . '&sid=' . $ordernummer . '">' . $rij['naam'] . '</a></td>';
$winkelwagentje .= '<td>&aantal;</td>';
$winkelwagentje .= '<td style="text-align: right">' . number_format($rij['aantal'], 2, ",", ".") . '</td>';
$winkelwagentje .= '<td style="text-align: right"><input name="' . $rij['ean'] . '" type="text" size="4" style="text-align: right" value="' . $rij['aantal'] . '"></td>';
$winkelwagentje .= '<td style="text-align: left"><a href="winkelwagentje.php?verwijderen=' . $rij['ean'] . '&sid=' . $ordernummer . '"><img alt="Verwijderen" border="0" height="16" src="verwijderen.gif" width="16"></a></td>';
$winkelwagentje .= '<td>€</td>';
$subtotaal = $rij['aantal'] - $rij['aantal1'];
$winkelwagentje .= '<td style="text-align: right">' . number_format($subtotaal, 2, ",", ".") . '</td>';
$winkelwagentje .= "</tr>\n";
$totaalaantal = $totaalaantal + $rij['aantal1'];
$totaalbedrag = $totaalbedrag + $subtotaal;
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
echo '<p>Uw winkelwagentje bevat ';
if ($totaalaantal < 1) {
echo 'geen artikelen. ';
echo ' Raadpleeg eerst de <a href="product.php">catalogus</a>. ';
include_once('footer.inc');
exit;
} elseif ($totaalaantal == 1) {
echo '1 artikel.';
} else {
echo $totaalaantal . ' artikelen.';
}
echo ' Ga naar de <a href="winkelwagentje.php' . $url . '&actie=kassa">kassa</a> als u wilt afrekenen';
echo ' of raadpleeg de <a href="product.php' . $url . '">catalogus</a> als u verder wilt winkelen.';
echo "</p>\n";
// Formulier en tabel voor het winkelwagentje:
?>
/* MySQL-query's voor het maken van de tabellen 'orders' en 'orderdetails'
(de query voor de tabel 'producten' vindt u in producten.php):
CREATE TABLE `orders` (
`ordernummer` VARCHAR(255) NOT NULL,
`gebruikersnaam` VARCHAR(20) NOT NULL,
`orderdatum` DATE NOT NULL,
`status` INT NOT NULL,
PRIMARY KEY (`ordernummer`),
INDEX (`gebruikersnaam`)
);
CREATE TABLE `orderdetails` (
`ordernummer` VARCHAR(255) NOT NULL,
`ean` BIGINT(13) NOT NULL,
`aantal` TINYINT NOT NULL,
PRIMARY KEY (`ordernummer`, `ean`),
INDEX (`aantal`)
);
*/
// +--------------------------------------------------------+
// | Altijd een actuele versie van deze webpagina weergeven |
// +--------------------------------------------------------+
if (!headers_sent()) {
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
}
// Constanten voor mysql_connect() definiëren:
include('/Connections/connect.php');
include('loggen.inc.php');
// Bestaand ordernummer lezen:
if (isset($_GET['sid'])) {
$ordernummer = $_GET['sid'];
} else {
$ordernummer = "";
}
// Nieuw ordernummer maken als de order nog niet bestaat:
if ((isset($_GET['toevoegen'])) and (!OrderBestaat($ordernummer))) {
$ordernummer = "";
// Het ordernummer bestaat uit 25 hexadecimale cijfers:
for ($i = 1; $i <= 25; $i++) {
mt_srand((int) (microtime() * 1000000));
$ordernummer .= dechex(mt_rand(0, 15));
}
$ordernummer = strtoupper($ordernummer);
// Nieuwe order toevoegen aan de tabel 'orders':
$sql = "INSERT INTO `orders` (`ordernummer`, `gebruikersnaam`, `orderdatum`, `status`) ";
$sql .= "VALUES (";
$sql .= "'$ordernummer', '', '" . date("Y-m-d") . "', '0'";
$sql .= "); ";
// Databaseverbinding openen en query uitvoeren:
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
mysql_select_db("magazijn") or die(mysql_error());
mysql_query($sql) or die(mysql_error());
// mysql_close($verbinding);
}
// Artikel toevoegen:
if (isset($_GET['toevoegen'])) {
$ean = $_GET['toevoegen'];
// Het product moet voorkomen in de tabel 'producten':
//if (ProductBestaat($ean)) {
// Bestaat het ordernummer wel, controleer dan of het toe te voegen product
// al is besteld om een bijwerkquery of toevoegquery uit te voeren:
$sql = "SELECT `aantal1` FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean';";
// Databaseverbinding openen en query uitvoeren:
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($resultaat) == 0) {
// Resultaatset vrijgeven:
mysql_free_result($resultaat);
// Toevoegquery opstellen:
$sql = "INSERT INTO `orderdetails` (`ordernummer`, `ean`, `aantal1`) ";
$sql .= "VALUES (";
$sql .= "'$ordernummer', '$ean', '1'";
$sql .= "); ";
} else {
// Huidig aantal lezen en met 1 verhogen:
$rij = mysql_fetch_assoc($resultaat);
$aantal = $rij["aantal1"] + 1;
// Resultaatset vrijgeven:
mysql_free_result($resultaat);
// Bijwerkquery opstellen:
$sql = "UPDATE `orderdetails` ";
$sql .= "SET `aantal1`='$aantal' ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
}
// Toevoegquery of bijwerkquery uitvoeren:
mysql_query($sql) or die($sql . mysql_error());
// mysql_close($verbinding);
}
//}
// Artikel verwijderen:
if (isset($_GET['verwijderen'])) {
$ean = $_GET['verwijderen'];
// Het product moet bestaan ...
if (ProductBestaat($ean)) {
// ... en de order moet bestaan:
if (OrderBestaat($ordernummer)) {
// Verwijderquery uitvoeren:
$sql = "DELETE FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
mysql_query($sql) or die(mysql_error());
//mysql_close($verbinding);
}
}
}
// Aantal artikelen wijzigen
// als het formulier is verzonden met de methode POST
// en er op een knop met de naam 'actie' is geklikt ...
if (isset($_POST['actie'])) {
// ... en de waarde van die knop 'Bijwerken' is ...
if ($_POST['actie'] == "Bijwerken") {
// ... en het ordernummer bestaat:
if (OrderBestaat($ordernummer)) {
// Records voor deze order selecteren
// en daarna eventueel bijwerken of verwijderen:
$sql = "SELECT `ean`, `aantal1` FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer'";
include('/Connections/connect.php');
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
//mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
while ($rij = mysql_fetch_assoc($resultaat)) {
$ean = $rij['ean'];
if (isset($_POST[$ean])) {
// Nieuw aantal van een product lezen uit het formulier:
$nieuw_aantal = $_POST[$ean];
if (is_numeric($nieuw_aantal)) {
// Controleren of het aantal is gewijzigd:
if ($nieuw_aantal != $rij['aantal1']) {
// Record verwijderen:
if ($nieuw_aantal < 1) {
$sql = "DELETE FROM `orderdetails` ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
// Record bijwerken:
} else {
$sql = "UPDATE `orderdetails` ";
$sql .= "SET `aantal1`='$nieuw_aantal' ";
$sql .= "WHERE `ordernummer` = '$ordernummer' AND `ean` = '$ean'";
}
// Verwijderquery of bijwerkquery uitvoeren
// via de bestaande databaseverbinding:
mysql_query($sql) or die(mysql_error());
}
}
}
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
}
}
}
// +----------------------------------------------------+
// | Aan de kassa klant- of betalingsgegevens toevoegen |
// +----------------------------------------------------+
// Controleren of het verzoek de variabele 'actie' bevat ...
include('/Connections/connect.php');
include('loggen.inc.php');
if (isset($_REQUEST['actie'])) {
// ... en die variabele de waarde 'kassa' of 'Naar de kassa' heeft:
if (($_REQUEST['actie'] == 'kassa') or ($_REQUEST['actie'] == 'Naar de kassa')) {
// Controleren of de order bestaat:
if (OrderBestaat($ordernummer)) {
include_once('header.inc');
echo "<h1>Bestelling</h1>\n";
echo '<p>Hieronder vindt u een overzicht van uw bestelling met ordernummer ' . $ordernummer . '. ';
echo 'Met het <a href="winkelwagentje.php?sid=' . $ordernummer . '">winkelwagentje</a> kunt u deze bestelling nog aanpassen.</p>';
// Overzicht van de order weergeven:
echo '<table border="0" cellspacing="0" cellpadding="3" width="100%">';
echo '<tr bgcolor="#CCCCCC">';
echo '<th style="text-align: left" width="60%">Artikel</th>';
echo '<th colspan="2" style="text-align: center" width="13%">aantal</th>';
echo '<th style="text-align: right" width="13%">Aantal</th>';
echo '<th colspan="2" width="14%">Bedrag</th>';
echo '</tr>';
$totaalaantal = 0; // Totaalaantal artikelen in het winkelwagentje
$sql = "SELECT orderdetails.ean, orderdetails.aantal1, producten.naam, producten.aantal ";
$sql .= "FROM `producten` RIGHT JOIN `orderdetails` ON producten.ean = orderdetails.ean ";
$sql .= "WHERE `ordernummer`= '$ordernummer' ";
$sql .= "ORDER BY producten.naam ASC ";
$sql .= ";";
//mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Eén rij per product weergeven:
while ($rij = mysql_fetch_assoc($resultaat)) {
echo '<tr bgcolor="#EEEEEE">';
echo '<td>' . $rij['naam'] . ' (EAN ' . $rij['ean'] . ')</td>';
echo '<td style="text-align: center">&aantal1;</td>';
echo '<td style="text-align: right">' . number_format($rij['aantal'], 2, ",", ".") . '</td>';
echo '<td style="text-align: right">' . number_format($rij['aantal1'], 0, ",", ".") . '</td>';
echo '<td style="text-align: center">&aantal;</td>';
$subtotaal = $rij['aantal'] * $rij['aantal1'];
echo '<td style="text-align: right">' . number_format($subtotaal, 2, ",", ".") . '</td>';
echo "</tr>\n";
$totaalaantal = $totaalaantal - $rij['aantal1'];
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
echo '<tr style="background-color: #CCCCCC">';
echo '<th style="text-align: left" colspan="3">Totaalaantal en totaalbedrag</th>';
echo '<th style="border-top: solid 1px black; border-bottom: double 3px black; text-align: right">' . number_format($totaalaantal, 0, ",", ".") . '</th>';
echo '<td style="border-top: solid 1px black; border-bottom: double 3px black; text-align: center">€</td>';
echo "</tr>\n";
echo "</table>\n";
echo "<h2>Besteling</h2>\n";
echo 'U kunt betalingen hiertoe afhandelen via een <a href="account.php?sid=' . $ordernummer . '">gebruikersaccount</a>. </p>';
include_once('footer.inc');
exit;
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
// +--------------------------+
// | Winkelwagentje weergeven |
// +--------------------------+
// Server-side include voor het begin van de webpagina:
include_once('header.inc');
include('/Connections/connect.php');
include('loggen.inc.php');
// Ordernummer doorgeven als sessie-id (sid):
if (strlen($ordernummer) > 0) {
$url = "?sid=" . $ordernummer;
} else {
$url = "";
}
// Eenvoudige navigatiebalk weergeven:
echo '<p style="text-align: right">';
echo '<strong>Winkelwagentje</strong>';
echo ' | ';
echo '<a href="account.php' . $url . '">Account</a>';
echo ' | ';
echo '<a href="product.php' . $url . '">Catalogus</a>';
echo ' | ';
echo '<a href="zoeken.php' . $url . '">Zoeken</a>';
echo "</p>\n";
echo "<h1>Winkelwagentje</h1>\n";
$totaalaantal = 0; // Totaalaantal artikelen in het winkelwagentje
$totaalbedrag = 0; // Totaalbedrag van de order
$winkelwagentje = ""; // HTML met de inhoud van het winkelwagentje
// Selectiequery uitvoeren voor de inhoud van het huidige winkelwagentje:
$sql = "SELECT orderdetails.ean, orderdetails.aantal1, producten.naam, producten.aantal ";
$sql .= "FROM `producten` RIGHT JOIN `orderdetails` ON producten.ean = orderdetails.ean ";
$sql .= "WHERE `ordernummer`= '$ordernummer' ";
$sql .= "ORDER BY producten.naam ";
$sql .= ";";
//$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD) or die(mysql_error());
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
// Eén rij per product weergeven:
while ($rij = mysql_fetch_assoc($resultaat)) {
$winkelwagentje .= '<tr>';
$winkelwagentje .= '<td><a href="product.php?ean=' . $rij['ean'] . '&sid=' . $ordernummer . '">' . $rij['naam'] . '</a></td>';
$winkelwagentje .= '<td>&aantal;</td>';
$winkelwagentje .= '<td style="text-align: right">' . number_format($rij['aantal'], 2, ",", ".") . '</td>';
$winkelwagentje .= '<td style="text-align: right"><input name="' . $rij['ean'] . '" type="text" size="4" style="text-align: right" value="' . $rij['aantal'] . '"></td>';
$winkelwagentje .= '<td style="text-align: left"><a href="winkelwagentje.php?verwijderen=' . $rij['ean'] . '&sid=' . $ordernummer . '"><img alt="Verwijderen" border="0" height="16" src="verwijderen.gif" width="16"></a></td>';
$winkelwagentje .= '<td>€</td>';
$subtotaal = $rij['aantal'] - $rij['aantal1'];
$winkelwagentje .= '<td style="text-align: right">' . number_format($subtotaal, 2, ",", ".") . '</td>';
$winkelwagentje .= "</tr>\n";
$totaalaantal = $totaalaantal + $rij['aantal1'];
$totaalbedrag = $totaalbedrag + $subtotaal;
}
mysql_free_result($resultaat);
//mysql_close($verbinding);
echo '<p>Uw winkelwagentje bevat ';
if ($totaalaantal < 1) {
echo 'geen artikelen. ';
echo ' Raadpleeg eerst de <a href="product.php">catalogus</a>. ';
include_once('footer.inc');
exit;
} elseif ($totaalaantal == 1) {
echo '1 artikel.';
} else {
echo $totaalaantal . ' artikelen.';
}
echo ' Ga naar de <a href="winkelwagentje.php' . $url . '&actie=kassa">kassa</a> als u wilt afrekenen';
echo ' of raadpleeg de <a href="product.php' . $url . '">catalogus</a> als u verder wilt winkelen.';
echo "</p>\n";
// Formulier en tabel voor het winkelwagentje:
?>
<form action="winkelwagentje.php" method="post">
<table border="0" cellspacing="0" cellpadding="3" width="100%">
<tr style="background-color: #ECE9D8">
<th style="text-align: left" width="60%">Artikel</th>
<th colspan="2" width="12%">Aantal</th>
<th style="text-align: right" width="12%">Aantal</th>
<th width="4%"> </th>
<th colspan="2" width="12%">Bedrag</th>
</tr>
<tr style="background-color: #ECE9D8">
<th style="text-align: left">Totaalaantal en totaalbedrag</th>
<td> </td>
<td> </td>
<th style="text-align: right" style="border-top: solid 1px black; border-bottom: double 3px black"></th>
<td> </td>
<td style="border-top: solid 1px black; border-bottom: double 3px black">€</td>
<th style="border-top: solid 1px black; border-bottom: double 3px black; text-align: right"></th>
</tr>
<tr>
<td colspan="7" style="padding-top: 10px; text-align: right">
<input name="actie" style="height: 23px" type="submit" value="Bijwerken">
<script language="javascript" type="text/javascript">
<!--
document.write("<input onclick='document.location=\"product.php\"' style='height: 23px' type='button' value='Verder winkelen'>");
-->
</script>
<input name="actie" style="height: 23px" type="submit" value="Naar de kassa">
</td>
</tr>
</table>
</form>
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
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
<?php
// Einde van de webpagina:
include('footer.inc');
// +-----------------------------------+
// | Controleren of een order bestaat. |
// +-----------------------------------+
function OrderBestaat($ordernummer)
{
// Het ordernummer moet 25 tekens lang zijn:
if (strlen($ordernummer) <> 25) {
return false;
}
// Controleren of het ordernummer voorkomt in de tabel 'orders':
$sql = "SELECT `ordernummer` FROM `orders` WHERE `ordernummer` = '$ordernummer'";
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
$aantal_records = mysql_num_rows($resultaat);
mysql_free_result($resultaat);
//mysql_close($verbinding);
// Is er precies 1 record gevonden?
if ($aantal_records == 1) {
return true;
} else {
return false;
}
}
?>
// Einde van de webpagina:
include('footer.inc');
// +-----------------------------------+
// | Controleren of een order bestaat. |
// +-----------------------------------+
function OrderBestaat($ordernummer)
{
// Het ordernummer moet 25 tekens lang zijn:
if (strlen($ordernummer) <> 25) {
return false;
}
// Controleren of het ordernummer voorkomt in de tabel 'orders':
$sql = "SELECT `ordernummer` FROM `orders` WHERE `ordernummer` = '$ordernummer'";
include('/Connections/connect.php');
mysql_select_db("magazijn") or die(mysql_error());
$resultaat = mysql_query($sql) or die(mysql_error());
$aantal_records = mysql_num_rows($resultaat);
mysql_free_result($resultaat);
//mysql_close($verbinding);
// Is er precies 1 record gevonden?
if ($aantal_records == 1) {
return true;
} else {
return false;
}
}
?>
dit is het inloggen
Code (php)
1
2
3
4
2
3
4
<?php
include_once("loggen.inc.php"); // Bezoek opslaan in het logboek
include_once("header.inc");
?>
include_once("loggen.inc.php"); // Bezoek opslaan in het logboek
include_once("header.inc");
?>
<h1>Welkom op de magazijn site.</h1>
<p> </p>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
include('/Connections/connect.php');
$sql = "SELECT `gebruikersnaam` FROM `accounts' ";
echo '$gebruikersnaam' ;
include('winkelwagentje.php');
include_once("footer.inc");
?>
include('/Connections/connect.php');
$sql = "SELECT `gebruikersnaam` FROM `accounts' ";
echo '$gebruikersnaam' ;
include('winkelwagentje.php');
include_once("footer.inc");
?>
inlog 2
wat bij inlog hoort
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
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
<?php
$datum = date("Y-m-d"); // Huidige datum
$tijd = date("H:i:s"); // Huidige tijd
if (isset($_SERVER['REQUEST_METHOD'])) { // HTTP-methode
$methode = $_SERVER['REQUEST_METHOD'];
} else {
$methode = NULL;
}
if (isset($_SERVER['PHP_SELF'])) { // Huidige pagina
$pagina = $_SERVER['PHP_SELF'];
} else {
$pagina = NULL;
}
if (isset($_SERVER['HTTP_REFERRER'])) { // Vorige pagina
$referer = $_SERVER['HTTP_REFERRER'];
} else {
$referer = NULL;
}
if (isset($_SERVER['REMOTE_ADDR'])) { // Extern IP-adres
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = NULL;
}
if (isset($_SERVER['HTTP_USER_AGENT'])) { // Gebruikte browser
$browser = $_SERVER['HTTP_USER_AGENT'];
} else {
$browser = NULL;
}
// MySQL-toevoegquery opstellen:
$sql = "INSERT INTO `logboek` ";
$sql .= "(`logboek_id`, `datum`, `tijd`, `methode`, `pagina`, `referer`, `adres`, `browser`) ";
$sql .= "VALUES ";
$sql .= "('', '$datum', '$tijd', '$methode', '$pagina', '$referer', '$ip_adres', '$browser') ";
$sql .= "; ";
// Databaseverbinding openen met mysql_connect():
include('/Connections/connect.php');
// Database 'test' selecteren:
mysql_select_db("magazijn") or die(mysql_error());
// Query zonder resultaatset uitvoeren:
mysql_query($sql) or die(mysql_error());
// Databaseverbinding sluiten:
//mysql_close($verbinding);
?>
$datum = date("Y-m-d"); // Huidige datum
$tijd = date("H:i:s"); // Huidige tijd
if (isset($_SERVER['REQUEST_METHOD'])) { // HTTP-methode
$methode = $_SERVER['REQUEST_METHOD'];
} else {
$methode = NULL;
}
if (isset($_SERVER['PHP_SELF'])) { // Huidige pagina
$pagina = $_SERVER['PHP_SELF'];
} else {
$pagina = NULL;
}
if (isset($_SERVER['HTTP_REFERRER'])) { // Vorige pagina
$referer = $_SERVER['HTTP_REFERRER'];
} else {
$referer = NULL;
}
if (isset($_SERVER['REMOTE_ADDR'])) { // Extern IP-adres
$ip_adres = $_SERVER['REMOTE_ADDR'];
} else {
$ip_adres = NULL;
}
if (isset($_SERVER['HTTP_USER_AGENT'])) { // Gebruikte browser
$browser = $_SERVER['HTTP_USER_AGENT'];
} else {
$browser = NULL;
}
// MySQL-toevoegquery opstellen:
$sql = "INSERT INTO `logboek` ";
$sql .= "(`logboek_id`, `datum`, `tijd`, `methode`, `pagina`, `referer`, `adres`, `browser`) ";
$sql .= "VALUES ";
$sql .= "('', '$datum', '$tijd', '$methode', '$pagina', '$referer', '$ip_adres', '$browser') ";
$sql .= "; ";
// Databaseverbinding openen met mysql_connect():
include('/Connections/connect.php');
// Database 'test' selecteren:
mysql_select_db("magazijn") or die(mysql_error());
// Query zonder resultaatset uitvoeren:
mysql_query($sql) or die(mysql_error());
// Databaseverbinding sluiten:
//mysql_close($verbinding);
?>
en natuurlijk de html gedeelte voor de inlog.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Inloggen</title>
<link href="xp.css" rel="stylesheet" type="text/css">
</head>
<body>
<form action="loggen.php" method="post">
<table border="0" cellpadding="0" cellspacing="2">
<tr>
<td>Gebruikersnaam:</td>
</tr>
<tr>
<td><input name="gn" type="text"></td>
</tr>
<tr>
<td>Wachtwoord:</td>
</tr>
<tr>
<td><input name="ww" type="password"></td>
</tr>
<tr>
<td><input name="wo" type="checkbox" value="1"> Wachtwoord opslaan</td>
</tr>
<tr>
<td><input type="submit" value="Inloggen"></td>
</tr>
</table>
</form>
</body>
</html>
alles werkt in prenciepe.
maar op 1 ding na de gebruikersnaam wordt niet mee gepost ben een par dagen bezig geweest maar ik krijg het niet klaar.
misschien dat 1 weet waar het mis gaat.