mysql_num_rows geeft geen waarde terug

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-End Developer

As a Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Front-End Developer at Coolblue? As a Front-End Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX Designer to pick up stories. You get energy from coming up with creative solutions and are happy to present these within the team. You also take pride in your work and welcome any feedback. Would you like to become a Front-End Developer at Coolblue? Read below if the job suits you. You

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

Bekijk vacature »

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »
Red Crew

Red Crew

22/08/2006 23:31:00
Quote Anchor link
Ik probeer vanuit een simpele SELECT query te weten of ik 1 rij als result terug krijg.
Waarschijnlijk heb ik ergens een domme fout gemaakt.
ik krijg van de zend debugger geen foutmeldingen.
Hetgene wat ik wil weten dat de datum_weg groter is als datum_terug (als de dvd weg gaat wordt deze datum ingevuld en blijft de datum_terug op 0000-00-00 staan).
Vandaar deze controle.
De query
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    $uit_id
= $_POST['uit_id'];
    $good = true;
    $sql = "
        SELECT
            datum_terug,
            datum_weg
        FROM
            uitgeleend
        WHERE
            id = '"
.$uit_id."
        AND
            datum_terug < datum_weg;
        "
;

    $result = mysql_query( $sql );
    $num_rows = mysql_num_rows($result);
?>

De tabel in Mysql
CREATE TABLE `uitgeleend` (
`id` smallint(3) unsigned NOT NULL auto_increment,
`leners_id` smallint(3) unsigned NOT NULL default '0',
`dvd_id` smallint(3) unsigned NOT NULL default '0',
`datum_weg` date NOT NULL default '0000-00-00',
`datum_terug` date NOT NULL default '0000-00-00',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

--
-- Gegevens worden uitgevoerd voor tabel `uitgeleend`
--

INSERT INTO `uitgeleend` VALUES (1, 1, 12, '2006-07-27', '0000-00-00');

Iemand enig ide wat ik fout kan gedaan hebben ?
 
PHP hulp

PHP hulp

24/04/2024 09:01:14
 
Jan Koehoorn

Jan Koehoorn

22/08/2006 23:36:00
Quote Anchor link
In regel 11 van je voorbeeld mis ik een enkele quote aan het eind. Als id een INT is, mogen de enkele quotes helemaal weg.
 
Red Crew

Red Crew

22/08/2006 23:40:00
Quote Anchor link
Merci dat was de fout, daar zat ik mij nu al 2 uur blind op te staren :)

de id is een int die ze niet zelf kunnen ingeven maar die uit een andere query van het formulier komt.

Kan het gene kwaad voor mysql injection ?
 
Bo az

Bo az

22/08/2006 23:48:00
Quote Anchor link
$uit_id = $_POST['uit_id'];

Komt dus van de client, je weet dus nooit wat er binnnen komt omdat de gebruiker hier invloed op kan hebben. En zijn dus per defenitie gevoelig voor MySQL injection.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Red Crew

Red Crew

22/08/2006 23:57:00
Quote Anchor link
Dit is maar een gedeelte van het script.
De gebruiker kan dit NIET zelf intypen.
Als het af hangt het zelfs van het niveau wat ze kunnen updaten :)

Er zitten nog fouten in waar ik momenteel aan het werk aan ben maar hier krijg je toch een globaal zicht.
Ik probeer zo goed en zo kwaad mogelijk aan controle te doen.

Alle tips zijn welkom ! ! !

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
<?php

require "../core/lib.inc.php";

/**
 * @return void
 * @desc Dit is het form gedeelte voor voornaam, achternaam en login
*/

function uitleenform1 () {
    echo '<fieldset>'.PHP_EOL;
    echo '<legend>Een uitlener toevoegen</legend>'.PHP_EOL;
    echo '<p>'.PHP_EOL;
    echo '<label for="voornaam" class="align_text">Voornaam:</label>'.PHP_EOL;
    echo '<input id="voornaam" name="voornaam" type="text" class="my_textfield" value="'.$_POST['voornaam'].'" size="16" />'.PHP_EOL;
    echo '</p><p>'.PHP_EOL;
    echo '<label for="achternaam" class="align_text">Achternaam:</label>'.PHP_EOL;
    echo '<input id="achternaam" name="achternaam" type="text" class="my_textfield" value="'.$_POST['achternaam'].'" size="16" />'.PHP_EOL;
    echo '</p><p>'.PHP_EOL;
    echo '<label for="login" class="align_text">Loginnaam:</label>'.PHP_EOL;
    echo '<input id="login" name="login" type="text" class="my_textfield" value="'.$_POST['login'].'" size="16" />'.PHP_EOL;
    echo '</p><p>'.PHP_EOL;
}

    
/**
 * @return void
 * @desc Dit is het form gedeelte voor de paswoorden, deze heb ik apart gezet omdat ik die voor te updaten niet standaard nodig heb.
*/

function uitleenform2 () {    
    echo '<label for="passw" class="align_text">Paswoord:</label>'.PHP_EOL;
    echo '<input id="passw" name="passw" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
    echo '</p><p>'.PHP_EOL;
    echo '<label for="passw2" class="align_text">Herhaal paswoord:</label>'.PHP_EOL;
    echo '<input id="passw2" name="passw2" type="password" class="my_textfield" value="" size="16" />'.PHP_EOL;
    echo '</p><p>'.PHP_EOL;
}

    
/**
 * @return void
 * @desc Dit is het laatste gedeelte van mijn form voor het email adres
*/

function uitleenform3 () {
    echo '<label for="email" class="align_text">E-mailadres:</label>'.PHP_EOL;
    echo '<input id="email" name="email" type="text" class="my_textfield" value="'.$_POST['email'].'" size="16" />'.PHP_EOL;
    echo '</p>'.PHP_EOL;
    echo '<input type="submit" value="Voeg toe" class="button" />'.PHP_EOL;
    echo '</fieldset>'.PHP_EOL;
}



$conn = mysql_connect( $db['host'], $db['user'], $db['pw'] ) or die ("help!" );
mysql_select_db( $db['dvd_db'] );

myheader( "uit" );

echo '<table width="100%" border="0" >'.PHP_EOL;
echo '<tr>'.PHP_EOL;
echo '<td valign="top">'.PHP_EOL;
echo '<td>'.PHP_EOL;
echo '<a href="'.uit.'?p=addlenerform" title="Voeg een uitlener toe" class="formleft">Uitlener toevoegen</a>'.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td>'.PHP_EOL;
echo '<a href="'.uit.'?p=uitleenform" title="DVD uitlenen" class="formleft">DVD uitlenen</a>'.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '<td>'.PHP_EOL;
echo '<a href="'.uit.'?p=inbrengform" title="DVD terugbrengen" class="formleft">DVD terugbrengen</a>'.PHP_EOL;
echo '</td>'.PHP_EOL;
echo '</tr>'.PHP_EOL;
echo '</table>'.PHP_EOL;
echo '<hr />'.PHP_EOL;

if ( $_GET['p'] == 'addlenersql' ) {

    $good = true;
    $tvoornaam = trim($_POST['voornaam']);
    $tachternaam = trim($_POST['achternaam']);
    $tlogin = trim($_POST['login']);
    $tpassw = trim($_POST['passw']);
    $temail = trim($_POST['email']);
    $sql = "SELECT voornaam, achternaam FROM leners WHERE voornaam = '".$voornaam."' AND achternaam = '".$achternaam."';";
    $result = mysql_query( $sql );
    
    if ( empty($tvoornaam) ) {
        $good = false;
        echo 'U kan geen uitlener toevoegen zonder voornaam!'.PHP_EOL;
        goback();
    
    }
elseif ( empty($tachternaam) ) {
        $good = false;
        echo 'U moet een achternaam invullen voor de uitlener!'.PHP_EOL;
        goback();

    }
elseif ( empty($tlogin) ) {
        $good = false;
        echo 'U moet een loginnaam invullen voor de uitlener!'.PHP_EOL;
        goback();

    }
elseif ( empty($tpassw) ) {
        $good = false;
        echo 'U moet een paswoord invullen voor de uitlener!'.PHP_EOL;
        goback();

    }
elseif ( $_POST['passw'] != $_POST['passw2'] ) {
        $good = false;
        echo 'De paswoorden komen niet overeen !'.PHP_EOL;
        goback();

    }
elseif ( empty($temail) ) {
        $good = false;
        echo 'U moet een email invullen voor de uitlener!'.PHP_EOL;
        goback();

    }
elseif ( checkmail($_POST['email']) != true ) {
        $good = false;
        echo 'U moet een GELDIG email invullen voor de uitlener!'.PHP_EOL;
        goback();

    }
elseif ( mysql_num_rows($result) > 0 ) {
        $good = false;
        echo "Anti-floodbeveiling<br />Oeps deze uitlener staat er blijkbaar al in.";
        goback();
        }

    
    if ( $good ) {
        
    $voornaam = mysql_real_escape_string($_POST['voornaam']);
    $achternaam = mysql_real_escape_string($_POST['achternaam']);
    $login = mysql_real_escape_string($_POST['login']);
    $passw = crypt(md5( stripslashes($_POST['passw']) ), "XY");
    $email = mysql_real_escape_string($_POST['email']);
    

    $sql = "INSERT INTO leners";
    $sql .= " ( voornaam, achternaam, login, passw, email )";
    $sql .= " VALUES";
    $sql .= " ( '".$voornaam."', '".$achternaam."', '".$login."', '".$passw."', '".$email."' );";

    $result = mysql_query( $sql );
    
        if ( $result ) {
        echo 'De uitlener is opgenomen in onze database'.PHP_EOL;
    }
else {
        echo 'Sorry, onverwachte fout met de database.'.mysql_error();
    }

    echo '<br /><br />'.PHP_EOL;
    echo '<a href="'.uit.'?p=addlenerform" title="Voeg nog een uitlener toe" class="formleft">Voeg nog een uitlener toe</a>'.PHP_EOL;
    }

}
else if ( $_GET['p'] == 'uitleensql' ) {

    $dvd_id = mysql_real_escape_string($_POST['dvd_id']);
    $tdvd_id = trim($_POST['dvd_id']);
    $tleners_id = trim($_POST['leners_id']);
    $good = true;
    $sql = "
        SELECT
            dvd_id,
            datum_weg,
            datum_terug
        FROM
            uitgeleend
        WHERE
            dvd_id = '"
.$dvd_id."'
        AND
            datum_terug < datum_weg;
        "
;
    $result = mysql_query( $sql );
    
    if(empty($tdvd_id)) {
        $good = false;
        echo 'Er is iets foutgelopen met de keuze van de dvd!'.PHP_EOL;
        echo $_POST['dvd_id'];
        goback();
    
    }
elseif (empty($tleners_id)) {
        $good = false;
        echo $_POST['leners_id'];
        echo 'Er is iets fout gelopen met de keuze van uitlener!'.PHP_EOL;
        goback();

    }
elseif ( mysql_num_rows($result) > 0 ) {
        $good = false;
        echo "Foutje<br />deze dvd is blijkbaar al uitgeleend.";
        goback();
        }

    if ( $good ) {

    $leners_id = mysql_real_escape_string($_POST['leners_id']);
    $sql = "INSERT INTO uitgeleend";
    $sql .= " ( leners_id, dvd_id, datum_weg)";
    $sql .= " VALUES";
    $sql .= " ( '".$leners_id."', '".$dvd_id."', CURRENT_DATE() );";

    $result = mysql_query( $sql );
    
        if ( $result ) {
        echo 'Deze dvd staat nu gemarkeerd als uitgeleend'.PHP_EOL;
    }
else {
        echo 'Sorry, onverwachte fout met de database.'.mysql_error();
    }

    echo '<br /><br />'.PHP_EOL;
    echo '<a href="'.uit.'?p=uitleenform" title="Nog een dvd uitlenen" class="formleft">Nog een dvd uitlenen</a>'.PHP_EOL;
    }

}
else if ( $_GET['p'] == 'inbrengsql' ) {

    $uit_id = $_POST['uit_id'];
    $good = true;
    $sql = "
        SELECT
            datum_terug,
            datum_weg
        FROM
            uitgeleend
        WHERE
            id = '"
.$uit_id."'
        AND
            datum_terug < datum_weg;
        "
;

    $result = mysql_query( $sql );
    $num_rows = mysql_num_rows($result);

    
    if (! is_numeric($uit_id)) {
        $good = false;
        goback();
    }
elseif ( $num_rows == 0 ) {
        $good = false;
        echo "Foutje<br />deze dvd is blijkbaar al teruggebracht.";
        goback();
    }
elseif ( $num_rows > 1 ) {
        $good = false;
        echo "Er is een fout opgetreden in de database.";
        goback();
    }

    
    if ( $good ) {

        $sql = "
            UPDATE
                uitgeleend
            SET
                datum_terug = NOW()
            WHERE
                id = '"
.$uit_id."';
            "
;
        if ( $result ) {
            echo 'Deze dvd staat nu gemarkeerd als teruggebracht'.PHP_EOL;
        }
else {
            echo 'Sorry, onverwachte fout met de database.'.mysql_error();
        }

        echo '<br /><br />'.PHP_EOL;
        echo '<a href="'.uit.'?p=inbrengform" title="Nog een dvd markeren als teruggebracht" class="formleft">Nog een dvd markeren als teruggebracht</a>'.PHP_EOL;
        }
        
}
else if ($_GET['p'] == "addlenerform") {
    
    echo '<form action="'.uit.'?p=addlenersql" method="post">'.PHP_EOL;

    uitleenform1();
    uitleenform2();
    uitleenform3();
    
    echo '</form>'.PHP_EOL;
    echo '<hr class="clearer" />'.PHP_EOL;
    echo '<hr />'.PHP_EOL;
    echo '<a href="'.uit.'" title="Terug naar overzicht met uitleners" class="formleft">Terug naar overzicht met uitleners</a>'.PHP_EOL;

}
else if ($_GET['p'] == "uitleenform") {
    
    echo '<h1>Een uitlener toevoegen</h1>'.PHP_EOL;
    echo '<br />'.PHP_EOL;
    echo '<form action="'.uit.'?p=uitleensql" method="post">'.PHP_EOL;
    echo '<table width="85%" border="0">'.PHP_EOL;

    echo '<tr>'.PHP_EOL;
    echo '<td class="formleft">'.PHP_EOL;
    echo 'Uitlener:'.PHP_EOL;
    echo '</td>'.PHP_EOL;
    echo '<td>'.PHP_EOL;

    $result = mysql_query( "SELECT id,voornaam, achternaam FROM leners ORDER BY achternaam ASC", $conn );
    if ( mysql_num_rows($result) >= 1 ) {
        echo '<select name="leners_id">'.PHP_EOL;
        while ( $data = mysql_fetch_array($result) ) {
            $voornaam = stripslashes($data['voornaam']);
            $achternaam = stripslashes($data['achternaam']);
            echo '<option value="';
            echo $data['id'];
            echo '">';
            echo $voornaam.'&nbsp;'.$achternaam;
            echo '</option>'.PHP_EOL;
        }

        echo '</select>'.PHP_EOL;
        echo '&nbsp;&nbsp;&nbsp;'.PHP_EOL;
    }

    echo '<a href="'.uit.'?p=addlenerform" title="Voeg een uitlener toe" class="formleft">Uitlener toevoegen</a>'.PHP_EOL;

    echo '</td>'.PHP_EOL;
    echo '</tr>'.PHP_EOL;

    echo '<tr>'.PHP_EOL;
    echo '<td class="formleft">'.PHP_EOL;
    echo 'dvd:'.PHP_EOL;
    echo '</td>'.PHP_EOL;
    echo '<td>'.PHP_EOL;

    $result = mysql_query( "SELECT id,naam FROM dvd ORDER BY naam ASC", $conn );
    if ( mysql_num_rows($result) >= 1 ) {
        echo '<select name="dvd_id">'.PHP_EOL;
        while ( $data = mysql_fetch_array($result) ) {
            $naam = stripslashes($data['naam']);
            echo '<option value="';
            echo $data['id'];
            echo '">';
            echo $naam;
            echo '</option>'.PHP_EOL;
        }

        echo '</select>'.PHP_EOL;
    }
else {
            echo '<a href="'.dvd.'?p=adddvdform" title="Voeg een dvd toe" class="formleft">dvd toevoegen</a>';
        }

    echo '</td>'.PHP_EOL;
    echo '</tr>'.PHP_EOL;

    echo '<tr>'.PHP_EOL;
    echo '<td colspan="2"><input type="submit" value="Voeg toe" />'.PHP_EOL;
    echo '</td>'.PHP_EOL;
    echo '</tr>'.PHP_EOL;
    echo '</table>'.PHP_EOL;
    echo '</form>'.PHP_EOL;
    echo '<br /><hr />'.PHP_EOL;
    echo '<a href="'.uit.'" title="Terug naar overzicht met uitleners" class="formleft">Terug naar overzicht met uitleners</a>'.PHP_EOL;

}
else if ($_GET['p'] == "inbrengform") {
    
    echo '<h1>Een dvd terugbrengen</h1>'.PHP_EOL;
    echo '<br />'.PHP_EOL;

    if ( isset($_GET['did']) && is_numeric($_GET['did']) ) {
        echo '<form action="'.uit.'?p=inbrengsql" method="post">'.PHP_EOL;
        echo '<table border="0">'.PHP_EOL;
        echo '<tr>'.PHP_EOL;
        echo '<td class="formleft">'.PHP_EOL;
        echo 'dvd:'.PHP_EOL;
        echo '</td>'.PHP_EOL;
        echo '<td>'.PHP_EOL;

        $result = mysql_query( "
            SELECT
                uitgeleend.id AS uit_id,
                voornaam,
                achternaam,
                naam
            FROM
                uitgeleend,
                leners,
                dvd
            WHERE
                dvd_id = '"
.$_GET['did']."'
            AND
                dvd_id = dvd.id
            AND
                leners_id= leners.id
            "
, $conn );
        if ( mysql_num_rows($result) < 1 ) {
            err404();    
        }

        echo '<input type="hidden" name="dvd_id" value="'.$data[0].'" />'.PHP_EOL;
        while ( $data = mysql_fetch_array($result) ) {
            $naam = stripslashes($data['naam']);
            $voornaam = stripslashes($data['voornaam']);
            $achternaam = stripslashes($data['achternaam']);
            echo $naam.'&nbsp;uitgeleend door:&nbsp;'.$voornaam.'&nbsp;'.$achternaam;
            echo '<input type="hidden" name="uit_id" value="'.$data['uit_id'].'" />'.PHP_EOL;
        }


        echo '</td>'.PHP_EOL;
        echo '</tr>'.PHP_EOL;
        
        echo '<tr>'.PHP_EOL;
        echo '<td colspan="2"><input type="submit" value="Terug" />'.PHP_EOL;
        echo '</td>'.PHP_EOL;
        echo '</tr>'.PHP_EOL;
        echo '</table>'.PHP_EOL;
        echo '</form>'.PHP_EOL;
        echo '<br /><hr />'.PHP_EOL;
        echo '<a href="'.uit.'" title="Terug naar overzicht met uitleners" class="formleft">Terug naar overzicht met uitleners</a>'.PHP_EOL;
    
    }
else if ( isset($_GET['lid']) && is_numeric($_GET['lid']) ) {
        echo '<form action="'.uit.'?p=inbrengsql" method="post">'.PHP_EOL;
        echo '<table border="0">'.PHP_EOL;
        echo '<tr>'.PHP_EOL;
        echo '<td class="formleft">'.PHP_EOL;
        echo 'dvd:'.PHP_EOL;
        echo '</td>'.PHP_EOL;
        echo '<td>'.PHP_EOL;

        $result = mysql_query( "SELECT leners_id, uitgeleend.id, dvd_id, naam FROM uitgeleend, dvd WHERE leners_id = '".$_GET['lid']."' AND dvd_id = dvd.id  ", $conn );
        if ( mysql_num_rows($result) < 1 ) {
            err404();    
        }

        echo '<select name="dvd_id">'.PHP_EOL;
        while ( $data = mysql_fetch_array($result) ) {
            $naam = stripslashes($data['naam']);
            echo '<option value="';
            echo $data[1];
            echo '">';
            echo $naam;
            echo '</option>'.PHP_EOL;
        }

        echo '</select>'.PHP_EOL;
    
        echo '</td>'.PHP_EOL;
        echo '</tr>'.PHP_EOL;

        echo '<tr>'.PHP_EOL;
        echo '<td colspan="2"><input type="submit" value="Terug" />'.PHP_EOL;
        echo '</td>'.PHP_EOL;
        echo '</tr>'.PHP_EOL;
        echo '</table>'.PHP_EOL;
        echo '</form>'.PHP_EOL;
        echo '<br /><hr />'.PHP_EOL;
        echo '<a href="'.uit.'" title="Terug naar overzicht met uitleners" class="formleft">Terug naar overzicht met uitleners</a>'.PHP_EOL;
    
    }
else {
        $result = mysql_query("
            SELECT
                uitgeleend.id,
                leners_id,
                dvd_id,
                datum_weg,
                datum_terug,
                voornaam,
                achternaam,
                naam
            FROM
                uitgeleend,
                leners,
                dvd
            WHERE
                leners_id = leners.id
            AND
                dvd_id = dvd.id
            AND
                datum_terug < datum_weg
            "
, $conn );
        if ( mysql_num_rows($result) >= 1 ) {
            $i = 0;
            echo '<table border="0">'.PHP_EOL;
            while ($data = mysql_fetch_array($result))
            {

                $arraydag = array(
                    'Zondag',
                    'Maandag',
                    'Dinsdag',
                    'Woensdag',
                    'Donderdag',
                    'Vrijdag',
                    'Zaterdag'
                    );
                $dagvanweek = $arraydag[date("w",strtotime($data['datum_weg']))];
                $datum = $dagvanweek.'&nbsp;'.date("d-m-Y",strtotime($data['datum_weg']));
                $voornaam = stripslashes($data['voornaam']);
                $achternaam = stripslashes($data['achternaam']);
                $naam = stripslashes($data['naam']);
                $i++;
                echo '<tr>'.PHP_EOL;
                echo '<td class="formleft">'.PHP_EOL;
                echo $i.')'.PHP_EOL;
                echo '</td>'.PHP_EOL;
                echo '<td class="formdata">'.PHP_EOL;
                echo '<a href="'.uit.'?p=inbrengform&amp;did='.$data['dvd_id'].'" title="Markeer'.$naam.' als teruggebracht" class="formleft">'.$naam.'</a>';
                echo '</td>'.PHP_EOL;
                echo '<td>'.PHP_EOL;
                echo 'Uitgeleend door '.$voornaam.'&nbsp;'.$achternaam;
                echo '&nbsp;op&nbsp;'.$datum.PHP_EOL;
                echo '</td>'.PHP_EOL;
                echo '</tr>'.PHP_EOL;
            }

            echo '</table>'.PHP_EOL;
            echo '<br /><hr />'.PHP_EOL;
            echo '<a href="'.uit.'" title="Terug naar overzicht met uitleners" class="formleft">Terug naar overzicht met uitleners</a>'.PHP_EOL;
            echo '<br />'.PHP_EOL;
            echo '<a class="formleft" href="http:#paginatop">Terug naar boven</a>'.PHP_EOL;
        }
else {
            echo 'Er zijn momenteel geen uitgeleende dvd\'s gevonden.'.PHP_EOL;
        }
    }

}
else {

    $sql ="SELECT id, voornaam, achternaam FROM leners ORDER BY achternaam ASC";

    $result = mysql_query( $sql );

    if ( mysql_num_rows($result) >= 1 ) {
        $i = 0;
        echo '<table border="0">'.PHP_EOL;
        while ($data = mysql_fetch_array($result))
        {

            $voornaam = stripslashes($data['voornaam']);
            $achternaam = stripslashes($data['achternaam']);
            $i++;
            echo '<tr>'.PHP_EOL;
            echo '<td class="formleft">'.PHP_EOL;
            echo $i.')'.PHP_EOL;
            echo '</td>'.PHP_EOL;
            echo '<td class="formdata">'.PHP_EOL;
            echo '<a href="'.uit.'?p=inbrengform&amp;lid='.$data['id'].'" title="Deze zijn dvd\'s terugbrengen" class="formleft">'.$voornaam.'&nbsp;'.$achternaam.'</a>';
            echo '</td>'.PHP_EOL;
            echo '</tr>'.PHP_EOL;
        }

        echo '</table>'.PHP_EOL;
    }
else {
        echo 'Hier zijn geen gegevens gevonden.'.PHP_EOL;
    }

}


myfooter();

mysql_close( $conn );

?>
 
Bo az

Bo az

23/08/2006 00:07:00
Quote Anchor link
Dit:
echo '<input type="hidden" name="uit_id" value="'.$data['uit_id'].'" />'.PHP_EOL;
is toch lokaal aan te passen.
Je kan bijvoorbeeld de broncode opslaan, wijzigen en openen in je browser.
Het is dus nogsteeds gevoelig voor sql injection.
 
Red Crew

Red Crew

23/08/2006 00:09:00
Quote Anchor link
Hoe zou jij dan de id meegeven aan het sql form ?
Via de sessies ?
Die zijn wel nog niet geïmplementeerd op deze pagina maar dat komt nog.
 
Bo az

Bo az

23/08/2006 00:27:00
Quote Anchor link
Ik heb niet echt uitgebreid je code bekeken (heb ik ook niet echt zin in voor 500 regels ;) ) dus ik weet niet echt wat voor mogelijkheden er zijn.

Maar als je sessies toch gebruikt is dat misschien geen gek idee, gevoelig voor sql injection is het iig niet omdat de gegevens van $_SESSION server-side bewaard worden.

Je kan natuurlijk ook gewoon controleren of $_POST['uit_id'] is_numeric() ( wat ik je volgens mij ook ergens zie doen), ookal kan het dan natuurlijk nog naar een ander nummer worden aangepast zorgt het iig niet voor sql injection gevaar.
 
Red Crew

Red Crew

23/08/2006 00:33:00
Quote Anchor link
Ik controleer het in ieder geval op is_numeric
Daarna ga ik met die waarde controleren of er die bepaalde id van mijn tabel ook wel daadwerkelijk gemarkeerd staat als uitgeleend.

Nu moet ik is kijken hoe het juist werkt om gegevens mee te geven met sessies en ze de pagina erna te unsetten.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.