abonnement Unibet Coolblue Bitvavo
pi_50653974

cd niet bijgeleverd

Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt


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

  • PHP Dataverwerking
  • Officiële PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet
  • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc


  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP

    [ Bericht 2% gewijzigd door Darkomen op 20-06-2007 14:52:58 ]
  • pi_50654008
    Mn eerste keer een OP op FOK

    Hopelijk goed gedaan, ga nog ff alle andere topics van 42 -44 toevoegen
    pi_50654010
    De OP moet nodig geüpdatet worden

    edit: spuit <?php echo '11'; ?>
    pi_50654118
    Ja idd, zag het ook ben het ook nu aan het doen
      woensdag 20 juni 2007 @ 14:53:06 #5
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50654178
    TerugVindPpppppppp erhm anyway vanmiddag maar eens lekker verder met me CAPTCHA's en user databases .
    phluphy for president!
    pi_50654220
    quote:
    Op woensdag 20 juni 2007 13:58 schreef PiRANiA het volgende:

    [..]

    als het te lastig is gaan ze gelijk naar andere site...
    tenzij je een grote site hebt...
    We zijn niet een enorme site, maar zo'n 8600 unieke bezoeken per dag
      woensdag 20 juni 2007 @ 14:57:15 #7
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50654342
    quote:
    Op woensdag 20 juni 2007 14:54 schreef Darkomen het volgende:

    [..]

    We zijn niet een enorme site, maar zo'n 8600 unieke bezoeken per dag
    Even goed nog lekker . Ga deze vandaag intregreren in me CAPTCHA class: http://www.phpclasses.org/browse/package/3929.html

    Misschien ook iets voor jouw om naar te kijken .
    phluphy for president!
    pi_50654514
    Ruim voldoende.

    Ik ben de hele wesbite toch aan het herbouwen, bouw ook mn eigen chapta denk ik
    En anders idd zo'n class.
      woensdag 20 juni 2007 @ 15:03:18 #9
    136730 PiRANiA
    All thinking men are atheists.
    pi_50654542
    You need to be a subscriber and log in to access this file. ><
    te fokkin irritantvp
      woensdag 20 juni 2007 @ 15:08:57 #10
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50654766
    quote:
    Op woensdag 20 juni 2007 15:03 schreef PiRANiA het volgende:
    You need to be a subscriber and log in to access this file. ><
    te fokkin irritantvp
    Moet ik hem ff ergens uploaden voor jullie?

    http://rapidshare.com/fil(...)07-06-08.tar.gz.html sorry voor de rapidshare link maar dat was ff het makkelijksts en snelst

    * WyriHaximus moet eens eigen filehosting gaan bouwen
    phluphy for president!
    pi_50655038
    Ik gebruik nu ook zo'n vraag-check op een phpBB board trouwens, en die werkt feilloos... sinds 11 mei zo'n 1100 spambots geblocked
      woensdag 20 juni 2007 @ 15:24:24 #12
    136730 PiRANiA
    All thinking men are atheists.
    pi_50655301
    quote:
    Op woensdag 20 juni 2007 15:16 schreef Xcalibur het volgende:
    Ik gebruik nu ook zo'n vraag-check op een phpBB board trouwens, en die werkt feilloos... sinds 11 mei zo'n 1100 spambots geblocked
    stats zijn altijd leuk
    pi_50655415
    TVP.
    pi_50656127
    quote:
    Op woensdag 20 juni 2007 13:31 schreef WyriHaximus het volgende:

    [..]

    Hoe vaak proberen ze het eingelijk? Ook altijd leuk om te weten
    Geen idee eigenlijk. De site is niet (zo heel) druk bezocht, maar voor de beveiliging kwamen er zo'n 10 bots per dag langs?
      woensdag 20 juni 2007 @ 15:52:16 #15
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50656255
    quote:
    Op woensdag 20 juni 2007 15:48 schreef fokME2 het volgende:

    [..]

    Geen idee eigenlijk. De site is niet (zo heel) druk bezocht, maar voor de beveiliging kwamen er zo'n 10 bots per dag langs?
    Ow valt nog mee dus. Heb tegen woordig een auto ban systeem wat na 3 keer de CAPTCHA in 3 dagen fout je banned voor 3 dagen. En heb tot nu toe eingelijk iedere dag wel 3 bans . Zit nog te wachten op de 1e auto ban van iemand die al eens eerder gebanned is, ben ik hem gelijk 6 adgen kwijt .
    phluphy for president!
    pi_50656359
    quote:
    Op woensdag 20 juni 2007 15:08 schreef WyriHaximus het volgende:

    [..]

    Moet ik hem ff ergens uploaden voor jullie?

    http://rapidshare.com/fil(...)07-06-08.tar.gz.html sorry voor de rapidshare link maar dat was ff het makkelijksts en snelst

    * WyriHaximus moet eens eigen filehosting gaan bouwen
    je mag altijd upload.bruggema.nl misbruiken voor dit soort zaakjes (al zit er wel een limiet op )

    tee

    vee

    pee
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 20 juni 2007 @ 15:56:21 #17
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50656404
    quote:
    Op woensdag 20 juni 2007 15:55 schreef Chandler het volgende:

    [..]

    je mag altijd upload.bruggema.nl misbruiken voor dit soort zaakjes (al zit er wel een limiet op )

    tee

    vee

    [sub]pee[/sup]
    Zal het onthouden alleen net laptop al afgesloten waar het op staat Tijd om naar huis te gaan werkdag zit er al weer op voor mij
    phluphy for president!
    pi_50656442
    Ik ga ook zo, heb nog wel 30 minuten te wachten op eingelijk niets... ja dat ik weg mag
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 20 juni 2007 @ 15:57:35 #19
    136730 PiRANiA
    All thinking men are atheists.
    pi_50656466
    quote:
    Op woensdag 20 juni 2007 15:52 schreef WyriHaximus het volgende:

    [..]

    Ow valt nog mee dus. Heb tegen woordig een auto ban systeem wat na 3 keer de CAPTCHA in 3 dagen fout je banned voor 3 dagen. En heb tot nu toe eingelijk iedere dag wel 3 bans . Zit nog te wachten op de 1e auto ban van iemand die al eens eerder gebanned is, ben ik hem gelijk 6 adgen kwijt .
    ik denk dat voor de eerste 3 keer fout 10 minuten ook wel genoeg is hoor.
    Daarna, na weer 3 keer gewoon permbannen
      woensdag 20 juni 2007 @ 16:00:57 #20
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50656601
    quote:
    Op woensdag 20 juni 2007 15:57 schreef PiRANiA het volgende:

    [..]

    ik denk dat voor de eerste 3 keer fout 10 minuten ook wel genoeg is hoor.
    Daarna, na weer 3 keer gewoon permbannen
    True, zit wel te monitoren (krijg mailtjes) wat er fout gaat en het zijn altijd. Nu net laatsts me eerste echte user gehad die het fout had. Op honderd duizenden bot pogingen . Maar het is een goeie als het een user is is 3 dagen wel veel
    phluphy for president!
      woensdag 20 juni 2007 @ 16:12:20 #21
    136730 PiRANiA
    All thinking men are atheists.
    pi_50656964
    quote:
    Op woensdag 20 juni 2007 16:00 schreef WyriHaximus het volgende:

    [..]

    True, zit wel te monitoren (krijg mailtjes) wat er fout gaat en het zijn altijd. Nu net laatsts me eerste echte user gehad die het fout had. Op honderd duizenden bot pogingen . Maar het is een goeie als het een user is is 3 dagen wel veel
    is de code goed leesbaar?
    pi_50659246
    tvp ( )
    pi_50659630
    quote:
    Op woensdag 20 juni 2007 15:27 schreef Geqxon het volgende:
    TVP.
    Hoi Geqxon!
      woensdag 20 juni 2007 @ 18:12:24 #24
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50660512
    quote:
    Op woensdag 20 juni 2007 16:12 schreef PiRANiA het volgende:

    [..]

    is de code goed leesbaar?
    http://beta.wyrihaximus.net/en-guestbook.html

    Test site voor me site . (Word later ook de nieuwe CAPTCHA's op zichtbaar .)

    EDIT: Het kan zijn dat je af en toe een error ziet

    [ Bericht 11% gewijzigd door WyriHaximus op 20-06-2007 18:17:30 ]
    phluphy for president!
    pi_50660816
    Iemand goed in sql?
      woensdag 20 juni 2007 @ 18:48:47 #26
    136730 PiRANiA
    All thinking men are atheists.
    pi_50661539
    quote:
    Op woensdag 20 juni 2007 18:23 schreef ikheetmartijn het volgende:
    Iemand goed in sql? ;(
    Laat maar, ik heb het al:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    select doc.*,
    b1.naam as fabrikant_naam,
    b2.naam as leverancier_naam,
    b3.naam as leverancier2_naam
    from documentatie as doc, bedrijven as b1, bedrijven as b2
    left outer join bedrijven as b3
    on doc.leverancier2_id = b3.bedrijf_id
    and doc.fabrikant_id=b1.bedrijf_id
    and doc.leverancier_id=b2.bedrijf_id



    De eerste 'and' op regel 8 moet zijn 'where'. Anders ziet hij dat gedeelte ook nog ofals het bij de join hoort :)
      woensdag 20 juni 2007 @ 18:52:32 #27
    136730 PiRANiA
    All thinking men are atheists.
    pi_50661681
    quote:
    Op woensdag 20 juni 2007 18:12 schreef WyriHaximus het volgende:

    [..]

    http://beta.wyrihaximus.net/en-guestbook.html

    Test site voor me site :). (Word later ook de nieuwe CAPTCHA's op zichtbaar :).)

    EDIT: Het kan zijn dat je af en toe een error ziet :@
    oeh, das een enorme captcha :P
    soms is het echter niet goed leesbaar...

    tip:
    1<a href="#" onClick="javascript:document.getElementById("idvanplaatje")='http://beta.wyrihaximus.net/includes/image_code.php?ih='+ih+'&random='+math.random();">Ververs plaatje</a>

    zomaar ff getypt, probeer het even ;)
    als er dan op de link geklikt wordt, herlaadt de code.
    pi_50661694
    Geweldig bedankt! Je hebt m'n hele avond weer goed gemaakt!
      woensdag 20 juni 2007 @ 19:44:05 #29
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50663753
    quote:
    Op woensdag 20 juni 2007 18:52 schreef PiRANiA het volgende:

    [..]

    oeh, das een enorme captcha
    soms is het echter niet goed leesbaar...

    tip:
    [ code verwijderd ]

    zomaar ff getypt, probeer het even
    als er dan op de link geklikt wordt, herlaadt de code.
    Ok maar verder wel redelijk goed leesbaar? Ga het er zo ff inzetten dat van jouw . Danke!
    phluphy for president!
      woensdag 20 juni 2007 @ 21:06:13 #30
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50668013
    quote:
    Op woensdag 20 juni 2007 19:44 schreef WyriHaximus het volgende:

    [..]

    Ok maar verder wel redelijk goed leesbaar? Ga het er zo ff inzetten dat van jouw :D. Danke!
    Heb je script iets wat aangepast zodat ze niet ff vlug kunnen refreshen snel achter elkaar. Plus je math code werkte niet die er in zit nu wel. Ow en heb javascript:void(0); ipv # gedaan bij href want dan schiet je niet omhoog :).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <div id="captcha_refresh_3801a54da81c6d6d28c8b45b2d2c2969"></div>
    <script language="javascript">
    function captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(show)
    {
       if(show)
       {
          document.getElementById('captcha_refresh_3801a54da81c6d6d28c8b45b2d2c2969').innerHTML = 'You need to wait 5 secconds before you can refresh the image again...';
       }
       setTimeout(function() {
          document.getElementById('captcha_refresh_3801a54da81c6d6d28c8b45b2d2c2969').innerHTML = '<a href="javascript:void(0);" onClick="javascript:document.getElementById('captcha_3801a54da81c6d6d28c8b45b2d2c2969').src='includes/image_code.php?ih=00dbf059b1cbcdfe16f3dd5fd242367f&random='+Math.floor(Math.random()*65000);captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(true);">Refresh image if you can't read it properly...</a>';
       },5000)
    }
    captcha_refresh_func_3801a54da81c6d6d28c8b45b2d2c2969(false);
    phluphy for president!
      woensdag 20 juni 2007 @ 21:31:35 #31
    136730 PiRANiA
    All thinking men are atheists.
    pi_50669712
    quote:
    Op woensdag 20 juni 2007 21:06 schreef WyriHaximus het volgende:

    [..]

    Heb je script iets wat aangepast zodat ze niet ff vlug kunnen refreshen snel achter elkaar. Plus je math code werkte niet die er in zit nu wel. Ow en heb javascript:void(0); ipv # gedaan bij href want dan schiet je niet omhoog .


    [ code verwijderd ]
    5 secconds?

    maar verder is het een goede vooruitgang
      woensdag 20 juni 2007 @ 21:32:27 #32
    136730 PiRANiA
    All thinking men are atheists.
    pi_50669750
    zou je btw je inputbox-randjes niet wat duidelijker maken?
    het is haast niet te lezen... ik moest hoveren met me uis om te kijken waar het input-veld was..
      woensdag 20 juni 2007 @ 21:33:26 #33
    136730 PiRANiA
    All thinking men are atheists.
    pi_50669788
    en ik doe meestal bij de 1e comment een captcha, en daarna om de 5 comments
      woensdag 20 juni 2007 @ 21:41:43 #34
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50670196
    quote:
    Op woensdag 20 juni 2007 21:31 schreef PiRANiA het volgende:

    [..]

    5 secconds?

    maar verder is het een goede vooruitgang
    My engls is not zo goed .

    Was wel de bedoeling ^^.
    quote:
    Op woensdag 20 juni 2007 21:33 schreef PiRANiA het volgende:
    en ik doe meestal bij de 1e comment een captcha, en daarna om de 5 comments
    Als iemand de CAPTCHA passed dan neem ik aan? Niet dat het fout gaat en dat je het daarna wijd open zet .
    quote:
    Op woensdag 20 juni 2007 21:32 schreef PiRANiA het volgende:
    zou je btw je inputbox-randjes niet wat duidelijker maken?
    het is haast niet te lezen... ik moest hoveren met me uis om te kijken waar het input-veld was..
    Komt door het design ga ik nog wel aan sleutelen .
    phluphy for president!
      woensdag 20 juni 2007 @ 23:57:19 #35
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50676841
    Dit is die captcha waar ik het over had:
    http://beta.wyrihaximus.net/en-guestbook.html

    Misschien nog wat maar randomness er in maar dit is volgens mij voor een heleboel mensen al een stuk beter .
    phluphy for president!
    pi_50678562
    Waarom geanimeerd?
    Op mijn werk kan ik het formulier dus niet gebruiken, want daar zijn geanimeerde afbeeldingen geblokt.

    Ik gebruik dit:
    http://danielpunt.nl/captcha

    Of anders dat idee van de vraag 'wat voor kleur heeft een gele banaan?'
      donderdag 21 juni 2007 @ 08:01:16 #37
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50680600
    quote:
    Op donderdag 21 juni 2007 00:48 schreef super-muffin het volgende:
    Waarom geanimeerd?
    Op mijn werk kan ik het formulier dus niet gebruiken, want daar zijn geanimeerde afbeeldingen geblokt.

    Ik gebruik dit:
    http://danielpunt.nl/captcha

    Of anders dat idee van de vraag 'wat voor kleur heeft een gele banaan?'
    Omdat het het moeilijker voor bots maakt om uit te vogelen wat er neer gezet moet worden, ik maak straks/morgen wel iets dat je op een link klikt en dat je stilstaande versie krijgt voor gevallen zolas jij .


    Ergens is die te simpel voor bots om uit te vogelen. De manier waarop de captcha werkt is goed, alleen kan ik heel makkelijk een scriptje maken die de captcha die jij gebruikt kraakt. Wat je kunt doen is meerdere keren een soms neer zitten maar alleen de juiste laten zien met javascript. Het 1 en ander erg kut en random neer gooit met javascript. Het is niet 100% waterdicht aangezien je met text werkt maar zolang je het goed random houd kom je al een heel eind .
    phluphy for president!
      donderdag 21 juni 2007 @ 08:42:07 #38
    136730 PiRANiA
    All thinking men are atheists.
    pi_50681161
    quote:
    Op woensdag 20 juni 2007 21:41 schreef WyriHaximus het volgende:

    [..]

    My engls is not zo goed .

    Was wel de bedoeling ^^.
    moet dus: seconds zijn
    quote:
    [..]

    Als iemand de CAPTCHA passed dan neem ik aan? Niet dat het fout gaat en dat je het daarna wijd open zet .
    whehe, nee
    quote:
    [..]

    Komt door het design ga ik nog wel aan sleutelen .
    okee
      donderdag 21 juni 2007 @ 08:43:37 #39
    136730 PiRANiA
    All thinking men are atheists.
    pi_50681182
    quote:
    Op woensdag 20 juni 2007 23:57 schreef WyriHaximus het volgende:
    Dit is die captcha waar ik het over had:
    http://beta.wyrihaximus.net/en-guestbook.html

    Misschien nog wat maar randomness er in maar dit is volgens mij voor een heleboel mensen al een stuk beter .
    ah, kijk
      donderdag 21 juni 2007 @ 08:56:46 #40
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50681466
    quote:
    Op donderdag 21 juni 2007 08:42 schreef PiRANiA het volgende:

    [..]

    moet dus: seconds zijn
    [..]

    whehe, nee
    [..]

    okee
    Aye ff doen zo .

    Doh.

    ^^ is nog helemaal standaard eigenlijk ga later wel leuke custom dingetjes er in doen
    quote:
    Op donderdag 21 juni 2007 08:43 schreef PiRANiA het volgende:

    [..]

    ah, kijk
    En hoe vind je het?
    phluphy for president!
    pi_50681504
    Ziet er leuk uit, grappig bedacht. Maar denk je niet dat de gebruiker het irritant vind omdat hij langer moet wachten?
      donderdag 21 juni 2007 @ 09:01:50 #42
    136730 PiRANiA
    All thinking men are atheists.
    pi_50681563
    quote:
    Op donderdag 21 juni 2007 08:56 schreef WyriHaximus het volgende:

    [..]

    Aye ff doen zo .

    Doh.

    ^^ is nog helemaal standaard eigenlijk ga later wel leuke custom dingetjes er in doen
    [..]

    En hoe vind je het?
    chil, maar wat martijn (zo heet hij denk) zegt:
    quote:
    Op donderdag 21 juni 2007 08:58 schreef ikheetmartijn het volgende:
    Ziet er leuk uit, grappig bedacht. Maar denk je niet dat de gebruiker het irritant vind omdat hij langer moet wachten?
      donderdag 21 juni 2007 @ 09:21:07 #43
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50681918
    quote:
    Op donderdag 21 juni 2007 08:58 schreef ikheetmartijn het volgende:
    Ziet er leuk uit, grappig bedacht. Maar denk je niet dat de gebruiker het irritant vind omdat hij langer moet wachten?
    quote:
    Op donderdag 21 juni 2007 09:01 schreef PiRANiA het volgende:

    [..]

    chil, maar wat martijn (zo heet hij denk) zegt:
    [..]
    Lijkt er wel op ja .

    Goed punt, de gebruiker zal uberhaupt al geirriteerd zijn dat ze iets moeten invullen. Wil er sowieso nog wat dingen aan veranderen o.a. de snelheid. Duurt nu +/- 5 a 6 sec en wil dat terug brengen naar max 3. Zelf heb ik wat kennisen laten kijken en de reacties zijn iig een stuk positiever dan een 'normale CAPTCHA'. Wil wel naar een systeem dat er een cookie word geset als iemand de CAPTCHA heeft gepassed dan gewoon een week het niet meer hoeft te doen .
    phluphy for president!
    pi_50682341
    quote:
    Op donderdag 21 juni 2007 09:21 schreef WyriHaximus het volgende:
    Lijkt er wel op ja .
    correct
    quote:
    Op donderdag 21 juni 2007 09:21 schreef WyriHaximus het volgende:
    Duurt nu +/- 5 a 6 sec en wil dat terug brengen naar max 3.
    Dat zou wel relaxt zijn.
    Ik vind het anders wel een slim idee. Je hebt ook wel eens van die CAPTCHA (wist niet dat dat zo werd genoemd) systemen waar je pas na 3x typen het goede antwoord hebt -> DAT is pas irritant
      donderdag 21 juni 2007 @ 09:46:11 #45
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50682503
    quote:
    Op donderdag 21 juni 2007 09:39 schreef ikheetmartijn het volgende:

    [..]

    correct
    [..]

    Dat zou wel relaxt zijn.
    Ik vind het anders wel een slim idee. Je hebt ook wel eens van die CAPTCHA (wist niet dat dat zo werd genoemd) systemen waar je pas na 3x typen het goede antwoord hebt -> DAT is pas irritant
    Link naar het script wat ik nu ingebouwd heb staat in het vorige deel dacht ik. Maar je kunt gewoon de tijd instellen hoe lang het duurt voordat i naar het volgende plaatje gaat . Die heb ik ook maar sinds gister met linkje voor een redraw zodat het misschien duidelijker is dan de vorige . Heb hem nu op deze vast gezet uiteindelijk word het een set van 4 of 5 verschillende die hij random laat zien .
    phluphy for president!
      donderdag 21 juni 2007 @ 10:22:32 #46
    85514 ralfie
    !Yvan eht nioj
    pi_50683449
    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
    <?php
    $a 
    3;
    $c 22 $a;
    $f = array(2,34,6);
    $r = -1;
    $e 22 * ( $f[0]-);
    $w $e 1;

    for( 
    $x 0$x 17$x++ ) {
        
    $c += 3;
        while ( 
    $y ) {
            
    $f[$y] +=$c;
            
    $y -= $r;
        }
    }
    $s array_reverse($f);
    $f[0] = array_pop($f);
    $f[3] = array_pop($s);

    for ( 
    $x 0$x $a$x++) {
        if (
    $x == 2) {
        for(
    $d=0;$d<strlen($f[$e]);$d++) {
                 
    $t[$d]=substr($f[$e],$d,1);
            }
            
    $f[$e]=array();
            
    $f[$e][$e]=$t[$w];
            
    $f[$e][$w]=$t[$w-1]+2;
        
    $f[$e]=implode($f[$e]);
        }
        
    $f[$x+1] += $c;
        switch (
    $x 7) {
        case 
    $a 1:
             
    $f[$x] -= 53;
        case 
    $c 11:
             
    $f[$x] += 6;
        case 
    $c 3:
             
    $f[$x] -= 5;
        }  
    }

    for ( 
    $x $a-1;$x 4$x++) {
        
    $f[$x] -= (15 $x);    
    }

    $f=array_reverse($f);

    while ( 
    $p array_pop($f) ) {
        
    printf("%c",$p);
    }
    ?>
    pi_50683620
    tvp. En wat de neuk is die lap code hierboven mij?
    pi_50683858
    quote:
    Op donderdag 21 juni 2007 10:22 schreef ralfie het volgende:

    [ code verwijderd ]
      donderdag 21 juni 2007 @ 10:52:14 #49
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50684249
    quote:
    Op donderdag 21 juni 2007 10:22 schreef ralfie het volgende:

    [ code verwijderd ]
    Dat kan ik ook :o
    1
    2
    3
    <?php
    die('bitch!');
    ?>


    wtf moet die code van jouw nou doen eingelijk? :P
    phluphy for president!
    pi_50689763
    Ik had het in het vorig topic over om mijn gastenboek te beveiligen tegen Bots, toen werd CAPTCHA genoemd.

    Ik zat te denken, met zo'n vraag van: "welk jaar is het" dat als iemand invult 2007 dat dan de submitbutton klikbaar is.

    iemand een idee hoe ik dat het best kan schrijven. Ik weet niet echt hoe ik moet beginnen
    Typ- en spellingsfouten voorbehouden.
    pi_50689821
    quote:
    Op donderdag 21 juni 2007 10:22 schreef ralfie het volgende:

    [ code verwijderd ]
    SPOILER
    Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
    Hoe heb je dat gemaakt?
      donderdag 21 juni 2007 @ 13:52:09 #52
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50690088
    quote:
    Op donderdag 21 juni 2007 13:42 schreef Boy_Snakeye het volgende:
    Ik had het in het vorig topic over om mijn gastenboek te beveiligen tegen Bots, toen werd CAPTCHA genoemd.

    Ik zat te denken, met zo'n vraag van: "welk jaar is het" dat als iemand invult 2007 dat dan de submitbutton klikbaar is.

    iemand een idee hoe ik dat het best kan schrijven. Ik weet niet echt hoe ik moet beginnen :{
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    if(count($_POST)>0)
    {
    if(
    intval($_POST['jaar'])==2007)
    {
    die(
    'goed');
    }
    else
    {
    die(
    'fout');
    }
    }
    else
    {

    <
    form method="POST">
    <
    intput name="jaar" /><input type="submit" />
    </
    form>

    }
    ?>
    Uit de losse pols en gelijk in het reageer scherm dus bijt me er niet op vast :P.
    phluphy for president!
    pi_50690636
    Zou ik gewoon met javascript doen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
    <head>
    <script type="text/javascript">
    function checkyear(year){
       var d = new Date();
       var thisyear = d.getFullYear();
       
       if (year==thisyear){
          form1.btn_submit.disabled=false;
       }else{
          form1.btn_submit.disabled=true;
       }
    }
    </script>
    </head>
    <body>
       <form name="form1" id="form1">
          Waar voor jaar is het nu?<input type="text" name="txt_year" id="txt_year" onkeyup="checkyear(this.value);" /><br/>
          <input type="submit" name="btn_submit" id="btn_submit" value="Ok" disabled />
       </form>
    </body>
    </html>
    pi_50690685
    quote:
    Op donderdag 21 juni 2007 14:08 schreef ikheetmartijn het volgende:
    Zou ik gewoon met javascript doen:
    [ code verwijderd ]
    Ga ik meteen proberen

    Thnx
    Typ- en spellingsfouten voorbehouden.
    pi_50690710
    quote:
    Op donderdag 21 juni 2007 13:42 schreef Boy_Snakeye het volgende:
    Ik had het in het vorig topic over om mijn gastenboek te beveiligen tegen Bots, toen werd CAPTCHA genoemd.

    Ik zat te denken, met zo'n vraag van: "welk jaar is het" dat als iemand invult 2007 dat dan de submitbutton klikbaar is.

    iemand een idee hoe ik dat het best kan schrijven. Ik weet niet echt hoe ik moet beginnen :{
    In de meest simpele vorm van javascript:

    1
    2
    <input type="text" onkeyup="if (this.value == '2007') document.getElementById('submitbutton').disabled = false;">
    <input type="submit" id="submitbutton" disabled="disabled">


    Het punt is alleen wel dat bots dit makkelijk uit kunnen lezen :)
      donderdag 21 juni 2007 @ 14:14:01 #56
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50690865
    quote:
    Op donderdag 21 juni 2007 14:09 schreef Geqxon het volgende:

    [..]

    In de meest simpele vorm van javascript:
    [ code verwijderd ]

    Het punt is alleen wel dat bots dit makkelijk uit kunnen lezen
    Idd en bots negeren JS eingelijk altijd .
    phluphy for president!
    pi_50690975
    quote:
    Op donderdag 21 juni 2007 14:14 schreef WyriHaximus het volgende:
    Idd en bots negeren JS eingelijk altijd .
    En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?
    pi_50691026
    quote:
    Op donderdag 21 juni 2007 14:08 schreef ikheetmartijn het volgende:
    Zou ik gewoon met javascript doen:
    [ code verwijderd ]
    Deze werkt niet, aangezien de button disabled blijft.....

    Probeer ik nu meteen ff die ander...

    -edit-
    quote:
    Op donderdag 21 juni 2007 14:09 schreef Geqxon het volgende:

    [..]

    In de meest simpele vorm van javascript:
    [ code verwijderd ]

    Het punt is alleen wel dat bots dit makkelijk uit kunnen lezen
    Deze werkt wel

    woehoe, nou hoef ik misschien niet elke dag het gastenboek bij te houden

    Hopen dat de Bots dit niet snel doorhebben

    [ Bericht 26% gewijzigd door Boy_Snakeye op 21-06-2007 14:24:12 ]
    Typ- en spellingsfouten voorbehouden.
    pi_50691374
    Apart, bij mij werkt het perfect (in IE en Firefox).

    Toevallig een ouwe browser?
    pi_50691450
    quote:
    Op donderdag 21 juni 2007 14:16 schreef ikheetmartijn het volgende:

    [..]

    En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?
    Slim.

    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    var submitbutton = document.getElementById('submitbutton');
    </script>

    <form method="post" action="goaway.php" onsubmit="if (submitbutton.disabled == false){ this.action = 'index.php'; }">
    <input type="text" onkeyup="if (this.value == '2007') submitbutton.disabled = false; else submitbutton.disabled = true">
    <input type="submit" id="submitbutton" disabled="disabled">
    </form>


    [ Bericht 8% gewijzigd door Geqxon op 21-06-2007 14:33:30 (Perfectionisme) ]
      donderdag 21 juni 2007 @ 14:33:13 #61
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50691583
    quote:
    Op donderdag 21 juni 2007 14:16 schreef ikheetmartijn het volgende:

    [..]

    En als je de action parameter van form1 nou ook pas invult nadat het jaar gecheckt is?
    Mijn ervaring met bots is dat ze uitlezen welke velden er in een form staan. Deze checken ze op bekende veld namen en gooien er dan iets in wat overeen komt met een bekend veldnaam en anders of random crap of niks of iets standaards. Waar door ze infeite altijd al falen met een CAPTCHA (tenzij ze het kennen dan ). Daarnaast mijn ervaring met browsers (weet niet of het met bots ook zo is denk het wel) is dat als het actie veld er niet is dat ze dan de URL waar het form op staat als action gebruiken .
    quote:
    Op donderdag 21 juni 2007 14:29 schreef Geqxon het volgende:

    [..]

    Slim.
    [ code verwijderd ]
    Goeie die van de submit knop uitschakelen . Er straks ook maar ff in zetten .
    phluphy for president!
    pi_50691725
    Bovenstaande methode is nog leuker als je op goaway.php een alternatief gastenboek voor bots neerzet. Laat ze maar rotten, in een speciaal voor zichzelf gemaakte cel. Ook is een IP ban een mogeljjkheid, aangezien een normale (goedwillende) user zo goed als onmogelijk op goaway.php terrecht kan komen.
    pi_50691819
    quote:
    Op donderdag 21 juni 2007 14:27 schreef ikheetmartijn het volgende:
    Apart, bij mij werkt het perfect (in IE en Firefox).

    Toevallig een ouwe browser?
    Nieuwste versie van firefox....kan zijn dat ik iets verkeerd doe....

    Is die van jou dan minder bots gevoelig dan voor die ander van Geqxon ?
    Typ- en spellingsfouten voorbehouden.
    pi_50691856
    En martijn, if you don't mind:

    1<input type="text" onkeyup="if (this.value == new Date().getFullYear()) submitbutton.disabled = false; else submitbutton.disabled = true">


    Nog een stapje dichter bij een bot-vrij gastenboek, zonder de user al te veel te pijnigen.
      donderdag 21 juni 2007 @ 14:39:46 #65
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50691859
    quote:
    Op donderdag 21 juni 2007 14:36 schreef Geqxon het volgende:
    Bovenstaande methode is nog leuker als je op goaway.php een alternatief gastenboek voor bots neerzet. Laat ze maar rotten, in een speciaal voor zichzelf gemaakte cel. Ook is een IP ban een mogeljjkheid, aangezien een normale (goedwillende) user zo goed als onmogelijk op goaway.php terrecht kan komen.
    Idd of pwnd.php ofzo . Maakt het gelijk een stuk makkelijker om bots te identificeren en gebruikers die angstig zijn om hun privacy en daarom JS uit hebben staan .
    phluphy for president!
    pi_50691937
    quote:
    Op donderdag 21 juni 2007 14:39 schreef WyriHaximus het volgende:

    [..]

    Idd of pwnd.php ofzo . Maakt het gelijk een stuk makkelijker om bots te identificeren en gebruikers die angstig zijn om hun privacy en daarom JS uit hebben staan .
    Mensen die JS uit hebben staan zullen naar mijn weten een grijze submitbutton krijgen, die niet goed te krijgen is. Dus ook die zullen nooit op pwnd.php ( ) komen
    pi_50692083
    quote:
    Op donderdag 21 juni 2007 14:38 schreef Boy_Snakeye het volgende:

    [..]

    Nieuwste versie van firefox....kan zijn dat ik iets verkeerd doe....

    Is die van jou dan minder bots gevoelig dan voor die ander van Geqxon ?
    Nee, is hetzelfde, alleen verkort.
    Ik hou er alleen van alles lekker overzichtelijk in functies te zetten.

    Plus hij heeft m'n tweede opmerking er in verwerkt (het later invullen van de action param). -> wat hem dus idd minder gevoelig maakt voor bots.

    [ Bericht 4% gewijzigd door ikheetmartijn op 21-06-2007 14:55:03 ]
      donderdag 21 juni 2007 @ 14:46:38 #68
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50692173
    quote:
    Op donderdag 21 juni 2007 14:41 schreef Geqxon het volgende:

    [..]

    Mensen die JS uit hebben staan zullen naar mijn weten een grijze submitbutton krijgen, die niet goed te krijgen is. Dus ook die zullen nooit op pwnd.php ( ) komen
    True, en zo veel zijn het er nou ook weer niet .

    maar ik ga dat pwnd.php idee er straks ff inzetten kijken hoeveel bans ik in een half uurtje er bij heb !
    phluphy for president!
    pi_50692264
    quote:
    Op donderdag 21 juni 2007 14:39 schreef Geqxon het volgende:
    En martijn, if you don't mind:
    I don't
      donderdag 21 juni 2007 @ 14:49:06 #70
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50692285
    Wat mij ook opvalt aan de 22 bans in me ban tabel (waarvan er 5 actief zijn) er 5 tussen zitten die op een volgend zijn, waar dus waarschijnlijk hele racks met servers zijn gehuurt . Dat maakt het bannen wel erg makkelijk . Btw zijn hier niet blacklists voor ?
    phluphy for president!
    pi_50692757
    quote:
    Op donderdag 21 juni 2007 14:44 schreef ikheetmartijn het volgende:

    [..]

    Nee, is hetzelfde, alleen verkort.
    Ik hou er alleen van alles lekker overzichtelijk in functies te zetten.

    Plus hij heeft m'n tweede opmerking er in verwerkt (het later invullen van de action param). -> wat hem dus idd minder gevoelig maakt voor bots.
    Eerlijk is eerlijk, functies zijn mooier. Iets dat ik normaal altijd wel gebruik, maar niet bij de drie lijntjes code die voor iets als dit nodig zijn
    pi_50693029
    Ook wel laggen om op die pwnd.php gewoon de berichten te plaatsen. Vraag me af hoe snel dat gaat.
      donderdag 21 juni 2007 @ 15:11:09 #73
    136730 PiRANiA
    All thinking men are atheists.
    pi_50693210
    quote:
    Op donderdag 21 juni 2007 14:49 schreef WyriHaximus het volgende:
    Wat mij ook opvalt aan de 22 bans in me ban tabel (waarvan er 5 actief zijn) er 5 tussen zitten die op een volgend zijn, waar dus waarschijnlijk hele racks met servers zijn gehuurt . Dat maakt het bannen wel erg makkelijk . Btw zijn hier niet blacklists voor ?
    ip-range-bannen...
      donderdag 21 juni 2007 @ 15:29:50 #74
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50694040
    quote:
    Op donderdag 21 juni 2007 15:07 schreef fokME2 het volgende:
    Ook wel laggen om op die pwnd.php gewoon de berichten te plaatsen. Vraag me af hoe snel dat gaat.
    Bij mij tussen de 50 en 100 perdag .
    quote:
    Op donderdag 21 juni 2007 15:11 schreef PiRANiA het volgende:

    [..]

    ip-range-bannen...
    Wat denkje dat ik met Dat maakt het bannen wel erg makkelijk bedoelde .
    phluphy for president!
    pi_50694331
    quote:
    Op donderdag 21 juni 2007 14:39 schreef Geqxon het volgende:
    En martijn, if you don't mind:
    [ code verwijderd ]

    Nog een stapje dichter bij een bot-vrij gastenboek, zonder de user al te veel te pijnigen.
    helaas, had de eerste 3 berichten binnen een 3 kwartier in het gastenboek.

    MIsschien toch aangeven dat als er een bericht is met http:// erin dat dan het bericht niet geplaatst is.
    Typ- en spellingsfouten voorbehouden.
    pi_50694514
    Ook met die Javascript functie dat hij de action param later invult? vast niet.
    pi_50694532
    En wat nou als een bezoeker een link plaatst?
    @martijn: Zo sluit je de gebruikers zonder JS uit. Ook al is dat maar +/- 5%.
      donderdag 21 juni 2007 @ 15:50:25 #78
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50694815
    quote:
    Op donderdag 21 juni 2007 15:42 schreef super-muffin het volgende:
    En wat nou als een bezoeker een link plaatst?
    @martijn: Zo sluit je de gebruikers zonder JS uit. Ook al is dat maar +/- 5%.
    Waarschuwing boven in zetten dat zonder JS ze bepaalde dingen niet kunnen doen?
    phluphy for president!
    pi_50694946
    quote:
    Op donderdag 21 juni 2007 15:42 schreef ikheetmartijn het volgende:
    Ook met die Javascript functie dat hij de action param later invult? vast niet.
    Je bedoeld deze?

    1
    2
    3
    4
    5
    6
    7
    8
    <script>
    var submitbutton = document.getElementById('submitbutton');
    </script>

    <form method="post" action="goaway.php" onsubmit="if (submitbutton.disabled == false){ this.action = 'index.php'; }">
    <input type="text" onkeyup="if (this.value == '2007') submitbutton.disabled = false; else submitbutton.disabled = true">
    <input type="submit" id="submitbutton" disabled="disabled">
    <input type="hidden" name="sid" value="1543ac7dee2090c76ace66dc0c5325a3" /><input type="hidden" name="sid" value="1543ac7dee2090c76ace66dc0c5325a3" /></form>


    volgens mij heb ik 'm, ff in de gaten houden ....

    [ Bericht 14% gewijzigd door Boy_Snakeye op 21-06-2007 16:02:20 ]
    Typ- en spellingsfouten voorbehouden.
    pi_50698046
    En als we dat dan nog even compleet hip uppimpen met AJAX:

    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
    <script language="Javascript">
    function getXMLObject(){
       if (window.XMLHttpRequest)
          return new XMLHttpRequest();
       else if (window.ActiveXObject)
          return ActiveXObject("Microsoft.XMLHTTP");
    }

    function sendForm(form){
       pars = "";

       for (i = 0; i < form.length; i++){
          pars += (i > 0 ? "&" : "");
          pars += form.elements[i].name + "=" + form.elements[i].value;
       }

       http = getXMLObject();
       http.open("POST",postURL,true);
       http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.onreadystatechange = function() {
           if (http.readyState == 4) {
              if (http.responseText == postResponse)
                 document.location = forwardURL;
              else
                 alert(errorMessage);
            }
         }
         http.send(pars);
    }

    function tryAnswer(value){
       submitButton = document.getElementById("submitbutton");

       if (value == secretAnswer)
          submitButton.disabled = false;
       else
          submitButton.disabled = true;
    }

    secretAnswer = 2007            // Antwoord op de geheime vraag
    postURL = "ajax.php";         // Waar het form naar gesubmit wordt
    forwardURL = "bedankt.php";      // Waar de gebruiker naar doorgestuurd wordt
    postResponse = "readysetgo";   // Het antwoord dat de postURL geeft als alles oké is
    errorMessage = "Error!";      // De error als de postURL geen goed antwoord geeft
    </script>

    <form>
       Naam: <br />
       <input type="text" name="naam"><br />
       Bericht: <br />
       <input type="text" name="bericht"><br />
       In welk jaar leven we nu? <br />
       <input type="text" onkeyup="tryAnswer(this.value)"><br />
       <input type="button" id="submitbutton" value="Verstuur" onclick="sendForm(this.form)" disabled="disabled"><br />
    </form>


    Of draaf ik nu door?

    [ Bericht 2% gewijzigd door Geqxon op 21-06-2007 20:18:50 ]
    pi_50698233
    Neuh
    Alleen jaartal nog even dynamisch maken
    pi_50700999
    Daar waar het antwoord op de vraag een door de beheerder in te vullen variabele is heb ik hier dus 2007 van gemaakt. Maar daar kun je zelf natuurlijk alles van maken, desnoods welke kleur een rode auto heeft

    Oeps, dit is dus het PHP topic!
      donderdag 21 juni 2007 @ 20:17:35 #83
    136730 PiRANiA
    All thinking men are atheists.
    pi_50702889
    quote:
    Op donderdag 21 juni 2007 15:29 schreef WyriHaximus het volgende:

    [..]

    Bij mij tussen de 50 en 100 perdag .
    [..]

    Wat denkje dat ik met Dat maakt het bannen wel erg makkelijk bedoelde .
    :S:P
    quote:
    Op donderdag 21 juni 2007 19:21 schreef Geqxon het volgende:
    Daar waar het antwoord op de vraag een door de beheerder in te vullen variabele is heb ik hier dus 2007 van gemaakt. Maar daar kun je zelf natuurlijk alles van maken, desnoods welke kleur een rode auto heeft

    Oeps, dit is dus het PHP topic!
    beetje variatie kan geen kwaad
    pi_50702959
    Heerlijk dat Fok!, plakt het zomaar mijn session-id tussen mijn sourcecode.
      vrijdag 22 juni 2007 @ 09:55:42 #85
    136730 PiRANiA
    All thinking men are atheists.
    pi_50719365
    quote:
    Op donderdag 21 juni 2007 20:19 schreef Geqxon het volgende:
    Heerlijk dat Fok!, plakt het zomaar mijn session-id tussen mijn sourcecode.
    <!--
    **************************************************************************

    LET OP!
    Deze broncode bevat gegevens (zoals je session ID) die je beter
    niet kan verspreiden. Als mensen dus vragen of je "even" deze
    broncode voor ze wilt kopieeren, doe dit dan niet!

    Ze kunnen dan in staat zijn om in te loggen onder jouw account,
    zonder dat ze je wachtwoord nodig hebben. Gevaarlijk dus!

    **************************************************************************
    -->
    pi_50719743
    En Fok plakt dat dus midden tussen mijn eigen sourcecode.
      vrijdag 22 juni 2007 @ 11:40:33 #87
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50722784
    quote:
    Op donderdag 21 juni 2007 20:17 schreef PiRANiA het volgende:

    [..]

    :S:P
    quote:
    Op donderdag 21 juni 2007 20:17 schreef PiRANiA het volgende:
    [..]

    beetje variatie kan geen kwaad
    Idd en je moet toch nog stukje server side checks doen .
    phluphy for president!
      vrijdag 22 juni 2007 @ 18:36:22 #88
    136730 PiRANiA
    All thinking men are atheists.
    pi_50737271
    wat nou als je iemands sessioncode heb? wat dan?

    in het koekje zetten?
      vrijdag 22 juni 2007 @ 18:46:52 #89
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50737601
    quote:
    Op vrijdag 22 juni 2007 18:36 schreef PiRANiA het volgende:
    wat nou als je iemands sessioncode heb? wat dan?

    in het koekje zetten?
    Yup, en dan hopen dat er niks op IP gelocked it .
    phluphy for president!
      vrijdag 22 juni 2007 @ 19:14:14 #90
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50738448
    Tof heb me pwnd.php geïmplementeerd .
    phluphy for president!
    pi_50738539
    quote:
    Op vrijdag 22 juni 2007 19:14 schreef WyriHaximus het volgende:
    Tof heb me pwnd.php geïmplementeerd .
    quote:
    Your IP (xx.xx.171.153) has been banned from this site for the following reason: Trapped in the anti-spambot trap and is banned forever!!!
      vrijdag 22 juni 2007 @ 19:22:48 #92
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50738721
    quote:
    Op vrijdag 22 juni 2007 19:17 schreef JeRa het volgende:

    [..]


    [..]

    pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daar . 1 ding, was pwnd.php niet een hint dat er iets 'slechst' zou komen?
    phluphy for president!
      vrijdag 22 juni 2007 @ 19:26:26 #93
    136730 PiRANiA
    All thinking men are atheists.
    pi_50738844
    quote:
    Op vrijdag 22 juni 2007 19:22 schreef WyriHaximus het volgende:

    [..]

    pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daar . 1 ding, was pwnd.php niet een hint dat er iets 'slechst' zou komen?
    noem het anders guestbook.html en plaats het in een link: "sign my guestbook"
    pi_50738978
    quote:
    Op vrijdag 22 juni 2007 19:22 schreef WyriHaximus het volgende:

    [..]

    pwnd.php is een bestandje wat je automatish banned. Het idee is dat een comment form er op gericht staat, nadat het CAPTCHA antwoord is ingevoerd (veranderd) dan word het action veld van form veranderd. Komt nog uit het vorige deel denk ik, goeie CAPTCHA discussie daar . 1 ding, was pwnd.php niet een hint dat er iets 'slechst' zou komen?
    Maakt verder niet uit hoor, ik heb het al het contact met IP 83.98.159.6 bij voorbaat maar stilgelegd in m'n gateway @AMS denk je niet dat het enigzins foutgevoelig is? Wat gebeurt er met iemand die javascript heeft uitgeschakeld, om maar wat te noemen?
      vrijdag 22 juni 2007 @ 19:30:22 #95
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50738980
    quote:
    Op vrijdag 22 juni 2007 19:26 schreef PiRANiA het volgende:

    [..]

    noem het anders guestbook.html en plaats het in een link: "sign my guestbook"
    Mwah dan gaan users er op klikken, bots kan ik nog tegenhouwden met rel="nofollow" .
    phluphy for president!
      vrijdag 22 juni 2007 @ 19:34:19 #96
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50739104
    quote:
    Op vrijdag 22 juni 2007 19:30 schreef JeRa het volgende:

    [..]

    Maakt verder niet uit hoor, ik heb het al het contact met IP 83.98.159.6 bij voorbaat maar stilgelegd in m'n gateway @AMS denk je niet dat het enigzins foutgevoelig is? Wat gebeurt er met iemand die javascript heeft uitgeschakeld, om maar wat te noemen?
    Hahahaha! Ja het is foutgevoelig. Submit knop word standaard uitgezet en tegelijkertijd met de form.action aanpassing op enabled gezet. Dan heb ik nog wel het probleem dat users zonder javascript geen comments ergens op kunnen maken. Was 5% wat iemand zei (is evengoed nog veel), moet nog iets verzinnen dat hun het wel kunnen of gewoon niet want ze zijn irritant .

    Ow trouwens wat wel grappig is, is dat na jouw bericht nog 5 man hebben geklikt .
    phluphy for president!
    pi_50739276
    quote:
    Op vrijdag 22 juni 2007 19:34 schreef WyriHaximus het volgende:
    of gewoon niet want ze zijn irritant .
    Ze zijn slim, vrijwel alle XSS exploits gaan via Javascript. En niet alleen in IE, maar ook Fx en Opera.
      vrijdag 22 juni 2007 @ 19:42:27 #98
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50739370
    quote:
    Op vrijdag 22 juni 2007 19:39 schreef JeRa het volgende:

    [..]

    Ze zijn slim, vrijwel alle XSS exploits gaan via Javascript. En niet alleen in IE, maar ook Fx en Opera.
    Dan moeten ze gewoon opletten waar ze op klikken imo . Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software .
    phluphy for president!
      vrijdag 22 juni 2007 @ 19:49:41 #99
    136730 PiRANiA
    All thinking men are atheists.
    pi_50739634
    quote:
    Op vrijdag 22 juni 2007 19:42 schreef WyriHaximus het volgende:

    [..]

    Dan moeten ze gewoon opletten waar ze op klikken imo :Y . Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software -O- .
    of je doet het zo:

    1
    2
    3
    4
    5
    6
    <form action="ban.php" method="get">
    <input style="height:1px; width:1px" name="name">
    <input style="height:1px; width:1px" name="email">
    <input style="height:1px; width:1px" name="url">
    <textarea style="height:1px; width:1px"></textarea>
    <input type="submit" style="height:1px; width:1px">
      vrijdag 22 juni 2007 @ 19:51:52 #100
    136730 PiRANiA
    All thinking men are atheists.
    pi_50739731
    quote:
    Op vrijdag 22 juni 2007 19:34 schreef WyriHaximus het volgende:

    [..]

    Hahahaha! Ja het is foutgevoelig. Submit knop word standaard uitgezet en tegelijkertijd met de form.action aanpassing op enabled gezet. Dan heb ik nog wel het probleem dat users zonder javascript geen comments ergens op kunnen maken. Was 5% wat iemand zei (is evengoed nog veel), moet nog iets verzinnen dat hun het wel kunnen of gewoon niet want ze zijn irritant .

    Ow trouwens wat wel grappig is, is dat na jouw bericht nog 5 man hebben geklikt .
    waaronder ik
    pi_50740206
    quote:
    Op vrijdag 22 juni 2007 19:42 schreef WyriHaximus het volgende:

    [..]

    Dan moeten ze gewoon opletten waar ze op klikken imo . Meeste XSS exploits hebben niks met de browser te maken maar met de serverside software .
    Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btw

    En dat percentage van gebruikers die Javascript uit hebben was maar uit m'n mouw geschud, maar kwam wel redelijk in de buurt gezien deze pagina.

    [ Bericht 4% gewijzigd door super-muffin op 22-06-2007 20:11:35 ]
      vrijdag 22 juni 2007 @ 20:36:17 #102
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50741357
    quote:
    Op vrijdag 22 juni 2007 20:03 schreef super-muffin het volgende:

    [..]

    Bullshit, er zijn een hoop domme users die niet opletten waar ze klikken, daar moet je ook rekening mee houden. En veel XXS exploits gaan wel via Javascript btw

    En dat percentage van gebruikers die Javascript uit hebben was maar uit m'n mouw geschud, maar kwam wel redelijk in de buurt gezien deze pagina.
    Dus moeten ze gewoon opletten waar ze opklikken . Dat je er wel rekening mee moet houden is logish maar ook tot op een bepaald niveau . Ik ga geen rekening houden met gebruikers die ondanks duidelijke waarschuwingen ergens opklikken en dan de lul zijn . Idd, maar de exploid zelf zit over het algemeen op de server zelf . Ik moet wat doen aan hoe ik dingen zeg is soms toch nog niet echt duidelijk .

    Houden ze rekening met bots daar? Want die hebben ook geen JS aanstaan .
    phluphy for president!
    pi_50742049
    Ik ben op zoek naar een functie die een bepaalde letter in een zin of woord kan vervangen, maar het moet de laatste zijn als hij meerdere keren voorkomt.
    Voorbeeld: Dit is een test zin.
    de laatste i, in zin dus, moet vervangen worden door TEST of wat dan ook.

    In php5 kan dit met str_replace en dan een -1 als laatste op te geven, maar in php4 werkt dit nog niet. Heeft iemand een idee hoe ik dit makkelijk kan aanpakken? Als het even kan ook nog case insensitive.

    Ik heb nu deze functie:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function someTestFunc($str) {
       $arr = explode("i",$str);
       $str = "";
       if(count($arr) > 1) {
          for($i = 0; $i < count($arr)-2; $i++) {
             $str = $str . $arr[$i] . "i";
          }
          $str = $str . $arr[count($arr)-2] . "TEST" . $arr[count($arr)-1];
       } else {
          $str = $arr[0];
       }
       return ucfirst($str);
    }


    Maar dat is erg omslachtig en daarbij werkt hij niet met hoofdletters.

    Iemand een idee want dit kan vast veel en veel makkelijker, eventueel met een reg expresion?

    [ Bericht 1% gewijzigd door splendor op 22-06-2007 21:10:23 ]
    -
      vrijdag 22 juni 2007 @ 21:07:38 #104
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50742309
    quote:
    Op vrijdag 22 juni 2007 20:58 schreef splendor het volgende:
    Ik ben op zoek naar een functie die een bepaalde letter in een zin of woord kan vervangen, maar het moet de laatste zijn als hij meerdere keren voorkomt.
    Voorbeeld: Dit is een test zin.
    de laatste i, in zin dus, moet vervangen worden door TEST of wat dan ook.

    In php5 kan dit met str_replace en dan een -1 als laatste op te geven, maar in php4 werkt dit nog niet. Heeft iemand een idee hoe ik dit makkelijk kan aanpakken? Als het even kan ook nog case insensitive.

    Ik heb nu deze functie:
    [ code verwijderd ]

    Maar dat is erg omslachtig en daarbij werkt hij niet met hoofdletters.

    Iemand een idee want dit kan vast veel en veel makkelijker, eventueel met een reg expresion? :s)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $zoek 
    '';
    $vervang '';
    $text '';
    $ex explode($zoek,$text);
    $newtext $vervang $ex[(count($ex)-1)];
    unset(
    $ex[(count($ex)-1)]);
    $newtext implode($zoek,$ex) . $newtex;
    ?>

    Zoiets uit me hoofd :Y
    phluphy for president!
    pi_50742947
    Misschien iets met?
    strrev() dan preg_match() met limit 1 en dan weer strrev()

    Of eerst het laatste voorkomen van een string zoeken met:
    strrpos() (=case sensitive) en dan alleen in een bepaald gedeelte replacen met subst_replace()
    pi_50743135
    Dat is al een heel stuk compacter ja. En werkt goed volgens mij.
    -
      vrijdag 22 juni 2007 @ 21:45:14 #107
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50743546
    quote:
    Op vrijdag 22 juni 2007 21:32 schreef splendor het volgende:
    Dat is al een heel stuk compacter ja. En werkt goed volgens mij.
    Altijd goed om te kijken of het simpeler kan .
    phluphy for president!
    pi_50745314
    Hopelijk weten jullie hier een antwoord op mijn vraag. Ik werk in een bepaald scriptje met sessions. Op mijn eigen servertje draait dit prima, maar als ik dit bij NXS internet op de server zet gaat hij zelf een waarde aan SESSION geven. Ik gebruik session alleen om een userid door te geven, en hier maakt hij altijd 13 of 15 van, terwijl ik toch aan het begin deze uit een database haal, maar dit overschrijft hij dus gewoon.

    Kortom; HELP!
      vrijdag 22 juni 2007 @ 22:33:44 #109
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50745396
    quote:
    Op vrijdag 22 juni 2007 22:31 schreef derrudyjah het volgende:
    Hopelijk weten jullie hier een antwoord op mijn vraag. Ik werk in een bepaald scriptje met sessions. Op mijn eigen servertje draait dit prima, maar als ik dit bij NXS internet op de server zet gaat hij zelf een waarde aan SESSION geven. Ik gebruik session alleen om een userid door te geven, en hier maakt hij altijd 13 of 15 van, terwijl ik toch aan het begin deze uit een database haal, maar dit overschrijft hij dus gewoon.

    Kortom; HELP!
    Source? We kunnen zo niet heel veel zien .
    phluphy for president!
    pi_50745619
    quote:
    Op vrijdag 22 juni 2007 22:33 schreef WyriHaximus het volgende:

    [..]

    Source? We kunnen zo niet heel veel zien .
    Excuus, je hebt gelijk
    Hier een voorbeeldje waarin ik een berichtje verstuur aan de hand van de id van de user die dan is ingelogd:

    $sendto=$_GET['id'];
    $sendfrom=$_SESSION['id'];
    $query="select name,avatar,location from users where id='$sendto'";
    $result = mysql_query($query);
    $record=mysql_fetch_array($result);
    $name = $record[name];
    ?>
    <TABLE BORDER="0" CELLSPACING="0" WIDTH="648" BGCOLOR="black">
    <TR>
    <TD>
    <table border="0" width="647" bgcolor="<?echo$color?>">
    <TR>
    <TD>
    Bericht aan <?echo$name?>:</td></tr>
    <form action="?page=send_message" method=POST>
    <TR><TD><input name="to" value="<?echo$to?>" type="hidden"></td></tr>
    <TR><TD><input name="from" value="<?echo$sendfrom?>" type="hidden"></td></tr>
    <TR><TD>Onderwerp:</td><td><input type="text" name="subject"></td></tr>
    <TR><TD>Bericht:</td><td><textarea name="message" cols="50" rows="10">

    ----------------------------------
    In dit geval zou hij op session 1 uit moeten komen, omdat dat mijn id is uit de db, maar hij maakt er 13 van.

    [ Bericht 7% gewijzigd door derrudyjah op 22-06-2007 22:48:10 ]
      vrijdag 22 juni 2007 @ 22:51:37 #111
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50746103
    quote:
    Op vrijdag 22 juni 2007 22:39 schreef derrudyjah het volgende:

    [..]

    Excuus, je hebt gelijk
    Hier een voorbeeldje waarin ik een berichtje verstuur aan de hand van de id van de user die dan is ingelogd:

    $sendto=$_GET['id'];
    $sendfrom=$_SESSION['id'];
    $query="select name,avatar,location from users where id='$sendto'";
    $result = mysql_query($query);
    $record=mysql_fetch_array($result);
    $name = $record[name];
    ?>
    <TABLE BORDER="0" CELLSPACING="0" WIDTH="648" BGCOLOR="black">
    <TR>
    <TD>
    <table border="0" width="647" bgcolor="<?echo$color?>">
    <TR>
    <TD>
    Bericht aan <?echo$name?>:</td></tr>
    <form action="?page=send_message" method=POST>
    <TR><TD><input name="to" value="<?echo$to?>" type="hidden"></td></tr>
    <TR><TD><input name="from" value="<?echo$sendfrom?>" type="hidden"></td></tr>
    <TR><TD>Onderwerp:</td><td><input type="text" name="subject"></td></tr>
    <TR><TD>Bericht:</td><td><textarea name="message" cols="50" rows="10">

    ----------------------------------
    In dit geval zou hij op session 1 uit moeten komen, omdat dat mijn id is uit de db, maar hij maakt er 13 van.
    Hmmm dat zou goed moeten zijn . Al eens je sessie gereset?
    phluphy for president!
    pi_50746235
    Wel session_destroy als je dat bedoelt... browser (IE7) dicht, en opnieuw open. Het mag allemaal niet baten.
      vrijdag 22 juni 2007 @ 22:58:21 #113
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50746388
    quote:
    Op vrijdag 22 juni 2007 22:54 schreef derrudyjah het volgende:
    Wel session_destroy als je dat bedoelt... browser (IE7) dicht, en opnieuw open. Het mag allemaal niet baten.
    Probeer het eens met FF. Dan kan je het specifieke cookie weg gooien .

    Wat je ook kan doen is een var_export($_SESSION); net na je het id er in gezet heb . Dan kan je zien of het goed gaat daar .
    phluphy for president!
    pi_50746490
    FF???
    pi_50746585
    quote:
    Op vrijdag 22 juni 2007 23:00 schreef derrudyjah het volgende:
    FF??? Oh, Firefox!
    pi_50746765
    Daar geeft hij (in tegenstelling tot wanneer ik de boel lokaal had staan) nergens aan dat er cookies of sessions aan het werk zijn....
      vrijdag 22 juni 2007 @ 23:45:21 #117
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50747893
    quote:
    Op vrijdag 22 juni 2007 23:09 schreef derrudyjah het volgende:
    Daar geeft hij (in tegenstelling tot wanneer ik de boel lokaal had staan) nergens aan dat er cookies of sessions aan het werk zijn....
    Ook niet als je naar Edit -> Preferences -> Privacy -> Show Cookies gaat?
    phluphy for president!
    pi_50748784
    Dan zie ik iid de cookies, maar niet de session
      zaterdag 23 juni 2007 @ 00:35:23 #119
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50749339
    quote:
    Op zaterdag 23 juni 2007 00:14 schreef derrudyjah het volgende:
    Dan zie ik iid de cookies, maar niet de session
    Klopt want je session word serverside opgeslagen en aan de hand van je cookie tevoorschijn getoverd .
    phluphy for president!
    pi_50749670
    ok, in dat geval; al de cookies die ik gebruik (zijn er 2) staan er.
      zaterdag 23 juni 2007 @ 01:14:32 #121
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50750268
    quote:
    Op zaterdag 23 juni 2007 00:50 schreef derrudyjah het volgende:
    ok, in dat geval; al de cookies die ik gebruik (zijn er 2) staan er.
    Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?
    phluphy for president!
    pi_50754122
    Het volgende stukje code doet bij bij soms raar:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    function AddUser($uid, $naam) {
       
    $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ".
       
    "ID = '$uid'") or die(mysql_error());
       
    $gegevens = mysql_fetch_assoc($resultaat);
       if (
    $gegevens["COUNT(*)"]!=0) return;
       
    mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'")
       or die(
    mysql_error());
    }
    ?>

    Het programma draait altijd maar één keer tegelijk. Toch knalt het programma af en toe eruit bij de INSERT omdat ik een dubbele ID zou proberen in te voegen. Waarom?

    [ Bericht 8% gewijzigd door #ANONIEM op 23-06-2007 10:33:00 ]
    pi_50754270
    quote:
    Op zaterdag 23 juni 2007 01:14 schreef WyriHaximus het volgende:

    [..]

    Goed en de id is nog steeds fout? Maar wat ik eerder zei. Word het uberhaupt goed in $_SESSION gezet?
    Ja, zeker weten.

    $_SESSION["id"] = $id;
    $id is een regelrechte uitgifte van de DB.
    pi_50754425
    quote:
    Op vrijdag 22 juni 2007 19:14 schreef WyriHaximus het volgende:
    Tof heb me pwnd.php geïmplementeerd .
    Trapped in the anti-spambot trap and is banned forever!!!

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/comment.class.php
    LINE: 101
    CALL: error_die()

    FILE:
    LINE:
    CALL: comment_class->process()

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/module.class.php
    LINE: 348
    CALL: call_user_method()

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/index.php
    LINE: 252
    CALL: module_class->gen_modules_output()


    Hhaa ik ben ook gebanned
    pi_50754434
    quote:
    Op zaterdag 23 juni 2007 10:32 schreef Igen het volgende:
    Het volgende stukje code doet bij bij soms raar:
    [ code verwijderd ]

    Het programma draait altijd maar één keer tegelijk. Toch knalt het programma af en toe eruit bij de INSERT omdat ik een dubbele ID zou proberen in te voegen. Waarom? :?
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function AddUser($uid, $naam) {
       $resultaat = mysql_query("SELECT COUNT(*) FROM user WHERE ".
       "ID = '$uid'") or die(mysql_error());
       $gegevens = mysql_fetch_assoc($resultaat);
       if ($gegevens["COUNT(*)"]!=0) return;
       mysql_query("INSERT INTO user SET ID = '$uid', Naam = '$naam'")
       or die(mysql_error());
    }


    Ik neem aan dat je ID kolom je primary key is, waarom zet je die niet op auto-increment dan? Als het een key is, weet je zeker dat ie maar 1 voorkomt, dus die count(*) is toch al overbodig.

    Waar bepaal je de waarde van die $uid?
    pi_50754505
    Ja, ID is de primary key. Ik kan hem niet op auto_increment zetten, omdat ik deze tabel construeer uit andere gegevens. Ik wil dus alleen INSERT doen als de betreffende ID nog niet in de database voorkomt.
    En mijn programmastukje zou precies dat moeten doen, maar zo heel af en toe werkt het dus niet. Kan het met MyISAM gebeuren dat een INSERT een heel klein beetje vertraagd wordt doorgevoerd?

    [ Bericht 32% gewijzigd door #ANONIEM op 23-06-2007 11:05:34 ]
      zaterdag 23 juni 2007 @ 11:40:39 #127
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50755139
    quote:
    Op zaterdag 23 juni 2007 10:56 schreef Darkomen het volgende:

    [..]

    Trapped in the anti-spambot trap and is banned forever!!!

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/comment.class.php
    LINE: 101
    CALL: error_die()

    FILE:
    LINE:
    CALL: comment_class->process()

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/includes/class/module.class.php
    LINE: 348
    CALL: call_user_method()

    FILE: home/wyrihaxi/domains/wyrihaximus.net/public_html/beta/index.php
    LINE: 252
    CALL: module_class->gen_modules_output()


    Hhaa ik ben ook gebanned
    is toch me dev site . Straks ff in robots.txt zetten met een disallow, ben benieuwt hoesnel die ranzige kut bots het negeren !
    quote:
    Op zaterdag 23 juni 2007 10:44 schreef derrudyjah het volgende:

    [..]

    Ja, zeker weten.

    $_SESSION["id"] = $id;
    $id is een regelrechte uitgifte van de DB.
    Heb je het gecontroleert, hoe zeker je het ook weet? (Ook zo vaak gehad dat het lag aan iets waarvan ik zekers wist dat het goed was .)
    phluphy for president!
    pi_50755332
    ja, ik vraag m uit, net nadat ie hem erin zet. Dan staat ie goed. en ergens daarna reset ie em gewoon uit zichzelf, of hij zet er iig iets anders in :S
    pi_50756426
    quote:
    Op zaterdag 23 juni 2007 11:02 schreef Igen het volgende:
    Ja, ID is de primary key. Ik kan hem niet op auto_increment zetten, omdat ik deze tabel construeer uit andere gegevens. Ik wil dus alleen INSERT doen als de betreffende ID nog niet in de database voorkomt.
    En mijn programmastukje zou precies dat moeten doen, maar zo heel af en toe werkt het dus niet. Kan het met MyISAM gebeuren dat een INSERT een heel klein beetje vertraagd wordt doorgevoerd?
    Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier mee spelen denk ik.

    Leesvoer: http://www.xaprb.com/blog(...)and-update-in-mysql/

    Samenvatting:

    insert ignore gebruiken of een left outer join op dezelfde tabel.

    De eerste methode is het snelst, maar een proprietary, non-standard extension. Laatste methode is langzamer, maar wel onderdeel van SQL standaard.

    In beide gevallen is het sneller dan je huidige methode (PHP/SQL).
    pi_50756440
    quote:
    Op zaterdag 23 juni 2007 12:49 schreef smesjz het volgende:

    [..]

    Je hebt delayed inserts, maar normaal geef dat je op bij het uitvoeren van een query. Die vertraging zal hier niet mee spelen denk ik. Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.

    Leesvoer: http://www.xaprb.com/blog(...)and-update-in-mysql/

    Samenvatting:

    insert ignore gebruiken of een left outer join op dezelfde tabel.

    De eerste methode is het snelst, maar een proprietary, non-standard extension. Laatste methode is langzamer, maar wel onderdeel van SQL standaard.

    In beide gevallen is het sneller dan je huidige methode (PHP/SQL).
    pi_50757327
    Nou inmiddels heb ik gelukkig de oplossing gevonden;

    Blijkbaar mag de session niet 'ID' als naam hebben...nja aangepast, opgelost. Toch bedankt voor de hulp!
    pi_50757559
    Dank je voor de link, smesjz!

    Om een JOIN te gebruiken, moeten de in te voegen gegevens vast eerst in een andere tabel staan. Dat heb ik niet, dus dan is IGNORE vast de beste oplossing.
    quote:
    Bij erg hoge load kan je ook vertraging krijgen, maar dit lijkt me niet van toepassing.
    Nu ja, zo'n 350 inserts direct na elkaar, op een 50 Mhz computer...

    [ Bericht 20% gewijzigd door #ANONIEM op 23-06-2007 13:48:16 ]
    pi_50771737
    <aanmeld/>

    Net even MySQL 5 geïnstaleerd, wil namelijk een zoekfunctie in me site(fotosite) hebben en dan is dit denk wel essentieel met 150+ pagina's
    Even rond zitten kijken maar kan geen GUI ervan vinden voornamelijk dus alleen tekst?

    Anyway...wish me luck
    pi_50774745
    quote:
    Op zaterdag 23 juni 2007 22:20 schreef -f het volgende:
    Even rond zitten kijken maar kan geen GUI ervan vinden voornamelijk dus alleen tekst?
    MySql heeft zelf een qeury browser die wel goed werkt; http://www.mysql.com/products/tools/
    Verder bestaat er ook nog phpMyAdmin, een web UI.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50776185
    quote:
    Op zaterdag 23 juni 2007 13:38 schreef Igen het volgende:
    Dat heb ik niet, dus dan is IGNORE vast de beste oplossing.
    Nog een kleine update:
    Het schijnt allemaal symptoombestrijding te zijn, want MySQL werkt bij mij gewoon niet echt lekker. De ene keer zegt SELECT dat iets niet in de database zit, maar met INSERT zeurt hij toch over een duplicate key. Zo nu en dan breekt hij een INSERT ook af met "Incorrect key file for table './igen/user.MYI'; try to repair it". En af en toe crasht mysqld met een "Illegal Instruction". Of met een "Segmentation Fault".

    Mijn computer heeft geheugen met een checksum-bit, dus als dat stuk gaat zou hij dat moeten merken. De harde schijf is SCSI en heeft nog geen 'grown defects'. En ik heb ook nog genoeg vrij (swap-)geheugen.

    Hrrmmm.
    pi_50780237
    quote:
    Op zondag 24 juni 2007 00:37 schreef Igen het volgende:

    [..]

    Nog een kleine update:
    Het schijnt allemaal symptoombestrijding te zijn, want MySQL werkt bij mij gewoon niet echt lekker. De ene keer zegt SELECT dat iets niet in de database zit, maar met INSERT zeurt hij toch over een duplicate key. Zo nu en dan breekt hij een INSERT ook af met "Incorrect key file for table './igen/user.MYI'; try to repair it". En af en toe crasht mysqld met een "Illegal Instruction". Of met een "Segmentation Fault".
    Misschien eens converteren naar InnoDB? Illegal instruction en Segmentation fault hebben vaak weinig met rot geheugen te maken, eerder met bugs in je applicatie. Welke versie van mysql gebruik je?
    Wat is nu het stukje code dat je gebruikt?
    [/quote]
    pi_50780412
    Ik had ook al het plan bedacht om overal InnoDB van te maken, en alle stukjes code met SELECT-INSERT enzo in transacties te stoppen. Dan moeten de gegevens bij beide opdrachten wel gelijk zijn, lijkt mij zo.

    'Het' stukje code bestaat niet, hij doet zo nu en dan gek op elke plaats waar SELECT en dan INSERT staat. En op bepaalde plekken gaat het niet anders dan op deze manier.

    Ik gebruik overigens MySQL 5.0.37. Op een 50 Mhz Sparc computer met 96 MB RAM.
    pi_50781263
    quote:
    Op zondag 24 juni 2007 10:06 schreef Igen het volgende:
    Ik had ook al het plan bedacht om overal InnoDB van te maken, en alle stukjes code met SELECT-INSERT enzo in transacties te stoppen. Dan moeten de gegevens bij beide opdrachten wel gelijk zijn, lijkt mij zo.

    'Het' stukje code bestaat niet, hij doet zo nu en dan gek op elke plaats waar SELECT en dan INSERT staat. En op bepaalde plekken gaat het niet anders dan op deze manier.

    Ik gebruik overigens MySQL 5.0.37. Op een 50 Mhz Sparc computer met 96 MB RAM.
    Ik vraag me serieus af of transacties je hier gaan helpen. In principe zou IGNORE gewoon moeten werken, maar het lijkt me gewoon een bug in mysqld. Evt. getriggered door een trage CPU en de sparc arch. Welke versie van Solaris draai je? 7?
    pi_50781595
    Nu je het zegt, transactions gaan inderdaad niet helpen. Maar misschien werkt InnoDB sowieso wel beter op mijn computer. Er staat trouwens NetBSD op, want dat is lekker simpel en werkt eigenlijk heel goed.
    pi_50782228
    Segmentation faults zijn vrijwel altijd pointer bugs in applicaties. Als je die tegenkomt in zoiets als MySQL is er iets goed fout en zou je een bugreport kunnen indienen bij de ontwikkelaars van MySQL
      zondag 24 juni 2007 @ 12:45:19 #141
    49017 Reneuh
    Met je hoof
    pi_50783422
    Dat ik een 403 forbidden krijg (ik gebruik mod_rewrite), betekent zeker dat er iets veranderd moet worden in de serverinstellingen?

    Als je dus naar http://www.hotelmergelland.nl/index.php gaat, dan wordt de url http://www.hotelmergelland.nl/Home. Dan krijg ik die 403. Of ligt dat aan wat anders?
    I spoke proper England since I was a children.
    pi_50783450
    quote:
    Op zondag 24 juni 2007 12:00 schreef JeRa het volgende:
    Segmentation faults zijn vrijwel altijd pointer bugs in applicaties. Als je die tegenkomt in zoiets als MySQL is er iets goed fout en zou je een bugreport kunnen indienen bij de ontwikkelaars van MySQL
    Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?

    [ Bericht 58% gewijzigd door #ANONIEM op 24-06-2007 12:48:28 ]
    pi_50783557
    quote:
    Op zondag 24 juni 2007 12:46 schreef Igen het volgende:
    Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
    Natuurlijk niet, die één op de 100.000 keer dat het fout gaat kun je bijvoorbeeld opvangen met een debugger en het probleem zo isoleren het zijn juist dergelijke bugs die het geheel onbetrouwbaar maken, de bugs die elke keer optreden zijn snel te vinden én op te lossen.
      zondag 24 juni 2007 @ 14:49:22 #144
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50787268
    quote:
    Op zondag 24 juni 2007 12:45 schreef Reneuh het volgende:
    Dat ik een 403 forbidden krijg (ik gebruik mod_rewrite), betekent zeker dat er iets veranderd moet worden in de serverinstellingen?

    Als je dus naar http://www.hotelmergelland.nl/index.php gaat, dan wordt de url http://www.hotelmergelland.nl/Home. Dan krijg ik die 403. Of ligt dat aan wat anders?
    Wat gebruik je als .htaccess code dan?
    quote:
    Op zondag 24 juni 2007 12:46 schreef Igen het volgende:

    [..]

    Het gaat ongeveer eens in de 100.000 keer fout. Dat is iets te weinig reproduceerbaar voor een bugreport, nietwaar?
    Wat JeRa ook zegt laten afvangen en desnoods dat ding gaan reproduceren door te gaan benchmarken (weet er ff geen beter woord voor) en dan een bug report filen bij MySQL .
    phluphy for president!
      zondag 24 juni 2007 @ 15:20:59 #145
    49017 Reneuh
    Met je hoof
    pi_50788274
    quote:
    Op zondag 24 juni 2007 14:49 schreef WyriHaximus het volgende:

    [..]

    Wat gebruik je als .htaccess code dan?
    Dit:

    1
    2
    3
    4
    RewriteEngine on
    RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L]
    RewriteRule ^([A-Za-z0-9, ']+)/?$ index.php?pid=$1 [L]
    RewriteRule ^([A-Za-z0-9,_']+)/?$ index.php?pid=$1 [L]
    I spoke proper England since I was a children.
      zondag 24 juni 2007 @ 15:40:04 #146
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50788806
    quote:
    Op zondag 24 juni 2007 15:20 schreef Reneuh het volgende:

    [..]

    Dit:
    [ code verwijderd ]
    1
    2
    3
    4
    5
    RewriteEngine on
    RewriteRule ^cms/?$ http://www.hotelmergelland.nl/cms/index.php [R,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?pid=$1 [L,QSA]


    Probeer dat eens .
    phluphy for president!
      maandag 25 juni 2007 @ 10:14:33 #147
    49017 Reneuh
    Met je hoof
    pi_50812168
    quote:
    Op zondag 24 juni 2007 15:40 schreef WyriHaximus het volgende:

    [..]
    [ code verwijderd ]

    Probeer dat eens .
    Helaasch Ik denk dat de host dit moet oplossen.. Volgens mij staat een instelling niet goed.

    [ Bericht 10% gewijzigd door Reneuh op 25-06-2007 10:25:03 ]
    I spoke proper England since I was a children.
      maandag 25 juni 2007 @ 11:29:55 #148
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50814439
    quote:
    Op maandag 25 juni 2007 10:14 schreef Reneuh het volgende:

    [..]

    Helaasch Ik denk dat de host dit moet oplossen.. Volgens mij staat een instelling niet goed.
    MWah goeie kan je uberhaupt mod_rewrite gebruiken ?
    phluphy for president!
    pi_50814523
    Een 403 (forbidden) heeft niets te maken met 500 (internal server error) wat je zou krijgen als mod_rewrite niet beschikbaar was
      maandag 25 juni 2007 @ 11:35:19 #150
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50814628
    quote:
    Op maandag 25 juni 2007 11:32 schreef JeRa het volgende:
    Een 403 (forbidden) heeft niets te maken met 500 (internal server error) wat je zou krijgen als mod_rewrite niet beschikbaar was
    Hmmm zorgt dat voor een 500? Nooit geweten , daarnaast ook nooit de luxe gehad om een apache zonder mod_rewrite te hebben .
    phluphy for president!
    pi_50814732
    quote:
    Op maandag 25 juni 2007 11:35 schreef WyriHaximus het volgende:

    [..]

    Hmmm zorgt dat voor een 500? Nooit geweten , daarnaast ook nooit de luxe gehad om een apache zonder mod_rewrite te hebben .
    Alles wat je fout doet in de Apache config of in een .htaccess levert een 500 op (of compleet vreemd gedrag). Een 403 forbidden krijg je als:
    1) De rechten van de locatie niet goed staan (bestaat er een map Home? of is ie virtueel?)
    2) Je middels een .htaccess doorgeeft dat er een 403 moet komen
    3) Je middels PHP doorgeeft dat er een 403 moet komen
    4) etc

    Veel punten waar Reneuh dus kan kijken
      maandag 25 juni 2007 @ 12:28:50 #152
    49017 Reneuh
    Met je hoof
    pi_50816347
    quote:
    Op maandag 25 juni 2007 11:38 schreef JeRa het volgende:

    [..]

    Alles wat je fout doet in de Apache config of in een .htaccess levert een 500 op (of compleet vreemd gedrag). Een 403 forbidden krijg je als:
    1) De rechten van de locatie niet goed staan (bestaat er een map Home? of is ie virtueel?)
    2) Je middels een .htaccess doorgeeft dat er een 403 moet komen
    3) Je middels PHP doorgeeft dat er een 403 moet komen
    4) etc

    Veel punten waar Reneuh dus kan kijken
    Het probleem is dat ik niet de beheerder ben, dus ik kan niet zoveel doen... Overigens op mijn eigen webhost werkt het prima (http://www.clixz.nl/ml/Home).

    Map Home bestaat niet. Het is gewoon een vervanging van index.php?pid=1 (http://www.clixz.nl/ml/index.php?pid=1). De naam (Home) wordt uit de database gehaald en zo wordt de juiste pagina geladen.

    Opties 2 en 3 heb ik iig niet..
    I spoke proper England since I was a children.
    pi_50833613
    Goed, standaard XAMPP installatie, en na een minuut lang laden (zware pagina) stopt hij ermee. Alle timeouts in /xampp/php/php.ini naar 3600 verhoogd, nog steeds het probleem. Zeer frustrerend, iemand tips?
    pi_50833751
    quote:
    Op maandag 25 juni 2007 20:37 schreef Geqxon het volgende:
    Goed, standaard XAMPP installatie, en na een minuut lang laden (zware pagina) stopt hij ermee. Alle timeouts in /xampp/php/php.ini naar 3600 verhoogd, nog steeds het probleem. Zeer frustrerend, iemand tips?
    set_time_limit(0), en direct via de command line aanroepen (niet via de webserver).

    Maar ik heb het idee dat je beter even kunt proberen je script wat sneller te maken
    pi_50833909
    Mijn script is helaas niet sneller te maken, ik moet 13 webbpagina's opvragen die achter een 56k lijn in Uzbekistan staan. Het verdere preg_match gebeuren duurt iets van 0.03 seconde, dat heb ik al tot in de nopjes geoptimaliseerd.

    Set_time_limit will do.
    pi_50836765
    snip. even opnieuw!

    [ Bericht 99% gewijzigd door Chandler op 26-06-2007 12:10:12 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 26 juni 2007 @ 09:47:32 #157
    49017 Reneuh
    Met je hoof
    pi_50848807
    quote:
    Op maandag 25 juni 2007 12:28 schreef Reneuh het volgende:

    [..]

    Het probleem is dat ik niet de beheerder ben, dus ik kan niet zoveel doen... Overigens op mijn eigen webhost werkt het prima (http://www.clixz.nl/ml/Home).

    Map Home bestaat niet. Het is gewoon een vervanging van index.php?pid=1 (http://www.clixz.nl/ml/index.php?pid=1). De naam (Home) wordt uit de database gehaald en zo wordt de juiste pagina geladen.

    Opties 2 en 3 heb ik iig niet..
    Verschillende codes geprobeerd, maar ik krijg het maar niet aan de gang. Iemand een idee?
    I spoke proper England since I was a children.
      dinsdag 26 juni 2007 @ 10:20:55 #158
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50849592
    quote:
    Op dinsdag 26 juni 2007 09:47 schreef Reneuh het volgende:

    [..]

    Verschillende codes geprobeerd, maar ik krijg het maar niet aan de gang. Iemand een idee?
    Het staat aan neem ik aan? Wat zegt de hosting van hun? Misschien rewrite_base / toevoegen? (Of zoiets uit me hoofd gedaan kan er naast zitten met de exacte naam .)
    phluphy for president!
    pi_50849801
    mod_rewrite
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 26 juni 2007 @ 10:32:05 #160
    49017 Reneuh
    Met je hoof
    pi_50849851
    quote:
    Op dinsdag 26 juni 2007 10:20 schreef WyriHaximus het volgende:

    [..]

    Het staat aan neem ik aan? Wat zegt de hosting van hun? Misschien rewrite_base / toevoegen? (Of zoiets uit me hoofd gedaan kan er naast zitten met de exacte naam .)
    Dat staat aan ja.
    I spoke proper England since I was a children.
    pi_50850315
    @Chandler

    Dat verhaal van die tabellen en die query moet je toch echt even toelichten, het is nogal wazig zo. Je vergelijkt in de query een relatie_id met een group_id, waarbij die laatste niet eens is terug te vinden in de structuur.

    Kun je niet gewoon de structuur vrijwel letterlijk hier plakken en een SELECT * op beide tabellen doen en de output (inclusief kolomnamen ) hier ook neerzetten?
    pi_50850444
    Ik heb het al eens eerder gevraagd, ik heb van super-muffin antwoord gehaden, en ik ben het vergeten.

    Het systeem op Fok!, dat je bijvoorbeeld /user/active/22942 in kunt typen, wat was ook alweer de benaming van dit systeem?
    pi_50850574
    quote:
    Op dinsdag 26 juni 2007 10:30 schreef Chandler het volgende:
    mod_rewrite
    quote:
    Op dinsdag 26 juni 2007 10:52 schreef Geqxon het volgende:
    Ik heb het al eens eerder gevraagd, ik heb van super-muffin antwoord gehaden, en ik ben het vergeten.

    Het systeem op Fok!, dat je bijvoorbeeld /user/active/22942 in kunt typen, wat was ook alweer de benaming van dit systeem?
    Je krijgt hier al antwoord voordat je het vraagt
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50850835
    quote:
    Op dinsdag 26 juni 2007 10:52 schreef Geqxon het volgende:
    Het systeem op Fok!, dat je bijvoorbeeld /user/active/22942 in kunt typen, wat was ook alweer de benaming van dit systeem?
    Hier op FOK! gebruiken ze geloof ik MultiViews
    pi_50851199
    quote:
    Op zondag 24 juni 2007 12:50 schreef JeRa het volgende:

    [..]

    Natuurlijk niet, die één op de 100.000 keer dat het fout gaat kun je bijvoorbeeld opvangen met een debugger en het probleem zo isoleren het zijn juist dergelijke bugs die het geheel onbetrouwbaar maken, de bugs die elke keer optreden zijn snel te vinden én op te lossen.
    Nou, ik ben eindelijk erachter hoor! Het ligt niet aan MySQL zelf.
    Nee, de threading-code in de sparc-versie van NetBSD is niet helemaal in orde. Dat is al langer bekend en blijkbaar niet zomaar op te lossen. Enige bruikbare oplossing is dus om een ander besturingssysteem te gebruiken.
      dinsdag 26 juni 2007 @ 11:26:30 #166
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50851510
    quote:
    Op dinsdag 26 juni 2007 10:56 schreef SuperRembo het volgende:

    [..]


    [..]

    Je krijgt hier al antwoord voordat je het vraagt
    Aye redelijk simpel te doen ook
    phluphy for president!
      dinsdag 26 juni 2007 @ 11:28:31 #167
    49017 Reneuh
    Met je hoof
    pi_50851595
    quote:
    Op dinsdag 26 juni 2007 11:26 schreef WyriHaximus het volgende:

    [..]

    Aye redelijk simpel te doen ook
    Bij mij lukt het althans niet
    I spoke proper England since I was a children.
      dinsdag 26 juni 2007 @ 11:43:22 #168
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50852150
    quote:
    Op dinsdag 26 juni 2007 11:28 schreef Reneuh het volgende:

    [..]

    Bij mij lukt het althans niet
    Probeer anders eens een rewrite van index.php naar index.html heel simpel kijken of die werkt. En anders zou de hosting het moeten weten zijn hun server .
    phluphy for president!
      dinsdag 26 juni 2007 @ 11:51:47 #169
    49017 Reneuh
    Met je hoof
    pi_50852453
    quote:
    Op dinsdag 26 juni 2007 11:43 schreef WyriHaximus het volgende:

    [..]

    Probeer anders eens een rewrite van index.php naar index.html heel simpel kijken of die werkt. En anders zou de hosting het moeten weten zijn hun server :).
    Lijkt te werken:

    http://www.hotelmergelland.nl/mod_rewrite/a.html
    http://www.hotelmergelland.nl/mod_rewrite/b.html

    En .htaccess:
    1
    2
    RewriteEngine On
    RewriteRule ^a.html$ b.html
    I spoke proper England since I was a children.
    pi_50853117
    quote:
    Op dinsdag 26 juni 2007 10:47 schreef JeRa het volgende:
    @Chandler

    Dat verhaal van die tabellen en die query moet je toch echt even toelichten, het is nogal wazig zo. Je vergelijkt in de query een relatie_id met een group_id, waarbij die laatste niet eens is terug te vinden in de structuur.

    Kun je niet gewoon de structuur vrijwel letterlijk hier plakken en een SELECT * op beide tabellen doen en de output (inclusief kolomnamen :P) hier ook neerzetten? :)
    Op dit moment kan ik niet bij de structuur, maar probeerde het weer eens duidelijk uit te leggen :X en dat is zo verdomde moeilijk :{

    -- hier nogmaals de opzet

    Ik heb weer een leuke.

    Ik heb een twee tal tabellen.

    Relaties : tabel 1
    1
    2
    3
    - id
    - relatie_id
    - titel


    en een tweede tabel
    Relatiegroepen : tabel 2
    1
    2
    3
    - id
    - relatie_titel
    - relatie_id


    Voor tabel 1 heb ik data waarbij ik een relatie_id vermeld. Deze relatie ID's kunnen weer in een groep vallen.

    Voorbeeld data

    Relaties:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    1 - TOP - Persoon a
    2 - SAP  - Persoon b
    3 - TOP - persoon c
    4 - TIP - persoon d
    5 - TOP - persoon e
    6 - SAP - persoon f
    7 - TOP - persoon g
    8 - TOP - persoon h
    9 - TAP - persoon i
    10 - SOP - persoon j
    11 - SOP - persoon k
    12 - TAP - persoon l


    Nu heb ik de volgende data in de 2e tabel (relaties groepen)

    1
    2
    3
    4
    1 - TAP - Groep 1
    2 - TIP - Groep 1
    3 - TOP - Groep 1
    4 - SAP - Groep 2


    Nu wil ik graag uit de volgende tabellen halen hoeveel ID's er van relaties in de groepen van relatie groepen zitten OFTEWEL met een query het volgende

    1
    2
    3
    4
    5
    SELECT distinct(relatiegroepen.relatie_titel),
                 count(relaties.id) AS total
    FROM relatiegroepen
    LEFT JOIN relaties ON relaties.relatie_id = relatiegroepen.relatie_id
    GROUP BY relatiegroepen.relatie_titel


    Nu zou de uitkomst moeten worden (in mijn opinie)
    1
    2
    Groep 1 - 10
    Groep 2 - 2

    Dit alles is geheel uit het hoofd gemaakt, een soort gelijk opzet heb ik dus.

    Echter krijg ik het niet voor elkaar om deze data te verzamelen, of te combineren in 1 query

    ik hoop dat jullie me snappen..

    Oftwel in het kort er zijn een tweetal groepen door meerdere relatie_id's aangesproken worden; echter wil ik het totaal van deze groepen weten (dus inclusief alle verschillende id's die bij de relatie_groep horen).
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50853144
    quote:
    Hier zie ik anders SERVER ERROR!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 26 juni 2007 @ 12:33:31 #172
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50853773
    quote:
    Op dinsdag 26 juni 2007 12:12 schreef Chandler het volgende:

    [..]

    Hier zie ik anders SERVER ERROR!
    quote:
    dit is b.html alksdjalksjdklajsdlkajdlkjasldk
    ?
    phluphy for president!
    pi_50855099
    quote:
    Op dinsdag 26 juni 2007 12:33 schreef WyriHaximus het volgende:
    ?
    Ik kreeg toch echt een SERVER ERROR
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 26 juni 2007 @ 13:18:20 #174
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50855426
    quote:
    Op dinsdag 26 juni 2007 13:09 schreef Chandler het volgende:

    [..]

    Ik kreeg toch echt een SERVER ERROR
    Nu nog steeds dan?
    phluphy for president!
    pi_50855562
    dit is b.html alksdjalksjdklajsdlkajdlkjasldk
    pi_50855722
    Meer PHP en MySQL, minder Apache. En Chandler, zou je "Voor tabel 1 heb ik data waarbij ik een relatie_id vermeld." kunnen toelichten?
    pi_50855805
    quote:
    Op dinsdag 26 juni 2007 10:56 schreef SuperRembo het volgende:

    [..]


    [..]

    Je krijgt hier al antwoord voordat je het vraagt
    Genept door mijn onderbewustzijn, bedankt
    pi_50857834
    quote:
    Op dinsdag 26 juni 2007 13:18 schreef WyriHaximus het volgende:
    Nu nog steeds dan?
    Nee hoor, werkt nu netjes!
    quote:
    Op dinsdag 26 juni 2007 13:26 schreef JeRa het volgende:
    Meer PHP en MySQL, minder Apache. En Chandler, zou je "Voor tabel 1 heb ik data waarbij ik een relatie_id vermeld." kunnen toelichten? :P
    Ik probeer het door een voorbeeld te schetsen!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Tabel: releaties          Tabel: relatie_groepen

    Relaties    relatie_id == relatie_id  Groep Titel

    Gebruiker 1 TIP
    Gebruiker 2 TOP
    Gebruiker 3 TIP           TIP (3) 
    Gebruiker 4 SAP           TOP (3)      Groep 1 (6)
    Gebruiker 5 TIP           SAP (2)      Groep 2 (3)
    Gebruiker 6 SAP           SOP (1)
    Gebruiker 7 TOP
    Gebruiker 8 TOP
    Gebruiker 9 SOP


    Zie je wat ik uiteindelijk wil?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 26 juni 2007 @ 14:36:26 #179
    86072 thatsme
    and That's you!
    pi_50858434
    Ik wil een variabele laten screenen op gebande woorden welke in een string staan. Als een van de woorden terugkomt moet het script gewoon afgebroken worden en niet opgeslagen. Echter ik kom er niet uit hoe ik een variable scan op de woorden uit de string.
    I never joke about my work!
    1: Ik heb altijd gelijk
    2: Zo niet dan treedt regel 1 vanzelf in werking.
      dinsdag 26 juni 2007 @ 14:41:16 #180
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50858611
    quote:
    Op dinsdag 26 juni 2007 14:36 schreef thatsme het volgende:
    Ik wil een variabele laten screenen op gebande woorden welke in een string staan. Als een van de woorden terugkomt moet het script gewoon afgebroken worden en niet opgeslagen. Echter ik kom er niet uit hoe ik een variable scan op de woorden uit de string.
    1
    2
    3
    <?php
    if(str_replace($arraymetstoutewoorden,'',$string)!=$string)
    ?>
    :Y

    Zoiets en dan in $arraymetstoutewoorden een array met de gebande woorden en in $string de text waar het over heen moet. Als deze if true is zitten er foute woorden in :Y .
    phluphy for president!
      dinsdag 26 juni 2007 @ 15:02:16 #181
    86072 thatsme
    and That's you!
    pi_50859448
    quote:
    Op dinsdag 26 juni 2007 14:41 schreef WyriHaximus het volgende:

    [..]
    [ code verwijderd ]



    Zoiets en dan in $arraymetstoutewoorden een array met de gebande woorden en in $string de text waar het over heen moet. Als deze if true is zitten er foute woorden in .
    mijn dank
    I never joke about my work!
    1: Ik heb altijd gelijk
    2: Zo niet dan treedt regel 1 vanzelf in werking.
    pi_50860089
    quote:
    Op dinsdag 26 juni 2007 14:21 schreef Chandler het volgende:

    [..]

    Nee hoor, werkt nu netjes!
    [..]

    Ik probeer het door een voorbeeld te schetsen!
    [ code verwijderd ]

    Zie je wat ik uiteindelijk wil?
    Nu is het duidelijker ja waarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
    pi_50860471
    Ik heb hulp nodig met een regex.

    ik heb deze code:
    1
    2
    3
    4
    <?php
    $str 
    'bla bla bla wat tekst. [PLUGIN:FORM]';
    echo 
    preg_replace("$\[PLUGIN:([A-Z]{1,})\]$" '$1'$str);
    ?>

    Maar ik wil daar van alleen alles wat er tussen de ':' en de ']' staat.

    Met deze regex krijg ik dit:
    1bla bla bla wat tekst. FORM


    Wat doe ik verkeerd?

    [ Bericht 5% gewijzigd door super-muffin op 26-06-2007 15:38:20 ]
    pi_50860510
    Je moet de square brackets ( [ en ] ) escapen, want dat geeft in een regex een character class aan.
    pi_50860570
    Die heb ik ook geescaped, maar die zijn verdwenen door Fok!
    pi_50860624
    Dus als ik het met Multiviews goed begrijp, in mijn root .htaccess:
    1Options Indexes FollowSymLinks MultiViews All


    en met $_SERVER['PATH_INFO'] lees ik alles uit? Want ik krijg hier een 404 als ik een custom URL pak. :@
    pi_50861074
    quote:
    Op dinsdag 26 juni 2007 15:32 schreef super-muffin het volgende:
    Die heb ik ook geescaped, maar die zijn verdwenen door Fok!
    Maar wat wil je precies doen? Jouw regex werkt prima, hij vervangt het PLUGIN-gedeelte compleet door wat er na de dubbele punt staat dat doet preg_replace() nu eenmaal
    pi_50861237
    ik wil alleen wat er na de plugin staat.
    Dus niet de tekst 'bla bla bla wat tekst.' er bij.
    pi_50861330
    quote:
    Op dinsdag 26 juni 2007 15:50 schreef super-muffin het volgende:
    ik wil alleen wat er na de plugin staat.
    Dus niet de tekst 'bla bla bla wat tekst.' er bij.
    Dan moet je preg_match() gebruiken en niet preg_replace()
    pi_50861654
    Oh ja, ik heb het. Bedankt.
    pi_50862082
    quote:
    Op dinsdag 26 juni 2007 15:19 schreef JeRa het volgende:

    [..]

    Nu is het duidelijker ja waarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
    dit omdat de namen van de categorieen vaker voorkomen

    TIP - Groep 1
    TOP - Groep 1
    SAP - Groep 2
    SOP - Groep 2

    Nu wil ik dus alleen terug ontvangen (groep1, groep2 met het aantal items oftwel voor groep 1 alle items van TIP & TOP etc)

    Ik zal straks thuis even proberen of het werkt!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50863492
    quote:
    Op dinsdag 26 juni 2007 16:13 schreef Chandler het volgende:

    [..]

    dit omdat de namen van de categorieen vaker voorkomen

    TIP - Groep 1
    TOP - Groep 1
    SAP - Groep 2
    SOP - Groep 2
    Ja...maar je doet al een GROUP BY op de naam van de categorie, dus die zullen nooit vaker dan één keer voorkomen. Test het maar eens
    pi_50869002
    ben ik weer met m'n lastige vragen

    Ik wil ff op weg geholpen met iets , dat is namelijk iets met de tijd. Als het tussen 8:30 en 9:15 is dan is lesuur 1 bezig , als de tijd tussen 9:15 en 10:00 is is lesuur 2 bezig enz.. Maar hoe bereken ik dit met PHP?
      dinsdag 26 juni 2007 @ 19:31:04 #194
    12221 Tijn
    Powered by MS Paint
    pi_50869145
    Ik zou het omrekenen naar timestamps en dan kijken of een gegeven timestamp tussen de 2 timestamps van een lesuur valt.

    Je kunt het bijvoorbeeld met mktime() makkelijk doen
    pi_50870125
    quote:
    Op dinsdag 26 juni 2007 19:31 schreef Tijn het volgende:
    Ik zou het omrekenen naar timestamps en dan kijken of een gegeven timestamp tussen de 2 timestamps van een lesuur valt.

    Je kunt het bijvoorbeeld met mktime() makkelijk doen
    Ja ik heb de tijden al in timestamps , en zat ook al te klooien met mktime , maar hoe bereken ik het precies of de ene timestamp tussen 2 andere timestamps valt? Daar kom ik niet uit.
    pi_50870317
    1
    2
    3
    4
    5
    if(timestamp1 < timestamp_now < timestamp2){
      ja
    }else{
      nee
    }


    ?
    pi_50870658
    Een nette maar trage manier:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        $lesuur1 
    range(mktime(8,15,0,31,12,2007),mktime(9,30,0,31,12,2007));
        
    $tijd mktime(8,30,0,31,12,2007);
        
        if (
    in_array($tijd,$lesuur1)){
            echo 
    "Valt in lesuur 1";
        }
    ?>


      dinsdag 26 juni 2007 @ 20:12:24 #198
    136730 PiRANiA
    All thinking men are atheists.
    pi_50871044
    quote:
    Op dinsdag 26 juni 2007 19:28 schreef broodmonkeh het volgende:
    ben ik weer met m'n lastige vragen

    Ik wil ff op weg geholpen met iets , dat is namelijk iets met de tijd. Als het tussen 8:30 en 9:15 is dan is lesuur 1 bezig , als de tijd tussen 9:15 en 10:00 is is lesuur 2 bezig enz.. Maar hoe bereken ik dit met PHP?
    heb ik ooit op de GRM gemaakt.
    tiBASIC Met aftellen enzo. Ook omrekenen naar seconden eerst
    pi_50871703
    Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if (...)
    {
        
    // doe iets
    }
    else if (...)
    {
        
    // doe iets anders
    }
    else
    {
        
    // doe iets als de bovenstaande condities allemaal onwaar waren
    }
    any
    {
        
    // doe iets als minstens één van de bovenstaande condities waar was
    }
    ?>
    pi_50871791
    Dat zou inderdaad erg handig zijn, zoiets had ik laatst in een switch-statement nodig

    Zelf werk ik in zulke gevallen met booleans overigens.
    pi_50871934
    quote:
    Op dinsdag 26 juni 2007 20:02 schreef Geqxon het volgende:
    Een nette maar trage manier:
    [ code verwijderd ]

    danku dit werkt perfect snel hoeft et niet te zijn
      dinsdag 26 juni 2007 @ 20:39:40 #202
    120139 freiss
    Hertog Jan :9~
    pi_50872242
    quote:
    Op dinsdag 26 juni 2007 20:28 schreef Geqxon het volgende:
    Dat zou inderdaad erg handig zijn, zoiets had ik laatst in een switch-statement nodig

    Zelf werk ik in zulke gevallen met booleans overigens.
    In een switch kan je toch default gebruiken?
    HJ 14-punt-gift.
    Lijst met rukmateriaal!
    pi_50872310
    quote:
    Op dinsdag 26 juni 2007 20:39 schreef freiss het volgende:

    [..]

    In een switch kan je toch default gebruiken?
    Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.
      dinsdag 26 juni 2007 @ 20:42:07 #204
    120139 freiss
    Hertog Jan :9~
    pi_50872339
    quote:
    Op dinsdag 26 juni 2007 20:41 schreef Geqxon het volgende:

    [..]

    Default is volgens mij wat hij doet als alles faalt (else dus), JeRa heeft het er over als één van de booleans van de switch wel lukt, dat hij in dat geval een stukje code altijd uit moet voeren.
    Ja, ik zag dat ik het verkeerd had gelezen
    HJ 14-punt-gift.
    Lijst met rukmateriaal!
    pi_50872452
    Goed, moet ik wel zeggen dat een switch anders dan een if-elseif-else constructie werkt, aangezien die doorloopt totdat je hem breakt.
      woensdag 27 juni 2007 @ 01:02:58 #206
    12221 Tijn
    Powered by MS Paint
    pi_50883594
    Weet iemand of er een goede implementatie van het Porter stemming algoritme is gemaakt in PHP voor het Nederlands? Voor de Engelse taal zijn ze wel te vinden (PHP4 & PHP5), maar ik zou er graag eentje hebben in het Nederlands

    [ Bericht 43% gewijzigd door Tijn op 27-06-2007 01:50:50 ]
    pi_50884943
    quote:
    Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
    Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
    [ code verwijderd ]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    $any 
    false;
    if (...)
    {
        
    // doe iets
        
    $any true;
    }
    else if (...)
    {
        
    // doe iets anders
        
    $any true;
    }
    else
    {
        
    // doe iets als de bovenstaande condities allemaal onwaar waren
        
    $any true;
    }

    if(
    $any)
    {
        
    // doe iets als minstens één van de bovenstaande condities waar was
    }
    ?>


    Zoiets?
    pi_50885040
    In jouw geval is $any nutteloos. Haal hem eens bij de else weg
    pi_50885313
    quote:
    Op woensdag 27 juni 2007 01:59 schreef fokME2 het volgende:

    [..]
    [ code verwijderd ]

    Zoiets?
    Nee, dat is lelijk, zeker bij veel conditional blocks
    pi_50885412
    Is het geen optie die "$any = true" gelijk in je if-statement te stoppen?
    pi_50885742
    quote:
    Op woensdag 27 juni 2007 02:16 schreef JeRa het volgende:

    [..]

    Nee, dat is lelijk, zeker bij veel conditional blocks
    Maar het werkt wel, als het echt moet.
      woensdag 27 juni 2007 @ 08:21:27 #212
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50887601
    quote:
    Op woensdag 27 juni 2007 02:39 schreef fokME2 het volgende:

    [..]

    Maar het werkt wel, als het echt moet.
    functionaliteit > schoonheid iig zolang de code maar goed leesbaar blijft
    phluphy for president!
    pi_50887771
    quote:
    Op dinsdag 26 juni 2007 20:26 schreef JeRa het volgende:
    Wat ik eigenlijk in PHP nogal mis, is de volgende mogelijkheid:
    [ code verwijderd ]
    Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
    quote:
    Op woensdag 27 juni 2007 01:59 schreef fokME2 het volgende:
    [..]
    [ code verwijderd ]

    Zoiets? O-)
    Keer het dan om:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    $any = true;
    if (...)
    {
        // doe iets
    }
    else if (...)
    {
        // doe iets anders
    }
    else
    {
        // doe iets als de bovenstaande condities allemaal onwaar waren
        $any = false;
    }

    if($any)
    {
        // doe iets als minstens één van de bovenstaande condities waar was
    }
    ?>



    Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50888198
    quote:
    Op dinsdag 26 juni 2007 15:19 schreef JeRa het volgende:
    Nu is het duidelijker ja waarom heb je die DISTINCT() in je query als je al een GROUP BY hebt? Je query ziet er goed uit verder
    je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!

    Nu nog een kleine andere vraag over preformance van PHP

    Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?

    Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?

    [ Bericht 22% gewijzigd door Chandler op 27-06-2007 11:13:49 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50892227
    quote:
    Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:

    [..]

    je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!

    Nu nog een kleine andere vraag over preformance van PHP

    Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?

    Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
    Goed punt, aangezien hij er vaak over struikelt als je ergens onderop in een niet gebruikt stukje code een punt-komma mist. TVP
    pi_50893015
    quote:
    Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:
    Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?
    Gevoelsmatig zeg ik dat het niet uitmaakt.... maar onderbouwen kan ik het niet
      woensdag 27 juni 2007 @ 11:58:36 #217
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50893191
    quote:
    Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:

    [..]

    je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!

    Nu nog een kleine andere vraag over preformance van PHP

    Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?

    Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
    Weet niet, ff kijken hoe includes werken .
    phluphy for president!
      woensdag 27 juni 2007 @ 12:41:07 #218
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50894872
    quote:
    Op woensdag 27 juni 2007 11:58 schreef WyriHaximus het volgende:

    [..]

    Weet niet, ff kijken hoe includes werken .
    Allemaal kleine bestandjes = meer I/O (en dat vraagt veel) = trager .
    phluphy for president!
    pi_50894939
    quote:
    Op woensdag 27 juni 2007 09:09 schreef Chandler het volgende:

    [..]

    je hebt helemaal gelijk gehad, snap niet waarom ik toen koos voor distinct maar goed!!

    Nu nog een kleine andere vraag over preformance van PHP

    Is het zo dat hoe groter je script hoe langer het er over doet ookal wordt 90% van het script niet uitgevoerd?

    Ik heb namelijk nu een script van ruim 100KB en dacht dat als ik onderdelen in een switch nu eens in apparte php bestanden ga zetten de preformance omhoog zou gaan... Anyone?
    Geen idee, maar PHP parsed toch ook de dingen die hij niet 'hoeft' te doen. Als php niet op regel 50 hoeft te zijn, maar daar zit wel een fout, dan krijg je toch een error. Zit die fout echter in je include dan krijg je geen error totdat die file is geïnclude.
    pi_50895234
    Inderdaad, en dat niet alleen maar de scripts worden ook gecached bij vulvuldig gebruik oftewel pHp leest deze includes dan weer niet via de disk maar via het geheugen dus dat zou niet heel veel moeten uitmaken imho.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50895336
    Maar, al testresultaten?
      woensdag 27 juni 2007 @ 12:59:24 #222
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50895483
    Voor het overzicht kan het wel handiger zijn maar het is niet echt iets om je al te druk over te maken kwa performence . Code optimalisatie in zekere mate en je SQL en I/O gebruik en veel meer van PHP .
    phluphy for president!
    pi_50896177
    quote:
    Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:

    [..]

    Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
    Ongetwijfeld, maar het gaat me eerder om dit:
    quote:
    Op woensdag 27 juni 2007 08:21 schreef WyriHaximus het volgende:

    [..]

    functionaliteit > schoonheid iig zolang de code maar goed leesbaar blijft
    Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taal het is dat ik goed bekend ben met PHP en het voor een scripttaal een goede performance heeft tegenover een korte ontwikkelingstijd.
    quote:
    [..]

    Keer het dan om:
    [ code verwijderd ]

    Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
    Dat is dus mogelijk ja, maar lelijk.
      woensdag 27 juni 2007 @ 14:27:44 #224
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50898644
    quote:
    Op woensdag 27 juni 2007 13:18 schreef JeRa het volgende:

    [..]

    Hier ben ik het dus niet mee eens, ik ben meer van het type functionaliteit == schoonheid; zodra ik in een taal teveel truukjes moet gaan uithalen alleen al voor de logische vertakking, krijg ik een hekel aan de taal het is dat ik goed bekend ben met PHP en het voor een scripttaal een goede performance heeft tegenover een korte ontwikkelingstijd.
    Ik hang liever niet te veel op schoonheid, vind het absoluut belangrijk (zeker tegenwoordig hecht ik er veel meer waarde aan dan vroeger). Maar als ik met een kleine hack de functionaliteit kan krijgen die nodig is zie ik daar geen probleem in. Moet niet een gekkenhuis worden want dan word het ook niet lekker meer leesbaar en ga je er alleen maar op achter uit .
    phluphy for president!
    pi_50900011
    Zodra ik te vieze hacks moet gaan gebruiken om de functionaliteit te verkrijgen die ik nodig heb, ga ik ernstig twijfelen aan het platform dat ik gekozen heb
      woensdag 27 juni 2007 @ 15:09:45 #226
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50900427
    quote:
    Op woensdag 27 juni 2007 14:59 schreef JeRa het volgende:
    Zodra ik te vieze hacks moet gaan gebruiken om de functionaliteit te verkrijgen die ik nodig heb, ga ik ernstig twijfelen aan het platform dat ik gekozen heb
    Precies .

    Zal forearch($this as $key => $value) werken om alle varriables van een class te cachen en later weer op te vragen?
    phluphy for president!
    pi_50900547
    quote:
    Op woensdag 27 juni 2007 15:09 schreef WyriHaximus het volgende:

    [..]

    Precies .

    Zal forearch($this as $key => $value) werken om alle varriables van een class te cachen en later weer op te vragen?
    Is serialize() geen optie? Meer leesmateriaal.
      woensdag 27 juni 2007 @ 16:02:07 #228
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50902395
    quote:
    Op woensdag 27 juni 2007 15:12 schreef JeRa het volgende:

    [..]

    Is serialize() geen optie? Meer leesmateriaal.
    Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.
    phluphy for president!
    pi_50902479
    quote:
    Op woensdag 27 juni 2007 16:02 schreef WyriHaximus het volgende:

    [..]

    Ik moet ff kijken wat ik precies wil, ik wil iig een stuk code over kunnen slaan wat redelijk intensief is en vaak het zelfde als uitkomst heeft.
    Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?
      woensdag 27 juni 2007 @ 17:58:20 #230
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50906594
    quote:
    Op woensdag 27 juni 2007 16:04 schreef JeRa het volgende:

    [..]

    Afhankelijk van die uitkomst lijkt het me beter als je puur die uitkomst cachet? Of bestaat de uitkomst uit een object?
    De uitkomst zijn verschillende arrays binnen een class. En de inhoud van die arrays verschilt per pagina + afhankelijk welke rechten de gebruiker heeft. Dus het is een beetje tricky.
    phluphy for president!
      woensdag 27 juni 2007 @ 18:18:11 #231
    12221 Tijn
    Powered by MS Paint
    pi_50907193
    Ik probeer een zoekfunctie te maken voor een kleine website. Ik heb nog nooit een zoekfunctie gemaakt, dus alle tips zijn welkom, maar ik zit met 1 specifiek dingetje nu.

    Ik heb het volgende bedacht: om te zoeken gebruik ik een formuliertje waar mensen zoektermen kunnen invullen. Vervolgens haal ik alle woorden die korter dan 4 tekens zijn eruit, omdat dat waarschijnlijk geen belangrijke woorden zijn. Ook splits ik de string op spaties en zet de losse woorden in een array.

    Deze array, die $words heet, gaat vervolgens naar de volgende query:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $sql 
    'SELECT DISTINCT COUNT(*) 
            As occurrences, id, timestamp, title, content 
            FROM `'
    .mysql_real_escape_string($table).'` 
            WHERE ('
    ;
            
    // alle woorden langs
            
    foreach($words as $word)
            {
                
    $sql .= '(`title` LIKE "%'.mysql_real_escape_string($word).'%") 
                OR (`content` LIKE "%'
    .mysql_real_escape_string($word).'%") OR';
            }
            
    $sql substr($sql,0,(strLen($sql)-3)); // de laatste OR eraf

            
    $sql .= ') GROUP BY `id` 
            ORDER BY occurrences DESC, `timestamp` DESC'
    ;
    ?>


    Als je op bijvoorbeeld "vrijdag koffie" zoekt in de tabel "internal_news", komt daar de volgende query uit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT DISTINCT COUNT(*)
       As occurrences, id, timestamp, title, content 
       FROM `internal_news` 
       WHERE (
          (`title` LIKE "%vrijdag%") OR 
          (`content` LIKE "%vrijdag%") OR
          (`title` LIKE "%koffie%") OR 
          (`content` LIKE "%koffie%")
       )
       GROUP BY `id` 
       ORDER BY occurrences DESC, `timestamp` DESC


    Deze query levert inderdaad artikelen op waar dit woord in voorkomt, dus so far so good. Maarrrr... er is 1 artikel waarin het woord "koffie" vaker voorkomt. Toch blijft de teller "occurrences" op 1 staat, waardoor dit artikel niet bovenaan in de resultaten komt te staan

    Heeft iemand een idee hoe het komt dat "occurrences" nooit hoger dan 1 is, ook al komt het woord vaker voor in het doorzochte record? En natuurlijk, hoe los ik dit op?

    [ Bericht 3% gewijzigd door Tijn op 27-06-2007 18:31:03 ]
    pi_50907601
    @Tijn

    Je groepeert op 'id', dus je zult per artikel nooit meer dan '1' kunnen terugkrijgen op een COUNT(*). Je kunt met een LIKE-operator simpelweg niet tellen hoe vaak het voorkomt, aangezien de functie van de LIKE-operator is om true te geven zodra de pattern matcht

    Verder als oplossing kan ik je de fulltext index van MySQL aanraden heb je 80% van de zoekfunctionaliteit al af.
      woensdag 27 juni 2007 @ 18:31:49 #233
    12221 Tijn
    Powered by MS Paint
    pi_50907641
    quote:
    Op woensdag 27 juni 2007 18:30 schreef JeRa het volgende:

    Verder als oplossing kan ik je de fulltext index van MySQL aanraden heb je 80% van de zoekfunctionaliteit al af.
    Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.

    De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten. En als bijvoorbeeld het woord "vrijdag" in 10 daarvan voorkomt, wordt het niet meer als een relevant woord gezien en krijg je geen resultaten terug als je hierop zoekt. Wat natuurlijk niet de bedoeling is.

    [ Bericht 24% gewijzigd door Tijn op 27-06-2007 18:37:35 ]
    pi_50907904
    quote:
    Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:

    [..]

    Ja, daar las ik ook iets over. Maar ik las ook dat het voor een kleine database niet aan te raden is, omdat je dan weinig vindt ofzo, omdat de relevantie automatisch bepaald wordt.

    De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten. En als bijvoorbeeld het woord "vrijdag" in 10 daarvan voorkomt, wordt het niet meer als een relevant woord gezien en krijg je geen resultaten terug als je hierop zoekt. Wat natuurlijk niet de bedoeling is.
    Dat is allemaal vrij goed te tunen dacht ik zolang je tabel meer dan 2 records bevat moet het redelijk werken. De relevantie van documenten bepaal je aan méér dan alleen het aantal voorkomens. Echter is dat erg lastig via LIKE te doen een derde optie is 3rd party search engines te gebruiken, zoals Xapian/Omega, Lucene of Senna+MySQL. Maar dat is wellicht over the top
      woensdag 27 juni 2007 @ 18:42:09 #235
    12221 Tijn
    Powered by MS Paint
    pi_50907957
    Ok, dan ga ik nu dingen over Full Text search lezen
    pi_50926701
    Goed, SQL vraagje.

    Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
    Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.

    Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..

    SELECT * FROM '' WHERE datum =
    pi_50926705
    quote:
    Op donderdag 28 juni 2007 05:20 schreef Siegfried het volgende:
    Goed, SQL vraagje.

    Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
    Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.

    Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..

    SELECT * FROM '' WHERE datum =
    Je kunt zoiets proberen:

    1SELECT * FROM * WHERE DATE(datum) = '2007-06-28'


    DATE selecteerd het datumgedeelte van een datum of timestamp.

    Zie: http://dev.mysql.com/doc/(...)s.html#function_date

    [ Bericht 1% gewijzigd door doka op 28-06-2007 05:37:54 ]
    Too old to Trick or Treat, too young to die
    pi_50926849
    quote:
    Op woensdag 27 juni 2007 18:31 schreef Tijn het volgende:
    De database gaat namelijk waarschijnlijk nooit meer dan 20 a 30 records bevatten.
    Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
    pi_50927231
    quote:
    Op woensdag 27 juni 2007 08:36 schreef SuperRembo het volgende:

    [..]

    Je mist het in PHP, is er een taal waar zo'n constructie wel bestaat?
    [..]

    Keer het dan om:
    [ code verwijderd ]

    Het lijkt me een beetje overbodig om hier een speciaal statement voor te introduceren.
    In Java zou je een try/catch/finally doen met if statements in het try gedeelte.
    Zo weet je dat finally altijd uitgevoerd wordt, zelfs als er errors in het try gedeelte staat.
    pi_50927905
    quote:
    Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:

    [..]

    Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
    Er komen complete boeken in een record te staan?
    pi_50927960
    quote:
    Op donderdag 28 juni 2007 09:15 schreef Geqxon het volgende:

    [..]

    Er komen complete boeken in een record te staan?
    Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo? Tenminste, ik weet niet of het de bedoeling is dat het hele boek gevonden moet worden of dat het om de inhoud gaat.
      donderdag 28 juni 2007 @ 09:31:15 #242
    12221 Tijn
    Powered by MS Paint
    pi_50928203
    quote:
    Op donderdag 28 juni 2007 07:16 schreef Xcalibur het volgende:

    [..]

    Wat is precies het nut van een zoekfunctie als je maar 20 records hebt?
    Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.
    pi_50928205
    quote:
    Op donderdag 28 juni 2007 09:17 schreef JeRa het volgende:

    [..]

    Is het dan niet misschien beter om het per hoofdstuk op te slaan, ofzo? Tenminste, ik weet niet of het de bedoeling is dat het hele boek gevonden moet worden of dat het om de inhoud gaat.
    Hehe, ik gokte maar wat. Maar dan kun je het inderdaad beter per hoofdstuk opslaan.
    pi_50928283
    quote:
    Op donderdag 28 juni 2007 09:31 schreef Tijn het volgende:

    [..]

    Ach, het gaat er meer om dat ik de ervaring eens op doe. Het leek me handiger om kleinschalig te beginnen.
    Dan was je in ieder geval met LIKE tegen de lamp gelopen, aangezien die operator de gehele string moet doorzoeken van elk record met een FT index indexeer je alle woorden apart en koppel je ze aan de bronrecords, waardoor je snel per woord de juiste records terugkrijgt.

    Overigens is het niet de beste oplossing, er zijn ook andere (losstaande) search indexers & engines die (betere) ondersteuning bieden voor phrase matching, proximity ranking, boolean operators en nog veel meer
      donderdag 28 juni 2007 @ 09:40:22 #245
    12221 Tijn
    Powered by MS Paint
    pi_50928396
    Ach, ik wil het ook niet te ingewikkeld maken. Ik ben al behoorlijk blij met het FT gebeuren van MySQL
    pi_50929600
    quote:
    Op donderdag 28 juni 2007 08:59 schreef JeRa het volgende:

    [..]

    Dit is echt te simpel voor een apart topic. Gebruik zoiets:

    [ code verwijderd ]

    En dan een cronjob/taakplanner om de 6 uur dit scriptje laten uitvoeren. Volgende keer:

    [PHP/(My)SQL] voor dummies - Deel 45
    Ik krijg dit

    Warning: copy(/feed/rssfeed-2007-06-28-1124.xml): failed to open stream: No such file or directory in /home/www/feed.net/feeds.xml on line 3
    pi_50929652
    quote:
    Op donderdag 28 juni 2007 10:27 schreef Devrim_ het volgende:

    [..]

    Ik krijg dit

    Warning: copy(/feed/rssfeed-2007-06-28-1124.xml): failed to open stream: No such file or directory in /home/www/feed.net/feeds.xml on line 3
    Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaan
    pi_50929684
    quote:
    Op donderdag 28 juni 2007 10:29 schreef JeRa het volgende:

    [..]

    Die /feed/ in dat pad was maar een voorbeeldje, dat moet je aanpassen naar de locatie waar je de feeds wilt opslaan
    Heb ik ook gedaan..Maar krijg nog steeds die error..
    pi_50929699
    quote:
    Op donderdag 28 juni 2007 10:30 schreef Devrim_ het volgende:

    [..]

    Heb ik ook gedaan..Maar krijg nog steeds die error..
    Dan doe je iets fout laat eens zien wat je hebt, anders wordt het nogal lastig
    pi_50929810
    quote:
    Op donderdag 28 juni 2007 10:30 schreef JeRa het volgende:

    [..]

    Dan doe je iets fout :) laat eens zien wat je hebt, anders wordt het nogal lastig ;)
    1
    2
    3
    4
    <?php
    $destname = '/filemp3/rssfeed-' . date('Y-m-d-Hi') . '.xml';
    copy('-rsslink', $destname);
    ?>


    en het moet hier in komen
    http://nellyf.100webspace.net/filemp3/
    pi_50930127
    quote:
    Op donderdag 28 juni 2007 10:34 schreef Devrim_ het volgende:

    [..]
    [ code verwijderd ]

    en het moet hier in komen
    http://nellyf.100webspace.net/filemp3/
    Dan moet je die eerste forwardslash in de destination weghalen dat is namelijk de root, en daar heb jij wrs geen rechten voor.
    pi_50935245
    quote:
    Op donderdag 28 juni 2007 08:23 schreef Scorpie het volgende:

    [..]

    In Java zou je een try/catch/finally doen met if statements in het try gedeelte.
    Zo weet je dat finally altijd uitgevoerd wordt, zelfs als er errors in het try gedeelte staat.
    _dat_ is pas een ranzige constructie, en nog langzaam ook.

    Er is niets mis met try/catch/finally, zolang het gebruikt wordt waar het echt nodig is. Ik zie de toegevoegde waarde van een speciale constructie als if/else/any nog steeds niet.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50935880
    quote:
    Op donderdag 28 juni 2007 13:19 schreef SuperRembo het volgende:

    [..]

    _dat_ is pas een ranzige constructie, en nog langzaam ook.

    Er is niets mis met try/catch/finally, zolang het gebruikt wordt waar het echt nodig is. Ik zie de toegevoegde waarde van een speciale constructie als if/else/any nog steeds niet.
    Stel dat er bij conditie1, conditie2 én conditie3 iets verschillends moet gebeuren, maar hierna altijd dezelfde handeling wordt uitgevoerd. Die handeling moet niet worden uitgevoerd als er geen van de condities waar zijn. Praktijkvoorbeelden vind je vaak bij rechtenafhandeling, waarbij iemand in verschillende omstandigheden iets mag uitvoeren. Dan is zo'n any imho toch wel handig

    edit: voorbeeldje:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    // Procedure om een post te deleten
    if (user.hasRight('delete_post') && !topic.isClosed())
    {
        
    // Verberg post
        // Voeg notitie toe aan logboek gekoppeld aan user
    }
    else if (
    user.hasRight('delete_post') && user.hasRight('is_admin'))
    {
        
    // Verwijder post
    }
    any
    {
        
    // Ga terug naar het topic
    }
    else
    {
        
    // Geef foutmelding
    }
    ?>
    pi_50936074
    quote:
    Op donderdag 28 juni 2007 13:19 schreef SuperRembo het volgende:

    [..]

    _dat_ is pas een ranzige constructie, en nog langzaam ook.

    Er is niets mis met try/catch/finally, zolang het gebruikt wordt waar het echt nodig is. Ik zie de toegevoegde waarde van een speciale constructie als if/else/any nog steeds niet.
    Het feit dat je ten allen tijde een bepaald blok code wilt uitvoeren, indien alle bovenstaande checks falen?
    Tja, ik ben er nog niet tegenaan gelopen, ik zeg alleen hoe dat in Java over het algemeen opgelost word
    pi_50938094
    quote:
    Op donderdag 28 juni 2007 13:34 schreef JeRa het volgende:

    [..]

    Stel dat er bij conditie1, conditie2 én conditie3 iets verschillends moet gebeuren, maar hierna altijd dezelfde handeling wordt uitgevoerd. Die handeling moet niet worden uitgevoerd als er geen van de condities waar zijn. Praktijkvoorbeelden vind je vaak bij rechtenafhandeling, waarbij iemand in verschillende omstandigheden iets mag uitvoeren. Dan is zo'n any imho toch wel handig :)

    edit: voorbeeldje:
    [ code verwijderd ]
    Hoe geef je aan welke if statements allemaal bij de any horen?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (foo)
    {
       Foo();

    else if (bar)
    {
       Bar();
    }
    else
    {
       Baz();
    }

    komt overeen met
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if (foo)
    {
       Foo();

    else 
    {
       if (bar)
       {
          Bar();
       }
       else
       {
          Baz();
       }
    }


    Daar past geen any tussen. Any zou dus een uitbreiding moeten worden op de if/elseif/else constructie.
    Maar met 1 variabele en 2 regels code kom je er ook.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50938428
    quote:
    Op donderdag 28 juni 2007 13:39 schreef Scorpie het volgende:

    [..]

    Het feit dat je ten allen tijde een bepaald blok code wilt uitvoeren, indien alle bovenstaande checks falen?
    Tja, ik ben er nog niet tegenaan gelopen, ik zeg alleen hoe dat in Java over het algemeen opgelost word
    Exceptions gebruik je voor, zoals de naam al zegt, uitzonderingen. Exception handling kost behoorlijk wat extra processor tijd. Als je door middel van een simpele reeks if's kan bepalen of een bepaald stuk code moet worden uitgevoerd, dan is het onzinnig om daar een try/finaly blok voor te gebruiken.
    Ik zie trouwens ook niet hoe een try/finaly zou kunnen helpen in het if/elseif/any/else geval.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50939441
    quote:
    Op donderdag 28 juni 2007 10:45 schreef JeRa het volgende:

    [..]

    Dan moet je die eerste forwardslash in de destination weghalen dat is namelijk de root, en daar heb jij wrs geen rechten voor.
    nice
    Het werkt nu!
    Bedankt
    pi_50944251
    quote:
    Op donderdag 28 juni 2007 05:32 schreef doka het volgende:

    [..]

    Je kunt zoiets proberen:
    [ code verwijderd ]

    DATE selecteerd het datumgedeelte van een datum of timestamp.

    Zie: http://dev.mysql.com/doc/(...)s.html#function_date
    Hm, nee.. Want morgen is de datum van vandaag weer een andere
    Het moet dus variabel zijn, zoals met NOW(), maar dan echt puur op vandaag..

    Iemand anders een oplossing hiervoor:
    quote:
    Op donderdag 28 juni 2007 05:20 schreef Siegfried het volgende:
    Goed, SQL vraagje.

    Ik heb een tabel waarin een veld 'datum' zit met daarin een waarde als '2007-06-28 05:18:'
    Nu wil ik een SELECT query hebben die alleen de rijen selecteerd die overeenkomen met de datum van vandaag. Daarbij moet hij de tijd dus buiten beschouwing laten, en puur naar de datum kijken.

    Ik kom er helaas niet uit. Hopelijk kunnen jullie helpen..

    SELECT * FROM '' WHERE datum =
    pi_50945309
    quote:
    Op donderdag 28 juni 2007 14:37 schreef SuperRembo het volgende:

    [..]

    Exceptions gebruik je voor, zoals de naam al zegt, uitzonderingen. Exception handling kost behoorlijk wat extra processor tijd. Als je door middel van een simpele reeks if's kan bepalen of een bepaald stuk code moet worden uitgevoerd, dan is het onzinnig om daar een try/finaly blok voor te gebruiken.
    Ik zie trouwens ook niet hoe een try/finaly zou kunnen helpen in het if/elseif/any/else geval.
    Zoals je zelf al aangeeft word bij mij op het werk de try catch vooral gebruikt om excepties e.d te gooien
      Donald Duck held donderdag 28 juni 2007 @ 18:25:43 #260
    46149 __Saviour__
    Superstapelsmoor op Kristel
    pi_50945522
    quote:
    Op donderdag 28 juni 2007 17:41 schreef Siegfried het volgende:

    [..]

    Hm, nee.. Want morgen is de datum van vandaag weer een andere
    Het moet dus variabel zijn, zoals met NOW(), maar dan echt puur op vandaag..

    Iemand anders een oplossing hiervoor:
    [..]
    Kan met
    where DATUM like '2007-06-28%'
    en in het algemeen voor elke datum natuurlijk zoiets als where DATUM like '$datumvandaag%'
    waarbij je $datumvandaag simpel zelf samenstelt met de date funtie.
    ❤ Rozen zijn rood ❤
    ❤ Viooltjes zijn blauw ❤
    ❤ Kristel, ik hou van jou! ❤
    pi_50945910
    Hm, en kan dat binnen SQL?
    Want ik heb eigenlijk geen mogelijkheid om php te gebruiken. Just SQL..
      Donald Duck held donderdag 28 juni 2007 @ 18:53:16 #262
    46149 __Saviour__
    Superstapelsmoor op Kristel
    pi_50946301
    is het gewoon een handmatige query die je iedere keer draait?
    dan gewoon zelf de datum invullen
    SELECT * FROM whatever WHERE datum LIKE '2007-06-28%'
    ❤ Rozen zijn rood ❤
    ❤ Viooltjes zijn blauw ❤
    ❤ Kristel, ik hou van jou! ❤
    pi_50946415
    Nope, niet handmatig helaas. Het moet volautomatisch gaan.
    pi_50948439
    SELECT * FROM whatever WHERE DATE(datum) = DATE(NOW());

    Zou dat niet moeten werken?

    [ Bericht 2% gewijzigd door #ANONIEM op 28-06-2007 19:57:49 ]
    pi_50948808
    Hm.. is het proberen straks eens waard
    pi_50968560
    quote:
    Op donderdag 28 juni 2007 14:27 schreef SuperRembo het volgende:
    Any zou dus een uitbreiding moeten worden op de if/elseif/else constructie.
    Ja, dat was het hele idee
    quote:
    Maar met 1 variabele en 2 regels code kom je er ook.
    En dat is lelijk, imho.
    pi_50970805
    Kleine vraag.

    Stel ik heb 10 id's (1 t/m 10) en heb de middelste geselecteerd en wil de vorige en volgende uitlezen in 1 query? hoe moet je dat doen? of wil dat niet?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50971210
    Met having kom je een heel eind
    pi_50971344
    Sry, ik snap het toch nog niet helemaal. Hoe bedoel je met having?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50972334
    Ben benieuwd hoe jij het met HAVING zou oplossen Mordreth verder denk ik niet dat zoiets netjes in één query kan, wel met UNION SELECTs waarschijnlijk.
    pi_50973572
    Maar zonder UNION Selects? Misschien met LIMIT?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 29 juni 2007 @ 16:17:29 #272
    107951 JortK
    Immer kwaliteitsposts
    pi_50974831
    quote:
    Op vrijdag 29 juni 2007 16:03 schreef Chandler het volgende:
    Maar zonder UNION Selects? Misschien met LIMIT?
    Met LIMIT kun je één kant op, maar niet zowel het id ervoor als erna pakken. Ook kun je niet garanderen dat id 11 links id 10 en rechts id 12 heeft (als er items tussendoor worden verwijderd) wat het geheel nog wat lastiger maakt
    pi_50980251
    quote:
    Op vrijdag 29 juni 2007 16:03 schreef Chandler het volgende:
    Maar zonder UNION Selects? Misschien met LIMIT?
    1
    2
    3
    4
    5
    6
    7
    SELECT a.id,  a.name, b.id nextid,  b.name nextname, c.id previd, c.name prevname
    FROM mytable a
    LEFT OUTER JOIN mytable b ON b.name >= a.name AND b.id != a.id
    LEFT OUTER JOIN mytable c ON c.name <= a.name AND c.id != a.id
    WHERE a.id = $id
    ORDER BY b.name ASC, c.name DESC
    LIMIT 1


    Dit zou denk ik moeten werken (maar niet getest). En 't zou best wel eens erg traag kunnen zijn.

    [ Bericht 4% gewijzigd door SuperRembo op 29-06-2007 23:07:26 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50981704
    Haha, ik zal het strakjes eens proberen.. tnx Sr!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50985530
    Maar helaas, was leuk bedacht Sr, maar het werkte toch niet.

    Krijg steeds de melding:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE a.id = 2000
    LIMIT 1' at line 11

    Ook met LEFT JOIN etc wilde het niet...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50987112
    Oh, de where en oder by staan verkeerd om.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50988288
    Ik bid op mijn knieën tot mysql_fetch_assoc, aangezien het mij veel geholpen heeft, en het een goddelijk commando is.

    Maar bestaat er eigenlijk een kant en klare functie een een mysql_query result compleet doorloopt en alle resultaten in een 2D associatieve array stopt?
    pi_50993979
    quote:
    Op vrijdag 29 juni 2007 23:07 schreef SuperRembo het volgende:
    Oh, de where en oder by staan verkeerd om.
    Dat had ik ook al geprobeerd maar gaf dezelfde foutmelding
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 30 juni 2007 @ 10:03:35 #280
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50994308
    Moet id niet zo geschreven worden ivm reserved words? `id`
    phluphy for president!
    pi_50994851
    nee dat hoeft niet
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_50995034
    quote:
    Op vrijdag 29 juni 2007 23:44 schreef Geqxon het volgende:
    Maar bestaat er eigenlijk een kant en klare functie een een mysql_query result compleet doorloopt en alle resultaten in een 2D associatieve array stopt?
    Voor SQLite heb je sqlite_fetch_all() Maar een soortgelijke functie zie ik niet voor MySql.
    Gelukkig maak je die zelf in een paar minuten
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_50995088
    Sterker: ATM heb ik de functie al gemaakt, ik zocht gewoon een native functie binnen PHP.
    pi_50995320
    quote:
    Op zaterdag 30 juni 2007 09:22 schreef Chandler het volgende:

    [..]

    Dat had ik ook al geprobeerd maar gaf dezelfde foutmelding
    Als je precies dezelfde foutmelding krijgt dan heb je de tweede keer ook nog de WHERE direct voor de LIMIT staan, dus de ORDER voor de WHERE.

    Ik heb 't net getest met SQLite, daar werkt het.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zaterdag 30 juni 2007 @ 11:39:29 #285
    84926 WyriHaximus
    Release the hounds smithers!
    pi_50995576
    1
    2
    3
    4
    5
    6
    7
    SELECT a.id,  a.name, b.id nextid,  b.name nextname, c.id previd, c.name prevname
    FROM mytable a
    LEFT OUTER JOIN mytable b ON (b.name >= a.name AND b.id != a.id)
    LEFT OUTER JOIN mytable c ON (c.name <= a.name AND c.id != a.id)
    WHERE a.id = $id
    ORDER BY b.name ASC, c.name DESC
    LIMIT 1
    Zo misschien? Misschien dat die haakjes uit maken
    phluphy for president!
    pi_50995613
    quote:
    Op zaterdag 30 juni 2007 11:11 schreef Geqxon het volgende:
    Sterker: ATM heb ik de functie al gemaakt, ik zocht gewoon een native functie binnen PHP.
    Please do share, altijd handig om kennis te vergaren enzovoorts.
    pi_51002439
    quote:
    Op zaterdag 30 juni 2007 11:41 schreef Scorpie het volgende:

    [..]

    Please do share, altijd handig om kennis te vergaren enzovoorts.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    $sql 
    "SELECT * FROM users";
    $result mysql_query($sql);

    if (
    $result){
        
    $users mysql_fetch_all_assoc($result,"ID");
    }

    print_r($users);

    function 
    mysql_fetch_all_assoc($result,$uniquekey){
        
    $all = array();
            
        while (
    $row mysql_fetch_assoc($result)){
            
    $all[$row[$uniquekey]] = $row;
        }
        
        return 
    $all;
    }
    ?>


    Levert in mijn geval:

    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
    Array
    (
        [1] => Array
            (
                [ID] => 1
                [Username] => Geqxon
                [Userlevel] => 2
                [Password] => xxx
                [EmailAddress] => xxx
                [Timezone] => 1
                [RegIP] => 
                [DateAdded] => 0
                [DateUpdated] => 0
            )

        [8] => Array
            (
                [ID] => 8
                [Username] => Heinz
                [Userlevel] => 0
                [Password] => xxx
                [EmailAddress] => ketchup@hotmail.com
                [Timezone] => 1
                [RegIP] => 
                [DateAdded] => 0
                [DateUpdated] => 0
            )

        [21] => Array
            (
                [ID] => 21
                [Username] => Testcase
                [Userlevel] => 0
                [Password] => xxx
                [EmailAddress] => testcase@hotmail.com
                [Timezone] => 1
                [RegIP] => 
                [DateAdded] => 0
                [DateUpdated] => 0
            )

        [27] => Array
            (
                [ID] => 27
                [Username] => asdf
                [Userlevel] => 0
                [Password] => xxx
                [EmailAddress] => asdf
                [Timezone] => 1
                [RegIP] => 127.0.0.1
                [DateAdded] => 1182898662
                [DateUpdated] => 0
            )

    )
    pi_51013758
    Zo, weer een MySQL vraagje

    Mijn resultatenset van een query met een left-join heeft op sommige velden een "NULL" , omdat er geen bijpassend record is. Nu wil ik hier op filteren, maar "b.ID = NULL" of "b.ID = 'NULL'" werkt helaas niet. Wat moet ik hiervoor gebruiken?

    PS: Ja, ik wil het op deze manier, en liever geen andere manier
    pi_51013972
    quote:
    Op zaterdag 30 juni 2007 22:28 schreef Geqxon het volgende:
    Zo, weer een MySQL vraagje

    Mijn resultatenset van een query met een left-join heeft op sommige velden een "NULL" , omdat er geen bijpassend record is. Nu wil ik hier op filteren, maar "b.ID = NULL" of "b.ID = 'NULL'" werkt helaas niet. Wat moet ik hiervoor gebruiken?

    PS: Ja, ik wil het op deze manier, en liever geen andere manier
    IS NULL of IS NOT NULL dit omdat alle vergelijkingen met NULL-waardes (NULL <> NULL, NULL = NULL, etc) altijd NULL opleveren. Zo is die waarde nu eenmaal gedefiniëerd
      zaterdag 30 juni 2007 @ 22:37:23 #290
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51013973
    b.ID NOT NULL overigens werkt != het zelfde als in PHP

    EDIT: Erhm idd wat JeRa zegt NOT NULL is het zelfde als !=
    phluphy for president!
    pi_51014358
    My god, dat MySQL zo simpel is. Prachtige "taal" , dat MySQL! De meest complexe querys zijn nog leesbaar, en je kunt er vanalles mee. Thanks guys!
      zaterdag 30 juni 2007 @ 22:57:38 #292
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51014511
    quote:
    Op zaterdag 30 juni 2007 22:51 schreef Geqxon het volgende:
    My god, dat MySQL zo simpel is. Prachtige "taal" , dat MySQL! De meest complexe querys zijn nog leesbaar, en je kunt er vanalles mee. Thanks guys!
    Eingelijk is SQL schitterend . SQL is de query taal om met de server te praten, MySQL is niks anders dan de server die de data opslaat . Meer info: http://en.wikipedia.org/wiki/SQL
    phluphy for president!
    pi_51014798
    Maar qua commando's zitten er toch verschillen tussen MSSQL en MySQL? Vandaar dat ik specifiek op MySQL duidde, aangezien ik daar ATM mee werk
    pi_51014891
    De taal SQL zou overal gelijk moeten zijn, maar er is verschil tussen de verschillende implementaties. Zo is MySQL iets anders dan MSSQL en ook weer iets anders dan PostgeSQL en die ook weer ...

    Maar de basis is bijna overal gelijk.
      zaterdag 30 juni 2007 @ 23:21:49 #295
    84926 WyriHaximus
    Release the hounds smithers!
    pi_51015165
    Idd over het algemeen is het allemaal het zelfde het verschil zal vooral in de functies, globale manier hoe de database in elkaar steekt en hele kleine syntax dingen .
    phluphy for president!
    pi_51017717
    quote:
    Op zaterdag 30 juni 2007 11:39 schreef WyriHaximus het volgende:

    [ code verwijderd ]

    Zo misschien? Misschien dat die haakjes uit maken
    Dat werkt inderdaad wel maar......

    1
    2
    3
    1e keer: Toon Records 0 - 0 (1 totaal, Query duurde 19.0347 sec)
    2e keer: 12, 5 secs
    3e keer: Toon Records 0 - 0 (1 totaal, Query duurde 0.0003 sec)




    en de uitkomst is niet wat ik zoek

    ID = 2000

    1
    2
    3
    2000 Een jongen of een meisje 
    490 een jongen of een meisje 
    490 een jongen of een meisje 




    [ Bericht 15% gewijzigd door Chandler op 01-07-2007 00:59:13 (-argh smilies hgra-) ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_51018111
    quote:
    Op zondag 1 juli 2007 00:58 schreef Chandler het volgende:

    [..]

    Dat werkt inderdaad wel maar......
    [ code verwijderd ]



    en de uitkomst is niet wat ik zoek

    ID = 2000
    [ code verwijderd ]

    Vraagje, waarom wil je het niet via een UNION SELECT oplossen?
    1) Het is sneller dan 3 losse selects via PHP
    2) Zolang je de goede indices gebruikt is het praktisch net zo snel als een simpele join, maar gezien jouw wens wordt die join zo complex zal een UNION alsnog sneller worden
    3) Een UNION SELECT is duidelijker (imho) dan een complexe join

    pi_51021072
    Wil dat dan ook draaien op MySQL 4.1.22-community-nt ?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_51026559
    quote:
    Op zondag 1 juli 2007 08:41 schreef Chandler het volgende:
    Wil dat dan ook draaien op MySQL 4.1.22-community-nt ?
    Twee seconden nazoekwerk, documentatie, vanaf MySQL 4.0.0 dus
    pi_51032753
    Ik zal eens kijken wat een UNION select allemaal kan
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_51065725
    Slotje... heb een nieuwe vraag
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')