abonnement Unibet Coolblue Bitvavo
  dinsdag 29 januari 2008 @ 12:52:40 #1
107951 JortK
Immer kwaliteitsposts
pi_56383354

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

Vorige delen:
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


Zie ook:
  • 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

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  •   dinsdag 29 januari 2008 @ 12:52:58 #2
    107951 JortK
    Immer kwaliteitsposts
    pi_56383363
    En de laatste post:
    quote:
    Op dinsdag 29 januari 2008 12:51 schreef JortK het volgende:
    Hoeveel trager dan?

    Ik werk op echt grote omgevingen (MSSQL) maar daar merk ik het echt niet

    Wat ik wel merk in performance is of je je joins left in de WHERE of in de FROM
      dinsdag 29 januari 2008 @ 12:56:40 #3
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56383457
    dat hangt ook af van de hoeveelheid data die in je tabel staat en hoeveel gebruik er van wordt gemaakt.
    vergelijk het maar eens in phpMyAdmin eerst met aliassen en daarna zonder.
    pi_56383518
    tvp again
    pi_56383637
    quote:
    Op dinsdag 29 januari 2008 11:53 schreef Chandler het volgende:

    [..]

    Dat wist ik ook niet weer wat geleerd, vind zo ie zo dat aliassen vies zijn, het is imho duidelijker om gewoon de gehele tabelnaam te gebruiken, weet je gelijk wat waar voor dient!
    Als je een tabel een of meerdere keren met zichzelf joint dan ontkom je natuurlijk niet aan aliassen... dat het performance kost wist ik ook niet eigenlijk.
    pi_56383948
    quote:
    Op dinsdag 29 januari 2008 13:03 schreef Farenji het volgende:

    [..]

    Als je een tabel een of meerdere keren met zichzelf joint dan ontkom je natuurlijk niet aan aliassen... dat het performance kost wist ik ook niet eigenlijk.
    Dat klopt maar als je een tabel meerdere keren koppelt doe je imho iets fout
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 29 januari 2008 @ 13:23:15 #7
    107951 JortK
    Immer kwaliteitsposts
    pi_56384215
    quote:
    Op dinsdag 29 januari 2008 13:13 schreef Chandler het volgende:

    [..]

    Dat klopt maar als je een tabel meerdere keren koppelt doe je imho iets fout
    Nee hoor hoeft absoluut niet
      dinsdag 29 januari 2008 @ 13:29:53 #8
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56384402
    quote:
    Op dinsdag 29 januari 2008 13:13 schreef Chandler het volgende:

    [..]

    Dat klopt maar als je een tabel meerdere keren koppelt doe je imho iets fout
    Nee hoor.. in sommige situaties is dat noodzakelijk. Als je met parent_id's werkt bijvoorbeeld.
    pi_56385110
    quote:
    Op dinsdag 29 januari 2008 13:23 schreef JortK het volgende:

    [..]

    Nee hoor hoeft absoluut niet
    Geef eens een voorbeeld
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 29 januari 2008 @ 14:04:33 #10
    62215 qu63
    ..de tijd drinkt..
    pi_56385302
    quote:
    Op dinsdag 29 januari 2008 12:58 schreef Tarabass het volgende:
    tvp again
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      dinsdag 29 januari 2008 @ 14:10:05 #11
    107951 JortK
    Immer kwaliteitsposts
    pi_56385441
    quote:
    Op dinsdag 29 januari 2008 13:56 schreef Chandler het volgende:

    [..]

    Geef eens een voorbeeld ;)
    Als jij dat wilt ;)

    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
    SELECT TBL_MPM.MPM_ID,TBL_MPM.ORG_ID,TBL_MPM.MPM_TAB,SUBSTRING(TBL_MPM_009.MPM_TEXT,1,13) AS [TBL_MPM_VELD009],SUBSTRING(TBL_MPM_011.MPM_TEXT,1,192) AS [TBL_MPM_VELD011],SUBSTRING(TBL_MPM_016.MPM_TEXT,1,50) AS [TBL_MPM_VELD016],SUBSTRING(TBL_MPM_019.MPM_TEXT,1,192) AS [TBL_MPM_VELD019],TBL_MPM_022.MPM_TEXT AS [TBL_MPM_VELD022],TBL_MPM_023.MPM_TEXT AS [TBL_MPM_VELD023],TBL_MPM_027.MPM_TEXT AS [TBL_MPM_VELD027],TBL_MPM_028.MPM_TEXT AS [TBL_MPM_VELD028],TBL_MPM_032.MPM_TEXT AS [TBL_MPM_VELD032],TBL_MPM_033.MPM_TEXT AS [TBL_MPM_VELD033],TBL_MPM_038.MPM_TEXT AS [TBL_MPM_VELD038],TBL_MPM_039.MPM_TEXT AS [TBL_MPM_VELD039],TBL_MPM_040.MPM_TEXT AS [TBL_MPM_VELD040],TBL_MPM_041.MPM_TEXT AS [TBL_MPM_VELD041],CAST(CAST(TBL_MPM_037.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000)) AS [TBL_MPM_VELD037],LEN(CAST(CAST(TBL_MPM_037.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000))) AS [TBL_MPM_VELD037_Warning_Max_Length_8000],TBL_MPM_037.MPM_TEXT AS [TBL_MPM_VELD037_TextSource],TBL_MPM_037.MPM_DATA AS [TBL_MPM_VELD037_ImageSource],CAST(CAST(TBL_MPM_042.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000)) AS [TBL_MPM_VELD042],LEN(CAST(CAST(TBL_MPM_042.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000))) AS [TBL_MPM_VELD042_Warning_Max_Length_8000],TBL_MPM_042.MPM_TEXT AS [TBL_MPM_VELD042_TextSource],TBL_MPM_042.MPM_DATA AS [TBL_MPM_VELD042_ImageSource],SUBSTRING(TBL_MPM_044.MPM_TEXT,1,10) AS [TBL_MPM_VELD044],SUBSTRING(TBL_MPM_045.MPM_TEXT,1,10) AS [TBL_MPM_VELD045],SUBSTRING(TBL_MPM_046.MPM_TEXT,1,10) AS [TBL_MPM_VELD046],CAST(CAST(TBL_MPM_047.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000)) AS [TBL_MPM_VELD047],LEN(CAST(CAST(TBL_MPM_047.MPM_DATA AS VARBINARY(8000)) AS VARCHAR(8000))) AS [TBL_MPM_VELD047_Warning_Max_Length_8000],TBL_MPM_047.MPM_TEXT AS [TBL_MPM_VELD047_TextSource],TBL_MPM_047.MPM_DATA AS [TBL_MPM_VELD047_ImageSource],SUBSTRING(TBL_MPM_048.MPM_TEXT,1,192) AS [TBL_MPM_VELD048]
    FROM TBL_MPM
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_009 ON TBL_MPM_009.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_009.MPM_TAB='A' AND TBL_MPM_009.MPM_FIELD='009'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_011 ON TBL_MPM_011.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_011.MPM_TAB='A' AND TBL_MPM_011.MPM_FIELD='011'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_016 ON TBL_MPM_016.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_016.MPM_TAB='A' AND TBL_MPM_016.MPM_FIELD='016'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_019 ON TBL_MPM_019.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_019.MPM_TAB='A' AND TBL_MPM_019.MPM_FIELD='019'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_022 ON TBL_MPM_022.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_022.MPM_TAB='A' AND TBL_MPM_022.MPM_FIELD='022'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_023 ON TBL_MPM_023.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_023.MPM_TAB='A' AND TBL_MPM_023.MPM_FIELD='023'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_027 ON TBL_MPM_027.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_027.MPM_TAB='A' AND TBL_MPM_027.MPM_FIELD='027'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_028 ON TBL_MPM_028.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_028.MPM_TAB='A' AND TBL_MPM_028.MPM_FIELD='028'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_032 ON TBL_MPM_032.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_032.MPM_TAB='A' AND TBL_MPM_032.MPM_FIELD='032'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_033 ON TBL_MPM_033.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_033.MPM_TAB='A' AND TBL_MPM_033.MPM_FIELD='033'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_038 ON TBL_MPM_038.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_038.MPM_TAB='A' AND TBL_MPM_038.MPM_FIELD='038'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_039 ON TBL_MPM_039.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_039.MPM_TAB='A' AND TBL_MPM_039.MPM_FIELD='039'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_040 ON TBL_MPM_040.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_040.MPM_TAB='A' AND TBL_MPM_040.MPM_FIELD='040'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_041 ON TBL_MPM_041.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_041.MPM_TAB='A' AND TBL_MPM_041.MPM_FIELD='041'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_037 ON TBL_MPM_037.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_037.MPM_TAB='A' AND TBL_MPM_037.MPM_FIELD='037'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_042 ON TBL_MPM_042.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_042.MPM_TAB='A' AND TBL_MPM_042.MPM_FIELD='042'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_044 ON TBL_MPM_044.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_044.MPM_TAB='A' AND TBL_MPM_044.MPM_FIELD='044'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_045 ON TBL_MPM_045.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_045.MPM_TAB='A' AND TBL_MPM_045.MPM_FIELD='045'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_046 ON TBL_MPM_046.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_046.MPM_TAB='A' AND TBL_MPM_046.MPM_FIELD='046'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_047 ON TBL_MPM_047.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_047.MPM_TAB='A' AND TBL_MPM_047.MPM_FIELD='047'
    LEFT OUTER JOIN TBL_MPM AS TBL_MPM_048 ON TBL_MPM_048.MPM_PARENT_ID=TBL_MPM.MPM_ID AND TBL_MPM_048.MPM_TAB='A' AND TBL_MPM_048.MPM_FIELD='048'
    WHERE
    TBL_MPM.MPM_TAB='A' AND TBL_MPM.MPM_FIELD='GRD'


    Wanneer je met parent_id's werkt heb je het wel degelijk nodig ;)
    pi_56385742
    Sjeetje
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 29 januari 2008 @ 14:53:54 #13
    107951 JortK
    Immer kwaliteitsposts
    pi_56386545
    Ja hoor, helemaal
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56386705
    Bij tree-structuren ontkom je er ook niet aan.
    pi_56387276
    Is het mogelijk om php output te laten sturen terwijl hij nog aan het parsen is? Ik heb een script wat heel lang moet draaien en ik zou graag willen dat ik de voortgang al op mn scherm krijg terwijl hij nog bezig is, of moet ik dan aan de cli gaan denken oid?
      dinsdag 29 januari 2008 @ 15:27:25 #17
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56387350
    quote:
    Op dinsdag 29 januari 2008 15:25 schreef Janteh het volgende:
    Is het mogelijk om php output te laten sturen terwijl hij nog aan het parsen is? Ik heb een script wat heel lang moet draaien en ik zou graag willen dat ik de voortgang al op mn scherm krijg terwijl hij nog bezig is, of moet ik dan aan de cli gaan denken oid?
    dat kan met flush();
    pi_56388047
    quote:
    Op dinsdag 29 januari 2008 13:03 schreef Farenji het volgende:
    Als je een tabel een of meerdere keren met zichzelf joint dan ontkom je natuurlijk niet aan aliassen... dat het performance kost wist ik ook niet eigenlijk.
    Daar sta ik ook van te kijken eigenlijk.... ik maak meestal standaard een alias, eens een benchmarkje maken om te kijken hoeveel het scheelt
      dinsdag 29 januari 2008 @ 16:21:16 #19
    136730 PiRANiA
    All thinking men are atheists.
    pi_56388571
    quote:
    Op dinsdag 29 januari 2008 15:27 schreef Dreammaster het volgende:

    [..]

    dat kan met flush();
    Die ga ik onthouden
    pi_56389162
    quote:
    Op dinsdag 29 januari 2008 15:56 schreef Xcalibur het volgende:

    [..]

    Daar sta ik ook van te kijken eigenlijk.... ik maak meestal standaard een alias, eens een benchmarkje maken om te kijken hoeveel het scheelt
    Laat je de uitkomsten weten?

    Ik maak eigenlijk ook standaard aliassen (A)
      dinsdag 29 januari 2008 @ 18:41:36 #21
    107951 JortK
    Immer kwaliteitsposts
    pi_56391941
    quote:
    Op dinsdag 29 januari 2008 15:56 schreef Xcalibur het volgende:

    [..]

    Daar sta ik ook van te kijken eigenlijk.... ik maak meestal standaard een alias, eens een benchmarkje maken om te kijken hoeveel het scheelt
    Please post the results
    pi_56393300
    Ik maak eigenlijk nooit benchmarks, dus ik hoop dat ik een beetje iets zinnigs geproduceerd heb

    - Tabel met bijna 3940 records
    - Query 1: SELECT * FROM clients
    - Query 2: SELECT * FROM clients AS clients
    - Loop waarin de query 100x uitgevoerd wordt
    - PHP microtime die de tijd registreert voor en na de loop

    Gemiddelde resultaat over 10 metingen zonder alias: 10,82319 seconden
    Gemiddelde resultaat over 10 metingen met alias: 11,13025 seconden
    Verschil over 1000 queriesl: 2,83% trager met alias

    Dit is natuurlijk een zeer beperkt aantal queries wat ik gedraaid heb, maar ik denk wel dat het redelijk betrouwbaar is... Met alias is iets trager, maar ik denk dat je het op een per-query basis echt niet gaat merken, tenzij je echt veel bezoekers op je site hebt
      dinsdag 29 januari 2008 @ 19:46:54 #23
    107951 JortK
    Immer kwaliteitsposts
    pi_56393441
    quote:
    Op dinsdag 29 januari 2008 19:41 schreef Xcalibur het volgende:
    Ik maak eigenlijk nooit benchmarks, dus ik hoop dat ik een beetje iets zinnigs geproduceerd heb :P

    - Tabel met bijna 3940 records
    - Query 1: SELECT * FROM clients
    - Query 2: SELECT * FROM clients AS clients
    - Loop waarin de query 100x uitgevoerd wordt
    - PHP microtime die de tijd registreert voor en na de loop

    Gemiddelde resultaat over 10 metingen zonder alias: 10,82319 seconden
    Gemiddelde resultaat over 10 metingen met alias: 11,13025 seconden
    Verschil over 1000 queriesl: 2,83% trager met alias

    Dit is natuurlijk een zeer beperkt aantal queries wat ik gedraaid heb, maar ik denk wel dat het redelijk betrouwbaar is... Met alias is iets trager, maar ik denk dat je het op een per-query basis echt niet gaat merken, tenzij je echt veel bezoekers op je site hebt :)
    Ja heel leuk, maar niet echt praktijk gericht volgens mij :)

    Hoeveel velden bevat die tabel?

    Haal eens zoiets op

    1SELECT a.field1, a.field2, a.field3, a.field4 FROM clients a


    Mensen halen nooit een complete tabel op volgens mij :?

    En wie draait in één script 1000 queries :?

    Ik denk dat als je de praktijk zal bekijken dat het verschil te verwaarlozen is :)
    pi_56393560
    quote:
    Op dinsdag 29 januari 2008 19:46 schreef JortK het volgende:
    Hoeveel velden bevat die tabel?
    21 velden per rij
    Waarom zou ik minder velden ophalen, dan wordt het verschil toch alleen maar kleiner?
    quote:
    Op dinsdag 29 januari 2008 19:46 schreef JortK het volgende:
    En wie draait in één script 1000 queries
    Geen hond. 1 query duurt alleen maar 0,0001 seconde, en dan wordt het verschil zo lastig te maken....

    Hoe zou jij het benchmarken dan?
    pi_56393693
    Nu ik veel meer met OOP werk zal mijn totale systeem waarschijnlijk ook 2.83 procent trager worden. Niet interresant, want het programmeert wel stukken beter.
    pi_56393998
    Hoe kan ik zorgen dat php mijn geheugen leeg houdt? Ik heb een functie die ik automatisch laat loopen die elke keer een pagina ophaalt door middel van curl, maar het lijkt wel alsof hij deze in zijn geheugen houdt ook al gebruik ik curl_close(). Elke pagina is rond de 10kb dus na 300 pagina's stopt het script omdat de geheugenlimiet bereikt is, niet ideaal dus. Ik heb ook al de variabele met alle html geunset nadat ik deze niet meer nodig heb maar dat verandert ook niks aan het geheugengebruik. Kan ik op een of andere manier het geheugen gedeeltelijk 'leeg' maken of is het enige wat er op zit de geheugenlimiet verhogen (wat natuurlijk geen oplossing is aangezien ik niet weet hoeveel pagina's er gedownload moeten worden).
    pi_56394751
    Klinkt als een geheugenlek. Welke php versie gebruik je?
    pi_56395046
    quote:
    Op dinsdag 29 januari 2008 20:43 schreef Farenji het volgende:
    Klinkt als een geheugenlek. Welke php versie gebruik je?
    5.2.5.

    Ik snap er zelf ook niks van, hij zou toch het geheugen weer vrij moeten maken bij curl_close() en als ik variabelen unset?
      dinsdag 29 januari 2008 @ 21:26:16 #29
    85514 ralfie
    !Yvan eht nioj
    pi_56395840
    In principe wel, maar 300 paginas ophalen met curl is misschien niet iets waar het voor gemaakt is...

    je kunt wat kloten met memory_get_usage(), misschien geeft het wat aanwijzingen over waar het fout gaat
    pi_56396293
    quote:
    Op dinsdag 29 januari 2008 21:26 schreef ralfie het volgende:
    In principe wel, maar 300 paginas ophalen met curl is misschien niet iets waar het voor gemaakt is...

    je kunt wat kloten met memory_get_usage(), misschien geeft het wat aanwijzingen over waar het fout gaat
    ongetwijfeld, maar dat zijn andere functies voor dit doeleinde ook niet.

    Met memory_get_usage() zie ik heel mooi dat na elk rondje er ongeveer 10 kb bijkomt, wat precies de grootte van de pagina is.
    pi_56399181
    quote:
    Op dinsdag 29 januari 2008 21:42 schreef Janteh het volgende:

    [..]

    ongetwijfeld, maar dat zijn andere functies voor dit doeleinde ook niet.

    Met memory_get_usage() zie ik heel mooi dat na elk rondje er ongeveer 10 kb bijkomt, wat precies de grootte van de pagina is.
    Post je script eens?
      woensdag 30 januari 2008 @ 02:12:37 #33
    105263 Litso
    Interlectueel.
    pi_56401688
    Vraagje, ik ben een tag-systeem aan het bouwen en om de ingevoerde tags op te splitsen gebruik ik

    1      $tagsarray = preg_split('/[^a-zA-Z\'"-]+/', $tags, -1, PREG_SPLIT_NO_EMPTY); 


    De pattern heb ik ergens gecopypaste van een script waarbij alle woorden uit een zin werden gesplitst, maar ik kom er nu achter dat hij zo dus ook cijfers weglaat. Eigenlijk wil ik wel datums in kunnen voeren, dus de -, de / en de cijfers wil ik er in laten staan. Ik kom alleen maar niet uit hoe je dat nou voor elkaar krijgt, ik krijg de pattern gewoon niet ontcijferd
    Iemand?
    "Dat is echt ontzettend zielig" ©
      woensdag 30 januari 2008 @ 08:38:03 #34
    136730 PiRANiA
    All thinking men are atheists.
    pi_56402763
    quote:
    $tagsarray = preg_split('/[^a-zA-Z0-9-\/\'"-]+/', $tags, -1, PREG_SPLIT_NO_EMPTY);
    denk ik
    pi_56403190
    Op http://85.92.147.131/~obcreunie/ ben ik bezig met het maken van een site in Joomla. Normaal gesproken is het in Joomla niet erg als je van PHP weinig afweet, aangezien er een mooi CMS omheen zit, maar ik heb het nu even nodig.
    Op die site je het logo van "Over Betuwe College" in beeld staan. Deze probeer ik te centreren.
    Volgens mij wordt deze banner geladen vanuit dit stukje:
    quote:
    <td width="100%" valign="top" class="body_outer">
    <?php if (mosCountModules('banner')) { ?>
    <div class="banner_inner"><?php mosLoadModules( 'banner', 1 ); ?></div>
    <?php } ?>
    <?php if ( $user1 > 0 ) {?>
    <table width="100%" border="0" cellpadding="0" cellspacing="0" class="content_table">
    <?php
    if ($colspan > 0) {
    ?>
    <tr valign="top">
    <?php
    if ( $user1 > 0 ) {
    ?>
    <td width="50%">
    <div class="user1_inner">
    <?php mosLoadModules ( 'user1' ); ?>
    </div>
    </td>
    In mn CSS file staat
    quote:
    #banner_inner {
    float: left;
    padding: 0px;
    height: 70px;
    border: 1px solid #FCFCFC;
    Hoe kan ik het aanpassen zodat het plaatje gecentreerd staat?
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56405297
    ik wil in een veld een getal opslaan met 2 decimalen. Met phpmyadmin kies ik het type double voor dit veld, maar als ik een rond bedrag invul (dus met 2 nullen na de punt), wordt het getal weggeschreven als getal zonder decimalen.

    Welke type moet ik kiezen om alle bedragen als 2 decimalen opgeslagen te krigen?
    pi_56405440
    Double kort alleen af als er een 0 achter aan staat. Toch? probeer eens 25,66
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56405745
    Klopt, 25.66 wordt weggeschreven als 25.66, maar bijvoorbeeld 145.00 wordt weggeschreven als 145

    Ik zou graag zien dat 145.00 ook als 145.00 wordt weggeschreven naar de database, maar hoe?

    -edit-

    Of is sprintf ook een nette oplossing hiervoor?

    1
    2
    3
    <?php
    sprintf
    ('%01.2f'$variable
    ?>


    [ Bericht 58% gewijzigd door Erik op 30-01-2008 11:42:32 ]
    pi_56406033
    Afaik kan dat alleen als string. Mijn tip: Schrijf het als echte integer naar de database, en voeg die 00 (str_pad?) er in de presentatie-laag pas aan toe.
    pi_56406574
    Gewoon als double onafgerond opslaan en in je code inderdaad sprintf gebruiken om te formatteren, dat is imo het netste en krijg je ook geen afrondingsfouten. Maar je hebt in mysql ook het type DECIMAL(M,N) type, als je perse een vast aantal getallen achter de komma wil hebben (maar ik kan niet echt een goede reden bedenken hiervoor).
      woensdag 30 januari 2008 @ 12:27:42 #41
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56406962
    quote:
    Op woensdag 30 januari 2008 11:47 schreef Geqxon het volgende:
    Afaik kan dat alleen als string. Mijn tip: Schrijf het als echte integer naar de database, en voeg die 00 (str_pad?) er in de presentatie-laag pas aan toe.
    number_format($getal, 2);
    pi_56407724
    Dank voor jullie tips, schrijf hem nu weg zonder de decimalen, in de presentatielaag gebruik ik number_format
    pi_56407730
    Okay ik heb een leuke voor jullie:

    met HTMLspecialchars wil hij bij het uitlezen van mn DB niet een <br> zetten(alles komt achterelkaar aan)
    En als ik str_replace doe, krijg ik letterlijk <BR> tussen de woorden te zien... Howcome?
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
      woensdag 30 januari 2008 @ 13:05:04 #44
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56407781
    je gooit het met htmlspecialchars(); in de database? dan moet je bij het uitlezen htmlspecialchars_decode(); gebruiken
    pi_56407803
    quote:
    Op woensdag 30 januari 2008 13:05 schreef Dreammaster het volgende:
    je gooit het met htmlspecialchars(); in de database? dan moet je bij het uitlezen htmlspecialchars_decode(); gebruiken
    Waar moet ik dat omheen zetten? om mijn hele lus?(Met tabel en alles erbij)
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
      woensdag 30 januari 2008 @ 13:11:56 #46
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56407894
    in de variabele waar je html in staat... maar ik zie het nut niet echt om iets met htmlspecialchars in de database te zetten om het vervolgens weer de decoden...
    pi_56407927
    quote:
    Op woensdag 30 januari 2008 13:11 schreef Dreammaster het volgende:
    in de variabele waar je html in staat... maar ik zie het nut niet echt om iets met htmlspecialchars in de database te zetten om het vervolgens weer de decoden...

    Sowieso niet, die HTMLspecialchars staat erin zodat ik quotjes enz. kan typen... maar niet echt aardig dat ie die BR dan niet pakt..
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
    pi_56407943
    anywho..

    1
    2
    3
    4
    5
    6
    7
    8
    9
          $_POST['name'] = addslashes($_POST['name']);
          $_POST['name'] = htmlspecialchars($_POST['name']);
          $_POST['message'] = addslashes($_POST['message']);
          $_POST['message'] = htmlspecialchars($_POST['message']);

          if($_POST['name'] && $_POST['message']){
             $query = "INSERT INTO reacties(naam, bericht, getID) VALUES ('$_POST[name]', '$_POST[message]', '$_GET[id]')";
             mysql_query($query);
          }


    Das de query
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
      woensdag 30 januari 2008 @ 13:43:56 #49
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56408520
    probeer het volgende eens in plaats van addslashes en htmlspecialchars
    1
    2
    3
    <?php
    $_POST
    ['name'] = mysql_real_escape_string($_POST['name']);
    ?>
    pi_56408801
    En escapen doe je in de query natuurlijk O-)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
          $name 
    $_POST['name'];
          
    $message $_POST['message'];

          if(
    is_string($name) && is_string($message) {
             
    $query "INSERT INTO reacties(naam, bericht, getID) VALUES ('" mysql_real_escape_string($name) . "' , '" mysql_real_escape_string($message) . "', '$_GET[id]')";
             
    mysql_query($query);
          }
    ?>
    pi_56409255
    Escapen in de query is persoonlije voorkeur, zelf vind ik het mooier om in een sprintf constructie te werken.

    1
    2
    3
    4
    5
    6
    7
    <?php
    $sql 
    sprintf(  "INSERT INTO reacties (naam, bericht, getID) VALUES ('%s', '%s', %d)",
                      
    mysql_real_escape_string($name), 
                      
    mysql_real_escape_string($message), 
                      
    $_GET['id'] );
    mysql_query($sql);
    ?>


    [ Bericht 51% gewijzigd door Geqxon op 30-01-2008 14:28:35 ]
      woensdag 30 januari 2008 @ 14:59:59 #52
    105263 Litso
    Interlectueel.
    pi_56410272
    quote:
    Op woensdag 30 januari 2008 08:38 schreef PiRANiA het volgende:

    [..]

    denk ik
    Dankje, ik probeer het even.
    Kan je ook uitleggen waarom? Klopt het dat je binnen de [haakjes] staat wat er wél mag? Wat doen dan de slashes en bv. die plus buiten de haakjes, ook in het origineel?
    "Dat is echt ontzettend zielig" ©
    pi_56410398
    quote:
    Op woensdag 30 januari 2008 14:59 schreef Litso het volgende:

    [..]

    Dankje, ik probeer het even.
    Kan je ook uitleggen waarom? Klopt het dat je binnen de [haakjes] staat wat er wél mag? Wat doen dan de slashes en bv. die plus buiten de haakjes, ook in het origineel?
    Afaik omsluiten de haakjes een collectie van karakters en tekens van wat er voor mag komen.
    pi_56414194
    quote:
    Op woensdag 30 januari 2008 09:12 schreef -J-D- het volgende:
    Op http://85.92.147.131/~obcreunie/ ben ik bezig met het maken van een site in Joomla. Normaal gesproken is het in Joomla niet erg als je van PHP weinig afweet, aangezien er een mooi CMS omheen zit, maar ik heb het nu even nodig.
    Op die site je het logo van "Over Betuwe College" in beeld staan. Deze probeer ik te centreren.
    Volgens mij wordt deze banner geladen vanuit dit stukje:
    [..]

    In mn CSS file staat
    [..]

    Hoe kan ik het aanpassen zodat het plaatje gecentreerd staat?
    Iemand nog een idee voor dit "probleem"?
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56414294
    quote:
    Op woensdag 30 januari 2008 18:08 schreef -J-D- het volgende:
    Iemand nog een idee voor dit "probleem"?
    Niet echt een probleem die hier thuis hoort, aangezien het gaat over css en html. Iig kan je wat proberen met die float:left; maar dat is moeilijk zeggen aangezien niet de gehele code duidelijk is.

    Je moet weten waar dat plaatje in opgesloten wordt en hoe breed dat is. Dat zul je of breder moeten maken en een text-align:center; mee moeten geven in css of dus die float:left; weghalen.
    pi_56415178
    Ok, dat ga ik proberen.

    Andere vraag waar google me nog heeft kunnen helpen:
    Hoe benader ik vanuit Joomla een tabel uit de mysql-database? Ik weet de code, dat is het probleem niet. Maar waar in Joomla laat ik die opdracht achter zodat die tabel op een pagina verschijnt?
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56415798
    Goed ik wil mijn nieuwe projectje met OOP gaan maken, omdat ik ik hier niks van af weet en het me toch wel veel duidelijker lijkt, maar waar kan ik een goede tutorial/uitleg/boek vinden wat je leert OOP te coden met een 'normale' codestijl achtergrond? Ik heb her en der wat gezocht maar nog niks echt geschikt gevonden.
    pi_56426949
    quote:
    Op woensdag 30 januari 2008 14:17 schreef Geqxon het volgende:
    Escapen in de query is persoonlije voorkeur, zelf vind ik het mooier om in een sprintf constructie te werken.
    Leer gewoon aan om altijd placeholders te gebruiken voor je sql query argumenten, dat heeft php afgekeken van perl maar met een goede reden. Het is veel beter (en efficienter, als je dezelfde query vaker gebruikt) dan dat ranzige gehack met dat ge-escape enzo want sql injection wordt er automatisch onmogelijk door gemaakt zonder dat je daar zelf nog over in hoeft te zitten.

    http://www.marksiedle.com/show_article.php?cat=3&id=11
    pi_56428858
    quote:
    Op donderdag 31 januari 2008 09:08 schreef Farenji het volgende:
    [..]
    Leer gewoon aan om altijd placeholders te gebruiken voor je sql query argumenten, [...]
    http://www.marksiedle.com/show_article.php?cat=3&id=11
    Of gebruik PDO.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 31 januari 2008 @ 12:17:44 #60
    105263 Litso
    Interlectueel.
    pi_56430345
    Ok, even een logical operators vraagje. Ik heb een functie in mediawiki gebouwd waarbij ik tags toevoeg, en bij iedere verandering wordt dat gelogged door de functie changeTags() aan te roepen met daarin o.a. de titel, user, timestamp, en (belangrijk) of het plaatje in de gallery stond, er nu in staat, wat de oude tags waren en wat de nieuwe tags waren.

    Nu heb ik 5 situaties kunnen bedenken, waarbij deze variabelen elk verschillen, en wel als volgt:

    uploaden van een bestand
    oldig: '' , newig: '1' (ig is inGallery)
    oldtags: '', newtags: x (maakt niet uit, de nieuwe tags)

    in gallery plaatsen:
    oldig: '0' newig: '1'
    oldtags: '', newtags: x

    uit de gallery halen:
    oldig: '1', newig: '0'
    oldtags: x, newtags: '' (wanneer een afbeelding uit de gallery wordt gehaald worden de tags verwijderd)

    tags wijzigen:
    oldig: '1', newig: '1'
    oldtags: x, newtags: y (maakt beide niet uit, als ze maar verschillen)

    afbeelding deleten (en dus de tags)
    oldig: '1', newig: ''
    oldtags: x, newtags: ''

    (deleten van een afbeelding die toch al niet in de gallery stond is op dit moment niet zo interessant, evenals het uploaden van een image die niet in de gallery gezet wordt)

    Hoe kan ik dit nu het beste in de database gooien. In de changeTags() een if constructie bouwen om alle mogelijke situaties af te vangen? Bij het aanroepen van de changeTags() een variabele meegeven waarin ik zeg wat voor soort wijziging het is? Of gewoon helemaal niet in de database zetten omdat ik het er toch wel uit af kan lezen?

    In dat laatste geval: als ik de veranderingen dan weer wil geven, wat is dán de meest praktische manier om te kijken onder welke situatie een log valt? een if-else constructie? of proberen zo efficient mogelijk if-jes te nesten?
    "Dat is echt ontzettend zielig" ©
    pi_56431972
    Binair het verschil tussen oud en nieuw bekijken, en dat in de database wegschrijven? Een tabel genaamd "History" oid?
      donderdag 31 januari 2008 @ 13:23:15 #62
    105263 Litso
    Interlectueel.
    pi_56432096
    quote:
    Op donderdag 31 januari 2008 13:18 schreef Geqxon het volgende:
    Binair het verschil tussen oud en nieuw bekijken, en dat in de database wegschrijven? Een tabel genaamd "History" oid?
    Hmm, ik begrijp niet wat je bedoelt?
    Ik hou wel een changelog bij in elk geval, maar geen daadwerkelijke geschiedenis per file of tag. Wanneer ik een plaatje verwijder kijk ik eerst wat de oude ingallery status en de tags waren, dan verwijder ik het plaatje en de tags, en vervolgens zet ik in de changelog wat de oude en nieuwe ingallery status en de oude en nieuwe tags waren.
    Of bedoel je dat ik dan in de log gewoon alsnog behalve die info ook moet neerzetten wat voor type wijziging het was?
    "Dat is echt ontzettend zielig" ©
    pi_56433405
    quote:
    Op donderdag 31 januari 2008 09:08 schreef Farenji het volgende:

    [..]

    Leer gewoon aan om altijd placeholders te gebruiken voor je sql query argumenten, dat heeft php afgekeken van perl maar met een goede reden. Het is veel beter (en efficienter, als je dezelfde query vaker gebruikt) dan dat ranzige gehack met dat ge-escape enzo want sql injection wordt er automatisch onmogelijk door gemaakt zonder dat je daar zelf nog over in hoeft te zitten.

    http://www.marksiedle.com/show_article.php?cat=3&id=11
    Dit is interessant
      donderdag 31 januari 2008 @ 15:43:37 #64
    62215 qu63
    ..de tijd drinkt..
    pi_56435765
    Heeft er iemand enig idee hoe ik het makkelijkst een .md5 (of een .txt-file met md5-waarden) kanuitlezen?
    het formaat van de .md5/.txt is ongeveer zo:
    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
    ; Fsum Frontend v1.5.1
    ;
    ; Generated on 2008-01-31 at 15:22:08
    ;
    ; Size: 620 bytes, Creation date: 2006-03-15 14:34:33, Modification date: 2006-03-15 14:34:33
    e59d318ae34e9190f51e10544d17ab9a *POTWDVD019 - Rock Aid America - The Making of Smoke On The Water.md5
    ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34
    a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt
    ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP
    ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO
    ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12
    196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB
    ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP
    ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO
    ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07
    5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB
    ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40
    72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB
    ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47
    d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB
    ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54
    48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB
    ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34
    c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB

    of zo
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO
    196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO
    5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB
    72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB
    d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB
    48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB
    c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB


    Het is de bedoeling dat het bestand uitgelezen wordt en dan in een database komt.
    en dan de volgende waarden in de database:
    1
    2
    3
    dvd naam (zelf opgeven)
    filename (uit /md5/.txt)
    hash (uit /md5/.txt)


    Uit eindelijk is het de bedoeling:
    - dat een hash-code op te vragen is om te kijken bij welke dvd en filename het hoort.
    - dat een dvd gekozen kan worden en dat er een overzicht komt met filenames en hashcodes.
    - dat men zelf een .md5/.txt-file kan uploaden, welke gestript wordt en in de datase komt.

    Iemand enig idee :?
    of het überhaupt te doen is :?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56437145
    wederom een klein vraagje:
    Weten jullie hoe ik 1 enkele array kan verwijderen uit een tabel?
    1$query="DELETE FROM home WHERE homeID = '$id'";

    Die query, maar ik wil dus dat de andere arrays met zelfde ID blijven staan, behalve diegene die ik delete..
    Ik wil dus niet dat heel homeID 1 verdwijnt, alleen een stukje daarvan...

    edit:
    $id is een $_GET
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
    pi_56437163
    - de tekst per regel inlezen
    - als de regel met een ; begint: skippen
    - met een regexp de md5 hash en de filename eruitfilteren:

    Ongetest:
    /^([a-f0-9]{32})/ voor de md5 (het gaat om het gedeelte tussen haakjes)
    /\*(.*)$/ voor de filename

    De md5 hashcode is (per definitie!) uniek voor een bestand dus die kun je als key gebruiken in je database.
      donderdag 31 januari 2008 @ 16:49:12 #67
    62215 qu63
    ..de tijd drinkt..
    pi_56437283
    quote:
    Op donderdag 31 januari 2008 16:44 schreef Farenji het volgende:
    - de tekst per regel inlezen
    werkt dat ook met upload?
    Of is een textarea makkelijker?
    quote:
    - als de regel met een ; begint: skippen
    - met een regexp de md5 hash en de filename eruitfilteren:

    Ongetest:
    /^([a-f0-9]{32})/ voor de md5 (het gaat om het gedeelte tussen haakjes)
    /\*(.*)$/ voor de filename

    De md5 hashcode is (per definitie!) uniek voor een bestand dus die kun je als key gebruiken in je database.
    helaas niet echt
    wikipedia:
    quote:
    In 2007 is het een groep wetenschappers gelukt om twaalf verschillende PDF-bestanden te maken met dezelfde hashcode. De auteurs hebben daarmee aangetoond dat MD5 beter niet meer gebruikt kan worden als een verificatiemethode.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 31 januari 2008 @ 16:57:18 #68
    62215 qu63
    ..de tijd drinkt..
    pi_56437445
    Maar in mijn geval zijn de bestanden uniek genoeg
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 31 januari 2008 @ 16:58:47 #69
    62215 qu63
    ..de tijd drinkt..
    pi_56437471
    quote:
    Op donderdag 31 januari 2008 16:42 schreef Timens het volgende:
    wederom een klein vraagje:
    Weten jullie hoe ik 1 enkele array kan verwijderen uit een tabel?
    [ code verwijderd ]

    Die query, maar ik wil dus dat de andere arrays met zelfde ID blijven staan, behalve diegene die ik delete..
    Ik wil dus niet dat heel homeID 1 verdwijnt, alleen een stukje daarvan...

    edit:
    $id is een $_GET
    LIMIT 1?

    lama
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56437541
    quote:
    Op donderdag 31 januari 2008 16:58 schreef qu63 het volgende:

    [..]

    LIMIT 1?

    lama
    het is een DELETE niet een SELECT...?
    Steve-O - dinsdag 13 juli 2004 @ 16:17
    van mij mag je weer een ban krijgen .
    pi_56438017
    quote:
    Op donderdag 31 januari 2008 16:57 schreef qu63 het volgende:
    Maar in mijn geval zijn de bestanden uniek genoeg
    Als je echt zekerheid wil hebben dat het uniek is moet je een SHA1 hash gebruiken.
    pi_56438470
    quote:
    Op woensdag 30 januari 2008 18:57 schreef -J-D- het volgende:
    Ok, dat ga ik proberen.

    Andere vraag waar google me nog heeft kunnen helpen:
    Hoe benader ik vanuit Joomla een tabel uit de mysql-database? Ik weet de code, dat is het probleem niet. Maar waar in Joomla laat ik die opdracht achter zodat die tabel op een pagina verschijnt?
    Opgelost via Fabrik.
    Op mijn opzetje van de site kan je het werkend zien.
    Als je het ook wil en Fabrik lastig vindt, geef ik je groot gelijk.
    Ik weet ook alleen hoe ik een tabel op een site kan plaatsen.
    Meer niet.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
      donderdag 31 januari 2008 @ 18:00:14 #73
    62215 qu63
    ..de tijd drinkt..
    pi_56438789
    quote:
    Op donderdag 31 januari 2008 17:24 schreef Farenji het volgende:

    [..]

    Als je echt zekerheid wil hebben dat het uniek is moet je een SHA1 hash gebruiken.
    de kans dat een VTS_01_0.VOB van 0,99 GB van een andere film dezelfde hash heeft lijkt mij vrij klein
    MD5 voldoet dus
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      donderdag 31 januari 2008 @ 18:40:23 #74
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56439686
    quote:
    Op donderdag 31 januari 2008 17:03 schreef Timens het volgende:

    [..]

    het is een DELETE niet een SELECT...?
    LIMIT 1 werkt ook bij DELETE en lijkt mij ook de juiste oplossing voor jouw vraag
    pi_56439844
    quote:
    Op donderdag 31 januari 2008 16:42 schreef Timens het volgende:
    wederom een klein vraagje:
    Weten jullie hoe ik 1 enkele array kan verwijderen uit een tabel?
    [ code verwijderd ]

    Die query, maar ik wil dus dat de andere arrays met zelfde ID blijven staan, behalve diegene die ik delete..
    Ik wil dus niet dat heel homeID 1 verdwijnt, alleen een stukje daarvan...
    Is er iets anders unieks dat bepaalt welke (van de tig) dingen met homeID=1 weg moet en welke moet blijven staan?
    pi_56439907
    quote:
    Op donderdag 31 januari 2008 18:40 schreef Dreammaster het volgende:

    [..]

    LIMIT 1 werkt ook bij DELETE en lijkt mij ook de juiste oplossing voor jouw vraag
    Met LIMIT 1 weet je niet welk item je verwijdert. Als je 1 item wilt verwijderen is het beter om een unique key (of primary key) te gebruiken om de rij te identificeren. Dan heb je echt iets unieks.
    pi_56440510
    quote:
    Op donderdag 31 januari 2008 17:24 schreef Farenji het volgende:

    [..]

    Als je echt zekerheid wil hebben dat het uniek is moet je een SHA1 hash gebruiken.
    Ook daar zijn collisions gevonden. En met hashes ontkom je niet aan collisions of dubbelen. MD5 is 128 bit, SHA-1 is 160 bit. Er zijn veel meer dan 2160 bestanden en mogelijkheden. Anders kunnen we pas echt ruimte besparen. Complete DVD's (4GB) in 160 bits, leuke compressie
    pi_56445405
    Ik weet niet of het hier hoort maar misschien weet iemand de oplossing:

    In de volgende rewriterule heb ik het volgende probleem: hij pakt wel register en password, maar login kan hij niet vinden.
    RewriteRule ^user/(register|password|login)/?$ user/$1.php [L]
    pi_56446187
    quote:
    Op donderdag 31 januari 2008 19:15 schreef Light het volgende:
    Anders kunnen we pas echt ruimte besparen. Complete DVD's (4GB) in 160 bits, leuke compressie
    jammer dat je em niet kunt omdraaien omdat je een flink deel van de info weggooit.... maar anders was het een mooie compressiemethode geweest
    pi_56449051
    Weet iemand hier een gratis fatsoenlijk PHP editor programma met highlight code?

    Liefst met de volledige PHP library van PHP 5. (hoeft niet maar liever wel zoals dreamweaver van adobe ook heeft.)
    pi_56449409
    Notepad 2? Does the trick op kleine scriptjes.
    pi_56449538
    quote:
    Op vrijdag 1 februari 2008 01:25 schreef Geqxon het volgende:
    Notepad 2? Does the trick op kleine scriptjes.
    Weet je nog een andere voor wat grotere scripts ?

    Notepad onthoud ik
    pi_56449671
    Deze Notepad2 is het overigens, zo te zien zijn er meerdere.

    Voor grotere projecten? Ondanks dat ik er persoonlijk 0,0 ervaring mee heb, een klasgenoot van mij gebruikt deze: http://www.mpsoftware.dk/
    pi_56449731
    quote:
    Op vrijdag 1 februari 2008 01:50 schreef Geqxon het volgende:
    Deze Notepad2 is het overigens, zo te zien zijn er meerdere.

    Voor grotere projecten? Ondanks dat ik er persoonlijk 0,0 ervaring mee heb, een klasgenoot van mij gebruikt deze: http://www.mpsoftware.dk/
    Hmmm....

    Ik had een andere notepad gezien. Thanks, die ga ik gebruiken!
      vrijdag 1 februari 2008 @ 07:44:29 #85
    136730 PiRANiA
    All thinking men are atheists.
    pi_56450640
    quote:
    Op vrijdag 1 februari 2008 00:57 schreef Qunix het volgende:
    Weet iemand hier een gratis fatsoenlijk PHP editor programma met highlight code?

    Liefst met de volledige PHP library van PHP 5. (hoeft niet maar liever wel zoals dreamweaver van adobe ook heeft.)
    gPHPEdit. Werkt geweldig! Supersnelle check van je syntax en een highlighting voor php/javascript/html en nog vele anderen.

    Ik gebruik het al jaren
    Het is alleen niet voor windows
    pi_56451653
    Notepad++ FTW
    pi_56452616
    He ja, laten we het hele topic weer eens volspammen met alle mogelijke texteditors
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      vrijdag 1 februari 2008 @ 10:45:51 #88
    105263 Litso
    Interlectueel.
    pi_56453232
    quote:
    Op vrijdag 1 februari 2008 10:18 schreef SuperRembo het volgende:
    He ja, laten we het hele topic weer eens volspammen met alle mogelijke texteditors
    Hij vraagt er toch om? Als in, letterlijk?
    "Dat is echt ontzettend zielig" ©
      vrijdag 1 februari 2008 @ 10:57:12 #89
    107951 JortK
    Immer kwaliteitsposts
    pi_56453530
    quote:
    Op vrijdag 1 februari 2008 01:50 schreef Geqxon het volgende:
    Deze Notepad2 is het overigens, zo te zien zijn er meerdere.

    Voor grotere projecten? Ondanks dat ik er persoonlijk 0,0 ervaring mee heb, een klasgenoot van mij gebruikt deze: http://www.mpsoftware.dk/
    Die gebruik ik ook, die auto-completion
    pi_56456438
    quote:
    Op vrijdag 1 februari 2008 10:45 schreef Litso het volgende:

    [..]

    Hij vraagt er toch om? Als in, letterlijk?
    Het is al zo vaak voorbij gekomen. Vaak wordt het niet veel meer dan een enorme opsomming van editors waar je niet veel wijzer van wordt. Er is ook een eigen topic voor: Welke editor voor PHP?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      vrijdag 1 februari 2008 @ 13:13:07 #91
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56456791
    quote:
    Op vrijdag 1 februari 2008 12:56 schreef SuperRembo het volgende:

    [..]

    Het is al zo vaak voorbij gekomen. Vaak wordt het niet veel meer dan een enorme opsomming van editors waar je niet veel wijzer van wordt. Er is ook een eigen topic voor: Welke editor voor PHP?
    Misschien is het handig om dat topic ook even in de OP te zetten
    pi_56479805
    Hier een vraag van een php-noob.

    Ik probeer een simpele query uit die niet werkt.
    quote:
    <?php
    mysql_connect("localhost", "gebruikersnaam", "pass");
    mysql_select_db("db");

    $res = mysql_query("SELECT * FROM jos_aanmeldingen");
    mysql_free_result($res);
    ?>
    Gebruikersnaam, pass en db zijn goed ingevoerd.
    Als ik deze query uitvoer, krijg ik een leeg scherm.
    Zit er een fout in de code? Deze heb ik van een tutorialsite geleend.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56479914
    mysql_query stuurt de query naar de db-server. Zijn antwoord moet je zelf expliciet opvragen, bijvoorbeeld met http://nl3.php.net/manual/en/function.mysql-result.php of http://nl3.php.net/manual/en/function.mysql-fetch-assoc.php

    Zie de examples op die pagina's
    pi_56480260
    Dank tot zover
    Ben nu een stukje verder.

    Ik heb nu deze code in het bestand staan:
    quote:
    $res = mysql_query("SELECT * FROM jos_aanmeldingen");
    while ($row = mysql_fetch_assoc($res)) {
    echo $row["Naam"];
    echo $row["Adres"];
    echo $row["Woonplaats"];
    echo $row["Beginjaar"];
    echo $row["Laatsejaar"];
    }
    mysql_free_result($res);
    Ik dacht hiermee een overzicht te maken van die tabel. Hij pakt alleen de laatste kolom niet.
    Los dat de uitdraai er nog niet uitziet, zie ik dat Laatsejaar ontbreekt.
    zie http://85.92.147.131/~obcreunie/php/test2.php
    Ook merk ik dat mijn idee met echo $row niet werkt.
    Kan je me nog verder helpen hiermee?
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56480307
    Probeer eens "print_r($row)", dan zie je exact welke data $row bevat.
    pi_56480340
    -edit-
    Ik puzzel even verder en pas VEEL aan en kom dan later terug met een andere vraag.

    [ Bericht 27% gewijzigd door -J-D- op 02-02-2008 16:05:20 ]
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56488359
    Ik ben een oop-cms aan het bouwen en had wat voorbeeldjes gedownload omdat ik niet zo thuis ben in oop. Nou kwam ik het volgende tegen waar ik heel vreemd tegen aan kijk.

    Ik heb een class die checkt of een user is ingelogd en wat zijn status is. In die class zit een functie die er zo uit ziet:
    1
    2
    3
    4
    5
    <?php
        
    function checkLogin($user ''$pass ''$group 4$goodRedirect ''$badRedirect '') {
            [
    code]...[/code]
        }
    ?>


    Nu is één van de pagina's beveiligt en enkel te benaderen door een admin. Die beveiliging ziet er zo uit:
    1
    2
    3
    <?php
        
    if (!$classname->checkLogin(2) ){ header("Location: login.php"); die(); }
    ?>


    Zoals je ziet komen de parameters bij het aanroepen van de functie in de class niet overeen, toch werkt het. Ik begrijp niet wat hier gebeurt en hoe het werkt. Kan iemand mij uitleggen wat hier gebeurt?
    pi_56488907
    Als je die paar parameters niet meegeeft, dan vult PHP deze parameters zelf in. In het geval van "group" is dit 4. Het gaat echter wel fout als je geen "default value" meegeeft, maar dat doe jij met elke parameter. Bij goodRedirect is dit bijvoorbeeld ' '.
      zondag 3 februari 2008 @ 10:31:44 #99
    85514 ralfie
    !Yvan eht nioj
    pi_56495205
    quote:
    Op zaterdag 2 februari 2008 22:07 schreef Tarabass het volgende:
    Ik ben een oop-cms aan het bouwen en had wat voorbeeldjes gedownload omdat ik niet zo thuis ben in oop. Nou kwam ik het volgende tegen waar ik heel vreemd tegen aan kijk.

    Ik heb een class die checkt of een user is ingelogd en wat zijn status is. In die class zit een functie die er zo uit ziet:
    [ code verwijderd ]

    }
    ?>
    [/php]

    Nu is één van de pagina's beveiligt en enkel te benaderen door een admin. Die beveiliging ziet er zo uit:
    [ code verwijderd ]

    Zoals je ziet komen de parameters bij het aanroepen van de functie in de class niet overeen, toch werkt het. Ik begrijp niet wat hier gebeurt en hoe het werkt. Kan iemand mij uitleggen wat hier gebeurt?
    Ik neem aan dat je een group checked? dan zul je de eerste twee parameters moeten geven om php te laten merken dat die 2 bij de derde parameter hoort

    1
    2
    3
    <?php
    if (!$classname->checkLogin(''''2) ){ header("Location: login.php"); die(); }
    ?>
    pi_56495757
    @Geqxon
    Ik neem aan dat die 2 in de aanroep dan voor de variable group is? Want het vreemde is dat een admin group-nummer 1 heeft, maar het is dus om alleen admins op de pagina te laten. Is de meegegeven parameter dan een maximum? Want geef ik dit mee dan werkt het niet:

    1
    2
    3
    <?php
        
    if (!$classname->checkLogin(1) ){ header("Location: login.php"); die(); }
    ?>


    Editors (group 2) kunnen nu nog steeds op de pagina komen :?


    @ralfie
    Tja, dat was juist mijn vraag. Logisch gedacht check ik inderdaad de group en dan hoeven de eerste twee parameters niet meegegeven te worden, want het werkt zoals ik het er neergezet heb. Maar na wat testen begin ik te twijfelen of het wel de group is die ik check.
    pi_56496158
    quote:
    Op zondag 3 februari 2008 11:21 schreef Tarabass het volgende:
    @Geqxon
    Ik neem aan dat die 2 in de aanroep dan voor de variable group is? Want het vreemde is dat een admin group-nummer 1 heeft, maar het is dus om alleen admins op de pagina te laten. Is de meegegeven parameter dan een maximum? Want geef ik dit mee dan werkt het niet:
    [ code verwijderd ]

    Editors (group 2) kunnen nu nog steeds op de pagina komen


    @ralfie
    Tja, dat was juist mijn vraag. Logisch gedacht check ik inderdaad de group en dan hoeven de eerste twee parameters niet meegegeven te worden, want het werkt zoals ik het er neergezet heb. Maar na wat testen begin ik te twijfelen of het wel de group is die ik check.
    Als er 1 parameter wordt meegegeven dan wordt dit als eerste parameter doorgegeven. Zie ook bij Example 5.
    pi_56502176
    Kan PHP geen functies met dezelfde namen hebben? Maar dan met een andere parameter-count of andere parameters? Dus dat je twee maal checklogin hebt, maar dan met een andere parameter-count of type parameters?
      zondag 3 februari 2008 @ 16:13:14 #103
    107951 JortK
    Immer kwaliteitsposts
    pi_56502205
    quote:
    Op zondag 3 februari 2008 16:11 schreef Geqxon het volgende:
    Kan PHP geen functies met dezelfde namen hebben? Maar dan met een andere parameter-count of andere parameters? Dus dat je twee maal checklogin hebt, maar dan met een andere parameter-count of type parameters?
    Ik denk het niet ....
    pi_56502277
    quote:
    Op zondag 3 februari 2008 16:13 schreef JortK het volgende:

    [..]

    Ik denk het niet ....
    Misschien wel een toffe voor PHP6
    pi_56503043
    quote:
    Op zondag 3 februari 2008 16:11 schreef Geqxon het volgende:
    Kan PHP geen functies met dezelfde namen hebben?
    Je kunt geen echte overloads maken in PHP, maar met default waarden voor parameters of anders met func_get_args () / func_num_args() kan je wel bereiken wat jij wil.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56523007
    -opgelost-

    [ Bericht 93% gewijzigd door Chandler op 04-02-2008 13:59:49 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56525642
    Ik ben bezig met het maken van een Wordpress template, en zit even met het volgende. Bij het genereren van een <ul> met daarin alle bestaande categorieen krijg ik de volgende output:

    1
    2
    3
    4
    5
    6
    <li class="cat-item cat-item-3"><a href="http://localhost:8080/wordpress/?cat=3" title="View all posts filed under Nieuws">Nieuws</a>
    </li>
    <li class="cat-item cat-item-4 current-cat"><a href="http://localhost:8080/wordpress/?cat=4" title="View all posts filed under Filmpjes">Filmpjes</a>
    </li>
    <li class="cat-item cat-item-5 current-cat"><a href="http://localhost:8080/wordpress/?cat=4" title="View all posts filed under Opmerkelijk">Opmerkelijk</a>
    </li>


    Zoals je kan zien krijgt elk nieuwe item een cat-item-$id mee als CSS class. Nu moet mijn menu er als volgt uitzien (kleuren zijn eigenlijk bg-images maar het gaat even om het idee van het verloopje)


    Nu ben ik opzoek naar een soort PHP krabbeltje die ik in de <head> kan zetten dat de <li> class met een even ID de volgende css krijgt:

    1{background-image:url(images/menu-aan.png) no-repeat;}


    en de <li> class met een oneven ID de volgende css:

    1{background-image:url(images/menu-uit.png) no-repeat;}


    Kan iemand zo lief zijn om zoiets voor mij uit te schrijven? Volgens mij is het een best simpel iets, maar gezien ik nogal een PHP leek ben...

    Bij voorbaat dank
    you and I ain't done Zeke!
    pi_56525881
    In deze richting:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $List 
    '';
    foreach(
    $Items as $Index => $Item)
    {
        
    $Class $Index 'uit' 'aan';
        
    $List .= sprintf('<li class="%s">%s</li>'$Class'Tekst');
    }
    ?>


    Vraagje: Hoe slaan jullie booleans op in een MySQL database? gewoon als 0 als false en 1 als true?
    pi_56526838
    quote:
    Op maandag 4 februari 2008 14:20 schreef super-muffin het volgende:
    In deze richting:
    [ code verwijderd ]

    Vraagje: Hoe slaan jullie booleans op in een MySQL database? gewoon als 0 als false en 1 als true?
    Kan als enum, met 0 een 1.
    pi_56527430
    quote:
    Op maandag 4 februari 2008 14:20 schreef super-muffin het volgende:
    In deze richting:
    [ code verwijderd ]

    Vraagje: Hoe slaan jullie booleans op in een MySQL database? gewoon als 0 als false en 1 als true?
    een int en dan gewoon 0 en 1
    pi_56527782
    Ben bezig met een cronjob om een testdatabase te backuppen naar een ftp server en een gmail-adres.
    Dit lukt niet echt.
    Ik hoop dat iemand zin heeft om te helpen via msn ( msn apenstaart maarten.es )
    Dan kan die persoon namens mij misschien inloggen en kijken wat ik fout doen.

    [ Bericht 0% gewijzigd door -J-D- op 04-02-2008 16:07:20 (verkeerde msn adres :)) ]
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56528800
    quote:
    Op maandag 4 februari 2008 15:34 schreef Mordreth het volgende:

    [..]

    een int en dan gewoon 0 en 1
    Tinyint, scheelt db-ruimte. Niet dat die ruimte heel erg boeit, maar toch.
    pi_56535485
    quote:
    Op maandag 4 februari 2008 15:51 schreef -J-D- het volgende:
    Ben bezig met een cronjob om een testdatabase te backuppen naar een ftp server en een gmail-adres.
    Dit lukt niet echt.
    Ik hoop dat iemand zin heeft om te helpen via msn ( msn apenstaart maarten.es )
    Dan kan die persoon namens mij misschien inloggen en kijken wat ik fout doen.
    Probeer het nu via JomBackup.
    Die schijnt eens per dag automatisch een backup te mailen.
    Maar weet niet wanneer hij dat doet en wat hij precies verstuurd.
    Even een dagje wachten en dan zie ik het.
    I asked God for a bike, but I know God doesn't work that way.
    So I stole a bike and asked for forgiveness.
    pi_56538018
    Oke ik ben er net achtergekomen dat ik een klein foutje in m'n database heb zitten (denk ik tenminste)

    Ik heb 3 tabellen.

    - Wedstrijden
    - Competities
    - Teams

    Nu staat in de wedstrijden tabel een veld met een thuis en eentje met een uit team, beide bevatten een id die overeenkomt met het id nummer in de teams database. Hetzelfde geld voor het veld voor de competie. Nu is het met gelukt om de query te bouwen die zorgt dat de juiste compname opgepakt word.

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    SELECT
     c.comp_name
    FROM
     whufc_wedstrijden w, whufc_comps c, whufc_teams t
    WHERE
     w.wedstrijd_cid = c.comp_id
    ?>


    Maar hoe zorg ik ervoor dat zowel de juist team naam aan het thuis en uit speelende team gelink word?
    West Ham supporters, check: Dutchirons
    Dutch Football Manager Site!
    Determined to deliver, destined to dominate. - The Third Movement
    pi_56538121
    Ik gok zoiets:

    1
    2
    3
    4
    5
    SELECT c.comp_name AS Competitie, w.HIERHETVELDVOORWEDSTRIJDNAAM AS Wedstrijd, u.HIERHETVELDVOORTEAMNAAM AS Uit, t.HIERHETVELDVOORTEAMNAAM AS Thuis
    FROM whufc_comps c
    LEFT JOIN whufc_wedstrijden AS w ON c.ID = w.wedstrijd_cid
    LEFT JOIN whufc_teams AS u ON w.HIERHETVELDVOORUITID = u.ID
    LEFT JOIN whufc_teams AS t ON w.HIERHETVELDVOORTHUISID = t.ID


    Vul de hoofdletters zelf maar in.

    [ Bericht 2% gewijzigd door Geqxon op 04-02-2008 23:52:53 ]
    pi_56538153
    quote:
    Op maandag 4 februari 2008 23:47 schreef Geqxon het volgende:
    Ik gok zoiets:
    [ code verwijderd ]

    Vul de hoofdletters zelf maar in.
    Thnx, ga me gelijk weer is inlezen in die joins .
    West Ham supporters, check: Dutchirons
    Dutch Football Manager Site!
    Determined to deliver, destined to dominate. - The Third Movement
    pi_56538171
    Al is het laat en moet iemand mij waarschijnlijk wel even corrigeren.
    pi_56538236
    Ik ga er iig morgen meer klooien, ga nu slapen .
    West Ham supporters, check: Dutchirons
    Dutch Football Manager Site!
    Determined to deliver, destined to dominate. - The Third Movement
      dinsdag 5 februari 2008 @ 12:14:40 #119
    201614 Doc.Brown
    Great Scott!
    pi_56543677
    Grmbl, als ik deze query probeer te draaien dan geeft hij alsnog records weer QTY (voorraad) 0 hebben Terwijl ik toch duidelijk zeg AND QTY > 0..
    quote:
    SELECT ID, QTY, ARTIST, TITLES, MEDIA, PRICE, CTY FROM producten WHERE ARTIST LIKE 'GOODWIN & OTHERS, RON' OR TITLES LIKE 'GOODWIN & OTHERS, RON' OR LABEL LIKE 'GOODWIN & OTHERS, RON' AND QTY > 0 ORDER BY TITLES ASC
    Iemand enig idee waar dit aan kan liggen?\

    Overigens roep ik het zo aan in PHP:

    1
    2
    3
    <?php
    mysql_query
    ("SELECT ID, ARTIST, TITLES, MEDIA, PRICE, CTY FROM producten WHERE (ARTIST LIKE '%$input%') OR (TITLES LIKE '%$input%') OR (LABEL LIKE '%$input%') AND QTY > 0 ORDER BY TITLES ASC")
    ?>


    [ Bericht 15% gewijzigd door Doc.Brown op 05-02-2008 12:26:20 ]
    You have to come back with me! Back to the Future!
    pi_56544353
    Is QTY wel een integer?

    En anders: Werken met haakjes! Mogelijk leest hij het nu als "WHERE A OF B OF (C EN D)".
    pi_56544386
    Zet haakjes om de OR's

    1
    2
    3
    4
    5
    SELECT ID, ARTIST, TITLES, MEDIA, PRICE, CTY 
    FROM producten 
    WHERE ((ARTIST LIKE '%$input%') OR (TITLES LIKE '%$input%') OR (LABEL LIKE '%$input%') )
       AND QTY > 0 
    ORDER BY TITLES ASC
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 5 februari 2008 @ 13:43:46 #122
    201614 Doc.Brown
    Great Scott!
    pi_56544418
    Ah, in PHP staan wel haakjes om de individuele OR's, maar niet om álle OR's. Zal het eens proberen
    You have to come back with me! Back to the Future!
    pi_56544541
    quote:
    Op dinsdag 5 februari 2008 13:43 schreef Doc.Brown het volgende:
    Ah, in PHP staan wel haakjes om de individuele OR's, maar niet om álle OR's. Zal het eens proberen
    Het is niet zozeer dat het om alle ORs moet. In jouw geval is het "Het moet voldoen aan (A OF B OF C) EN D". En dan moet je de haakjes plaatsen zoals SuperRembo dat hierboven toont.
      dinsdag 5 februari 2008 @ 13:57:35 #124
    201614 Doc.Brown
    Great Scott!
    pi_56544574
    Ahzo! Het is inmiddels opgelost, een maat van me had iets anders geprobeerd:
    quote:
    WHERE (ARTIST LIKE '%$input%' AND QTY > 0) or (TITLES LIKE '%$input%' AND QTY > 0) or (LABEL LIKE '%$input%' AND QTY > 0)
    Dat werkt, misschien niet de meest nette oplossing dan? Maar het werkt

    In ieder geval bedankt
    You have to come back with me! Back to the Future!
    pi_56548184
    Beetje offtopic.... over crontab. Mijn timing: " 0 */4 * * * ". Dit via cPanel ingesteld, dus ik vertrouw het wel.

    Klopt het dat hij nu om 0:00, 04:00, 08:00, 12:00, 16:00 en 20:00 draait?

    Edit:
    05-02-2008 20:00 - Ran update



    [ Bericht 20% gewijzigd door Geqxon op 05-02-2008 20:02:45 ]
    pi_56550054
    quote:
    Op dinsdag 5 februari 2008 13:57 schreef Doc.Brown het volgende:
    Ahzo! Het is inmiddels opgelost, een maat van me had iets anders geprobeerd:
    [..]

    Dat werkt, misschien niet de meest nette oplossing dan? Maar het werkt

    In ieder geval bedankt
    Hou er wel rekening mee dat query's met like en wildcards aan het begin en eind een van de traagste query's zijn; mysql kan er geen gebruik maken van indexes en dat ga je echt merken als je meer dan een paar records in je tabel hebt zitten. Dan wordt het moddertraag.
    pi_56566505
    Vraagje:

    Hoe geef ik twee modes mee aan de functie file_put_contents()?

    Ik wil 'FILE_APPEND' én 'LOCK_EX' meegeven, maar weet dus niet hoe. Wat ik tot nu toe heb:
    1
    2
    3
    <?php
    file_put_contents
    ($this->errLog$this->timestamp " " implode(',',$this->errors) . "\r\n"FILE_APPEND);
    ?>


    Wie weet hoe ik ze allebei mee kan geven?
    pi_56566997
    zoals de documentatie zegt:
    quote:
    joined with the binary OR (|) operator.
    http://nl3.php.net/manual/en/function.file-put-contents.php

    dus
    1
    2
    3
    <?php
    FILE_APPEND 
    LOCK_EX
    ?>
    pi_56567880
    Vraagje, als ik op mijn lokale machine openssl wil toevoegen aan php.ini krijg ik de volgende error



    wat kan ik hier aan doen? tevens werkt openssl dan niet
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56572341
    quote:
    Op woensdag 6 februari 2008 20:03 schreef Chandler het volgende:
    Vraagje, als ik op mijn lokale machine openssl wil toevoegen aan php.ini krijg ik de volgende error

    [ afbeelding ]

    wat kan ik hier aan doen? tevens werkt openssl dan niet
    Je hebt alle benodigde dll's op de aangegeven plaats staan?
    http://www.phpbuilder.com/board/showthread.php?t=10337286
    http://www.php.net/manual/en/ref.openssl.php

    @Arjan321
    Gaan we even testen. Waarschijnlijk overheen gelezen omdat ik op zoek was naar een And/& niet naar een OR/|
      woensdag 6 februari 2008 @ 23:34:31 #131
    71919 wonderer
    Hung like a My Little Pony
    pi_56572998
    Ik heb een dropdown met een zooi kleuren waar mensen uit kunnen kiezen. De hexcode wordt dan naar een andere tabel weggeschreven, de dropdown wordt uit een tabel gegenereerd. Meestal gaat het goed, maar bij bepaalde kleuren gebeurt er iets vreemds, die pakt hij niet.

    688E23 verandert in 3e+25, maar 6B8E23 pakt hij wel gewoon. Het zijn allebei gewoon varchar(6) velden.. Ik snap er geen hol van. Iemand hier misschien?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56573160
    688E23 wordt gelezen als een getal (688 * 1023, ofwel 6,88 * 1025) en dat wordt als integer weggeschreven. Je hebt die problemen met alle hexcodes waar 1 E in zit en geen andere letter, en die E mag ook niet als eerste teken staan. Een oplossing heb ik even niet zo snel.
    pi_56573277
    688E23 is een andere manier van schrijven voor 688 * 1023. Dit werkt alleen met decimale getallen dus 6B8 ziet ie niet als een geldig getal.

    Je moet zorgen dat php de hexcodes als een string behandelt, en niet als een getal. Als je ze uitprint kun je dat bijv doen door:

    1
    2
    3
    <?php
    print $hexcode . "";
    ?>


    Je kan ook een variabele casten als een string:

    1
    2
    3
    <?php
    var $hexstring = (string) $hexcode;
    ?>
      donderdag 7 februari 2008 @ 00:13:24 #134
    71919 wonderer
    Hung like a My Little Pony
    pi_56573854
    Oooh. Heh. Okee, ga ik proberen, dank je wel.

    Edit: weird. ik dacht, laat ik settype() gebruiken. Werkte niet. Toen het trucje met .""; erachter. WErkte ook niet. Even controleren wat voor soort string het is met gettype(): string!

    En nu weet ik het niet meer Het is dus een string, waarom slaat hij het niet als zodanig op?

    [ Bericht 80% gewijzigd door wonderer op 07-02-2008 01:21:12 ]
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
      donderdag 7 februari 2008 @ 07:41:23 #135
    136730 PiRANiA
    All thinking men are atheists.
    pi_56575896
    quote:
    Op donderdag 7 februari 2008 00:13 schreef wonderer het volgende:
    Oooh. Heh. Okee, ga ik proberen, dank je wel.

    Edit: weird. ik dacht, laat ik settype() gebruiken. Werkte niet. Toen het trucje met .""; erachter. WErkte ook niet. Even controleren wat voor soort string het is met gettype(): string!

    En nu weet ik het niet meer Het is dus een string, waarom slaat hij het niet als zodanig op?
    waarom zou je niet char() doen in je database?
    pi_56577621
    quote:
    Op woensdag 6 februari 2008 23:06 schreef Tarabass het volgende:
    Je hebt alle benodigde dll's op de aangegeven plaats staan?
    http://www.phpbuilder.com/board/showthread.php?t=10337286
    http://www.php.net/manual/en/ref.openssl.php
    Ze staan op dezelfde plek als ook GD en de rest van de DLL's bestaan gewoon, maar ik vraag me af wat die %1 betekend
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 7 februari 2008 @ 10:27:23 #137
    84926 WyriHaximus
    Release the hounds smithers!
    pi_56577685
    Kort vraagje: Is het met MySQL mogelijk om in een text veld een stukje text op te zoeken en dit te vervangen met een ander stukje text? (str_replace() idee)
    phluphy for president!
    pi_56577747
    Ik denk niet dat je het met SQL zelf kunt, maar je kunt natuurlijk wel de records ophalen met die tekst, str_replace eroverheen (in PHP) en de records weer updaten
      donderdag 7 februari 2008 @ 10:40:05 #139
    84926 WyriHaximus
    Release the hounds smithers!
    pi_56577867
    quote:
    Op donderdag 7 februari 2008 10:31 schreef Xcalibur het volgende:
    Ik denk niet dat je het met SQL zelf kunt, maar je kunt natuurlijk wel de records ophalen met die tekst, str_replace eroverheen (in PHP) en de records weer updaten
    Yeah weet ik maar heeft niet men voorkeur .
    phluphy for president!
    pi_56577884
    replace string in all records from a table :
    update mytable set myfield = replace (myfield, "one", "two");
    display a modified record set
    SELECT REPLACE(myfield, 'one', 'two') from mytable;
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 7 februari 2008 @ 10:44:55 #141
    84926 WyriHaximus
    Release the hounds smithers!
    pi_56577943
    quote:
    Op donderdag 7 februari 2008 10:41 schreef Chandler het volgende:
    replace string in all records from a table :
    update mytable set myfield = replace (myfield, "one", "two");
    display a modified record set
    SELECT REPLACE(myfield, 'one', 'two') from mytable;
    Tof dankje ff proberen zo . * WyriHaximus gaat backup maken .
    phluphy for president!
    pi_56578116
    hmmm, wist ik niet
    Backup lijkt me niet onverstandig inderdaad
    pi_56582639
    Haha WyriHaximus, had niet verwacht dat jij deze niet zou kennen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 7 februari 2008 @ 14:33:59 #144
    84926 WyriHaximus
    Release the hounds smithers!
    pi_56582781
    quote:
    Op donderdag 7 februari 2008 14:25 schreef Chandler het volgende:
    Haha WyriHaximus, had niet verwacht dat jij deze niet zou kennen
    Hehe moet eerlijk zeggen dat ik de docs niet echt lekker vond smorgens voordat ik poste http://dev.mysql.com/doc/refman/4.1/en/replace.html
    phluphy for president!
    pi_56583885
    quote:
    Op donderdag 7 februari 2008 14:33 schreef WyriHaximus het volgende:
    [..]
    Hehe moet eerlijk zeggen dat ik de docs niet echt lekker vond smorgens voordat ik poste http://dev.mysql.com/doc/refman/4.1/en/replace.html
    Je moet ook naar de replace functie kijken, niet naar het replace statement
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 7 februari 2008 @ 15:50:27 #146
    84926 WyriHaximus
    Release the hounds smithers!
    pi_56584222
    quote:
    Op donderdag 7 februari 2008 15:32 schreef SuperRembo het volgende:

    [..]

    Je moet ook naar de replace functie kijken, niet naar het replace statement
    Aye . (Heb daarnaast altijd ruzie met dingen op hun site te zoeken .)
    phluphy for president!
      donderdag 7 februari 2008 @ 19:58:20 #147
    71919 wonderer
    Hung like a My Little Pony
    pi_56588995
    *zucht* Het werkt niet. Ik heb verschillende kolomtypen geprobeerd (char, tinyblob, tinytext) maar niks slaat het werkelijk als string op.

    Ik snap er geen flikker van
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56589233
    zowel (var)char als *text slaan dingen als strings op? Wat probeer je?
    pi_56589636
    Hoe zet je de gegevens in je formulier?

    Laat eens wat code zien, je moet gewoon een kleine fout hebben gemaakt
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 7 februari 2008 @ 20:42:24 #150
    71919 wonderer
    Hung like a My Little Pony
    pi_56589876
    1
    2
    3
    4
    5
    6
    <select name="kleur" id="kleur" style="background-color:#000000;color:#ffeeee;">
    <option style="color:#ffffff;" value="ffffff">wit</option>
    <option style="color:#000080;" value="000080">marine blauw</option>
    <option style="color:#000099;" value="000099">000099</option>

    etc


    En dan in de code:
    $kleur=$_POST["kleur"];
    en gewoon een update query, niks bijzonders. Hij doet het bij andere kleurcodes ook gewoon, alleen bij degene met maar een "e" erin dus niet...
    Ik haal wel alle variabelen die uit een formulier komen door een magic_quotes dinges tegen sql-injection, maar ik denk niet dat dat er iets mee te maken heeft...

    Overigens doe ik echo gettype($kleur) en echo $kleur bij het bericht dat het is opgeslagen, en daar klopt de waarde en is het een string. Er gaat dus iets mis bij het opslaan

    Als ik het er via phpMyAdmin inzet, werkt het wel, maar da's verre van ideaal natuurlijk.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56590351
    quote:
    Op maandag 4 februari 2008 23:47 schreef Geqxon het volgende:
    Ik gok zoiets:
    [ code verwijderd ]

    Vul de hoofdletters zelf maar in. :+
    Dit is hem uiteindelijk geworden:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT
             w.wedstrijd_id AS wid,
             w.wedstrijd_datum AS datum,
             t.team_naam AS thuis,
             u.team_naam AS uit,
             w.wedstrijd_score AS score,
             c.comp_name AS compnaam
          FROM
             whufc_wedstrijden w
          INNER JOIN
             whufc_teams AS t ON w.wedstrijd_thuis = t.team_id
          INNER JOIN 
             whufc_teams AS u ON w.wedstrijd_uit = u.team_id
          INNER JOIN 
             whufc_comps AS c ON w.wedstrijd_cid = c.comp_id
          WHERE
             w.wedstrijd_sid = $actsid
          ORDER BY
             w.wedstrijd_datum
    West Ham supporters, check: Dutchirons
    Dutch Football Manager Site!
    Determined to deliver, destined to dominate. - The Third Movement
    pi_56590498
    quote:
    Op donderdag 7 februari 2008 21:01 schreef MrDoegewoon het volgende:

    [..]

    Dit is hem uiteindelijk geworden:
    [ code verwijderd ]
    Top dat het gelukt is!
    pi_56591106
    quote:
    Op donderdag 7 februari 2008 20:42 schreef wonderer het volgende:

    Overigens doe ik echo gettype($kleur) en echo $kleur bij het bericht dat het is opgeslagen, en daar klopt de waarde en is het een string. Er gaat dus iets mis bij het opslaan
    Gaat het fout bij het opslaan of bij het weer uitlezen? Als je eerst opslaat en dan met phpmyadmin kijkt wat er dan staat dan heb je vast meer info

    Toevoeging: heb je ook de hele query, zoals je die in php opbouwt? Ik denk dat het daar mis gaat namelijk.

    [ Bericht 7% gewijzigd door Light op 07-02-2008 21:49:08 (Toevoeging) ]
      donderdag 7 februari 2008 @ 21:41:50 #154
    134533 donroyco
    dus niet Donroyco
    pi_56591143
    Even een tvp, wil een (simpel) gastenboek opzetten, maar weet helemaal niet waar ik moet beginnen
    Op maandag 29 september 2008 11:45 schreef HostiMeister het volgende:
    Dat is zeg maar de Nederlandse taal op een vuige keukentafel voorover buigen en hem dan zonder glijmiddel anaal verkrachten. :'(
      donderdag 7 februari 2008 @ 21:50:54 #155
    71919 wonderer
    Hung like a My Little Pony
    pi_56591339
    quote:
    Op donderdag 7 februari 2008 21:39 schreef Light het volgende:

    [..]

    Gaat het fout bij het opslaan of bij het weer uitlezen? Als je eerst opslaat en dan met phpmyadmin kijkt wat er dan staat dan heb je vast meer info

    Toevoeging: heb je ook de hele query, zoals je die in php opbouwt? Ik denk dat het daar mis gaat namelijk.
    Opslaan. Hij slaat het als numerieke waarde (of zo) op, namelijk (bijv) 7e+23. En dat is dan 688E25.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56592293
    quote:
    Op donderdag 7 februari 2008 21:50 schreef wonderer het volgende:

    [..]

    Opslaan. Hij slaat het als numerieke waarde (of zo) op, namelijk (bijv) 7e+23. En dat is dan 688E25.
    Hoe bouw je die query op in php? Als in, wat geef je mysql_query mee? Ik denk dat het daar mis gaat, en dan wel met de quotjes.
      donderdag 7 februari 2008 @ 22:57:21 #157
    71919 wonderer
    Hung like a My Little Pony
    pi_56592811
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    $d
    =connectDB();

    $result=runquery("UPDATE chat_handles SET chatname=".quote_smart($chatname,$d).", avatar=".quote_smart($avatar,$d).", kleur=".quote_smart($kleur,$d).", accesskey=".quote_smart($accesskey,$d).", description=".quote_smart($description,$d)." WHERE saveas=".quote_smart($saveas,$d)." AND username=".quote_smart($user,$d),$d);

    function 
    quote_smart($value,$dblink)
    {
     if (
    get_magic_quotes_gpc()) {
      
    $value stripslashes($value);
     }

     if (!
    is_numeric($value)) {
      
    $value "'" mysql_real_escape_string($value,$dblink) . "'";
     }
     return 
    $value;
    }
    ?>


    Helpt dit? ;)
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56593446
    de is_numeric op (688E25) geeft (waarschijnlijk) true terug, waardoor je dus geen quotes in je query krijgt, en je dus een integer (688E25) in je string kolom`kleur` probeert op te slaan.

    Om dit op te lossen kan je bijvoorbeeld een derde optionele parameter maken die forced om toch quotes om je value heen te geven..
    1
    2
    3
    4
    5
    <?php
    if (!is_numeric($value) || $force) {
      
    $value = "'" . mysql_real_escape_string($value,$dblink) . "'";
    }
    ?>


    sowieso kan je op jouw huidige manier (een hoop) onnodige conversies in je database server krijgen, omdat dingen als string worden opgeslagen maar als integer kunnen binnenkomen..
    pi_56593486
    quote:
    Op donderdag 7 februari 2008 22:57 schreef wonderer het volgende:

    [ code verwijderd ]

    Helpt dit?
    Ja Het gaat mis door de is_numeric() want is_numeric('688e23') levert true op.
    pi_56593718
    quote:
    Op donderdag 7 februari 2008 23:22 schreef Arjan321 het volgende:
    de is_numeric op (688E25) geeft (waarschijnlijk) true terug, waardoor je dus geen quotes in je query krijgt, en je dus een integer (688E25) in je string kolom`kleur` probeert op te slaan.

    Om dit op te lossen kan je bijvoorbeeld een derde optionele parameter maken die forced om toch quotes om je value heen te geven..
    [ code verwijderd ]

    sowieso kan je op jouw huidige manier (een hoop) onnodige conversies in je database server krijgen, omdat dingen als string worden opgeslagen maar als integer kunnen binnenkomen..
    Alles wat in een text/(var)char veld in een database moet komen, moet worden voorzien van quotes. En alles wat in een getalveld komt, mag juist geen quotes hebben. Niet dat MySQL zo strikt is, maar 't is beter om het goed aan te wennen.

    Ik zou het zo doen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $result
    =runquery("UPDATE chat_handles SET chatname='".quote_smart($chatname,$d)."', avatar='".quote_smart($avatar,$d)."', kleur='".quote_smart($kleur,$d)."', accesskey='".quote_smart($accesskey,$d)."', description='".quote_smart($description,$d)."' WHERE saveas='".quote_smart($saveas,$d)."' AND username='".quote_smart($user,$d)."'",$d);

    function 
    quote_smart($value,$dblink)
    {
     if (
    get_magic_quotes_gpc()) {
      
    $value stripslashes($value);
     }

     
    //Het is niet echt erg om een getal te string_escapen, het getal verandert er iig niet door.
     
    return mysql_real_escape_string($value,$dblink);
    }
    ?>
      vrijdag 8 februari 2008 @ 00:04:20 #161
    62215 qu63
    ..de tijd drinkt..
    pi_56594284
    quote:
    Op donderdag 31 januari 2008 16:44 schreef Farenji het volgende:
    - de tekst per regel inlezen
    - als de regel met een ; begint: skippen
    - met een regexp de md5 hash en de filename eruitfilteren:

    Ongetest:
    /^([a-f0-9]{32})/ voor de md5 (het gaat om het gedeelte tussen haakjes)
    /\*(.*)$/ voor de filename

    De md5 hashcode is (per definitie!) uniek voor een bestand dus die kun je als key gebruiken in je database.
    eerste regexp doet niks, en de 2e doet het half :{
    1
    2
    3
    4
    <?php
    preg_match_all
    ("/\*(.*)$/ ",$_POST["hash"],$hash);
    print_r($hash);
    ?>


    inhoud van $_PST["hash"] is
    1; Fsum Frontend v1.5.1 ; ; Generated on 2008-01-31 at 15:22:08 ; ; Size: 620 bytes, Creation date: 2006-03-15 14:34:33, Modification date: 2006-03-15 14:34:33 e59d318ae34e9190f51e10544d17ab9a *POTWDVD019 - Rock Aid America - The Making of Smoke On The Water.md5 ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34 a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11 65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12 196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23 f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07 5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40 72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47 d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54 48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34 c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB


    en de uitkomst is:
    1Array ( [0] => Array ( [0] => *VIDEO_TS\VTS_01_4.VOB ) [1] => Array ( [0] => VIDEO_TS\VTS_01_4.VOB ) )


    -O-

    iemand een tip :?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      vrijdag 8 februari 2008 @ 05:19:35 #162
    71919 wonderer
    Hung like a My Little Pony
    pi_56596557
    Ah! Okee, thanks.
    Ga ik proberen
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_56597276
    quote:
    Op vrijdag 8 februari 2008 00:04 schreef qu63 het volgende:
    iemand een tip
    http://www.regular-expressions.info/
    pi_56597597
    teeveephp
    ne okuyon, bokmu var?
    pi_56597725
    quote:
    Op vrijdag 8 februari 2008 00:04 schreef qu63 het volgende:

    inhoud van $_PST["hash"] is
    [ code verwijderd ]
    Weet je zeker dat het bestand netjes per regel wordt ingelezen? Het lijkt er op dat het een bestand van 1 regel is, of dat het als zodanig wordt ingelezen.
      vrijdag 8 februari 2008 @ 09:59:21 #166
    62215 qu63
    ..de tijd drinkt..
    pi_56598354
    quote:
    Op vrijdag 8 februari 2008 09:19 schreef Light het volgende:

    [..]

    Weet je zeker dat het bestand netjes per regel wordt ingelezen? Het lijkt er op dat het een bestand van 1 regel is, of dat het als zodanig wordt ingelezen.
    in de textarea staat het over meerdere regels verspreid, maar in de $_POST komt het als 1 regel er uit geloof ik.. Ik ga wel weer wat aanklooien
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56600366
    check eens op \r\n, \r en \n als regeleinden....
      vrijdag 8 februari 2008 @ 12:06:37 #168
    62215 qu63
    ..de tijd drinkt..
    pi_56600430
    quote:
    Op vrijdag 8 februari 2008 12:01 schreef Xcalibur het volgende:
    check eens op \r\n, \r en \n als regeleinden.... :)
    ik heb wel
    1
    2
    3
    4
    <?php
    preg_match_all
    ("/\*(.*)$/ ",str_replace("\n","<br>",$_POST["hash"]),$hash);
    print_r($hash);
    ?>

    geprobeerd, maar dan komt er
    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
    Array ( [0] => Array ( [0] => *POTWDVD019 - Rock Aid America - The Making of Smoke On The Water.md5
    ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34
    a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt
    ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP
    ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO
    ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12
    196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB
    ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP
    ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO
    ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07
    5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB
    ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40
    72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB
    ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47
    d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB
    ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54
    48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB
    ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34
    c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB ) [1] => Array ( [0] => POTWDVD019 - Rock Aid America - The Making of Smoke On The Water.md5
    ; Size: 2021 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 14:34:34
    a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt
    ; Size: 14309 bytes, Creation date: 2006-03-15 14:34:08, Modification date: 2006-03-15 14:34:09
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP
    ; Size: 26597 bytes, Creation date: 2006-03-15 14:34:10, Modification date: 2006-03-15 14:34:11
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO
    ; Size: 73701 bytes, Creation date: 2006-03-15 14:34:12, Modification date: 2006-03-15 14:34:12
    196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB
    ; Size: 114661 bytes, Creation date: 2006-03-15 14:34:13, Modification date: 2006-03-15 14:34:19
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP
    ; Size: 155621 bytes, Creation date: 2006-03-15 14:34:20, Modification date: 2006-03-15 14:34:23
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO
    ; Size: 10924005 bytes, Creation date: 2006-03-15 14:34:34, Modification date: 2006-03-15 15:24:07
    5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB
    ; Size: 1083848677 bytes, Creation date: 2006-03-15 15:24:08, Modification date: 2006-03-28 03:14:40
    72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB
    ; Size: 2156382181 bytes, Creation date: 2006-04-02 13:17:52, Modification date: 2006-04-18 10:15:47
    d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB
    ; Size: 3229100005 bytes, Creation date: 2006-04-03 14:09:27, Modification date: 2006-04-16 17:39:54
    48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB
    ; Size: 3329441765 bytes, Creation date: 2006-04-08 06:02:52, Modification date: 2006-04-08 08:19:34
    c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB ) )

    uit.

    Dan pakt ie dus weer alles..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56601554
    maar je leest het bestand niet per regel in dan?
    Dat lijkt me wel een goed begin namelijk.....

    En dan dus per regel de regex eroverheen, dan moet het een stuk overzichtelijker worden
    pi_56601889
    qu63, met deze regex krijg ik de uitgebreide variant prima geregext:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        $regular_expression 
    '#; Size: ([0-9]{1,20}) bytes, ';
        
    $regular_expression .= 'Creation date: ([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2}), ';
        
    $regular_expression .= 'Modification date: ([0-9]{4}-[0-9]{2}-[0-9]{2}) ([0-9]{2}:[0-9]{2}:[0-9]{2})';
        
    $regular_expression .= '\r\n([a-z0-9]{32})';
        
    $regular_expression .= ' \*(.*)\r\n#Us';
        
    preg_match_all($regular_expression$data$matchesPREG_SET_ORDER);
    ?>
      vrijdag 8 februari 2008 @ 13:58:22 #171
    62215 qu63
    ..de tijd drinkt..
    pi_56602311
    quote:
    Op vrijdag 8 februari 2008 13:16 schreef Xcalibur het volgende:
    maar je leest het bestand niet per regel in dan?
    Dat lijkt me wel een goed begin namelijk.....

    En dan dus per regel de regex eroverheen, dan moet het een stuk overzichtelijker worden
    ik heb er nu een textarea van gemaakt ipv een file-upload.
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      vrijdag 8 februari 2008 @ 13:58:41 #172
    62215 qu63
    ..de tijd drinkt..
    pi_56602327
    quote:
    Op vrijdag 8 februari 2008 13:36 schreef Geqxon het volgende:
    qu63, met deze regex krijg ik de uitgebreide variant prima geregext:
    [ code verwijderd ]
    thanks, ik ga daar wel ff mee spelen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56603730
    ik zit met het volgende probleem

    ik heb bijvoorbeeld een array met ingredienten die van toepassing zijn op 1 pizza en nou wil ik deze array uitlezen en er 1! link van maken dus je moet iets krijgen als:

    Link1: kaas, tomaat, ui

    wanneer ik op deze manier uitlees, dan krijg ik wel de ingredienten te zien maar dan als 3 losse linkjes alhoewel ze wel naar één document verwijzen

    1
    2
    3
    4
    5
    foreach ($ingredienten as $key => $value)

       {
       echo $value="<a href='pizza.php?id=" . $pizzaID . "'>$value</a>";
       }



    hoe kan ik dit combineren zodat die 3 losse elementen samengevoegd worden tot 1 link? dat staat wat mooier nl :)
    pi_56603920
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    echo "<a href='pizza.php?id=" $pizzaID "'>";

    foreach (
    $ingredienten as $key => $value)

       {
       echo 
    $value;
       }

    echo 
    "</a>";
    ?>


    Zoiets?
    pi_56603947
    @warezguy05: Je zou eerst door de ingrediënten kunnen loopen en daarna pas de link opbouwen?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    //bij dit voorbeeld ga ik er vanuit dat je een array hebt die
    //oplopende getallen heeft als keys
    $ingredientenlink '';
    $aantal_ingredienten count($ingredienten);
    for(
    $i 0$i$aantal_ingredienten$i++)
    {
        
    //het stukje na de . kijkt of het het laatste ingredient uit de array is
     
    $ingredientenlink .= $ingredienten[$i] . ($i == $aantal_ingredienten '' ', ');
    }
        echo 
    '<a href="pizza.php?id=' $pizzaID '">' $ingredientenlink '</a>';

    //bij dit voorbeeld maakt het niet uit wat de keys van je array zijn
    $ingredientenlink '';
    $aantal_ingredienten count($ingredienten);
    $i 1;
    foreach(
    $ingredienten as $ingredient)
    {
     
    $ingredientenlink .= $ingredient . ($i == $aantal_ingredienten '' ', ');
     
    $i++;
    }
        echo 
    '<a href="pizza.php?id=' $pizzaID '">' $ingredientenlink '</a>';
    ?>


    Edit: Geqxon was eerder.

    [ Bericht 6% gewijzigd door fokME2 op 08-02-2008 15:50:04 (ik zat niet op te letten :') ) ]
    pi_56604112
    fokME2, what the hell.
    pi_56604228
    Wat?
    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.


    [ Bericht 56% gewijzigd door fokME2 op 08-02-2008 15:51:49 ]
    pi_56604459
    Bring it on!

    1
    2
    3
    <?php
    printf
    ("<a href='pizza.php?id=%s>%s</a>"$pizzaID implode(",",$ingredienten) );
    ?>


    :6
    pi_56604515
    Ha! Daar heb je niet van terug he!
      vrijdag 8 februari 2008 @ 16:03:46 #180
    62215 qu63
    ..de tijd drinkt..
    pi_56604583
    hoe kan ik weten hoeveel matches ik heb met Geqxon's preg_match_all?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56604613
    Kleine vraag; hoe kan ik alle karakters uit een stuk test die niet a-Z0-9_- zijn verwijderen?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56604640
    quote:
    Op vrijdag 8 februari 2008 16:03 schreef qu63 het volgende:
    hoe kan ik weten hoeveel matches ik heb met Geqxon's preg_match_all?
    Als de PREG_SET_ORDER flag aan staat kan dat met "count($matches)", waarbij $matches de array met gevonden resultaten is.
    pi_56604793
    quote:
    Op vrijdag 8 februari 2008 16:06 schreef Chandler het volgende:
    Kleine vraag; hoe kan ik alle karakters uit een stuk test die niet a-Z0-9_- zijn verwijderen?
    ereg_replace("[^A-Za-z0-9]", "", $string);
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56604974
    quote:
    Op vrijdag 8 februari 2008 15:28 schreef Geqxon het volgende:

    [ code verwijderd ]

    Zoiets?
    lol ja zo simpel is het

    fokME2, ook bedankt voor de suggestie!
    pi_56605094
    Moggel

    Ik ben bezig met een projectje, bij de opzet hiervan heb ik gekozen om de page routing te laten lopen via een custom 404. Op die manier krijg je mooie urls als http://www.computeraap.com/foo/bar/. Ook kan ik zo makkelijk dingen gescheiden houden en dynamisch uitvoeren.

    Werkt allemaal prima, alleen bij het posten van een formulier naar /foo/bar/ blijft de $_POST variabele leeg, dit zal wel te maken hebben met die 404.

    Iemand misschien een oplossing hiervoor? Behalve natuurlijk alles opsplitsen in phptjes en daar naar toe posten.
      vrijdag 8 februari 2008 @ 16:37:58 #186
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56605287
    waarom niet met een ModRewrite

    [ Bericht 13% gewijzigd door Dreammaster op 08-02-2008 16:45:45 ]
      vrijdag 8 februari 2008 @ 16:55:15 #187
    62215 qu63
    ..de tijd drinkt..
    pi_56605566
    op de een of andere naier skipped die preg_match_all de laatste .VOB in de lijst
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56605660
    quote:
    Op vrijdag 8 februari 2008 16:55 schreef qu63 het volgende:
    op de een of andere naier skipped die preg_match_all de laatste .VOB in de lijst
    Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?
      vrijdag 8 februari 2008 @ 17:09:05 #189
    62215 qu63
    ..de tijd drinkt..
    pi_56605780
    quote:
    Op vrijdag 8 februari 2008 17:01 schreef Geqxon het volgende:

    [..]

    Ik zie het al. Dat komt zo te zien door de \r\n op het einde. Probeer het eens met deze weggehaald?
    dan pakt ie wel alle bestanden ja, alleen nu werken alleen de hashcodes nog, filename blijft leeg
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56607386
    quote:
    Op vrijdag 8 februari 2008 15:56 schreef Geqxon het volgende:
    Bring it on!
    [ code verwijderd ]

    :6
    O leuk, gaan we golfen? :)

    1
    2
    3
    <?php
    echo "<a href='pizza.php?id=$pizzaID'>".join(',',$ingredienten)."</a>";
    ?>
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56614942
    quote:
    Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:

    [..]

    O leuk, gaan we golfen?
    [ code verwijderd ]
    "join — Alias of implode()".

    Na-apert.
    pi_56617593
    quote:
    Op vrijdag 8 februari 2008 18:49 schreef SuperRembo het volgende:

    [..]

    O leuk, gaan we golfen?
    [ code verwijderd ]
    1<?="<a href=pizza.php?id=$pizzaID>".join(', ',$ingredienten)."</a>"



    Met spatie!

    Naja, ik ben slapen.

    [ Bericht 14% gewijzigd door fokME2 op 09-02-2008 12:45:53 ]
    pi_56625084
    Een vraagje.

    Ik gebruik het volgende

    1stristr($url_tmp, $query1)


    $url_tmp = http://www.google.nl/search?hl=nl&q=een+zoek+woord&meta=
    $query1 = q=

    maar zag ik een query afkomstig van google met aq er in :{ oftewel

    http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta=

    maar nu zou ik graag de stristr functie willen replacen met iets waarbij ik ook goed ? of & kan uitlezen.

    Heeft iemand een goed idee?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56625881
    Zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
        $url 
    "http://www.google.nl/search?hl=nl&q=een+zoek+woord&aq=een+ander+zoek+woord&meta=";
        
    $parameters parse_url($urlPHP_URL_QUERY);
        
    $parameters explode("&"$parameters);
        
    $parameter_array = array();
        
        foreach (
    $parameters as $parameter){
            list(
    $key$value) = explode("="$parameter);
            
            
    $parameter_array[$key] = $value;
        }
    ?>

    ?

    Al kan een regex ook prima.

    [ Bericht 21% gewijzigd door Geqxon op 09-02-2008 18:04:18 ]
    pi_56641611
    ik denk dat je voor het mooie zelfs het parsen van de query string kan laten uitvoeren door parse_str, http://nl3.php.net/manual/en/function.parse-str.php
    pi_56647585
    Idd Geqxon, dat is ook een optie... maar ik denk even verder
    @Arjan321: kan ook, zal er even naar kijken.

    Iets anders

    Aangezien parsen van vele sites nogal intensief is vraag ik mij af of dit (zie code) te behappen is als je bv 1000 gebruikers p/minuut op je site 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
    function getmicrotime()
    {
        list(
    $usec$sec) = explode(" "microtime());
        return ((float)
    $usec + (float)$sec);
    }
    function 
    php_get_browser($agent NULL)
    {
        
    $agent $agent $agent $_SERVER['HTTP_USER_AGENT'];
        
    $yu    = array();
        
    $q_s   = array("#\.#","#\*#","#\?#");
        
    $q_r   = array("\.",".*",".?");
        
    $brows parse_ini_file("browscap.ini"true);

        foreach (
    $brows as $k => $t)
        {
            if (
    fnmatch($k$agent))
            {
                
    $yu['browser_name_pattern'] = $k;
                
    $pat preg_replace($q_s$q_r$k);
                
    $yu['browser_name_regex'] = strtolower("^" $pat "$");

                foreach (
    $brows as $g => $r)
                {
                    if (
    $t['Parent'] == $g)
                    {
                        foreach (
    $brows as $a => $b)
                        {
                            if (
    $r['Parent'] == $a)
                            {
                                
    $yu array_merge($yu$b$r$t);
                                foreach(
    $yu as $d => $z)
                                {
                                    
    $l strtolower($d);
                                    
    $hu[$l] = $z;
                                }
                            }
                        }
                    }
                }

                break;
            }
        }
        
        return 
    $hu;
    }


    $start getMicroTime();

    if (!
    function_exists('fnmatch'))
    {
        function 
    fnmatch($pattern$string)
        {
            return @
    preg_match('/^' strtr(addcslashes($pattern'/\\.+^$(){}=!<>|'), array('*' => '.*''?' => '.?')) . '$/i'$string);
        }
    }

    echo 
    '<pre>';

    $brouwser php_get_browser();

    $brouwser['browser'] = str_replace("IE""Internet Explorer"$brouwser['browser']);

    print_r($brouwser);

    echo 
    round(getMicroTime() - $start2);
     
    ?>


    Voorbeeld: http://www.ipcounter.nl/test/getbrowser.php

    Ps. browscap.ini is ruim 300KB!

    Op mijn host kan ik namelijk geen get_browser gebruiken aangezien de browscap.ini niet gezet is
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56650353
    quote:
    Op zondag 10 februari 2008 17:34 schreef Chandler het volgende:
    Aangezien parsen van vele sites nogal intensief is vraag ik mij af of dit (zie code) te behappen is als je bv 1000 gebruikers p/minuut op je site krijgt.
    [ code verwijderd ]
    Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?

    $brouwser
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56650720
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        foreach ($brows as $k => $t)
        {
        [..]
        
            foreach ($brows as $g => $r)
                {
                [..]
                        foreach ($brows as $a => $b)
                        {
                        [..]
                                $yu = array_merge($yu, $b, $r, $t);
                                foreach($yu as $d => $z)


    Dit lijkt me niet echt optimaal, heel zachtjes uitgedrukt.
    pi_56650794
    quote:
    Op zondag 10 februari 2008 19:59 schreef SuperRembo het volgende:

    [..]

    Wat is er zo vreselijk interessant aan welke browser/os een bezoeker precies gebruikt, waarom zou je daar zo veel webserverpower aan verspillen?

    $brouwser
    Ja ja Brouwser

    Maaruh gewoon, ik wil deze statistieken bewaren
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56651063
    quote:
    Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:

    [..]

    Ja ja Brouwser

    Maaruh gewoon, ik wil deze statistieken bewaren
    Dan zal je nog het een en ander moeten optimaliseren, want nu haal je nog geen 15 pagina's per seconde.
    Als ik me goed herinner is foreach niet de snelste manier om door een array te lopen. Je zou ook een scriptje kunnen schrijven die de browsecap.ini file om zet naar een php inlcude file waar je alvast wat voorbereiding hebt gedaan. Je kan er dan ook voor zorgen dat de meest populaire browsers vooraan staan en de zeldzame achteraan.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      zondag 10 februari 2008 @ 21:09:43 #201
    85514 ralfie
    !Yvan eht nioj
    pi_56651974
    Met wat voorwerk kun je dat script véél efficienter maken.. Enkele voorbeelden:

    *gebruik eerst array_key_search oid, grote kans dat de meeste browsers er dan al uitrollen zonder dat je die hele tabel 400 keer op en neer moet

    * foreach: niet gebruiken. Foreach gebruikt een kopie van de array waar je um op zet, dus als je array om en nabij de 300 kb is en je foreach in foreach in foreach lust ben je niet slim bezig

    * Verschillende keren zie je parent=naamxxxx staan. Kijk eens of je daar een numerieke verwijzing aan kan hangen, gaat veel sneller

    * Splitsen van browserherkenning en info in verschillende bestanden, bijvoorbeeld met binary trees

    * Erg omslachtig natuurlijk, maar databases zijn erg goed in het snel opzoeken van dit soort informatie in dit soort tabellen

    etc

    EDIT, oh enneh

    1
    2
    3
    4
    5
    6
    <?php
    foreach ($brows as $g => $r)
                {
                    if (
    $t['Parent'] == $g)
                    {
    ?>

    Wat is er mis met $brows[ $t['parent'] ] ?
    pi_56652088
    -

    [ Bericht 94% gewijzigd door Geqxon op 10-02-2008 21:15:13 ]
    pi_56654741
    quote:
    Op zondag 10 februari 2008 20:16 schreef Chandler het volgende:

    [..]

    Ja ja Brouwser

    Maaruh gewoon, ik wil deze statistieken bewaren
    Dan is het toch voldoende om $_SERVER['HTTP_USER_AGENT'] op te slaan bij iedere request?
    pi_56655448
    Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!

    Ps. Is het handig om alle data zoals, dag, maand, jaar, cookies, plugins, referer, zoekwoorden en dergelijke infomatie in 1 tabel te zetten of is het handiger om dit in apparte tabellen te zetten?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56655770
    quote:
    Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
    Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!

    Ps. Is het handig om alle data zoals, dag, maand, jaar, cookies, plugins, referer, zoekwoorden en dergelijke infomatie in 1 tabel te zetten of is het handiger om dit in apparte tabellen te zetten?
    Is dat niet nog simpeler? Enkel de browser-string opslaan, en pas bij het uitlezen deze "encoden" ?
    pi_56656589
    quote:
    Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
    Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!
    Die functie werkt toch ook op basis van de browserstring? Dus meer heb je echt niet nodig.

    Trouwens, een browserstring is manipuleerbaar. Je kunt er geen 100% garantie uit halen. Ik heb zo snel geen voorbeeld van een programma waar je die string volledig zelf kunt bepalen, maar er zijn vast wel van die programma's.
      zondag 10 februari 2008 @ 23:54:06 #207
    62215 qu63
    ..de tijd drinkt..
    pi_56656715
    quote:
    Op zondag 10 februari 2008 23:47 schreef Light het volgende:

    [..]

    Die functie werkt toch ook op basis van de browserstring? Dus meer heb je echt niet nodig.

    Trouwens, een browserstring is manipuleerbaar. Je kunt er geen 100% garantie uit halen. Ik heb zo snel geen voorbeeld van een programma waar je die string volledig zelf kunt bepalen, maar er zijn vast wel van die programma's.
    Er zijn legio plugins voor FireFox waar je het mee kan doen, ikzelf gebruik "Modify Headers", kan je alles zelf invullen
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56656895
    "User Agent Switcher".
    pi_56656904
    Waarom wil je in godensnaam al die dingen opslaan? Als je zo graag die dingen wil hebben ga dan gewoon je apache logs parsen?
    quote:
    Apache/2.0.59 (Unix) mod_perl/1.99_17-dev Perl/v5.8.6 mod_ssl/2.0.59 OpenSSL/0.9.8e PHP/5.2.3 Server at www.ericbruggema.nl Port 80
    Edit: Je hebt realtime statistieken die je aanbied oid? Dan schiet het inderdaad niet op.

    [ Bericht 53% gewijzigd door fokME2 op 11-02-2008 00:08:20 ]
    pi_56657040
    quote:
    Op zondag 10 februari 2008 23:01 schreef Chandler het volgende:
    Ik heb nu een functie gemaakt die idd de meest gangbare browsers detecteerd, maar om er zeker van te zijn ga ik nu ook gewoon de browser string opslaan!

    Ps. Is het handig om alle data zoals, dag, maand, jaar, cookies, plugins, referer, zoekwoorden en dergelijke infomatie in 1 tabel te zetten of is het handiger om dit in apparte tabellen te zetten?
    Het is niet handig om dat nu allemaal op te slaan. Ten eerste ga je nooit al die info nodig hebben of gebruiken en ten tweede hoef je niet alles te berekenen - sla alleen de data op waaruit je de info kan destilleren,gewoon in ruwe vorm. Dan maak je later wel een scriptje om de benodigde velden te berekenen. Als je het on the fly gaat bereken met dat scriptje dat je hebt gepost dan trek je de server snel op zijn bek denk ik.
    pi_56659140
    @Iedereen; het scriptje dat browscap.ini parst ga ik niet gebruiken. Aangezien het toch nogal wat preformance vraagt van de server. Ik doe nu gewoon 2 dingen voor mijn statistieken script. 1 is de $_SERVER['HTTP_USER_AGENT'] opslaan plus dat ik deze string op een paar bekende browsers check, en deze sla ik ook weer op.

    Iemand nog een antwoord op mijn gebruik van de database? is dit te behappen wat ik doe of moet ik apparte tabellen voor alle onderdelen gebruiken?

    [PHP/(My)SQL] voor dummies - deel 55
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56659413
    quote:
    Op maandag 11 februari 2008 08:04 schreef Chandler het volgende:
    @Iedereen; het scriptje dat browscap.ini parst ga ik niet gebruiken. Aangezien het toch nogal wat preformance vraagt van de server. Ik doe nu gewoon 2 dingen voor mijn statistieken script. 1 is de $_SERVER['HTTP_USER_AGENT'] opslaan plus dat ik deze string op een paar bekende browsers check, en deze sla ik ook weer op.

    Iemand nog een antwoord op mijn gebruik van de database? is dit te behappen wat ik doe of moet ik apparte tabellen voor alle onderdelen gebruiken?

    [PHP/(My)SQL] voor dummies - deel 55
    Deze vraag is al vaker langsgeweest, ook op Tweakers.... dus met even zoeken moet je er wel komen

    Volgens mij (uit m'n hoofd) is de meest gangbare manier om alles apart in 1 tabel, maar na een week / maand / jaar / etc. samen te vatten in een nieuwe tabel met alleen de totalen. Op die manier blijft je logtabel te behappen, en kan je gemakkelijk de overzichten maken

    Het lijkt me niet onverstandig om aparte tabellen maken voor de browsers, schermresolutie, etc. en daar alleen de unieke waarden in opslaan. Dan heb je in je logtabel alleen nog een ID nodig, dat lijkt me een stuk sneller en eenvoudiger te verwerken...
    pi_56660114
    Ik heb even gezocht op Tweakers en daar staat dat het handiger is om alles in 1 tabel te stoppen ik ben dus al goed bezig! maar denk dat het toch handiger is voor mij om een tabel voor tekst en een tabel voor nummeriek op te zetten. Zo splits ik wat data en zal het zoeken / lezen van records sneller gaan!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas maandag 11 februari 2008 @ 11:52:24 #214
    1972 Swetsenegger
    Egocentrische Narcist
    pi_56662397
    Daar ben ik weer eens.

    Momenteel ben ik met een scriptje bezig waarbij de pagina die je voorgeschotelt krijgt afhankelijk is van welk persoon de pagina bekijkt. Nu kan ik dat uiteraard met een login script doet, maar aangezien het nogal vaak gebruikt moet worden is dat niet erg gebruiksvriendelijk.

    Nu zit ik hier op het bedrijfsnetwerk en zijn mensen uiteraard al ingelogd. LDAP dus.

    Ondertussen kan ik al info uit de LDAP server lezen, maar ik wil nu de credentials waar mensen mee zijn ingelogd vergelijken met de server om te authenticeren. Maar..., ik dnek dat ik het niet goed benader, want je credentials worden denk ik niet in de header info meegestuurd ofzo? Is dit uberhaupt mogelijk?
    pi_56662622
    quote:
    Op maandag 11 februari 2008 11:52 schreef Swetsenegger het volgende:
    Daar ben ik weer eens.

    Momenteel ben ik met een scriptje bezig waarbij de pagina die je voorgeschotelt krijgt afhankelijk is van welk persoon de pagina bekijkt. Nu kan ik dat uiteraard met een login script doet, maar aangezien het nogal vaak gebruikt moet worden is dat niet erg gebruiksvriendelijk.

    Nu zit ik hier op het bedrijfsnetwerk en zijn mensen uiteraard al ingelogd. LDAP dus.

    Ondertussen kan ik al info uit de LDAP server lezen, maar ik wil nu de credentials waar mensen mee zijn ingelogd vergelijken met de server om te authenticeren. Maar..., ik dnek dat ik het niet goed benader, want je credentials worden denk ik niet in de header info meegestuurd ofzo? Is dit uberhaupt mogelijk?
    Draait de webserver toevallig in hetzelfde domain als waar de gebruikers ingelogd zijn?
    1
    2
    3
    <?php
    $_SERVER
    ['LOGON_USER']
    ?>
    of
    1
    2
    3
    <?php
    $_SERVER
    ['AUTH_USER']
    ?>
    is dan een optie. Werkt enkel onder IIS, voor Apache heb je mod_ntlm nodig.
      FOK!-Schrikkelbaas maandag 11 februari 2008 @ 12:52:11 #216
    1972 Swetsenegger
    Egocentrische Narcist
    pi_56663546
    quote:
    Op maandag 11 februari 2008 12:02 schreef Geqxon het volgende:

    [..]

    Draait de webserver toevallig in hetzelfde domain als waar de gebruikers ingelogd zijn?
    [ code verwijderd ]

    of
    [ code verwijderd ]

    is dan een optie. Werkt enkel onder IIS, voor Apache heb je mod_ntlm nodig.
    Hij draait in hetzelfde domain, onder apache
    mod ntlm heb ik volgens mij al, ik ga ff checken, thanks

    -edit- herinner me nu dat ik me een jaar geleden al eens de tering gezocht heb. mod_ntlm is in apache2 vervangen door mod_auth_sspi

    [ Bericht 10% gewijzigd door Swetsenegger op 11-02-2008 13:06:47 ]
    pi_56664027
    @Chandler: Als ik jou was zou ik die server strings opslaan voor de stats en dan met een cronjob periodiek de info bereken etc. Dan lopen je grafieken wel xx tijd achter, maar dan heb je denk ik wel de meeste performance.

    Als ik als gebruiker de pagina laad, dan sla je alleen mijn browser-string op en merk ik verder geen traagheid.

    @Swetsenegger: Met LDAP authorisatie heb ik ook eens gespeeld en het werkte goed. Ik dacht dat ik er een classe voor had gebruikt. Misschien dat ik het thuis nog kan vinden.
    pi_56664392
    Zoals ik al eerder in dit topic aangaf ben ik bezig met een oop-cms. Alles gaat lekker alleen loop ik tegen een probleempje aan. Inloggen gaat goed, session-variables worden geset, en de user wordt doorgestuurd naar de index page. Daar include ik een 'safe-file' die check of de session is aangemaakt, die safe.php ziet er zo uit:

    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
    <?php
    require_once('includes/dbconnector.class.php');
    $connector = new DbConnector();

    if(isset(
    $_SESSION['user_id'])) {
        
    //Login correct, update lastactive in db
        
    $connector->query("UPDATE cmsusers SET lastactive=NOW() WHERE id='".$_SESSION['user_id']."'");
    }
    else{
        if(isset(
    $_COOKIE['user_id'])) {
            
    $result = $connector->query("SELECT pass,thegroup FROM cmsusers WHERE id='".$_COOKIE['user_id']."'");
            
    $row = $connector->fetchArray($result);

            
    $dbpass = $row->pass;
            
    $dbstatus = $row->thegroup;
            if(
    $dbpass == $_COOKIE['user_password']) {
                
    $_SESSION['user_id'] = $_COOKIE['user_id'];
                
    $_SESSION['user_status'] = $dbstatus;
            }
            else {
                
    setcookie("user_id", "", time() - 3600);
                
    setcookie("user_password", "", time() - 3600);
                echo
    "Cookies incorrect. Cookies verwijderd.";
                
    header("Location: login.php");
            }
        }
        else{
            
    //Hij blijft hierheen gaan
            
    header("Location: login.php");
        }
    }
    ?>


    Echter blijft de safe-file redirecten naar de login-page. Ik heb getest of de session is geset en dit is zeker weten het geval. Zien jullie wat ik verkeerd doe, want dit is erg frustrerend :(

    ps: Heb deze manier van werken al in een andere website gebruikt en daar werkte het perfect. Met een safe.php en een safe_admin.php beveiligde ik de pages, met een redirect naar login.php. Dit was echter wel zonder classes..
      FOK!-Schrikkelbaas maandag 11 februari 2008 @ 13:55:10 #219
    1972 Swetsenegger
    Egocentrische Narcist
    pi_56664631
    quote:
    Op maandag 11 februari 2008 13:16 schreef fokME2 het volgende:

    @Swetsenegger: Met LDAP authorisatie heb ik ook eens gespeeld en het werkte goed. Ik dacht dat ik er een classe voor had gebruikt. Misschien dat ik het thuis nog kan vinden.
    Ik had alles blijkbaar al eens geconfigureerd, en de login is nu transparant (met IE, met elke andere browser krijg je gewoon een login prompt). Maar.... ik wil nu de username terug vinden van degene die op de pagina zit. De suggesties van geqxon geeft niets terug en ook $_SERVER['PHP_AUTH_USER'] geeft niets terug.
    pi_56664691
    Swets, wat mij bij staat is dat als je de boel met .htaccess en .htpasswd beveiligd, dat Internet Explorer dan eerst met de username en password van de domein-gebruiker in probeert te loggen. Misschien een optie?
      FOK!-Schrikkelbaas maandag 11 februari 2008 @ 14:11:46 #221
    1972 Swetsenegger
    Egocentrische Narcist
    pi_56664894
    quote:
    Op maandag 11 februari 2008 13:58 schreef Geqxon het volgende:
    Swets, wat mij bij staat is dat als je de boel met .htaccess en .htpasswd beveiligd, dat Internet Explorer dan eerst met de username en password van de domein-gebruiker in probeert te loggen. Misschien een optie?
    Nee, de authenticatie op zich werkte al, ik kon alleen nog niet achterhalen wie de ingelogde gebruiker was. In principe mag elke gebruiker van het domein op die pagina komen, maar afhankelijk van de gebruiker kan het zijn dat je andere opties hebt.

    $_SERVER['REMOTE_USER']; does the trick
    pi_56665009
    quote:
    Op maandag 11 februari 2008 13:40 schreef Tarabass het volgende:
    Zoals ik al eerder in dit topic aangaf ben ik bezig met een oop-cms. Alles gaat lekker alleen loop ik tegen een probleempje aan. Inloggen gaat goed, session-variables worden geset, en de user wordt doorgestuurd naar de index page. Daar include ik een 'safe-file' die check of de session is aangemaakt, die safe.php ziet er zo uit:
    [ code verwijderd ]

    Echter blijft de safe-file redirecten naar de login-page. Ik heb getest of de session is geset en dit is zeker weten het geval. Zien jullie wat ik verkeerd doe, want dit is erg frustrerend

    ps: Heb deze manier van werken al in een andere website gebruikt en daar werkte het perfect. Met een safe.php en een safe_admin.php beveiligde ik de pages, met een redirect naar login.php. Dit was echter wel zonder classes..
    Laat de login.php eens zien, want volgens mij set je je cookies niet goed.

    Edit: En dit gaat uiteraard ook niet werken:

    1
    2
                echo "Cookies incorrect. Cookies verwijderd.";
                header("Location: login.php");


    Want een header sturen na output is natuurlijk te laat.
    "Reality is an illusion created by a lack of alcohol."
    pi_56665089
    quote:
    Op maandag 11 februari 2008 13:40 schreef Tarabass het volgende:
    Zoals ik al eerder in dit topic aangaf ben ik bezig met een oop-cms. Alles gaat lekker alleen loop ik tegen een probleempje aan. Inloggen gaat goed, session-variables worden geset, en de user wordt doorgestuurd naar de index page. Daar include ik een 'safe-file' die check of de session is aangemaakt, die safe.php ziet er zo uit:
    [ code verwijderd ]

    Echter blijft de safe-file redirecten naar de login-page. Ik heb getest of de session is geset en dit is zeker weten het geval. Zien jullie wat ik verkeerd doe, want dit is erg frustrerend

    ps: Heb deze manier van werken al in een andere website gebruikt en daar werkte het perfect. Met een safe.php en een safe_admin.php beveiligde ik de pages, met een redirect naar login.php. Dit was echter wel zonder classes..
    Waarschijnlijk gaat het ophalen van de sessie data niet goed in je safe include. Initialiseer je de sessie wel goed?
    Die safe include is overigens niet echt oop.
    Het idee achter OOP is dat je functionaliteit groepeert in logische bouwblokken waaruit je je applicatie opbouwt. Het is dan logisch om een session class te maken, waar je alle session management in regelt. Eventueel zou je die sessie class deel kunnen laten uitmaken van de user class (als in: wel aparte classes maar een user object bevat/encapsuleert een session object). Het idee is dan dat je een objectmethode maakt (bijv $user->isLoggedIn()) die je overal kan gebruiken. Deze methode van de class user kijkt dan in de sessie (maw in het sessie object dat in het user object zit) van betreffende user of alles ok is en geeft dan een 1 (ingelogd) of een 0 (niet ingelogd) terug. Aan de hand daarvan kun je dan de gevraagde pagina tonen of redirecten naar de loginpagina.
    pi_56665119
    quote:
    Op maandag 11 februari 2008 14:18 schreef Dzy het volgende:

    [..]

    Laat de login.php eens zien, want volgens mij set je je cookies niet goed.

    Edit: En dit gaat uiteraard ook niet werken:
    [ code verwijderd ]

    Want een header sturen na output is natuurlijk te laat.
    De login gebruikt een functie in een class om in te loggen en eventueel cookies te zetten.

    Cookies worden zo gezet:

    1
    2
    3
    4
    5
    6
    <?php
        
    function setCookie($userid$userpass) {
            
    setcookie("user_id"$useridtime() + 365 86400);
            
    setcookie("user_password"$userpasstime() + 365 86400);
        }
    ?>
    pi_56665188
    Als je je code even duidelijk indent zie je dat hij dus altijd over de if constructie met isset(cookie) heen knalt. Daarom moeten je cookies wel niet goed staan. Ik hoop dat je wel session_start ook aanroept he?
    "Reality is an illusion created by a lack of alcohol."
    pi_56665203
    quote:
    Op maandag 11 februari 2008 14:22 schreef Farenji het volgende:

    [..]

    Waarschijnlijk gaat het ophalen van de sessie data niet goed in je safe include. Initialiseer je de sessie wel goed?
    Die safe include is overigens niet echt oop.
    Het idee achter OOP is dat je functionaliteit groepeert in logische bouwblokken waaruit je je applicatie opbouwt. Het is dan logisch om een session class te maken, waar je alle session management in regelt. Eventueel zou je die sessie class deel kunnen laten uitmaken van de user class (als in: wel aparte classes maar een user object bevat/encapsuleert een session object). Het idee is dan dat je een objectmethode maakt (bijv $user->isLoggedIn()) die je overal kan gebruiken. Deze methode van de class user kijkt dan in de sessie (maw in het sessie object dat in het user object zit) van betreffende user of alles ok is en geeft dan een 1 (ingelogd) of een 0 (niet ingelogd) terug. Aan de hand daarvan kun je dan de gevraagde pagina tonen of redirecten naar de loginpagina.
    Dat is inderdaad de bedoeling. Maar omdat het niet werkte ben ik eerst een stap terug gegaan naar een losse file waarin gecheckt wordt of de sessie wel bestaat. De functionaliteit komt inderdaad in een functie in de sentry-class die ik dan bovenaan de pages aanroep. Maar nogmaals, classes zijn nieuw voor mij en daarom probeer ik eerst op een manier wat duidelijk voor mij is de code uit.

    De sessie bestaat overigens wel (en wordt ook aangemaakt door de class 'sentry' in dit geval) want in het menu heb ik linkjes verborgen achter een "if(isset($_SESSION['user_id']))" en die linkjes zie ik ook na inloggen..
    pi_56665294
    Als de sessie daadwerkelijk zou bestaan zou hij niet naar login.php gaan. Doe eens een var_dump op $_SESSION en op $_COOKIE boven de if-then-else constructies.
    "Reality is an illusion created by a lack of alcohol."
    pi_56665368
    quote:
    Op maandag 11 februari 2008 14:34 schreef Dzy het volgende:
    Als de sessie daadwerkelijk zou bestaan zou hij niet naar login.php gaan. Doe eens een var_dump op $_SESSION en op $_COOKIE boven de if-then-else constructies.
    Geeft inderdaad NULL, terwijl de linkjes in het menu in het if(isset($_SESSION['user_id'])-statement wel worden weergegeven :S
    pi_56665442
    Het heeft inderdaad te maken met session_start, terwijl ik die wel in de class 'sentry' in de function login() aanroep en daarna de variables vul. Als ik dus op de index.php voor de include van safe.php session_start() meegeef doet hij het wel.
    pi_56666420
    Werd er niet per ongeluk al output gegenereerd? (Denk het niet want dan zou je header redirect ook niet werken maar je weet het maar nooit). Kan ook whitespace zijn.
    "Reality is an illusion created by a lack of alcohol."
    pi_56669502
    quote:
    Op maandag 11 februari 2008 15:41 schreef Dzy het volgende:
    Werd er niet per ongeluk al output gegenereerd? (Denk het niet want dan zou je header redirect ook niet werken maar je weet het maar nooit). Kan ook whitespace zijn.
    Nee, ik weet al waar het in zat. De session werd gestart in de constructor van de sentry-class, maar die had een verkeerde naam. Nu werkt alles zoals het moet. Erg bedankt voor het meedenken want zo wist ik welke richting ik op moest zoeken
    pi_56670929
    Ik heb nog een leuke, ik wil records verwijderen maar de 10 meest recente laten staan... hoe kan ik dit verwezenlijken zonder een query te doen op het aantal regels?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56671611
    1
    2
    3
    4
    5
    6
    7
    DELETE FROM foo
    WHERE id NOT IN (
       SELECT id 
       FROM foo
       ORDER BY created DESC
       LIMIT 10
    )


    (Als je niet een hele oude MySQL versie gebruikt)
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 11 februari 2008 @ 20:45:22 #234
    74523 BaggerUser
    ModderFokker!
    pi_56671683
    hoi,

    ben aan het proberen om advertenties van marktplaats uit te lezen en op die manier ook op een eigen site te zetten (anders moeten ze altijd twee keer worden toegevoegd op twee verschillende sites en dat is nogal een werk.

    ik heb op dit moment dit:

    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
    <?php
    function getLine($page$keyword$pattern) { 
      foreach (
    $page as $line_num => $line) { 
        if(
    strstr($line$keyword)){ 
          if(
    ereg($pattern$line$output)){ 
            
    $result $line_num
          } 
        } 
      } 
      return 
    $result


    // URL van de pagina die doorzocht moet worden
    $url "http://auto.marktplaats.nl/audi/132476134-150x-audi-a3-a4-a6-tdi-golf-4-5-tdi-benzine-seat-leon-tdi.html?return=eJwdyEEOgyAQheG7mOiuIJIuxBhDb0KURiLIhBmTpk3v3qGbme9%2FzijzCaaf0Ki7Mg16V9Z92onASHlk8KdIrhwE0TlCcUbpLso35LcFuY5a7JTi8oqz6jacKbfaqlY%2FIh87%2FjVU6SpivQMw8bkhBwvq2DMS7%2Fa8ki9h5cwYuIcO4Jr7Zvr%2BAA4JNF8%3D&fta=eNptVm1uGzkMvcv86G%2FxSxQ1yBX2CoFRp10DTmLETje7Qe5ejuiRVGBRIGheKJKPfCTnUEv9vPqP5f3t%2FPjrcL4uq%2F8qdfk4P8C34%2FXh9lphPUM1%2F4nVaD3f6n%2Bny3r9cbzW9XKraX2%2B1Jf356e30%2Ff1%2FFGREpmt53%2BrYC6E6%2Bv1VPHb5fL%2BkDbnXJfL4efTsp7c8bVSXU5Hj3qokKh%2BntzftVpdgJA1A%2FFuuGGOFEoFNgx3OyZjQ9ww6naKRilvGO9Y9oeU2luZ7LLG2zxjSLJhuscQIvEoG1Z2Oyol59Ji2PQWC2vLeSfCnjUxBpHOhPw5SoA4WeaC1MDORVjBCTawkwFk49SShIkNmHJYdjqIbgwtddBumYATRZ6dEEKyogHujJBLLqW0QNgZpYyg1vLEzsgdkFe5gZ2RgKjlFh07I1A1k9LAzkjZgCh8zowYc%2FicGgRkUU%2FUP5K%2F%2B%2ByMMmQQaAVBG3mqsjZL6oxcsm4YItoZEWlJrsMG4oievCQtT6KhBXMdtjypMxIyUAiwM3K5qVJEzyNPcbU2RqRDIQRQInoZfUeQFNE7I05IaO05pylPL12rPMMfeQZN7oxQsfifGjgYKakEd%2B6MCF3yGpajR5i8nG2ueDAyTUnj%2BaQ6E5YmMC4TqG7dwJ0RFSWy0qokQ3VIHijAzojZhHJ7LqNH2ew%2BMtIZ5eLMpSlZOiMvvc9hamBnJEmdaWyKPGTjC4rjuQ4li9cvno%2FFQFuRIs%2BhOvHB5tajnOYWl1hxecyR7ymJPZXHZrDs%2FWyVzzTRlBJTnHkabSixGfLOyIWYwCB8jh7l5AsjwM4oS1aOec9ltMPdcmOUbci7METjNE0poUrTvMLw6XoIeStOYGFqpVOaQGVqKSnPzzWUrDJbQmot1s6IuKQcI6M6gwUjzzKDEHOkNoMYNMvoEXjqsVjKdIcsSYih9EOUIXGOFpcxRwSC1miWoTp2IUJYDkbmF4rixuReedmSj%2BidkfcS%2FV8Dy3Qafau20pXBKPkaCJqWRuOEOU6PzZdVfEIaOHrki94XYwNptqQ4E8b9QLrs7sNlMhaLOB4%2Bp81QXLOR0pij7NA9z3GPkGw%2FsPY%2FXwCQ0uzUBzzQaZJE7mvVpTI8%2BCxu%2BX9d%2FcrW5fZ6ORyvj%2Benl5%2B3v%2FevCEh1%2Bf7%2B9vZ4ejk%2BfWzoPdbz4eNx%2B37xT5ZjbHCsy%2BGfZf3r%2Ft9f27dMqp9fX78BmNgwHA%3D%3D&fta_ind=1&df=1"

    // Naar welk begindeel moet er worden gezocht:
    $search1 'Vermogen'

    // Naar welk einddeel moet er worden gezocht: 
    $search2 'Cylinderinhoud'

    // Wat moeten er van die regel worden opgenomen:
    // Het patroon maakt gebruik van reguliere expressies 
    //$pattern = '.*'; 
    $pattern '.*.'

    //////

    $lines file($url); 
    $begin getLine($lines$search1$pattern); 
    $end getLine($lines$search2$pattern); 

    for(
    $i=$begin$i $end$i++) { 
      echo 
    $lines[$i]; 

      
    ?>


    probleem waar ik mee zit (ik heb even een willekeurige advertentie gepakt, zie link in script)

    is dat ik de bovenste info wel kan uitlezen , maar de onderste info (in het 2e kopje dus oa die met cyllinderinhoud) niet. iemand enig idee hoe dat kan?

    sowieso, niet iemand die een minder omslachtige manier weet?
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_56672763
    quote:
    Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

    [ code verwijderd ]

    (Als je niet een hele oude MySQL versie gebruikt)
    Handig!
    Wist niet dat MySQL ook kon sorteren op created
    ne okuyon, bokmu var?
    pi_56672955
    quote:
    Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

    [ code verwijderd ]

    (Als je niet een hele oude MySQL versie gebruikt)
    "created? Geniaal, die maakte ik normaal altijd zelf.

    Bestaat "updated" ook?
    pi_56673072
    "created" is gewoon een veld in de tabel, die moet wel bestaan of moet je zelf aanmaken. Maar als je "created" van het type timestamp maakt en het is de enige timestamp in de tabel, dan wordt ie automatisch uptodate gehouden door MySQL, met de tijd van laatste aanpassing, of creatie van het database record.
    pi_56673270
    O, ik dacht dat MySQL dat veld altijd zelf aanmaakt. In dat geval hou ik het wel zoals ik het nu doe, een veld date_added en een veld date_updated.
    pi_56673680
    quote:
    Op maandag 11 februari 2008 21:51 schreef Geqxon het volgende:
    O, ik dacht dat MySQL dat veld altijd zelf aanmaakt. In dat geval hou ik het wel zoals ik het nu doe, een veld date_added en een veld date_updated.
    En die noem ik dus meestal created en modified
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56677138
    quote:
    Op maandag 11 februari 2008 18:55 schreef Tarabass het volgende:

    [..]

    Nee, ik weet al waar het in zat. De session werd gestart in de constructor van de sentry-class, maar die had een verkeerde naam. Nu werkt alles zoals het moet. Erg bedankt voor het meedenken want zo wist ik welke richting ik op moest zoeken
    Geen probleem. Blij dat het gelukt is.

    Een korte vraag deze keer maar vooral even laten weten wat voor tofs ik aan het maken ben

    Ik en mijn vrienden hebben best wel een gedeelde muzieksmaak (livesets van DJs) en hebben samen wel een verzameling van zo'n 2 terabyte. Nu heb ik helaas niet genoeg ruimte om dat alles op te slaan, net als de rest overigens. Nu heb ik ze zo ver gekregen dat ze allemaal wel een FTP servertje willen draaien maar om niet moeilijk te doen met FTP clients en rechten instellen en files slepen gaan ze gewoon allemaal 1 root account aanmaken die overal bij kan en dan kunnen ze zelf bestanden aan de database toevoegen (locatie welke FTP server en waar op de FTP server). Mijn files komen rechtstreeks van mijn webserver die hier dus draait af. Dat werkt allemaal prima, maar als iemand een bestand wil downloaden die op een van de andere FTP servers draait moet mijn webserver eerst dat ding daarvandaan downloaden en dan versturen. Is er niet iets mogelijk dat die rechtstreeks daarvandaan gedownload word zonder met een FTP client in te loggen en toch niet die dubbele download te hebben? Of bijvoorbeeld mogelijk om elke 1024 bytes die de server download alvast door te sturen naar de downloader? Daar ken ik het FTP protocol niet goed genoeg voor en ik weet ook niet of daar al ftp classes voor zijn.

    Iemand een idee?
    "Reality is an illusion created by a lack of alcohol."
    pi_56677976
    quote:
    Op maandag 11 februari 2008 13:40 schreef Tarabass het volgende:
    Zoals ik al eerder in dit topic aangaf ben ik bezig met een oop-cms. Alles gaat lekker alleen loop ik tegen een probleempje aan. Inloggen gaat goed, session-variables worden geset, en de user wordt doorgestuurd naar de index page. Daar include ik een 'safe-file' die check of de session is aangemaakt, die safe.php ziet er zo uit:
    [ code verwijderd ]

    Echter blijft de safe-file redirecten naar de login-page. Ik heb getest of de session is geset en dit is zeker weten het geval. Zien jullie wat ik verkeerd doe, want dit is erg frustrerend :(

    ps: Heb deze manier van werken al in een andere website gebruikt en daar werkte het perfect. Met een safe.php en een safe_admin.php beveiligde ik de pages, met een redirect naar login.php. Dit was echter wel zonder classes..
    Je hebt het al opgelost, maar er zijn toch nog een paar puntjes waar je op kunt letten:

    1
    2
    3
    4
    5
    6
    7
    <?php
            $result 
    $connector->query("SELECT pass,thegroup FROM cmsusers WHERE id='".$_COOKIE['user_id']."'");
            
    $row $connector->fetchArray($result);

            
    $dbpass $row->pass;
            
    $dbstatus $row->thegroup;
    ?>


    $_COOKIE is externe input en dus onbetrouwbaar. Je geeft $_COOKIE['user'] mee als string (terwijl het waarschijnlijk een integerwaarde is) en dan mag je daar wel mysql_real_escape_string() overheen halen. Of iets als intval() om er een integer van te maken.

    Ik ken je functie fetchArray niet, maar de naam doet mij vermoeden dat er een array wordt opgehaald en dat $row dus een array wordt. Die kun je dan niet uitlezen met $row->pass, wel met bijvoorbeeld $row[0] of $row['pass'], afhankelijk van de opbouw van de array.
    pi_56678098
    quote:
    Op maandag 11 februari 2008 20:42 schreef SuperRembo het volgende:

    [ code verwijderd ]

    (Als je niet een hele oude MySQL versie gebruikt)
    En als ik nu wel een iets te oude versie heb
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56678136
    quote:
    Op dinsdag 12 februari 2008 07:44 schreef Chandler het volgende:

    [..]

    En als ik nu wel een iets te oude versie heb
    Dan moet je eens kijken naar de mogelijkheden om te upgraden
    pi_56678334
    True True! maar als die mogelijkheid er nu niet is?

    [ Bericht 85% gewijzigd door Chandler op 12-02-2008 10:21:52 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56678835
    Mijn hosting-provider gebruikt altijd de laatste versie van PHP, MySQL en cPanel.
    pi_56681545
    quote:
    Op dinsdag 12 februari 2008 08:30 schreef Chandler het volgende:
    True True! maar als die mogelijkheid er nu niet is?
    Dan moet je het in 2 aparte queries doen: eerst een lijst van de recente records ophalen, en deze vervolgens wissen in een tweede query. Veel queries met subqueries kun je herschrijven tot een enkelvoudige query, maar bovenstaande is een goed voorbeeld waar dat niet kan.

    Ik zit overigens op mijn werk ook opgescheept met mysql 4.0 (uit debian sarge), die heeft geen subquery support.
    Upgraden van tientallen servers en bovendien met software die niet 100% op nieuwere versies draait is niet zo makkelijk. Maar binnenkort moeten we wel, dat wordt dus nog leuk...
    pi_56682923
    * saban heeft nog steeds genoeg vrije tijd over om iets te bouwen .. ben er nog steeds niet uit 'wat'

    Gastenboek? Heb je binnen paar uur klaar.
    Factuursysteem? Kan, lijkt me leuk met FPDF bijv..
    More?
    ne okuyon, bokmu var?
    pi_56683118
    Doe maar een factuursysteem waarbij de facturen ook opgeslagen worden in de database eventueel ook een klanten tabel! plus opslag van facturen om eventueel bij nieuwe layout de facturen in een nieuwe layout te zetten
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56684003
    quote:
    Op dinsdag 12 februari 2008 13:24 schreef saban het volgende:
    * saban heeft nog steeds genoeg vrije tijd over om iets te bouwen .. ben er nog steeds niet uit 'wat'

    Gastenboek? Heb je binnen paar uur klaar.
    Factuursysteem? Kan, lijkt me leuk met FPDF bijv..
    More?
    Loginsysteem met challenge-response systeem, sessie management en verschillende userrollen?
    Automatische login en username/password opvragen met een 'geheime vraag' zijn leuke extra's
      dinsdag 12 februari 2008 @ 15:14:02 #250
    74523 BaggerUser
    ModderFokker!
    pi_56684701
    quote:
    Op maandag 11 februari 2008 20:45 schreef BaggerUser het volgende:
    hoi,

    ben aan het proberen om advertenties van marktplaats uit te lezen en op die manier ook op een eigen site te zetten (anders moeten ze altijd twee keer worden toegevoegd op twee verschillende sites en dat is nogal een werk.

    ik heb op dit moment dit:
    [ code verwijderd ]

    probleem waar ik mee zit (ik heb even een willekeurige advertentie gepakt, zie link in script)

    is dat ik de bovenste info wel kan uitlezen , maar de onderste info (in het 2e kopje dus oa die met cyllinderinhoud) niet. iemand enig idee hoe dat kan?

    sowieso, niet iemand die een minder omslachtige manier weet?

    iemand?
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_56685023
    quote:
    Op dinsdag 12 februari 2008 15:14 schreef BaggerUser het volgende:

    [..]

    iemand?
    Weet je zeker dat je geen typo hebt gemaakt met Cylinder?
    "Reality is an illusion created by a lack of alcohol."
    pi_56685686
    quote:
    Op dinsdag 12 februari 2008 13:35 schreef Chandler het volgende:
    Doe maar een factuursysteem waarbij de facturen ook opgeslagen worden in de database eventueel ook een klanten tabel! plus opslag van facturen om eventueel bij nieuwe layout de facturen in een nieuwe layout te zetten
    Weet je toevallig ook een gratis (webbased) facturatiesysteem?
    ne okuyon, bokmu var?
    pi_56686158
    dompdf.
    pi_56686346
    quote:
    Op dinsdag 12 februari 2008 16:17 schreef saban het volgende:

    [..]

    Weet je toevallig ook een gratis (webbased) facturatiesysteem?
    Was het maar waar, dan zou ik daar zekers gebruik van maken
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56687281
    Leuke vraag,

    Wat is het verschil met tinyint(1) en tinyint(2) etc, zelfde geld voor INT
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56687661
    quote:
    Op dinsdag 12 februari 2008 12:01 schreef Farenji het volgende:

    Ik zit overigens op mijn werk ook opgescheept met mysql 4.0 (uit debian sarge), die heeft geen subquery support.
    Upgraden van tientallen servers en bovendien met software die niet 100% op nieuwere versies draait is niet zo makkelijk. Maar binnenkort moeten we wel, dat wordt dus nog leuk...
    Dat ken ik. Nog leuker is het als je iets maakt voor een klant en er dan achter komt dat het niet werkt omdat er php-instellingen niet goed staan. Dingen als register_globals en magic_quotes_gpc mogen wmb wel uit, maar sommige hosters laten het niet toe dat aan te passen (zelfs niet met .htaccess bestandjes)
    pi_56687672
    quote:
    Op dinsdag 12 februari 2008 18:05 schreef Chandler het volgende:
    Leuke vraag,

    Wat is het verschil met tinyint(1) en tinyint(2) etc, zelfde geld voor INT
    Niets, tenzij je zerofill aanzet. En da's een overbodige optie, want dat past beter in een presentatie-layer.
    pi_56687762
    quote:
    Op dinsdag 12 februari 2008 18:05 schreef Chandler het volgende:
    Leuke vraag,

    Wat is het verschil met tinyint(1) en tinyint(2) etc, zelfde geld voor INT
    Dit getal heeft alleen invloed op eventuele padding, en alleen als je ZEROFILL voor de kolom aanzet. Het heeft geen invloed op wat je in het veld kan stoppen of hoeveel ruimte je nodig hebt. Dus als je de waarde 1 in een tinyint(3) stopt in een veld met zerofill, komt dat eruit als 001.
    pi_56688640
    Ik dacht vroeger altijd dat dat het gereserveerde geheugen voor het integer veld was.
    pi_56691878
    Duidelijk!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56696078
    Hebben jullie nog een idee hoe ik die FTP stream ga aanpakken? Ik heb nog wat meer onderzoek gedaan en de beste keuze is denk ik:

    1
    2
    3
    <?php
    ftp
    -nb-fget
    ?>


    Deze streamt het naar een non-blocking (betekent het dat ik hem gelijktijdig kan uitlezen?) file die ik dan elke seconde kan checken en het nieuwe gedeelte doorsturen. Zo kan ik het in chunks van 1 mb doen en dan weer opnieuw requesten van de ftp zodat ik het memory gebruik laag houdt.

    Edit: Maar hoe pak ik dit aan? Met welke functies kan ik die file snel checken hoeveel hij groter is en dat nieuwe gedeelte doorflushen naar de browser?
    "Reality is an illusion created by a lack of alcohol."
      woensdag 13 februari 2008 @ 12:29:05 #262
    39436 Dreammaster
    Dat zei je moeder vannacht ook
    pi_56701196
    quote:
    Op dinsdag 12 februari 2008 18:35 schreef Farenji het volgende:

    [..]

    Dit getal heeft alleen invloed op eventuele padding, en alleen als je ZEROFILL voor de kolom aanzet. Het heeft geen invloed op wat je in het veld kan stoppen of hoeveel ruimte je nodig hebt. Dus als je de waarde 1 in een tinyint(3) stopt in een veld met zerofill, komt dat eruit als 001.
    er van uitgaande dat het veld unsigned is:
    een tinyint(1) kan 10 verschillende waardes hebben namelijk 0 t/m 9
    een tinyint(2) kan 100 verschillende waardes hebben 0 t/m 99
    een tinyint(3) kan 256 verschillende waardes hebben 0 t/m 255

    signed:
    een tinyint(1) kan 19 verschillende waardes hebben namelijk -9 t/m 9
    een tinyint(2) kan 199 verschillende waardes hebben -99 t/m 99
    een tinyint(3) kan 256 verschillende waardes hebben -128 t/m 127

    -edit- bron
    pi_56702297
    quote:
    Op woensdag 13 februari 2008 12:29 schreef Dreammaster het volgende:

    [..]

    er van uitgaande dat het veld unsigned is:
    een tinyint(1) kan 10 verschillende waardes hebben namelijk 0 t/m 9
    een tinyint(2) kan 100 verschillende waardes hebben 0 t/m 99
    een tinyint(3) kan 256 verschillende waardes hebben 0 t/m 255

    signed:
    een tinyint(1) kan 19 verschillende waardes hebben namelijk -9 t/m 9
    een tinyint(2) kan 199 verschillende waardes hebben -99 t/m 99
    een tinyint(3) kan 256 verschillende waardes hebben -128 t/m 127

    -edit- bron
    Goed lezen:
    quote:
    The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters.
    pi_56707353
    Even een vraag:

    1
    2
    3
    4
    5
    6
    7
    <?php
                $GLOBALS
    ['queries']++;
                
    $GLOBALS['query'][$GLOBALS['queries']] = array("sql"   => $sql,
                                                               
    "start" => $start,
                                                               
    "end"   => $end,
                                                               
    "time"  => round($end $start2));
    ?>


    Ik krijg een error op lijn 51.

    Unkown error type: [2] Cannot use a scalar value as an array

    wat kan dit betekenen?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56707742
    $GLOBALS['query'] zal wel geen array zijn. Een beetje zelf debuggen kan geen kwaad (var_dump van $GLOBALS bijvoorbeeld).
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56707995
    Was wel een array! maar blijkbaar heeft het gebruik gemaakt van een variabel die ook $query heet! ik heb de namen gerenamed en zag deze error niet meer!.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56708923
    quote:
    Op woensdag 13 februari 2008 17:56 schreef Chandler het volgende:
    Was wel een array! maar blijkbaar heeft het gebruik gemaakt van een variabel die ook $query heet! ik heb de namen gerenamed en zag deze error niet meer!.
    Dan heb je die variabele waarschijnlijk als global in een functie gebruikt. Dan komt hij namelijk automatisch ook in de $GLOBALS array te staan.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56714311
    Ik heb een functie gemaakt om <tr> en <td> inclusief waardes weer te geven, zodat ik geen html door mijn code heb staan.
    Kan dit beter/makkelijker/netter?

    Functie:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    function MakeTD($tr_start,$width,$height,$bgcolor,$value,$tr_end)
    {
        
    $td    =    '';
        if (!empty(
    $tr_start)) {
            
    $td .=    '<tr>';
        }
        
        if (empty(
    $bgcolor)) {
            
    $td .=    '<td width="'$width .'" height="'$height .'">'$value .'</td>';
        } else {
            
    $td .=    '<td width="'$width .'" height="'$height .'" bgcolor="#'$bgcolor .'">'$value .'</td>';
        }
        
        if (!empty(
    $tr_end)) {
            
    $td .=    '</tr>';
        }
        
        echo 
    $td;
    }
    ?>


    Beginnend met <tr> een <td>waarde</td>:
    1
    2
    3
    4
    5
    6
    <?php
    MakeTD
    ("tr","70","25","000","waarde","");

    // output:
    // <tr><td width="70" height="25" bgcolor="#000">waarde</td>
    ?>


    Een aantal <td>waardes</tr> zonder beginnend of eindigend met <tr>
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    MakeTD
    ("","70","25","000","waardes","");
    MakeTD("","70","25","000","waardes","");
    MakeTD("","70","25","000","waardes","");

    // output:
    // <td width="70" height="25" bgcolor="#000">waardes</td>
    // <td width="70" height="25" bgcolor="#000">waardes</td>
    // <td width="70" height="25" bgcolor="#000">waardes</td>
    ?>


    En natuurlijk afsluiten met </tr>:
    1
    2
    3
    4
    5
    6
    <?php
    MakeTD
    ("","70","25","000","waardes","tr");

    // output:
    // <td width="70" height="25" bgcolor="#000">waardes</td></tr>
    ?>
    ne okuyon, bokmu var?
    pi_56714578
    Wat ik me nu zo bedenk is dat ik van MakeTD(); gewoon MakeTable(); moet maken.
    $start_table, $table_width, $table_bgcolor, $table_end toevoegen aan mijn functie en ik kan een tabel in html maken
    ne okuyon, bokmu var?
    pi_56714922
    Wat dacht je ervan om een complete table-array in een object te gooien?

    Verder, heb je dan echt zoveel tabellen nodig?
    pi_56715104
    quote:
    Op woensdag 13 februari 2008 22:23 schreef Geqxon het volgende:
    Wat dacht je ervan om een complete table-array in een object te gooien?

    Verder, heb je dan echt zoveel tabellen nodig?
    Moet veel overzichten weergeven
    ne okuyon, bokmu var?
    pi_56715273
    Voorbeeld van hoe mijn Menu class er uit ziet:

    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
    <?php
    class Menu{

       private $selected;
       
       public function Menu($selected){
          $this->selected = $selected;
       }
       
       public function getOutput(){
          global $input_parent;
       
          $result = mysql_query(" SELECT Name, HTML FROM mod_parent ORDER BY Sort ASC ");
          
          $output = '<ul id="menu">';
          
          if ($result){
             $first = true;

             while ($row = mysql_fetch_assoc($result)){
                $selected = ($this->selected == $row['Name']);
                $classes = array();
             
                if ($first){
                   $classes[] = 'first';
                }
                if ($selected){
                   $classes[] = 'selected';
                }
                
                $first = false;
                $class = (!empty($classes)) ? ' class="'.implode(" ", $classes).'"' : '';
             
                $output .= sprintf('<li%s><a href="%s?parent=%s">%s</a></li>', 
                               $class, 
                               BASE_PAGE, 
                               mod_format_string($row['Name']),
                               mod_format_string($row['HTML']));
             }
          }
          
          $output .= '</ul>';
          
          return $output;
       }
    }
    ?>


    Yeah I know, Smarty ownage, maar voor kleinschalige dingetjes vind ik dit prima werken. :)
    pi_56715317
    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
    <?php
    function MakeTable($table_start,$table_width,$table_bgcolor,$tr_start,$td_width,$td_height,$td_bgcolor,$td_value,$tr_end,$table_end)
    {
        
    $table    =    '';
        
        if (!empty(
    $table_start) AND empty($table_bgcolor)) {
            
    $table    .=    '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="'$table_width .'">';
        }
        
        if (!empty(
    $table_start) AND !empty($table_bgcolor)) {
            
    $table    .=    '<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="'$table_width .'" bgcolor="#'$table_bgcolor .'">';
        }
        
        if (!empty(
    $tr_start)) {
            
    $table .=    '<tr>';
        }
        
        if (empty(
    $td_bgcolor)) {
            
    $table .=    '<td width="'$td_width .'" height="'$td_height .'">'$td_value .'</td>';
        } else {
            
    $table .=    '<td width="'$td_width .'" height="'$td_height .'" bgcolor="#'$td_bgcolor .'">'$td_value .'</td>';
        }

        if (!empty(
    $tr_end)) {
            
    $table .=    '</tr>';
        }
        
        if (!empty(
    $table_end)) {
            
    $table .=    '</table>';
        }
        
        echo 
    $table;
    }

    MakeTable("table_start","500","000000","tr","100","30","ffffff","waarde van veld 1","","");
    MakeTable("","","","","100","30","ffffff","de waarde van veld 2","","");
    MakeTable("","","","","100","30","ffffff","de waarde van veld 3","","");
    MakeTable("","","","","100","30","ffffff","de waarde van veld 4","","");
    MakeTable("","","","","100","30","ffffff","de waarde van veld 5","tr","table_end");

    // output:
    //
    // <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="500" bgcolor="#000000">
    // <tr>
    // <td width="100" height="30" bgcolor="#ffffff">waarde van veld 1</td>
    // <td width="100" height="30" bgcolor="#ffffff">de waarde van veld 2</td>
    // <td width="100" height="30" bgcolor="#ffffff">de waarde van veld 3</td>
    // <td width="100" height="30" bgcolor="#ffffff">de waarde van veld 4</td>
    // <td width="100" height="30" bgcolor="#ffffff">de waarde van veld 5</td>
    // </tr>
    // </table>
    ?>
    ne okuyon, bokmu var?
    pi_56715579
    @saban: Is het geen idee om sommige opties als array mee te geven?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        $td_style 
    = array(
                            
    'width' => '70px',
                            
    'height' => '25px',
                            
    'bgcolor' => '#000'
                                                
    );
        
    $td_options = array(
                                                
    'class' => 'blabla classe'
                                                
    );
        
    MakeTD("waarde",$td_options$td_style);
    ?>


    Als je dan vaak dezelfde waardes gebruikt kan je het makkelijk aanpassen door een array in je config oid. Je kan het zo gek niet bedenken!

    Edit: Je hebt zelf al geklust. Misschien dat het tijd wordt voor classes!
    pi_56715748
    quote:
    Op woensdag 13 februari 2008 22:43 schreef fokME2 het volgende:
    @saban: Is het geen idee om sommige opties als array mee te geven?
    [ code verwijderd ]

    Als je dan vaak dezelfde waardes gebruikt kan je het makkelijk aanpassen door een array in je config oid. Je kan het zo gek niet bedenken!

    Edit: Je hebt zelf al geklust. Misschien dat het tijd wordt voor classes!
    Zo ver ben ik nog niet dat ik met classes kan werken.
    Ben bezig met teveel dingen tegelijk. Zit ook een beetje te knoeien met CSS

    Vandaag mijn eerste 'ontwerp' in CSS met DIV'jes gemaakt
    ne okuyon, bokmu var?
    pi_56716376
    quote:
    Op woensdag 13 februari 2008 22:47 schreef saban het volgende:

    [..]

    Zo ver ben ik nog niet dat ik met classes kan werken.
    Ben bezig met teveel dingen tegelijk. Zit ook een beetje te knoeien met CSS

    Vandaag mijn eerste 'ontwerp' in CSS met DIV'jes gemaakt
    Voor hetgene wat je wil is het gewoon heel geschikt.

    @CSS: Gooi het eens door de w3-validator?
    pi_56716427
    quote:
    Op woensdag 13 februari 2008 23:05 schreef fokME2 het volgende:

    [..]

    Voor hetgene wat je wil is het gewoon heel geschikt.

    @CSS: Gooi het eens door de w3-validator?
    Haha, zou ik niet durven. Heb pas vandaag geleerd hoe CSS (DIV'jes) ongeveer werkt, ga niet gelijk door een validator
    ne okuyon, bokmu var?
    pi_56723307
    Weet iemand een handige functie die het zelfde werkt als addslashes / magic quotes en ga zo maar door!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 14 februari 2008 @ 14:24:48 #279
    136730 PiRANiA
    All thinking men are atheists.
    pi_56727254
    quote:
    Op donderdag 14 februari 2008 11:27 schreef Chandler het volgende:
    Weet iemand een handige functie die het zelfde werkt als addslashes / magic quotes en ga zo maar door!
    escape of
    mysql_real_escape_string
    ?
    pi_56731828
    quote:
    Op donderdag 14 februari 2008 11:27 schreef Chandler het volgende:
    Weet iemand een handige functie die het zelfde werkt als addslashes / magic quotes en ga zo maar door!
    Als je een functie zoekt die hetzelfde doet als addslashes zou ik toch addslashes willen adviseren
    Maar eigenlijk wil je wat anders vragen vermoed ik....?
    pi_56733625
    Ik heb een cms geschreven zelf. Heel simpel, je kan pagina's aanmaken, met titel enzo. Maar hoe kan ik het makkelijkst, en het veiligst die informatie uit een database halen. In zon database staat de inhoud van de pagina, de titel enz. Moet ik dat met een GET doen? Ik dacht zelf aan iets, dat je gewoon een .html moet intypen, maar dat hij dan stiekem in php de pagina pakt. Dus bijvoorbeeld: about.html , moet op een manier, met php een variable about krijgen. Als ik die variable heb, is het genoeg.
      donderdag 14 februari 2008 @ 19:42:41 #282
    85514 ralfie
    !Yvan eht nioj
    pi_56733723
    quote:
    Op donderdag 14 februari 2008 19:37 schreef Flaccid het volgende:
    Ik heb een cms geschreven zelf. Heel simpel, je kan pagina's aanmaken, met titel enzo. Maar hoe kan ik het makkelijkst, en het veiligst die informatie uit een database halen. In zon database staat de inhoud van de pagina, de titel enz. Moet ik dat met een GET doen? Ik dacht zelf aan iets, dat je gewoon een .html moet intypen, maar dat hij dan stiekem in php de pagina pakt. Dus bijvoorbeeld: about.html , moet op een manier, met php een variable about krijgen. Als ik die variable heb, is het genoeg.
    dat kan met mod_rewrite, maar dat is geen php (maar meer een optie van de serversoftware zelf). Google er maar eens op, zat voorbeelden
    pi_56733857
    quote:
    Op donderdag 14 februari 2008 19:42 schreef ralfie het volgende:

    [..]

    dat kan met mod_rewrite, maar dat is geen php (maar meer een optie van de serversoftware zelf). Google er maar eens op, zat voorbeelden
    dat is pittig. Hoe kan ik het dan het beste doen?
    pi_56733941
    quote:
    Op donderdag 14 februari 2008 19:37 schreef Flaccid het volgende:
    Ik dacht zelf aan iets, dat je gewoon een .html moet intypen, maar dat hij dan stiekem in php de pagina pakt. Dus bijvoorbeeld: about.html , moet op een manier, met php een variable about krijgen. Als ik die variable heb, is het genoeg.
    Waarom denk je dat dat veiliger is dan bijvoorbeeld about.php of index.php?page=about?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_56734080
    Het beste werkt dat gewoon via multiviews.

    @SuperRembo: hij gelooft in security through obscurity gok ik zo. Niet dat dat ook maar voor ene flikker werkt maar ach, ieder zijn ding, zolang je alsnog maar nooit vertrouwt wat de user opgeeft dan komt alles goed.
    pi_56734226
    quote:
    Op donderdag 14 februari 2008 19:53 schreef SuperRembo het volgende:

    [..]

    Waarom denk je dat dat veiliger is dan bijvoorbeeld about.php of index.php?page=about?
    iemand zei dat als je include door get doet, dat het dan mis gaat?
    pi_56734305
    Als jij gewoon

    1
    2
    3
    <?php
    include( 'content/' $_GET'content' ] . '.php' );
    ?>

    Doet dan kan het inderdaad gruwelijk misbruikt worden ja. Als jij echter ook een array gebruikt (of uit de database) met toegestane waarden is het wel redelijk proof hoor

    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
    <?php
    # Allowed content
    $allowed = array( 'home''foo''bar' );

    # Check for content and if content in allowed
    if( isset( $_GET'content' ] ) AND in_array$_GET'content' ], $allowed ) )
    {

      
    # Allowed
      
    include( 'content/' $_GET'content' ] . '.php' );

    }
    elseif( 
    false == isset( $_GET'content' ] ) )
    {

      
    # Not set

    }
    elseif( 
    false == in_array$_GET'content' ], $allowed ) )
    {

      
    # Not allowed

    }
    ?>
    pi_56734393
    quote:
    Op donderdag 14 februari 2008 20:09 schreef colourAgga het volgende:
    Als jij gewoon
    [ code verwijderd ]

    Doet dan kan het inderdaad gruwelijk misbruikt worden ja. Als jij echter ook een array gebruikt (of uit de database) met toegestane waarden is het wel redelijk proof hoor
    [ code verwijderd ]
    Ja dat doe ik ook altijd zo.

    is het btw ook mogelijk/moeilijk sms berichten te versturen/ontvangen via php?
    pi_56734415
    quote:
    Op donderdag 14 februari 2008 20:14 schreef Flaccid het volgende:

    [..]

    Ja dat doe ik ook altijd zo.

    is het btw ook mogelijk/moeilijk sms berichten te versturen/ontvangen via php?
    Er zijn zat diensten waar je sms-credits in kan kopen en vervolgens met PHP via een API berichten kan versturen.
    pi_56734542
    quote:
    Op donderdag 14 februari 2008 20:15 schreef colourAgga het volgende:

    [..]

    Er zijn zat diensten waar je sms-credits in kan kopen en vervolgens met PHP via een API berichten kan versturen.
    Had namelijk een idee voor een script:
    Een online cijferkaart, waar je je cijfers naar kan toe sms'en, en dat ie dan automatisch het gemiddelde uitrekent en dergelijken. Wat je dan ook weer via sms kan opvragen. Met format: 8.5 nederlands 3x - cijfer , vak, weging. Ook kan je online toevoegen en bekijken. Is het een goed idee of te complex?
    pi_56734647
    quote:
    Op donderdag 14 februari 2008 20:20 schreef Flaccid het volgende:

    [..]

    Had namelijk een idee voor een script:
    Een online cijferkaart, waar je je cijfers naar kan toe sms'en, en dat ie dan automatisch het gemiddelde uitrekent en dergelijken. Wat je dan ook weer via sms kan opvragen. Met format: 8.5 nederlands 3x - cijfer , vak, weging. Ook kan je online toevoegen en bekijken. Is het een goed idee of te complex?
    Goed idee, kun je beter zelf bepalen. Ik ga niet naar school. Kijk of er vraag is, zoek eventueel een investeerder, schrijf een goede robuuste applicatie. Kom met een plan om er geld mee te verdienen en gaan!
    pi_56734854
    quote:
    Op donderdag 14 februari 2008 20:24 schreef colourAgga het volgende:

    [..]

    Goed idee, kun je beter zelf bepalen. Ik ga niet naar school. Kijk of er vraag is, zoek eventueel een investeerder, schrijf een goede robuuste applicatie. Kom met een plan om er geld mee te verdienen en gaan!
    Als 16 jarige is dat lastig allemaal.
    pi_56734904
    quote:
    Op donderdag 14 februari 2008 20:36 schreef Flaccid het volgende:

    [..]

    Als 16 jarige is dat lastig allemaal.
    Da's helemaal niet zo lastig, als je meer vragen hebt over technisch/financieel haalbaar moet je me maar contacten via mail/msn op adres in mijn profiel anders slibt het hier ook weer zo dicht
    pi_56735577
    Niemand die iets weet van FTP files downloaden en tijdens het downloaden al doorflushen naar de browser?
    "Reality is an illusion created by a lack of alcohol."
    pi_56735916
    quote:
    Op donderdag 14 februari 2008 20:38 schreef colourAgga het volgende:

    [..]

    Da's helemaal niet zo lastig, als je meer vragen hebt over technisch/financieel haalbaar moet je me maar contacten via mail/msn op adres in mijn profiel anders slibt het hier ook weer zo dicht
    added @ msn
    pi_56736016
    quote:
    Op donderdag 14 februari 2008 21:09 schreef Dzy het volgende:
    Niemand die iets weet van FTP files downloaden en tijdens het downloaden al doorflushen naar de browser?
    http://nl3.php.net/ftp/#ftp.examples ?
    pi_56737503
    quote:
    ik denk dat hij een filmpje aan het downloaden is die op60% is en hij al een deel wil zien?
      donderdag 14 februari 2008 @ 22:53:45 #298
    62215 qu63
    ..de tijd drinkt..
    pi_56737994
    Maar goed dat ik niet mn hersen ben gaan breken over die hash-pagina

    een *.BUP en een *.IFO zijn net zo groot en hebben dezelfde hash

    a9417892c908eef3c573220b6a24c3bf *POTWDVD019.txt
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.BUP
    65eccd74397d7a6fa403d871f30870a1 *VIDEO_TS\VIDEO_TS.IFO

    196d82e1f7afacc6ea4f4a1caa0dbc2f *VIDEO_TS\VIDEO_TS.VOB
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.BUP
    f7e5eb930e876929c42064702dc9a111 *VIDEO_TS\VTS_01_0.IFO

    5defea3427c04218c81dff47ee69f1a0 *VIDEO_TS\VTS_01_0.VOB
    72b9c827ec29e43ce356b8733e5e2957 *VIDEO_TS\VTS_01_1.VOB
    d1db84986d126e5838f167bd52e3be56 *VIDEO_TS\VTS_01_2.VOB
    48e67b2589ddc5e60ef2e156d4e23b0b *VIDEO_TS\VTS_01_3.VOB
    c308f264d32ff5b645e9b9485e7b34c1 *VIDEO_TS\VTS_01_4.VOB
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_56738131
    Het is intern niet gewoon hetzelfde bestand?
    pi_56769035
    Even iets over zoeken.

    Ik heb een database tabel met apparte velden voor jaar, maand, dag, nu wil ik zoeken binnen 2 data's (begin tijd en eind tijd) maar krijg nul resultaten maar er zijn er wel heel veel.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    SELECT DISTINCT (
    value
    ), sum( `count` ) AS counter
    FROM statreferer
    WHERE sid = '7'
    AND TYPE = 'E'
    AND (
    statreferer.year >= '2008'
    AND statreferer.month >= '08'
    AND statreferer.day >= '11'
    )
    AND (
    statreferer.year <= '2008'
    AND statreferer.month <= '11'
    AND statreferer.day <= '19'
    )
    GROUP BY value
    ORDER BY `counter` DESC 
    LIMIT 0 , 250 


    Iemand die ziet waar ik de fout in ga?

    [ Bericht 31% gewijzigd door Chandler op 16-02-2008 13:00:43 (smilieeeeez) ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_56769244
    Je gaat de mist in met where clausule. Je zoekt naar records waar het jaar zowel groter/gelijk als kleiner/gelijk is aan 2008. Daar voldoet alleen 2008 aan. De maand is groter/gelijk aan 8 EN kleiner/gelijk dan 11. De dag moet tussen 11 en 19 liggen. Daar voldoen maar 36 data aan... en deze liggen allemaal minimaal een half jaar in de toekomst.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')