[PHP] endless loop

Pagina: 1
Acties:

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Ik heb laatst een scriptje voor een kennis gemaakt mbv php. Het kwam erop neer dat je met dat scriptje een advertentie kon plaatsen die eerst bevestigd moest worden via email voordat hij op de site te zien zou zijn.
Op een gegeven moment kreeg hij problemen, want in de database pasten niet meer dan 59 records. Nu wilde ik vanmidaag het probleem even gaan onderzoeken, door naar de site te gaan, blijkt dat de database down is.

Toen ik hem sprak zei hij dat door mijn scriptje, waar volgens hem een endless loop in zou zitten, de database gecrahst was en met deze db alle ander cobaltserver databases. Hij zei dat het hem veel geld ging kosten.
Ik twijfel echter aan dit verhaal: het is in principe een heel eenvoudig (wel lang) scriptje waar eigenlijk als 'risicovolle tags' alleen een paar 'while' tags zijn gebruikt, welke ook weer goed zijn afgesloten mbv } (dit is logisch want anders runt het script nooit, je zou dan een error moeten krijgen). Dus is mijn vraag: kan het zo zijn dat door een endless loop de database gal gaat en hoe moet ik dit in de toekomst voorkomen.

Ow ja. Search (t.net, google) gebruikt, echter geen bruikbare info gevonden. Ik denk daarnaast dat dit voor andere beginners naast mij ook handige info kan zijn zodat ze niet dezelfde fout begaan...

edit:

Overigens is nog niet duidelijk waar de error zich in het script bevindt, lijkt mij dus niet zinvol om het script te posten.

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 02-09 22:22
Lekkere servers zeg :? :(

Normaliter is het wel zo dat wanneer een script langer dan 30 seconden duurt de PHP handel hem automatisch killed ofzo. Je kunt dit omzeilen door set_time_limit in te stellen op een andere waarde.

Volgens mij worden MySQL databases over het algemeen wel goed afgeschermd voor dit soort ongein gevallen.

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 11:57

TheDane

1.618

't zou zomaar kunnen dat je in een endless loopje een insert statement hebt staan die database maar blijft vullen ...

maar die database kan maar 59 records aan :? wasda voor prul dan ?


tip om endless loop te voorkomen: STOPcriterium gebruiken. en ZEKER WETEN dat daar binnen een eindige tijd aan voldaan wordt. dat soort dingen is wetenschappelijk/wiskundig gewoon te bewijzen.

dus eerst ff nadenken, daarna gaan prutsen

Verwijderd

Ten eerste hoef jij je niet druk te maken om '}' "tags". Deze worden tijdes het parsen bekijken en er komt een fout melding indien er een fout is.

Ik denk dat het probleem bij de admin zelf ligt en er niks aan jouw script te verwijten valt. Denk aan een PHP / Mysql versie met een memory leak. Apache 2 met een niet daar bij passende php versie, kapotten sector op en ram chip.. er zijn zo veel dingen.

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Is toch gewoon een kwestie van de variabele die je in het argument van je while loop gebruikt controleren en volgen tijdens de loop :S ?

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Tsja, na 59 records kon er niets meer bij/werden er geen nieuwe advertenties geadd als je dat probeerde....
Dus het is gewoon het handigst op de database connectie dicht te gooien na uitvoering van het script?
Hmmz ik zal t eens met die gozer bespreken want als ik het zo hoor dan is er weinig mis dus met dat script. Dacht ik zelf ook al want het script is nogal simpel...

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Of je insert heeeele grote records of de serveradmin heeft een stel gekke dingen gemaakt, want 59 records is gewoon helemaal niks.

Als daar de database van crasht moet die serveradmin maar eens goed naar de gebruikte diskspace etc kijken (wat gewoon zijn eigen verantwoording is overigens!)

Er zijn maar weinig mogelijkheden waardoor een database down kan gaan (met een crash) en als jij netjes select's doet die je daarna met een while statement (heet geen tag :) ) eruit vist is er niets aan de hand.

Als je in die while ook allerlei inserts doet wordt het lastiger en is het misschien handig als je dat deel van je script toch toont.

Ik vind het iig maar een raar verhaal zo :)

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Dit is dan erg vreemd, want ik stop een keer 16 waardes tegelijk in de database (moet toch kunnen zou je zeggen) en voorderest heb ik een aantal while statements ;) waarbij ik in twee van die statements een keer een if/else statement gebruik...
Het komt er dus op neer dat het niet mijn fout is, als ik dit zo lees. Maar klopt het dat het die gozer (is dus gewoon een klant bij een hosting bedrijf) nu dik kan gaan betalen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 15 juni 2002 19:14 schreef Duff het volgende:
Maar klopt het dat het die gozer (is dus gewoon een klant bij een hosting bedrijf) nu dik kan gaan betalen?
Hangt van de daadwerkelijke fouten, de professionaliteit van de hoster, de professionaliteit van 'die goser', de coulantie van de hoster etc etc af :)

Dat kan ik iig zo niet beoordelen, ik vind het een beetje raar klinken...

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Daarom...vond ik ook een het leek me sterk dat hij daarvoor op moet draaien. Maar iig bedankt voor de moeite dan maar :)

Verwijderd

Maar als je ff je script posts, dan kunnen wij zien met welke waarde er een endless loop kan optreden enzo, en of dat uberhaupt mogelijk is. dan kan je iig zien of het jouw schuld is of niet.

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Oke hier is het scriptje
code:
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
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
// Hierin staan de database variabelen en er wordt met de db geconnect

include("functions.php3");

print"<font color='#0066FF'><b><font face='Arial, Helvetica, sans-serif' size='2'><a href='ads.php3?action=add'>Maak een profiel aan</a><br><a href='ads.php3?action=search'>Zoek een profiel</a></b>
<br><br></font></font>";

//Hier wordt de ad die is ingetikt op het formpje in de database gezet

if($action=='addnow'){ 

if($naam==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten Uw naam in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($email==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten Uw emailadres in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($geslacht==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten Uw type (man, vrouw of stel) in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($categorie==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten in te vullen waar U naar op zoek bent (man, vrouw of stel)!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($lengte_1==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent deels vergeten Uw lengte in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($lengte_2==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent deels vergeten Uw lengte in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($lengte_3==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent deels vergeten Uw lengte in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($bericht==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten een advertentie in te vullen!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}
else{
if($roker==''){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#0000ff'><b>U bent vergeten te vermelden of U rookt of niet!</b><br>Ga terug door op de 'Vorige' knop van Uw browser te klikken en corrigeer dit.</font>";
}

else{
$datum = date("d-m H:i");
$bevestig = "nee";

$lengte = "$lengte_1.$lengte_2$lengte_3";

srand((double)microtime()*1000000);
$code = rand(0,9999);

if($foto1!='none'){

    if($foto1_size > $max_bytes) { 
    echo "<font face='Arial, Helvetica, sans-serif' size='2'>Uw foto is te groot, wij staan slechts foto's van $max_bytes bytes of kleiner toe.</font>"; 
    } 
    else{ 
    $foto = "$naam$code.jpg"; 
    copy($foto1, "$doelmap/$naam$code.jpg"); 
    }
}
else{
    $foto = "geenfoto";  
} 

}


mysql_query("INSERT INTO ads (id, datum, ogen, haar, lengte, foto, bericht, naam, email, bevestig, postuur, leeftijd, roker, geslacht, categorie, code) VALUES ('$id', '$datum', '$ogen', '$haar', '$lengte', '$foto', '$bericht', '$naam', '$email', '$bevestig', '$postuur', '$leeftijd', '$roker', '$geslacht', '$categorie', '$code') ");

$onderwerp="Bevestig Uw advertentie";
$emailbericht="Beste $naam,
Op $datum plaatse U uw profiel in onze database.
Deze is echter nog niet geplaatst. Wilt U uw profiel plaatsen,
dan moet U deze bevestigen. Dit doet U door hier te klikken: $baseurl/ads.php3?action=bevestig&code=$code&naam=$naam
U kunt dit ook doen door de volgende regel te kopieeren en te plakken in het adresvenster van Uw browser:

$baseurl/ads.php3?action=bevestig&code=$code&naam=$naam

Uw profiel ziet er als volgt uit:

Naam: $naam
Kleur ogen: $ogen
Kleur haar: $haar
Lengte: $lengte m
Postuur: $postuur
Leeftijd: $leeftijd
Roker: $roker
Geslacht: $geslacht
Advertentie:
$bericht

Bedankt voor het plaatsen van een profiel!";


mail("$email","$onderwerp","$emailbericht");



 
PRINT"<br><br><font face='Arial, Helvetica, sans-serif' size='2'>Uw profiel is in onze database opgeslagen.<br>Voordat deze geplaatst wordt, moet U het profiel echter bevestigen. Dit doet U door op de link te klikken die in de email staat.<br>Deze email is gestuurd naar $email.<br>Bedankt voor het invullen van een profiel.</font><br>
"; 
}
}
}
}
}
}
}
}
}








//Hier komt een formpje om ads toe te voegen

if($action=='add'){

print"
<form name='advertentie' method='post' action='ads.php3?action=addnow' enctype='multipart/form-data'>
  <font color='#0066FF'><b><font face='Arial, Helvetica, sans-serif' size='2'>Voeg 
    een profiel toe</font></b></font><br>
<font face='Arial, Helvetica, sans-serif' size='1'>Velden met een * zijn verplicht!</font><br>
  <p><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Naam*<br>
    <input type='text' name='naam'>
    <br>
    Email*<br>
    <input type='text' name='email'>
    <font size='1' color='#FF0000'>Let op! <font color='#000000'>Vul een bestaand 
    emailadres in, je zult de advertentie moeten bevestigen via een email. Dit 
    email adres wordt niet getoond aan anderen.</font></font><br>
    Ik ben / wij zijn een*<br>
    <input type='radio' name='geslacht' value='man'>
    man 
    <input type='radio' name='geslacht' value='vrouw'>
    vrouw 
<input type='radio' name='geslacht' value='stel'>
    stel<br>

    Leeftijd*<br>
    <select name='leeftijd'>
    <option>18 - 21</option>
    <option>21 - 25</option>
    <option>25 - 30</option>
    <option>30 - 35</option>
    <option>35 - 40</option>
    <option>40 - 45</option>
    <option>45 - 50</option>
    <option>50 - 55</option>
    <option>55 - 60</option>
    <option>60 - 65</option>
    <option>65 en ouder</option>
    </select>
    <br>
    Kleur ogen*<br>
    <select name='ogen'>
    <option>Blauw</option>
    <option>Groen</option>
    <option>Bruin</option>
    <option>Grijs</option>
    </select>
    <br>
    Kleur haar*<br>
    <select name='haar'>
    <option>Blond</option>
    <option>Bruin</option>
    <option>Zwart</option>
    <option>Rood</option>
    <option>Grijs</option>
    <option>Kaal</option>
    </select>
    <br>
    Lengte*<br>
    <input type='text' name='lengte_1' size='1' maxlength='1' > m <input type='text' name='lengte_2' size='1' maxlength='1'><input type='text' name='lengte_3' size='1' maxlength='1' >
    <br>
Postuur*<br>
    <select name='postuur'>
    <option>Slank</option>
    <option>Normaal</option>
    <option>Mollig</option>
    <option>Dik</option>
    </select>
    <br>
    Roker*<br>
    <input type='radio' name='roker' value='ja'>
    ja 
    <input type='radio' name='roker' value='nee'>
    nee<br>
    Uw advertentie*<br>
    <textarea name='bericht' cols='50' rows='8'></textarea>
    <br>
Ik zoek een*<br>
    <input type='radio' name='categorie' value='man'>
    man 
    <input type='radio' name='categorie' value='vrouw'>
    vrouw 
<input type='radio' name='categorie' value='stel'>
    stel<br>
    Foto<br>
    <input type='file' name='foto1'><br>
    <br>
    <input type='submit' name='Vestuur advertentie' value='Verstuur profiel'>
    </font></p>
</form>
";

}

// Hier gaan we dus de ad bevestigen

if($action=='bevestig'){

$mysql2 = mysql_query("SELECT * FROM ads WHERE code='$code' AND naam='$naam'");
while ($regel2 = mysql_fetch_array($mysql2)){
$bevestig = $regel2["bevestig"];
$id = $regel2["id"];

if($bevestig!='nee'){
print"<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><b>Je hebt je profiel al bevestigd.</b> Je kunt jouw profiel <a href='ads.php3?action=view&id=$id'>hier</a> bekijken</font>";
}

else{

$mysql = mysql_query("UPDATE ads SET bevestig='ja' where id='$id'");
    print "<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><b>Uw profiel is bevestigd!</b></font><br>";

}
}
}

// Hier worden de afzonderlijke ads opgehaald

if($action=='view'){

$mysql = mysql_query("SELECT * FROM ads WHERE id='$id' AND bevestig='ja'");
while ($regel = mysql_fetch_array($mysql)){
$naam = $regel["naam"];
$ogen = $regel["ogen"];
$haar = $regel["haar"];
$lengte = $regel["lengte"];
$bericht = $regel["bericht"];
$foto = $regel["foto"];
$postuur = $regel["postuur"];
$geslacht = $regel["geslacht"];
$roker = $regel["roker"];
$leeftijd = $regel["leeftijd"];
$datum = $regel["datum"];
$categorie = $regel["categorie"];
$code = $regel["code"];
$email = $regel["email"];

$bericht= nl2br($bericht);

if($foto=='geenfoto'){
$code2='Deze gebruiker heeft geen foto opgestuurd';
}
else{
$code2="<a href='ads.php3?action=foto&naam=$naam&pic=$foto'>[img]'$doelmap/$foto'[/img]</a>";
}

print"
<table width='90%' border='0' cellspacing='0' cellpadding='1'>
  <tr bgcolor='#0099FF'> 
    <td bgcolor='#0099FF' colspan='2'><b><font face=Arial, Helvetica, sans-serif size=2 color=#FFFFFF>Profiel 
    van $naam</font></b></td>
  </tr>
  <tr align='left' valign='top' bgcolor='#F8f8f8'> 
    <td bgcolor='#F8f8f8' width='65%' align=left valign=top> 
    <p><font face='Arial, Helvetica, sans-serif' size='1' color='#000000'>Toegevoegd 
      op $datum | Type: $geslacht | Categorie: $categorie</font></p>
    <p><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><i>Leeftijd:</i> 
      $leeftijd<br>
      </font><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><i>Postuur: 
      </i>$postuur<br>
      <i>Roker: </i>$roker <br>
      <i>Kleur ogen:</i> $ogen<br>
      <i>Kleur haar:</i> $haar<br>
      <i>Lengte:</i> $lengte<br>
      <i>Advertentie</i>:<br>
      $bericht</font></p>
    </td>
    <td bgcolor='#F8f8f8' valign='middle'>
    <div align='center'>";
print"$code2";
print"</div>
    </td>
  </tr>
</table>
<br><br>
<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><b>Verstuur een reactie naar deze user</b><br>







<form name='email' method='post' action='ads.php3?action=email' enctype='multipart/form-data'>
Onderwerp<br>
    <input type='text' name='subject'><br>
Bericht<br>
<textarea name='message' cols='50' rows='8'></textarea>
    <br>

<input type='hidden' value='$email' name='emailadres'>

<input type='submit' value='Vestuur reactie'>
</form>
</font>
";
}
}

if($action=='email'){

mail("$emailadres","$subject","$message");

print"
<font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Je email is verstuurd naar deze user.<br>Klik op de 'back' knop van je browser om naar het vorige scherm te gaan.</font>";

}



if($action=='search'){
print"<form name='zoek' method='post' action='ads.php3?action=searchnow'>
  <p><font color='#0066FF'><b><font face='Arial, Helvetica, sans-serif' size='2'>Zoek 
    naar een profiel.</font></b></font></p>
  <table width='100%' border='0' cellspacing='0' cellpadding='0'>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Ik 
      ben een</font></td>
    <td align='left' valign='top'> 
      <select name='categorie'>
<option selected>Maakt niet uit</option>
        <option>man</option>
        <option>vrouw</option>
        <option>stel</option>
      </select>
    </td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Ik 
      zoek een</font></td>
    <td align='left' valign='top'> 
      <select name='categorie_2'>
<option selected>Maakt niet uit</option>
        <option>man</option>
        <option>vrouw</option>
        <option>stel</option>
      </select>
    </td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Haarkleur</font> 
    </td>
    <td align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> 
      <select name='haar'>
<option selected>Maakt niet uit</option>
        <option>Blond</option>
        <option>Bruin</option>
        <option>Zwart</option>
        <option>Rood</option>
        <option>Grijs</option>
        <option>Kaal</option>
      </select>
      </font> </td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Kleur 
      ogen</font></td>
    <td align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> 
      <select name='ogen'>
<option selected>Maakt niet uit</option>
        <option>Blauw</option>
        <option>Groen</option>
        <option>Bruin</option>
        <option>Grijs</option>
      </select>
      </font></td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Postuur</font></td>
    <td align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> 
      <select name='postuur'>
<option selected>Maakt niet uit</option>
        <option>Slank</option>
        <option>Normaal</option>
        <option>Mollig</option>
        <option>Dik</option>
      </select>
      </font></td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Leeftijd 
      </font><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> 
      </font></td>
    <td align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> 
      <select name='leeftijd'>
<option selected>Maakt niet uit</option>
        <option>18 - 21</option>
        <option>21 - 25</option>
        <option>25 - 30</option>
        <option>30 - 35</option>
        <option>35 - 40</option>
        <option>40 - 45</option>
        <option>45 - 50</option>
        <option>50 - 55</option>
        <option>55 - 60</option>
        <option>60 - 65</option>
        <option>65 en ouder</option>
      </select>
      </font></td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Aantal 
      resultaten</font></td>
    <td align='left' valign='top'> <font size='2' color='#000000'> 
      <select name='resultaten'>
        <option>10</option>
        <option>25</option>
        <option>50</option>
        <option>100</option>
        <option selected>Alles</option>
      </select>
      </font></td>
    </tr>
    <tr> 
    <td width='10%' align='left' valign='top'> 
      <input type='submit' name='Submit' value='Zoek'>
    </td>
    <td align='left' valign='top'>&nbsp;</td>
    </tr>
  </table>
  <p><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'> </font> 
  </p>
</form>";
}

if($action=='searchnow'){

print"
<font color='#0066FF'><b><font face='Arial, Helvetica, sans-serif' size='2'>Zoekresultaten</font></b></font>
<br><br>
<table width='90%' border='0' cellspacing='0' cellpadding='1'>
  <tr bgcolor='#0099FF'> 
    <td width='20%'><b><font face='Arial, Helvetica, sans-serif' size='2' color='#FFFFFF'>Naam</font></b></td>
    <td width='20'></td>
    <td><b><font face='Arial, Helvetica, sans-serif' size='2' color='#FFFFFF'>Leeftijd</font></b></td>
    <td><b><font face='Arial, Helvetica, sans-serif' size='2' color='#FFFFFF'>Omschrijving</font></b></td>

  </tr>
   
";


if($resultaten=='Alles'){
$var = "";
}
else{
$var = "limit 0,$resultaten";
}

if($categorie_2=='Maakt niet uit'){
$categorie_3="";
}
else{
$categorie_3="AND geslacht='$categorie_2'";
}

if($categorie=='Maakt niet uit'){
$categorie_4="";
}
else{
$categorie_4="AND categorie='$categorie'";
}

if($haar=='Maakt niet uit'){
$kleur_haar="";
}
else{
$kleur_haar="AND haar='$haar'";
}

if($ogen=='Maakt niet uit'){
$kleur_ogen="";
}
else{
$kleur_ogen="AND ogen='$ogen'";
}

if($postuur=='Maakt niet uit'){
$soort_postuur="";
}
else{
$soort_postuur="AND postuur='$postuur'";
}

if($leeftijd=='Maakt niet uit'){
$welke_leeftijd="";
}
else{
$welke_leeftijd="AND leeftijd='$leeftijd'";
}

$mysql = mysql_query("SELECT * FROM ads WHERE bevestig='ja' $categorie_3 $categorie_4 $kleur_haar $kleur_ogen $soort_postuur $welke_leeftijd $var");
while ($regel = mysql_fetch_array($mysql)){
$id = $regel["id"];
$naam = $regel["naam"];
$ogen = $regel["ogen"];
$haar = $regel["haar"];
$lengte = $regel["lengte"];
$bericht = $regel["bericht"];
$foto = $regel["foto"];
$postuur = $regel["postuur"];
$geslacht = $regel["geslacht"];
$roker = $regel["roker"];
$leeftijd = $regel["leeftijd"];
$datum = $regel["datum"];
$code = $regel["code"];

$bericht= nl2br($bericht);

if($foto=='geenfoto'){
$toestel = '';
}
else{
$toestel = "<a href='ads.php3?action=foto&naam=$naam&pic=$foto'>[img]'images/fototoestel.gif'[/img]</a>";
}

print"<tr align='left' valign='top' bgcolor='#F8f8f8'> 

<td width='20%'><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'><a 

href='ads.php3?action=view&id=$id'>$naam</a></font></td>
<td width='20' align='left'><div align='left'>$toestel</div></td>
    <td><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>$leeftijd</font></td>
    <td><font face='Arial, Helvetica, sans-serif' size='2' color='#000000'>Ogen: 
    $ogen<br>
    Haar: $haar<br>
    <br>
    </font></td>
   
  </tr>";



}

print"</table><br><br>";




  

}


if($action=='foto'){
print"
<table width='90%' border='0' cellspacing='0' cellpadding='1'>
  <tr bgcolor='#0099FF'> 
    <td bgcolor='#0099FF'><b><font face='Arial,' helvetica,='Helvetica,' sans-serif='sans-serif' size='2' color='#FFFFFF'>Foto 
    van $naam</font></b></td>
  </tr>
  <tr align='left' valign='top' bgcolor='#F8f8f8'> 
    <td bgcolor='#F8f8f8' align=center valign=top>[img]'$doelmap/$pic'[/img] </td>
  </tr>
</table>";
}

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
Jeetje, noem je dit nog een scriptje? :)

Voor zover ik kan vinden heb je maar drie loopjes, dit soort dingen: while ($regel2 = mysql_fetch_array($mysql2))

kan volgens mij niet echt een endless loop van komen?

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


Verwijderd

volgens mij kan dit idd ook niet echt een endless loop veroorzaken...

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

tipje om je script wat overzichtelijker te maken:
Gebruik inspringen waneer je binnen een { } block zit, en ipv
code:
1
2
3
4
5
6
7
8
9
10
11
if (exp) {
  statement;
} else {
  if (exp) {
    statement;
  } else {
    if (exp) {
    statement;
    }
  }
}

eens
code:
1
2
3
4
5
6
7
if (exp) {
  statement;
} else if (exp) {
  statement;
} else if (exp) {
  statement;
}

Doet hetzelfde, maar houdt he wat overzichtelijker.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Op zondag 16 juni 2002 13:11 schreef K-Mile het volgende:
volgens mij kan dit idd ook niet echt een endless loop veroorzaken...
Volgens mij wel hoor. Heb je toevallig shell access tot je mysql database? of kun je er met phpmyadmin ofietsdergelijks bij? want dan moet je ff testen of je queries wel in orde zijn (eerst ff met echo $query vanuit je script op het scherm printen en daarna copy-en-pasten - dit om er 100% zeker van te zijn dat je script hetzelfde als jij doet)

  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Ja precies wat ik al dacht: weinig kans op een endless loop.
En ja, ik moet het allemaal ff netter doen maar ja kost weer zo veel tijd en ik ben niet zo netjes :)
Bedankt iig voor de reacties...

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Ik zie geen controle van de variabelen voordat je ze naar de database gooit, kan dus van alles gebeurd zijn. Betekent dus ook dat jouw script een van de mogelijkheden is.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Duff
  • Registratie: Maart 2001
  • Laatst online: 24-03 16:06
Op zondag 16 juni 2002 13:38 schreef dusty het volgende:
Ik zie geen controle van de variabelen voordat je ze naar de database gooit, kan dus van alles gebeurd zijn. Betekent dus ook dat jouw script een van de mogelijkheden is.
Hoe bedoel je dit? Hoe moet ik die variabelen controleren en controleren waarop?
Pagina: 1