FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 31
Lightdinsdag 15 augustus 2006 @ 04:58

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

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
  • guitaristdinsdag 15 augustus 2006 @ 05:08
    Jups, internal server error!

    Naja morgen weer een dag!!
    Weltrusten
    wonkodinsdag 15 augustus 2006 @ 07:08
    PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    The network path was not found.

    Hier staan meer boeken van die schrijver maar niet diegene die aangegeven werd in de OP.
    http://www.phptr.com/promotions/promotion.asp?promo=1484&redir=1&rl=1

    [ Bericht 57% gewijzigd door wonko op 15-08-2006 07:15:00 ]
    Lightdinsdag 15 augustus 2006 @ 07:35
    quote:
    Op dinsdag 15 augustus 2006 07:08 schreef wonko het volgende:
    PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    The network path was not found.

    Hier staan meer boeken van die schrijver maar niet diegene die aangegeven werd in de OP.
    http://www.phptr.com/promotions/promotion.asp?promo=1484&redir=1&rl=1
    Weet je zeker dat je de goede link hebt aangeklikt?
    Ik heb het net ook geprobeerd, en bij mij ging het wel goed.
    wonkodinsdag 15 augustus 2006 @ 09:03
    quote:
    Op dinsdag 15 augustus 2006 07:35 schreef Light het volgende:

    [..]

    Weet je zeker dat je de goede link hebt aangeklikt?
    Ik heb het net ook geprobeerd, en bij mij ging het wel goed.
    Verrek zeg kerel...bij mij nu dus ook.

    Tanx
    dr.dunnodinsdag 15 augustus 2006 @ 10:04
    nuttige topicreeks dit, ga me straks even bijlezen
    the_disheaverdinsdag 15 augustus 2006 @ 10:30
    quote:
    Op dinsdag 15 augustus 2006 09:03 schreef wonko het volgende:

    [..]

    Verrek zeg kerel...bij mij nu dus ook.

    Tanx
    Maar welke link heb je dan wel beklikt?

    http://www.yapf.net/ is danwel ff offline, en wat langer offline dan even, maar hij geeft geen vage foutmelding ofzo...

    TVP!
    Pilesdinsdag 15 augustus 2006 @ 11:15
    quote:
    Op dinsdag 15 augustus 2006 04:58 schreef Light het volgende:
    PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc
    Deze werkt niet?
    Deze wel: http://safari.phptr.com/013147149X?tocview=true
    Neverminddinsdag 15 augustus 2006 @ 11:16
    tvp
    RiderXXXdinsdag 15 augustus 2006 @ 11:56
    Aan de hand van dit topic een vraagje voor inserts.. ik wil graag een top 100 bijhouden. Nu heb ik zo in de database een tabel aangemaakt met:

    - id - artist - titel - weken - type (hieraan wordt gezien of het een stijger of daler is) - label

    ID wordt van 1 tot 100. Daaraan is via PHP te zien wie of wat op nummer 1, 5 of 20 staat. Dat wil ik in een pagina makkelijk in een keer wijzigen.. Met een for(); loopje heb ik nu 100 regeltjes met input boxjes. Die moeten nu alleen wel ieder de goede input bevatten en na "Opslaan" in te drukken moet (als het id nog niet bestaat) ge-INSERT worden en als het wel bestaat, gewijzigd. Maar hoe?

    Als iemand me in de goede richting zou kunnen sturen, alvast bedankt
    JeRadinsdag 15 augustus 2006 @ 12:42
    @RiderXXX

    INSERT INTO ... ON DUPLICATE KEY UPDATE

    RiderXXXdinsdag 15 augustus 2006 @ 12:46
    ah, dat wist ik zelfs niet
    ik denk dan ook maar dat ik 100 loopjes moet maken met die query om te updaten..

    [ Bericht 4% gewijzigd door RiderXXX op 15-08-2006 13:00:52 ]
    guitaristdinsdag 15 augustus 2006 @ 13:43
    Het probleem van het vorige topic heb ik nog steeds:

    Ik krijg de mod_rewrite niet aan de praat.
    Mijn .htacces:
    quote:
    RewriteEngine On

    RewriteRule ^index/(.*)/$ /index.php?page=$1

    RewriteRule ^menu/(.*)/$ /menu.php?page=$1

    RewriteRule ^message/(.*)/$ /messages.php?page=$1
    http://mcrdev.guitarist.nl/menu/test/

    menu.php:
    quote:
    if(isset($_GET['page']) && $_GET['page'] == "test")
    {
    echo "Blaaaaaaaaaar";
    }
    Maar hij doet het niet
    Desdinovadinsdag 15 augustus 2006 @ 13:56
    doe eens een print_r($_REQUEST); in je menu.php? heeft page een waarde?
    Pilesdinsdag 15 augustus 2006 @ 13:58
    quote:
    Op dinsdag 15 augustus 2006 13:43 schreef guitarist.nl het volgende:
    Het probleem van het vorige topic heb ik nog steeds:
    Probeer in menu.php eens:
    1print_r($_GET);

    Kun je zien wat er allemaal word meegestuurd

    Edit: Hoi Desdinova
    guitaristdinsdag 15 augustus 2006 @ 14:02
    quote:
    Op dinsdag 15 augustus 2006 13:56 schreef Desdinova het volgende:
    doe eens een print_r($_REQUEST); in je menu.php? heeft page een waarde?
    Nee, page heeft geen waarde,
    hij denk ook dat de url menu.php/test/ is, ik heb een php_self er in gegooit voor de test
    JeRadinsdag 15 augustus 2006 @ 19:28
    @guitarist.nl

    Heb je toevallig MultiViews (standaard) aan staan?
    guitaristdinsdag 15 augustus 2006 @ 19:29
    quote:
    Op dinsdag 15 augustus 2006 19:28 schreef JeRa het volgende:
    @guitarist.nl

    Heb je toevallig MultiViews (standaard) aan staan?
    MultiViews ?

    Het ligt waanschijnlijk aan een instelling van de server, maarja weet ik dus niet zeker.
    Swetseneggerdinsdag 15 augustus 2006 @ 19:31
    Ordinaire terug vind post.

    Ow ja, ik ben wel bezig met NTML implementatie
    JeRadinsdag 15 augustus 2006 @ 20:39
    quote:
    Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
    Ow ja, ik ben wel bezig met NTML implementatie
    Waarvoor? Klinkt interessant.
    the_disheaverdinsdag 15 augustus 2006 @ 20:56
    quote:
    Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
    Ordinaire terug vind post.

    Ow ja, ik ben wel bezig met NTML implementatie
    HTML heet zoiets

    Wtf is ntml
    Lightdinsdag 15 augustus 2006 @ 21:30
    quote:
    Op dinsdag 15 augustus 2006 19:31 schreef Swetsenegger het volgende:
    Ordinaire terug vind post.

    Ow ja, ik ben wel bezig met NTML implementatie
    NTLM? Als in NT Lan Manager?
    Swetseneggerdinsdag 15 augustus 2006 @ 22:11
    Als in authenticatie op een intranet.
    Ik wil de username uitlezen zoals de client is ingelogged in windows. En dat moet dus kunnen met NT Lan Manager. Maar dan heb ik weer een speciale module nodig voor apache, en mijn httpd.conf aanpassen enzo. Alleen is het allemaal redelijk matig gedocumenteert
    fokME2woensdag 16 augustus 2006 @ 08:08
    quote:
    Op dinsdag 15 augustus 2006 13:43 schreef guitarist.nl het volgende:
    Het probleem van het vorige topic heb ik nog steeds:

    Ik krijg de mod_rewrite niet aan de praat.
    Mijn .htacces:
    [..]

    http://mcrdev.guitarist.nl/menu/test/

    menu.php:
    [..]

    Maar hij doet het niet
    .htaccess is wel met dubbel-s op je server neem ik aan?
    JeRawoensdag 16 augustus 2006 @ 08:39
    quote:
    Op dinsdag 15 augustus 2006 22:11 schreef Swetsenegger het volgende:
    Als in authenticatie op een intranet.
    Ik wil de username uitlezen zoals de client is ingelogged in windows. En dat moet dus kunnen met NT Lan Manager. Maar dan heb ik weer een speciale module nodig voor apache, en mijn httpd.conf aanpassen enzo. Alleen is het allemaal redelijk matig gedocumenteert
    Leuk, zorg er wel voor dat als je een implementatie maakt voor publiek gebruik dat het dan potdicht zit want in NTLM implementaties zijn al gaten genoeg gemaakt
    Swetseneggerwoensdag 16 augustus 2006 @ 09:09
    quote:
    Op woensdag 16 augustus 2006 08:39 schreef JeRa het volgende:

    [..]

    Leuk, zorg er wel voor dat als je een implementatie maakt voor publiek gebruik dat het dan potdicht zit want in NTLM implementaties zijn al gaten genoeg gemaakt
    Alleen intranet.
    twiwoensdag 16 augustus 2006 @ 17:11
    /edit: Al opgelost.

    [ Bericht 25% gewijzigd door twi op 16-08-2006 18:40:49 ]
    Pileswoensdag 16 augustus 2006 @ 21:15
    in_array() werkt niet?

    Ik heb het volgende stukje code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    for ($m=1; $m&lt;13; $m++)
            {
            echo
    $m;
            
    print_r($uren);
            echo
    '<hr>';


            if (
    in_array($m, $uren))
               {
               echo
    'joepie';
    // en het vervolg
    ?>

    echo $m en print_r($uren) geeft (stukje):


    En toch blijft gaat de code nooit voorbij in_array()
    Zie ik iets over het hoofd?
    Lightwoensdag 16 augustus 2006 @ 21:24
    in_array() zoekt naar waarden, maar de waarde waar je naar zoekt is feitelijk een key.
    Lightwoensdag 16 augustus 2006 @ 21:25
    Overigens is me niet helemaal duidelijk hoe je die array opgebouwd hebt.
    wondererwoensdag 16 augustus 2006 @ 21:26
    ik heb een paar arrays, rank1, rank2, rank3, etc. Nu ik de array hebben met een bepaald nummer. Hoe krijg ik die te pakken? ik dacht dat
    1
    2
    3
    4
    <?php
    $nm
    ='rank'.$nr;
    $rangnaam=$$nm[$key];
    ?>

    werkte, maar dat doet het dus niet.

    Wat doe ik fout?
    Pileswoensdag 16 augustus 2006 @ 21:39
    quote:
    Op woensdag 16 augustus 2006 21:25 schreef Light het volgende:
    Overigens is me niet helemaal duidelijk hoe je die array opgebouwd hebt.
    Lang verhaal, maar dat komt weer uit een andere functie. Ik begrijp iig wat er fout is, en heb het nu zo gedaan:
    1
    2
    3
    <?php
    if (isset($uren[$m]))
    ?>

    bedankt voor uitleg
    Lightwoensdag 16 augustus 2006 @ 21:42
    quote:
    Op woensdag 16 augustus 2006 21:26 schreef wonderer het volgende:
    ik heb een paar arrays, rank1, rank2, rank3, etc. Nu ik de array hebben met een bepaald nummer. Hoe krijg ik die te pakken? ik dacht dat
    [ code verwijderd ]

    werkte, maar dat doet het dus niet.

    Wat doe ik fout?
    1
    2
    3
    4
    <?php
    $nm
    ='rank'.$nr;
    $rangnaam=${$nm}[$key];
    ?>

    Niet getest.
    De PHP Manual heeft ook een stukje over variabele variabelen.
    SuperRembowoensdag 16 augustus 2006 @ 22:52
    Ik vind die voorloopnul in de key verdacht. Dat lijkt me vragen om problemen.

    Tevens tvp.
    JeRawoensdag 16 augustus 2006 @ 22:57
    quote:
    Op woensdag 16 augustus 2006 21:26 schreef wonderer het volgende:
    ik heb een paar arrays, rank1, rank2, rank3, etc. Nu ik de array hebben met een bepaald nummer. Hoe krijg ik die te pakken? ik dacht dat
    [ code verwijderd ]

    werkte, maar dat doet het dus niet.

    Wat doe ik fout?
    Zie wat Light zegt, maar beter nog kijk je naar de mogelijkheden van multidimensionale arrays. Dat zijn net zoals alle andere arrays een collectie van objecten/primitieven maar in dit geval is het een array van arrays. Je roept ze simpelweg aan door nog een set haakjes te gebruiken:

    1$array[3][7] = 'fok';


    Op die manier hoef je niet meer te goochelen met de namen van variabelen
    wondererwoensdag 16 augustus 2006 @ 23:11
    quote:
    Op woensdag 16 augustus 2006 22:57 schreef JeRa het volgende:

    [..]

    Zie wat Light zegt, maar beter nog kijk je naar de mogelijkheden van multidimensionale arrays. Dat zijn net zoals alle andere arrays een collectie van objecten/primitieven maar in dit geval is het een array van arrays. Je roept ze simpelweg aan door nog een set haakjes te gebruiken:
    [ code verwijderd ]

    Op die manier hoef je niet meer te goochelen met de namen van variabelen
    Ahh, tuurlijk.

    Het is bestaande code dat ik wilde aanpassen, dan let ik niet op dat soort dingen. Ik ga het proberen, dank je wel.
    Swetseneggerdonderdag 17 augustus 2006 @ 16:16
    Na een hoop gekloot herkent mijn NTLM implementatie de ingelogde user bij usernaam
    JeRadonderdag 17 augustus 2006 @ 16:59
    quote:
    Op donderdag 17 augustus 2006 16:16 schreef Swetsenegger het volgende:
    Na een hoop gekloot herkent mijn NTLM implementatie de ingelogde user bij usernaam
    Heb je van scratch het protocol geïmplementeerd of maak je gebruik van (gedeeltes van) bestaande libraries? Wordt het een open source implementatie of blijft het intern?
    Swetseneggerdonderdag 17 augustus 2006 @ 18:50
    quote:
    Op donderdag 17 augustus 2006 16:59 schreef JeRa het volgende:

    [..]

    Heb je van scratch het protocol geïmplementeerd of maak je gebruik van (gedeeltes van) bestaande libraries? Wordt het een open source implementatie of blijft het intern?
    Ik heb de mod_authy_sspi module gedownload en in apache opgenomen. Dat was al een hele zoektocht, want er zijn allerlei versies in omloop.

    De enige reden waarom ik het nodig heb is omdat ik de windows inlognaam nodig heb in de intranet applicatie. Dus het is niet spannend
    Pilesdonderdag 17 augustus 2006 @ 19:37
    quote:
    Op woensdag 16 augustus 2006 22:52 schreef SuperRembo het volgende:
    Ik vind die voorloopnul in de key verdacht. Dat lijkt me vragen om problemen.

    Tevens tvp.
    Doel je op mijn array?
    Dat was een foutje met de datum functies
    date("j") ipv date("d");
    Swetseneggerdonderdag 17 augustus 2006 @ 22:29
    Zag ik nu net een tv reclame van je werkgever Super rembo?
    the_disheavervrijdag 18 augustus 2006 @ 00:22
    hmmm, heeft nogal urgentie

    Kan iemand de functies zo uit zijn hoofd opnoemen om

    alle dirs uit een bepaalde dir te halen (en alle onderliggende dirs)

    van die dirs de chmod te bekijken.
    En indien die 777 wijzigen naar 755.

    veel dank....
    JeRavrijdag 18 augustus 2006 @ 00:38
    @the_disheaver

    Functies en objecten die je kunt gebruiken:
    DirectoryIterator (om over de tree te iteraten)
    chmod (om mode te veranderen)
    stat (om mode op te vragen)
    opendir (ouder alternatief voor de iterator)
    Mr_Zoidbergvrijdag 18 augustus 2006 @ 16:16
    Ik wilde net mijn site uploaden maar ik krijg de volgende error bij het openen van het php bestand:
    Fatal error: Call to undefined function: date_default_timezone_set() in public_html/countdown.php on line 18

    Volgens mij krijg ik deze omdat er geen php5(maar 4) draait. Iemand een idee hoe ik dit werkend kan krijgen in php4?
    ralfievrijdag 18 augustus 2006 @ 16:33
    edit: lamaar
    the_disheavervrijdag 18 augustus 2006 @ 16:35
    (PHP 5 >= 5.1.0RC1)

    door het niet te gebruiken dus.... Of een php functie zoeken die hetzelfde doet, maar waar wat meer code voor nodig is.

    [ Bericht 20% gewijzigd door the_disheaver op 18-08-2006 17:19:28 ]
    Mr_Zoidbergvrijdag 18 augustus 2006 @ 16:42
    quote:
    Op vrijdag 18 augustus 2006 16:35 schreef the_disheaver het volgende:

    door het niet te gebruiken dus.... Geen php4 functie voor waar je wat meer voor moet doen?
    ??
    freissvrijdag 18 augustus 2006 @ 17:28
    quote:
    Op vrijdag 18 augustus 2006 16:42 schreef Mr_Zoidberg het volgende:

    [..]

    ??
    Het kan niet.
    the_disheavervrijdag 18 augustus 2006 @ 17:35
    quote:
    Op vrijdag 18 augustus 2006 16:42 schreef Mr_Zoidberg het volgende:

    [..]

    ??
    zie edit
    Mr_Zoidbergvrijdag 18 augustus 2006 @ 17:35
    quote:
    Op vrijdag 18 augustus 2006 17:28 schreef freiss het volgende:

    [..]

    Het kan niet.
    Is er dan misschien een andere makkelijke manier om bij een tijd een x aantal uren af te trekken?
    fokME2vrijdag 18 augustus 2006 @ 20:03
    Is de tijd in timestamp formaat?
    Pileszondag 20 augustus 2006 @ 17:58
    Ik heb een hele simpele tabel, met daarin een datum-kolom. Soms zijn de datums in die kolom hetzelfde, maar ik wil weten hoeveel verschillende datums er zijn.

    Voorbeeld:
    20-8-2006
    19-8-2006
    20-8-2006
    Totaal moet zijn 2.

    Ik heb het al geprobeerd met GROUP BY datum (uitkomst=1) en DISTINCT (uitkomst=3).

    Wat is de juiste query, want ik zie het ff niet meer
    JeRazondag 20 augustus 2006 @ 18:01
    @Piles

    SELECT COUNT(datum) AS aantal_unieke_data FROM data GROUP BY datum

    Zorg er wel voor dat je een index hebt op de kolom met data
    freisszondag 20 augustus 2006 @ 18:04
    SELECT COUNT(DISTINCT(datum)) FROM `tabel` ?
    Pileszondag 20 augustus 2006 @ 18:17
    quote:
    Op zondag 20 augustus 2006 18:04 schreef freiss het volgende:
    SELECT COUNT(DISTINCT(datum)) FROM `tabel` ?
    Werkt prima
    De_Hertogzondag 20 augustus 2006 @ 22:25
    Ik kom er niet meer uit, en volgens mij zit hier wel iemand die me kan helpen. Ik heb, op een windows server, mysql server 5.0 draaien, en moest daarom mijn php upgraden naar 5+ (5.1.5, gewoon van de site gedownload). Nu moet je dan volgens verschillende sites, o.a. deze, een aantal stappen uitvoeren omdat MySQL niet meer rechtstreeks in php zit:
    -c:\php in je path zetten en opnieuw opstarten
    -c:\php\ext in je extensions_dir zetten in php.ini
    -extension=php_mysql.dll aanzetten in php.ini

    Het idee is: php_mysql.dll staat in c:\php\ext, aangegeven door die extensions_dir, en lybmysql.dll staat in je path (in dit geval óók c:\php\ext). Dat heb ik allebei gecontroleerd, en dat staat goed. Maar ik krijg nog steeds deze error: Fatal error: Call to undefined function mysql_connect() in ...\test.php on line 6

    En het vervelende is, als ik op die foutmelding zoek krijg ik pagina's lang bovenstaande instructie, met de tekst 'nu zou het opgelost moeten zijn'. En helaas is dat dus niet zo.. Weet iemand wat ik over het hoofd zou kunnen zien?
    Pileszondag 20 augustus 2006 @ 22:50
    Was ik weer
    Ik ben (nog steeds) niet goed met regex, dus ik hoop dat iemand zin heeft ze even voor te kauwen. Ik ben al een uur bezig met wat simpele checks, maar ik het gewoon niet
    Ik heb nodig:
    - datum check (dd-mm-yyyy) (kan misschien ook in 1 keer met checkdate()? )
    - tijd check (uu:mm)
    - een bedrag (tussen de 0 en 1000, mag met 2 decimalen (punt of komma))

    Ik hoop dat iemand mij dit even voor kan doen (of een goede uitleg met veel voorbeelden

    Alvast enorm bedankt
    the_disheaverzondag 20 augustus 2006 @ 23:07
    \d{1,2}-\d{1,2}-\d{1,2}

    \d{1,2}:\d{1,2}

    (\d{1,4}[\.\,]?\d{0,2})

    Die laatste is lelijk en klopt niet helemaal.

    datumcheck: (al het al niet automatisch kan ie niet beter geexplode worden, en de 3 waarden ge'if'ed worden of ie tussen 0-31, 0-12 zit? Idem voor tijd.
    Pileszondag 20 augustus 2006 @ 23:09
    Dat is mss een beter idee. Ik zal morgen zelf eens een functie schrijven
    Lightzondag 20 augustus 2006 @ 23:57
    \d{1,2}-\d{1,2}-\d{2,4}

    \d{1,2}:\d{1,2}

    (\d+([\.\,]\d{0,2})?)

    Iets aangepast. Je kunt je nog afvragen of je bij datum en tijd ook de kortere notaties wilt toestaan, en hoe je dat bij een jaartal gaat oplossen.

    Getal kan nu ook groter dan 1000 zijn. Als je daar de + vervangt door {1-3} zijn getallen tot 1000 mogelijk.
    ralfiemaandag 21 augustus 2006 @ 11:06
    kijk ook eens naar de ingebouwde datum parser van php, strtotime
    RiderXXXmaandag 21 augustus 2006 @ 22:29
    Hallo daar! Ik ben weer bezig met de top 100 in PHP en ik kom er nog steeds niet uit. Ik heb de tabel opnieuw aangemaakt.
    quote:
    tabel 'top100' met volgende rows:

    id (uniek)
    userid
    datum
    artist
    titel
    weken
    vorigeweek
    type
    label
    Nu ben ik bezig met 100 rows aanmaken, met iedere keer andere 'id' (van 1 t/m 100). Ik wil via ons CMS heel gemakkelijk deze top 100 in een keer kunnen wijzigen. Dus 100 rijen onder elkaar met invulveldjes voor:

    - Artist
    - Titel
    - Aantal weken
    - Vorige week
    - Platenlabel

    En dat dus 100 keer onder elkaar, like:

    1. [input voor artist met als value="" de huidige natuurlijk] [titel] [aantal weken] [type (stijger of daler)] [platenlabel]
    2. [input voor artist met als value="" de huidige natuurlijk] [titel] [aantal weken] [type (stijger of daler)] [platenlabel]
    3. [input voor artist met als value="" de huidige natuurlijk] [titel] [aantal weken] [type (stijger of daler)] [platenlabel]

    Ik heb nu het volgende voor in het CMS, maar hoe fix ik het verder qua UPDATE via PHP in SQL, want ik kan normaal gesproken 100 keer een query hebben voor update, maar dat lijkt me niet zo okeger.
    quote:
    <?
    $query = mysql_query("SELECT * FROM top100 ORDER BY 'id' ASC");
    $result = mysql_num_rows($query);
    if(!$result){
    echo "<tr><td colspan='6'>Geen ingave.</td></tr>";
    }
    else {
    $i = 0;
    while($object = mysql_fetch_object($query)){
    $i++;
    ?>
    <tr>
    <td><? echo $i ?></td><input type="hidden" name="id<? echo $i ?>" value="<? echo $object->id ?>">
    <td><input type="text" name="artist<? echo $object->id ?>" value="<? echo $object->artist ?>" size="10"></td>
    <td><input type="text" name="titel<? echo $object->id ?>" value="<? echo $object->titel ?>" size="10"></td>
    <td><input type="text" name="weken<? echo $object->id ?>" value="<? echo $object->weken ?>" size="2"></td>
    <td>
    <select name="type<? echo $object->id ?>">
    <option value=""></option>
    <option value="stijger" <? if($object->type == "stijger"){ ?> selected="selected" <? } ?>>stijger</option>
    <option value="daler" <? if($object->type == "daler"){ ?> selected="selected" <? } ?>>daler</option>
    </select>
    </td>
    <td><input type="text" name="label<? echo $object->id ?>" value="<? echo $object->label ?>" size="5"></td>
    </tr>
    <?
    }
    }
    ?>
    SuperRembomaandag 21 augustus 2006 @ 23:00
    quote:
    Op maandag 21 augustus 2006 22:29 schreef RiderXXX het volgende:
    [...veel regels...]
    Zou het niet veel mooier zijn om het zo te doen:
    - laat alle regels zien, maar read-only
    - op elke regel een edit knop.
    - de edit knop verandert m.b.v. javascript de regel in edit veldjes.
    - de wijzigingen van die regel kan je m.b.v. ajax opslaan.
    Dan voorkom je ook dat iemand 100 regels voor niets heeft zitten invoeren als er iets fout gaat.
    RiderXXXmaandag 21 augustus 2006 @ 23:05
    quote:
    Op maandag 21 augustus 2006 23:00 schreef SuperRembo het volgende:

    [..]

    Zou het niet veel mooier zijn om het zo te doen:
    - laat alle regels zien, maar read-only
    - op elke regel een edit knop.
    - de edit knop verandert m.b.v. javascript de regel in edit veldjes.
    - de wijzigingen van die regel kan je m.b.v. ajax opslaan.
    Dan voorkom je ook dat iemand 100 regels voor niets heeft zitten invoeren als er iets fout gaat.
    haha wel een goeie ja, maar dan doet diegene het maar mooi opnieuw, aangezien dan alles gewoon wel opgeslagen is.. het is UPDATE en in die tekstveldjes is er een value="" met de huidige invoer wat in de DB staat opgeslagen.. dus erg veel moeite kost het niet..
    mscholdinsdag 22 augustus 2006 @ 12:27
    klein vraagje:
    wat is een goede manier om een username + password te controleren maar op zo'n manier dat je ook nog kan aangeven waar het fout gaat
    ik zat zelf aan het volgende te denken:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $user
    = addslashes(strip_tags($_POST['Username']));
    $pass = md5($_POST['Password']);

    $Ucheck = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."'");
    if(
    mysql_num_rows($Ucheck) == 1)
    {
    $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'");
    ifif(mysql_num_rows($check) == 1)
    {
    ...
    }
    }
    ?>


    dit lijkt me eigenlijk niet echt efficent aangezien ik eigenlijk net zo goed alleen de 2de query hoef uit te voeren,

    iemand?
    t-x-mdinsdag 22 augustus 2006 @ 13:07
    1
    2
    3
    4
    5
    6
    7
    <?php
    $user
    = mysql_real_escape_string(trim($_POST['Username']));
    $pass = md5(trim($_POST['Password']));
    $check = mysql_query("SELECT * FROM `users` WHERE `Username` = '".$user."' AND `Password` = '".$pass."'");
    if(
    mysql_num_rows($check) == 1)  print "succesvol ingelogd!";
       else print
    "Gebruikersnaam of wachtwoord incorrect!";
    ?>

    Mysql_real_escape_string werkt prima tegen sql-injecties. Verder werk ik altijd even de (perongeluk) ingetypede spaties weg dmv trim
    mscholdinsdag 22 augustus 2006 @ 13:54
    quote:
    Op dinsdag 22 augustus 2006 13:07 schreef t-x-m het volgende:

    [ code verwijderd ]

    Mysql_real_escape_string werkt prima tegen sql-injecties. Verder werk ik altijd even de (perongeluk) ingetypede spaties weg dmv trim
    zo ver was ik nog niet, en echt bang voor injections ben ik niet
    maar jij controleert in 1x de gebruikers naam + wachtwoord, dit wil ik dus gescheiden hebben zodat ik als bijvoorbeeld de gebruikers naam verkeerd is ik dit kan aangeven op het aanmeld formulier

    wat mij ook een mogelijke oplossing leek is eerst een query met een check op de username en vervolgens die resultaten nog een keer checken maar dan op wachtwoord..

    [ Bericht 11% gewijzigd door mschol op 22-08-2006 14:01:19 ]
    Tuvai.netdinsdag 22 augustus 2006 @ 14:40
    quote:
    Op dinsdag 22 augustus 2006 13:54 schreef mschol het volgende:

    [..]

    zo ver was ik nog niet, en echt bang voor injections ben ik niet
    Effe on a side note, SQL injection is de term voor (vaak kwaadaardige) truukjes waarmee je query beïnvloed kan worden. Stel je hebt een veld waar je een gebruikersnaam moet invullen in een formulier, als je dit formulier submit dan wordt er door middel van een MySQL query gekeken of die gebruikersnaam voorkomt in een database. Als je deze query niet beveiligt tegen SQL injection dan kan iemand door middel van dat simpele invoerveldje je hele database beïnvloeden, of erger, deleten. En dat gebeurt op Internet hoor.

    Kijk ook eens op http://nl2.php.net/manual(...)al-escape-string.php , en dan vooral bij voorbeeldje 3. Zo'n soortgelijke functie (als dat quote_smart() in het voorbeeld) gebruik ik bij elke PHP applicatie waar ook maar iets van MySQL queries in zit.

    En om effe op je vraag terug te komen

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?
    function quote_smart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
           $value = stripslashes($value);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($value)) {
           $value = "'" . mysql_real_escape_string($value) . "'";
       }
       return $value;
    }

    if($_POST['action']=='login'){

     if( mysql_result(mysql_query(" SELECT count(*) FROM gebruikers WHERE gebruikersnaam='".quote_smart($_POST['gebruikersnaam'])."' AND wachtwoord='".quote_smart($_POST['wachtwoord'])."' "),0,0) ) {
     echo 'ingelogd';
     }else{
     echo 'foutieve combinatie gebruikersnaam/wachtwoord';
     }

    }
    ?>
    ralfiedinsdag 22 augustus 2006 @ 14:49
    maak gewoon een query voor de username en trek daar het wachtwoord uit. dat wachtwoord kun je dan in php controleren, en als de username fout is failed de query.


    Je kunt natuurlijk ook meteen alle data eruit trekken die je wilt gebruiken, en aan de hand van het wel of niet kloppen van het wachtwoord dit gebruiken of niet (mits de hoeveelheid data niet teveel is).

    [ Bericht 55% gewijzigd door ralfie op 22-08-2006 15:01:29 ]
    mscholdinsdag 22 augustus 2006 @ 14:54
    quote:
    Op dinsdag 22 augustus 2006 14:49 schreef ralfie het volgende:

    [..]

    maak gewoon een query voor de username en trek daar het wachtwoord uit. dat wachtwoord kun je dan in php controleren, en als de username fout is failed de query.

    dat ik daar niet eerder op gekomen ben

    thnx in iedereval voor dit heldere licht
    en ik weet wat SQL injectens zijn
    en ik ben niet echt bang dat me dat overkomt simpel weg door het feit dat je maar eerst eens de url moet gaan proberen te raden (as in: Succes, lukt je nooit)
    En ik trek toch niet veel volk naar me site
    ralfiedinsdag 22 augustus 2006 @ 15:01
    btw: weet iemand een makkelijke manier om in mysql het aantal hits in een tabel van elke rij bij te houden? zijn hier alternatieven voor behalve met elke hit-query van de geraakte rijen een kolom 'hits' met 1 op te hogen?

    Ik wil namelijk een tabel met plaatjes maken, en dan van elk plaatje bijhouden hoe vaak deze opgevraagd wordt zodat ik later kan bepalen welke plaatjes ik weg kan doen omdat niemand ze aanklikt. Het lijkt me dat er toch wel standaard iets in mysql ingebouwd zit hiervoor?

    [ Bericht 97% gewijzigd door ralfie op 22-08-2006 15:12:14 ]
    Tuvai.netdinsdag 22 augustus 2006 @ 15:30
    Je kunt in MySQL queries een paar ingebouwde functies gebruiken. sum() is bijvoorbeeld voor het totaal van alle kolommen op te tellen, en je hebt ook avg() voor bijvoorbeeld het gemiddelde van alle kolommen in een tabel te berekenen. Op http://www.tizag.com/mysqlTutorial/ staan deze functies vrij goed uitgelegd.

    Dus in jouw voorbeeld, als je van een hele tabel van alle records het aantal hits wil optellen, doe je gewoon het volgende:

    SELECT sum(hits) FROM jouwtabel
    SuperRembodinsdag 22 augustus 2006 @ 15:52
    quote:
    Op dinsdag 22 augustus 2006 12:27 schreef mschol het volgende:
    klein vraagje:
    wat is een goede manier om een username + password te controleren maar op zo'n manier dat je ook nog kan aangeven waar het fout gaat
    ik zat zelf aan het volgende te denken:
    [ code verwijderd ]

    dit lijkt me eigenlijk niet echt efficent aangezien ik eigenlijk net zo goed alleen de 2de query hoef uit te voeren,

    iemand?
    Heel simpel: niet doen. Hoe meer informatie je terug geeft, hoe makkelijker is om te hacken. Als je eerst een melding krijgt dat de gebruiker niet bestaat, en dan na een tijdje random usernames proberen krijg je de melding dat het wachtwoord niet bestaat, dan weet je dus dat de username klopt. Dan hoef je daarna alleen nog het wachtwoord te raden. Het is veiliger om alleen de melding te geven dat de gebruikersnaam of het wachtwoord niet correct is.
    mscholdinsdag 22 augustus 2006 @ 16:16
    quote:
    Op dinsdag 22 augustus 2006 15:52 schreef SuperRembo het volgende:

    [..]

    Heel simpel: niet doen. Hoe meer informatie je terug geeft, hoe makkelijker is om te hacken. Als je eerst een melding krijgt dat de gebruiker niet bestaat, en dan na een tijdje random usernames proberen krijg je de melding dat het wachtwoord niet bestaat, dan weet je dus dat de username klopt. Dan hoef je daarna alleen nog het wachtwoord te raden. Het is veiliger om alleen de melding te geven dat de gebruikersnaam of het wachtwoord niet correct is.
    dat ben ik wel met je eens (maar ja aangezien niemand er zomaar gaat komen, en de info die er staat niet echt leuk is om te bewerken mogen ze van mij best proberen..
    in een publiekelijk toegangkelijk systeem zal ik idd niet username en pass apart checken
    JeRadinsdag 22 augustus 2006 @ 16:19
    quote:
    Op dinsdag 22 augustus 2006 13:07 schreef t-x-m het volgende:
    Verder werk ik altijd even de (perongeluk) ingetypede spaties weg dmv trim
    Dus een spatie op het begin of eind van mijn wachtwoord is geen geldig teken?
    t-x-mdinsdag 22 augustus 2006 @ 16:24
    quote:
    Op dinsdag 22 augustus 2006 14:54 schreef mschol het volgende:

    [..]


    dat ik daar niet eerder op gekomen ben

    thnx in iedereval voor dit heldere licht
    en ik weet wat SQL injectens zijn
    en ik ben niet echt bang dat me dat overkomt simpel weg door het feit dat je maar eerst eens de url moet gaan proberen te raden (as in: Succes, lukt je nooit)
    En ik trek toch niet veel volk naar me site
    En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:
    1gebruikersna'; DELETE * FROM users;
    Daar hoeftie geen url voor te raden, verder, een beetje sql-injector kan jouw url wel vinden hoor!
    t-x-mdinsdag 22 augustus 2006 @ 16:25
    quote:
    Op dinsdag 22 augustus 2006 16:19 schreef JeRa het volgende:

    [..]

    Dus een spatie op het begin of eind van mijn wachtwoord is geen geldig teken?
    Lijkt me niet praktisch/logisch nee, maar je hebt gelijk--> bij wachtwoord hoeft het niet
    Desdinovadinsdag 22 augustus 2006 @ 16:28
    quote:
    Op dinsdag 22 augustus 2006 16:24 schreef t-x-m het volgende:

    [..]

    En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:
    [ code verwijderd ]

    Daar hoeftie geen url voor te raden, verder, een beetje sql-injector kan jouw url wel vinden hoor!
    Die methode werkt niet meer
    mscholdinsdag 22 augustus 2006 @ 16:45
    quote:
    Op dinsdag 22 augustus 2006 16:24 schreef t-x-m het volgende:

    [..]

    En wat als een of andere grappenmaker nou in 1x bij gebruikersnaam het volgende invoerd:
    [ code verwijderd ]

    Daar hoeftie geen url voor te raden, verder, een beetje sql-injector kan jouw url wel vinden hoor!
    uhh waar wil hij/zij dat invoeren..
    dan moettie de url naar me login form weten, suc6
    ralfiedinsdag 22 augustus 2006 @ 16:46
    quote:
    Op dinsdag 22 augustus 2006 15:30 schreef Tuvai.net het volgende:
    Je kunt in MySQL queries een paar ingebouwde functies gebruiken. sum() is bijvoorbeeld voor het totaal van alle kolommen op te tellen, en je hebt ook avg() voor bijvoorbeeld het gemiddelde van alle kolommen in een tabel te berekenen. Op http://www.tizag.com/mysqlTutorial/ staan deze functies vrij goed uitgelegd.

    Dus in jouw voorbeeld, als je van een hele tabel van alle records het aantal hits wil optellen, doe je gewoon het volgende:

    SELECT sum(hits) FROM jouwtabel
    nee, dat bedoel ik niet. wat ik wel bedoel is, ik heb dit

    1
    2
    3
    4
    5
    6
    ---------------------------------
    image_id (int) |  image(blob)
    ---------------------------------
        0           |     [image]
        1           |     [image]
    ---------------------------------
    Stel iemand wil plaatje 0 bekijken, dat wordt deze uit de tabel getrokken met

    SELECT image from images where image_id=0

    Ik snap dat als ik wil weten hoevaak image 0 is opgehaald ik een kolom met hits kan toevoegen en deze met elke successvolle query kan verhogen

    UPDATE images WHERE image_id=0 SET hits=hits+1;

    Natuurlijk kan ik deze samenvoegen tot

    $querry="SELECT image from images where image_id=0;UPDATE images WHERE image_id=0 SET hits=hits+1"

    maar ik vroeg me af of dit makkelijker kan, het is toch vrij veel werk voor iets eenvoudigs. Ik hoopte er eigenlijk op dat mysql intern de hits bijhoudt/kan houden?
    Tuvai.netdinsdag 22 augustus 2006 @ 16:55
    quote:
    Op dinsdag 22 augustus 2006 16:45 schreef mschol het volgende:

    [..]

    uhh waar wil hij/zij dat invoeren..
    dan moettie de url naar me login form weten, suc6
    En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?

    Hier is een tip: d'r zijn meer methodes voor het vinden van webpagina's, wachtwoorden, e.d. dan raden.
    Desdinovadinsdag 22 augustus 2006 @ 16:59
    quote:
    Op dinsdag 22 augustus 2006 16:55 schreef Tuvai.net het volgende:

    [..]

    En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?

    Hier is een tip: d'r zijn meer methodes voor het vinden van webpagina's, wachtwoorden, e.d. dan raden.
    Het is een combinatie van weten waar de pagina staat, kwaad willen doen, weten hoe je kwaad moet doen, en weten welke tabelnamen er zijn, wil je uberhaubt ergens kunnen komen. Voor sommige dingen kan je dat risico maaaakkkelijk nemen.
    Tuvai.netdinsdag 22 augustus 2006 @ 17:10
    Iemand die wat degelijke ervaring heeft met bijvoorbeeld PHP + MySQL zal genoeg methodes weten om met een login form dat op PHP i.c.m. MySQL draait te knoeien. Als je dan toevallig een form hebt wat notabene slecht beveiligd is, omdat de programmeur toch zoiets nonchalants heeft van "Mwahaha niemand vind deze pagina!", dan kun je met zo'n dergelijk persoon met slechte bedoelingen toch al behoorlijk op de koffie komen.

    En trouwens, tegen SQL injection is nog LANG niet overal op het web beveiligd hoor.

    Ten slotte vind ik dat je als programmeur toch op z'n minst dat kleine beetje moeite kunt doen om strings en variabelen te filteren, al is het voor je eigen veiligheid. Functies als mysql_real_escape_string() en intval() zijn d'r niet voor niks. Ik spreek trouwens uit ervaring, heb in het begin op mijn website/forum vaak genoeg ettertjes gehad die toch via een of ander simpel variabel wat ik dacht dat het onschuldig was, toch in m'n database hebben zitten rommelen.
    mscholdinsdag 22 augustus 2006 @ 17:22
    quote:
    Op dinsdag 22 augustus 2006 16:55 schreef Tuvai.net het volgende:

    [..]

    En jij gelooft echt dat niemand de webpagina in kwestie kan vinden, die wel gewoon voor iedereen toegankelijk is en op het Internet staat?

    Hier is een tip: d'r zijn meer methodes voor het vinden van webpagina's, wachtwoorden, e.d. dan raden.
    google is your friend ??

    ook dat is te beveiligen
    dan kan ik net zo goed een htaccess erin zetten maar lege index.html + goeie robots.txt + een vage bestandsnaam voor je login form doen ook wonderen
    en ik vind het niet zo'n mega ramp als ze op de pagina komen hoor
    maar mijn punt is dus dat ik het niet wil beveiligen maar wel weet dat ik het eigenlijk moet beveiligen..
    (dat was inmiddels toch wel duidelijk??? )
    Mr_Zoidbergwoensdag 23 augustus 2006 @ 15:04
    Kan iemand me vertertellen waarom dit niet op mijn server werkt??
    1
    2
    3
    4
    <?php
    echo date("D d M Y H:i:s", strtotime("Mon, 21 Aug 2006 01:00:08 -0400e"));
    // ik krijg dus: Thu 01 Jan 1970 00:59:59
    ?>

    Die server draait op php4, thuis op php5 werkt het prima. Volgens php.net zou het ook prima moeten werken op php4

    Kan iemand me dit uitleggen?

    [ Bericht 51% gewijzigd door Mr_Zoidberg op 23-08-2006 15:28:38 ]
    ralfiewoensdag 23 augustus 2006 @ 15:09
    quote:
    Op woensdag 23 augustus 2006 15:04 schreef Mr_Zoidberg het volgende:
    Kan iemand me vertertellen waarom dit niet op mijn server werkt??
    <?php
    echo date("D d M Y H:i:s", strtotime("Mon, 21 Aug 2006 01:00:08 -0400e"));
    // ik krijg dus: Thu 01 Jan 1970 00:59:59
    ?>
    Die server draait op php4, thuis op php5 werkt het prima. Volgens php.net zou het ook prima moeten werken op php4

    Kan iemand me dit uitleggen?
    de e op het eind erachter weghalen, doet ie het wel (bij mij dan, php4 thuis)

    php5 behandeld tijdzones op een totaal andere manier als php4, je zult dus wat aan moeten passen

    [ Bericht 7% gewijzigd door ralfie op 23-08-2006 15:16:52 ]
    Mr_Zoidbergwoensdag 23 augustus 2006 @ 15:34
    quote:
    Op woensdag 23 augustus 2006 15:09 schreef ralfie het volgende:

    [..]

    de e op het eind erachter weghalen, doet ie het wel (bij mij dan, php4 thuis)

    php5 behandeld tijdzones op een totaal andere manier als php4, je zult dus wat aan moeten passen
    Als ik de "e" weg laat, dan geeft ie idd een datum, maar die is niet goed. Het goede antwoord is namelijk: Sun 20 Aug 2006 22:00:08.

    Ik ga weer ff verder zoeken. Als jullie nog tips hebben hoor ik het graag

    edit:
    Ik heb het nu erg brakjes opgelost. Omdat het toch altijd om de tijdzone -0400 heb ik dat gedeelte weggelaten en 60*60*4 van de timestamp afgehaald. Niet echt hoe het zou moeten, maar het werkt

    [ Bericht 17% gewijzigd door Mr_Zoidberg op 23-08-2006 16:24:20 ]
    qu63woensdag 23 augustus 2006 @ 17:03
    <style>
    .main
    {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 10%;
    bottom: 10%;
    overflow: auto;
    text-align: right;
    }
    </style>

    waarom werkt dit wel in FF en niet in IE?

    IE maakt er gewoon een lange pagina van terwijl FF er een soort iframe-achtig iets van maakt. iemand een idee hoe ik dit in IE kan oplossen?
    qu63woensdag 23 augustus 2006 @ 17:05
    een voorbeeld is hier te vinden
    Pileswoensdag 23 augustus 2006 @ 19:44
    quote:
    Op woensdag 23 augustus 2006 17:03 schreef qu63 het volgende:

    waarom werkt dit wel in FF en niet in IE?
    [CSS] voor dummies - Deel 5


    [edit] oh, daar heb je ookal gepost
    ronvonflondonderdag 24 augustus 2006 @ 09:28
    Ik ben waarschijnlijk heel omslachtig aan het doen, hopelijk kan iemand mij een stukje verder helpen. Wat ik wilis het volgende:
    op de pagina frontpage.php wil ik het laatste nieuwsbericht weergeven. Alle nieuwsberichten staan
    in dezelfde tabel en in die tabel staan verder ook geen andere berichten.
    Het SELECT MAX(id) FROM $table werkt hiervoor dus prima.
    Dit heb ik ook werkend gekregen. Nu wil ik alleen verderop in de pagina links en titels van de 5
    voorgaande berichten weergeven.

    Ik krijg dit alleen voor elkaar door 5 extra $result, $links en $id te maken. dus result1 =,
    result2= etc etc
    dit lijkt me makkelijker te moeten kunnen, allen kan ik niet echt vinden waar.

    Misschien is de code die er nu staat ook al te omslachtig. ik heb namelijk wat dingen aan elkaar
    lopen breien.

    code tot nu toe:
    $id_max = mysql_result(mysql_query("SELECT MAX(id) FROM $table"),0,0);
    $result = mysql_query("SELECT * FROM $table WHERE id=$id_max",$db);

    $links = mysql_fetch_array($result);

    $TITEL = $links["TITEL"];
    $BODY = $links["BODY"];
    $BGPHOTO = $links["BGPHOTO"];
    $THUMBPHOTO = $links["THUMBPHOTO"];
    $MARKPHOTO = $links["MARKPHOTO"];
    $PHOTO = $links["PHOTO"];
    $MARKVIDEO = $links["MARKVIDEO"];
    $VIDEO = $links["VIDEO"];
    $MARKNEWS = $links["MARKNEWS"];

    kan iemand me een beetje op weg helpen?
    the_disheaverdonderdag 24 augustus 2006 @ 09:40
    Ehh, eerst alle 10 eerste records in array krijgen.

    En vervolgens 2 keer een for/while whatever loop aanroepen die 1 keer record 0-4 print, en de tweede 5-9.

    SELECT * FROM $table LIMIT 10

    en dan verder.
    Tuvai.netdonderdag 24 augustus 2006 @ 10:25
    quote:
    Op donderdag 24 augustus 2006 09:28 schreef ronvonflon het volgende:
    Ik ben waarschijnlijk heel omslachtig aan het doen, hopelijk kan iemand mij een stukje verder helpen. Wat ik wilis het volgende:
    op de pagina frontpage.php wil ik het laatste nieuwsbericht weergeven. Alle nieuwsberichten staan
    in dezelfde tabel en in die tabel staan verder ook geen andere berichten.
    Het SELECT MAX(id) FROM $table werkt hiervoor dus prima.
    Dit heb ik ook werkend gekregen. Nu wil ik alleen verderop in de pagina links en titels van de 5
    voorgaande berichten weergeven.

    Ik krijg dit alleen voor elkaar door 5 extra $result, $links en $id te maken. dus result1 =,
    result2= etc etc
    dit lijkt me makkelijker te moeten kunnen, allen kan ik niet echt vinden waar.

    Misschien is de code die er nu staat ook al te omslachtig. ik heb namelijk wat dingen aan elkaar
    lopen breien.

    code tot nu toe:
    $id_max = mysql_result(mysql_query("SELECT MAX(id) FROM $table"),0,0);
    $result = mysql_query("SELECT * FROM $table WHERE id=$id_max",$db);

    $links = mysql_fetch_array($result);

    $TITEL = $links["TITEL"];
    $BODY = $links["BODY"];
    $BGPHOTO = $links["BGPHOTO"];
    $THUMBPHOTO = $links["THUMBPHOTO"];
    $MARKPHOTO = $links["MARKPHOTO"];
    $PHOTO = $links["PHOTO"];
    $MARKVIDEO = $links["MARKVIDEO"];
    $VIDEO = $links["VIDEO"];
    $MARKNEWS = $links["MARKNEWS"];

    kan iemand me een beetje op weg helpen?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $berichten
    =mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 5",$db); $num=1;
    while(
    $bericht=mysql_fetch_array($berichten)){
        if(
    $num==1){
            
    $grootbericht="Bericht met onder andere $bericht[titel], $bericht[body], $bericht[bgphoto], etc";
        }else{
            
    $kleineberichten.="$bericht[titel]<br />";
        }
        
    $num++;
    }

    echo
    $grootbericht.'<br />'.$kleineberichten;
    ?>


    Zoiets?
    ronvonflondonderdag 24 augustus 2006 @ 10:33
    ik heb geen idee wat ik fout doe, maar ik krijg geen output:

    <?php
    include("admin/include/config.php");

    $db = mysql_connect("$dbserver", "$dbuser", "$dbpass");
    mysql_select_db("$dbname",$db);


    $TITEL = $bericht["TITEL"];
    $BODY = $bericht["BODY"];
    $BGPHOTO = $bericht["BGPHOTO"];
    $THUMBPHOTO = $bericht["THUMBPHOTO"];
    $MARKPHOTO = $bericht["MARKPHOTO"];
    $PHOTO = $bericht["PHOTO"];
    $MARKVIDEO = $bericht["MARKVIDEO"];
    $VIDEO = $bericht["VIDEO"];
    $MARKNEWS = $bericht["MARKNEWS"];


    $berichten=mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 5",$db); $num=1;
    while($bericht=mysql_fetch_array($berichten)){
    if($num==1){
    $grootbericht="Bericht met onder andere $TITEL, $BODY";
    }else{
    $kleineberichten.="$bericht[titel]<br />";
    }
    $num++;
    }

    echo $grootbericht.'<br />'.$kleineberichten
    ?>
    Tuvai.netdonderdag 24 augustus 2006 @ 10:37
    quote:
    Op donderdag 24 augustus 2006 10:33 schreef ronvonflon het volgende:
    ik heb geen idee wat ik fout doe, maar ik krijg geen output:

    <?php
    include("admin/include/config.php");

    $db = mysql_connect("$dbserver", "$dbuser", "$dbpass");
    mysql_select_db("$dbname",$db);


    $TITEL = $bericht["TITEL"];
    $BODY = $bericht["BODY"];
    $BGPHOTO = $bericht["BGPHOTO"];
    $THUMBPHOTO = $bericht["THUMBPHOTO"];
    $MARKPHOTO = $bericht["MARKPHOTO"];
    $PHOTO = $bericht["PHOTO"];
    $MARKVIDEO = $bericht["MARKVIDEO"];
    $VIDEO = $bericht["VIDEO"];
    $MARKNEWS = $bericht["MARKNEWS"];


    $berichten=mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 5",$db); $num=1;
    while($bericht=mysql_fetch_array($berichten)){
    if($num==1){
    $grootbericht="Bericht met onder andere $TITEL, $BODY";
    }else{
    $kleineberichten.="$bericht[titel]<br />";
    }
    $num++;
    }

    echo $grootbericht.'<br />'.$kleineberichten
    ?>
    Ik zie nergens $table gedefinieëerd worden. Wat staat er in config.php?

    Overigens kun je al die losse variabelen boven dat stukje code van mij nu compleet weghalen. Niet de eerste 3 regels natuurlijk. En je moet $bericht[titel] en $bericht[body] niet veranderen naar $TITEL en $BODY, trouwens.
    dujourdonderdag 24 augustus 2006 @ 17:04
    Ik heb een stukje code waarmee ik iets van elkaar wil aftrekken.
    $COSTSCRIPT_UPLOAD Deze wordt in de config php gezet en die andere wordt uit de database gepakt
    de waarde daarvan is 5
    nu wordt mijn tabel altijd upgedate naar -5 hoe kan dit
    Trouwens de seedbonus is 160

    Weet iemand wat ik fout doe
    1
    2
    3
    4
    5
    6
    7
    <?php
    $query_bonuscount
    = "SELECT seedbonus FROM users WHERE id='".$CURUSER['uid']."'";
                       
    mysql_query($query_bonuscount) or die(mysql_error());
                    
    $newseedbonus = $query_bonuscount - $COSTSCRIPT_UPLOAD;
                     
    $query_update = "UPDATE users SET seedbonus='$newseedbonus' WHERE id='".$CURUSER['uid']."'";
                     
    mysql_query($query_update) or die(mysql_error());
    ?>
    Pilesdonderdag 24 augustus 2006 @ 17:12
    Dat kan toch ook in 1 query:
    1
    2
    3
    4
    <?php
                     $query_update
    = "UPDATE users SET seedbonus = seedbonus - ".$COSTSCRIPT_UPLOAD." WHERE id='".$CURUSER['uid']."'";
                     
    mysql_query($query_update) or die(mysql_error());
    ?>
    dujourdonderdag 24 augustus 2006 @ 17:16
    idd dat zie ik nu ook alleen krijg nog steeds - 5
    Pilesdonderdag 24 augustus 2006 @ 17:20
    quote:
    Op donderdag 24 augustus 2006 17:16 schreef dujour het volgende:
    idd dat zie ik nu ook alleen krijg nog steeds - 5
    Heb je $COSTSCRIPT_UPLOAD als string gedefineerd, ipv als integer?
    1
    2
    3
    4
    <?php
    $COSTSCRIPT_UPLOAD
    = "5"; // string
    $COSTSCRIPT_UPLOAD = 5; // integer
    ?>
    dujourdonderdag 24 augustus 2006 @ 17:20
    als ik de min in een plus verander doet ie het wel :S
    JeRadonderdag 24 augustus 2006 @ 19:43
    1
    2
    3
    <?php
    $newseedbonus
    = $query_bonuscount - $COSTSCRIPT_UPLOAD;
    ?>

    Ho eens even, hier gaat het ernstig fout. Wat zit er precies in $query_bonuscount? Juist, de query (string) zelf.
    Pilesdonderdag 24 augustus 2006 @ 20:23
    quote:
    Op donderdag 24 augustus 2006 19:43 schreef JeRa het volgende:

    [ code verwijderd ]

    Ho eens even, hier gaat het ernstig fout. Wat zit er precies in $query_bonuscount? Juist, de query (string) zelf.
    Zie mijn bericht:
    1
    2
    3
    4
    5
    <?php
    php
    $query_update
    = "UPDATE users SET seedbonus = seedbonus - ".$COSTSCRIPT_UPLOAD." WHERE id='".$CURUSER['uid']."'";
    mysql_query($query_update) or die(mysql_error());
    ?>


    @dujour: mijn 2e bericht ook gezien?
    JeRadonderdag 24 augustus 2006 @ 20:42
    quote:
    Op donderdag 24 augustus 2006 20:23 schreef Piles het volgende:

    [..]

    Zie mijn bericht:
    [ code verwijderd ]
    Ik zie geen bericht dat hij jouw voorbeeld ook daadwerkelijk gebruikt heeft wellicht loopt hij daar dus nog steeds op vast.
    super-muffinvrijdag 25 augustus 2006 @ 18:34
    Ik heb een database met een tabel nieuws. Die moet uitgelezen worden, en elk bericht onder elkaar neer zetten.

    Eerst had ik dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $sql
    = "SELECT * FROM nieuws";
    $result = mysql_query($sql)
        or die(
    "fout bij uitvoeren query");
        
    if (!
    $result) {
       echo
    'Could not run query: ' . mysql_error();
       exit;
    }

    $row = mysql_fetch_row($result);

    echo
    "<h2>$row[2]</h2>"; //kop
    echo "<h3>$row[1]</h3>"; // de datum
    echo "<p>$row[3]</p>"; //inhoud van bericht
    ?>

    en dat werkte een beetje, alleen het eerste bericht werd getoont.

    dus had ik dit van gemaakt
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    $sql
    = "SELECT * FROM nieuws";
    $result = mysql_query($sql)
        or die(
    "fout bij uitvoeren query");
        
    if (!
    $result) {
       echo
    'Could not run query: ' . mysql_error();
       exit;
    }

    while (
    $row= mysql_fetch_row($result)) {
         foreach (
    $row as $value) {
        echo
    "<h2>$value[2]</h2>"; //kop
        
    echo "<h3>$value[1]</h3>"; // de datum
        
    echo "<p>$value[3]</p>"; //inhoud van bericht
        
    }
    }
    ?>

    maar nu krijg ik als output dit:

    1<h2></h2><h3></h3><p></p><h2>0</h2><h3>0</h3><p>6</p>

    en dat is duidelijk niet wat in de DB staat.
    Nevermindvrijdag 25 augustus 2006 @ 18:41
    Waarom nog een foreach daarin?

    1
    2
    3
    4
    5
    while ($row = mysql_fetch_array($result)) {
        echo "<h2>". $row[2] ."</h2>"; //kop
        echo "<h3>". $row[1] ."</h3>"; // de datum
        echo "<p>". $row[3] ."</p>"; //inhoud van bericht
    }

    Werkt dat niet?
    mysql_fetch_assoc ftw overigens
    super-muffinvrijdag 25 augustus 2006 @ 19:06
    Dat werkt wel inderdaad.

    Wat is het voordeel van mysql_fetch_assoc?
    Nevermindvrijdag 25 augustus 2006 @ 22:04
    quote:
    Op vrijdag 25 augustus 2006 19:06 schreef super-muffin het volgende:
    Dat werkt wel inderdaad.

    Wat is het voordeel van mysql_fetch_assoc?
    Dan haal je alleen de celnamen op. Normaal gesproken krijg je dubbele waarden, zoals dit:
    1
    2
    3
    4
    5
    6
    Array {
      [0] => waarde1
      ["cel_id"] => waarde1
      [1] => waarde2
      ["cel_titel"] => waarde2
    }


    Met assoc haal je alleen de celnamen (de 'associatieve' waarden) ipv de numerieke én associatieve. Het zal qua performance niet erg veel uitmaken, totdat je met hele grote resultatensetten te maken krijgen. Maar de associatieve waarden zijn sowieso veel duidelijker om mee te werken.

    mysql_fetch_assoc is overigens gewoon een kortere manier om mysql_fetch_array($result, MYSQL_ASSOC) te schrijven.
    super-muffinzaterdag 26 augustus 2006 @ 17:58
    oke dat snap ik

    maar nu word het oudste bericht bovenaan gezet, en de nieuwste onderaan, hoe kan ik dat omdraaien? Moet het in een array en dan?
    Pileszaterdag 26 augustus 2006 @ 18:00
    ORDER BY datum DESC

    Basis SQL
    super-muffinzaterdag 26 augustus 2006 @ 18:28
    daar heb ik me nog niet echt in verdiept
    maar bedankt
    Qunixzondag 27 augustus 2006 @ 02:12
    Heeft iemand een heel simpel upload script wat in 1 pagina kan?
    the_disheaverzondag 27 augustus 2006 @ 02:25
    ff wat gecopy-paste

    Dus hij zal het niet direct doen.
    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
             <!-- The data encoding type, enctype, MUST be specified as below -->
             <form enctype="multipart/form-data" action="csv.php?action=csv" method="POST">
                 <!-- MAX_FILE_SIZE must precede the file input field -->
                 <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
                 <!-- Name of input element determines name in $_FILES array -->
                 Send this file: <input name="userfile" type="file" />
                 <input type="hidden" name="status" value="upload" />
                 <input type="submit" value="Send File" />
             </form>
             
    <?php         
            if ($_FILES['userfile']['type'] != "text/comma-separated-values") {
              print "Onjuiste bestandstype";
              print_r($_FILES);
              $i = 2;
                 break 1;
            }
            
            $uploaddir = 'C:/Apache Group/Apache2/htdocs/upload/';
            $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
            if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
                echo "File is valid, and was successfully uploaded.\n";
            } else {
                echo "Possible file upload attack!\n";
                break 1;
            }
            
             ?>

    deze accepteert alleen CSV-bestanden. En je moet ook nog de extensie controleren (Tenminste, als je bepaalde bestanden wilt weigeren).
    Qunixzondag 27 augustus 2006 @ 02:42
    Waar heb je dat vandaan?

    Iemand een andere dat beetje makkelijker is? Ik heb dus een prive gedeelte en dat is een soort desktop, zeg maar... Nu wil ik daar een klein invul veld hebben waar ik daar een adres kan opgeven van een bestand. En als ik op de submit klik dan krijg ik een melding dat het goed gegaan is. Hij moet dan dat bestand uploaden in een map. Meer niet.

    [ Bericht 66% gewijzigd door Qunix op 27-08-2006 02:49:31 ]
    mscholzondag 27 augustus 2006 @ 09:00
    quote:
    Op zondag 27 augustus 2006 02:42 schreef Qunix het volgende:
    Waar heb je dat vandaan?

    Iemand een andere dat beetje makkelijker is? Ik heb dus een prive gedeelte en dat is een soort desktop, zeg maar... Nu wil ik daar een klein invul veld hebben waar ik daar een adres kan opgeven van een bestand. En als ik op de submit klik dan krijg ik een melding dat het goed gegaan is. Hij moet dan dat bestand uploaden in een map. Meer niet.
    zonder de pagina te verversen kom je dan uit op de techniek achter ajax (geen nidee of deze het kan..)
    Skorpijazondag 27 augustus 2006 @ 12:55
    Hoi begin nu ook een beetje meer met php te werken (voorheen altijd Coldfusion gedaan). Hoe kan ik een heel blok in 1x 'echo-en'?

    Nu moet ik bij elke output er echo voorzetten:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    echo "<html>";
    echo "<head>";
    echo "<title>My Title</title>";
    echo "</head>";
    echo "<script>";
    echo "function is myFunction(){";
    echo "alert('hoi');";

    etc....
    Desdinovazondag 27 augustus 2006 @ 13:00
    gewoon niet je echo afsluiten
    echo "hee
    hoe ist nou?
    ojajoh?";
    Skorpijazondag 27 augustus 2006 @ 13:03
    Soms is het leven simpel
    Thanks

    Ik neem aan dat je dan strings moet backslashen welke in de echo gebruikt worden?

    1echo "hoi \"test\" dag";
    Darkomenzondag 27 augustus 2006 @ 13:19
    Klopt, of je doet het zo
    1echo 'hoi "test" dag';
    ralfiezondag 27 augustus 2006 @ 15:33
    Of zo
    1
    2
    3
    echo <<<XYZ
    hoi "test" dag!
    XYZ;
    qu63zondag 27 augustus 2006 @ 15:52
    quote:
    Op zondag 27 augustus 2006 15:33 schreef ralfie het volgende:
    Of zo

    [ code verwijderd ]
    leg die eens uit
    JeRazondag 27 augustus 2006 @ 15:57
    quote:
    Op zondag 27 augustus 2006 15:52 schreef qu63 het volgende:

    [..]

    leg die eens uit
    Heredoc syntax. Je opent met <<<{identifier} en je eindigt weer met {identifier}
    the_disheaverzondag 27 augustus 2006 @ 16:31
    quote:
    Op zondag 27 augustus 2006 02:42 schreef Qunix het volgende:
    Waar heb je dat vandaan?

    Iemand een andere dat beetje makkelijker is? Ik heb dus een prive gedeelte en dat is een soort desktop, zeg maar... Nu wil ik daar een klein invul veld hebben waar ik daar een adres kan opgeven van een bestand. En als ik op de submit klik dan krijg ik een melding dat het goed gegaan is. Hij moet dan dat bestand uploaden in een map. Meer niet.
    gooi die form op een pagina. Gooi het scrpt zonder de if-functie of het een CSV file is ergens. in een apart bestand, of in het zelfde. wijzig het pad waar die bestanden heen moeten. nog makkelijker

    ik neem aan dat je zelf wel om de beveiliging denkt, dwv dat niet iedereen zomaar iets kan uploaden.
    Qunixzondag 27 augustus 2006 @ 17:01
    quote:
    Op zondag 27 augustus 2006 09:00 schreef mschol het volgende:

    [..]

    zonder de pagina te verversen kom je dan uit op de techniek achter ajax (geen nidee of deze het kan..)
    Dat hoeft ook niet
    Bedoel de source op 1 pagina (dat ik niet tig pagina's met php code krijg)
    quote:
    Op zondag 27 augustus 2006 16:31 schreef the_disheaver het volgende:

    [..]

    gooi die form op een pagina. Gooi het scrpt zonder de if-functie of het een CSV file is ergens. in een apart bestand, of in het zelfde. wijzig het pad waar die bestanden heen moeten. nog makkelijker

    ik neem aan dat je zelf wel om de beveiliging denkt, dwv dat niet iedereen zomaar iets kan uploaden.
    Bedankt, hij doet het

    [ Bericht 42% gewijzigd door Qunix op 27-08-2006 17:17:33 ]
    super-muffinzondag 27 augustus 2006 @ 18:50
    weer een vraag, met ongeveer het zelfde als de vorige keer:

    ik heb een tabel 'bookmarks' met daar in de velden 'url' 'naam' en 'categorie'

    die word met dit script uitgelezen:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $sql
    = "SELECT * FROM bookmarks GROUP BY categorie";
    $result = mysql_query($sql)
        or die(
    "fout bij uitvoeren query");

    while (
    $row = mysql_fetch_array($result)) {
        echo
    "<h2>".$row[2] ."</h2>\n"; //categorie
        
    echo "\t<ul>\n";
        
        echo
    "\t\t<li><a href=\"$row[0]\">$row[1]</a></li>\n"; //hyperlink
        
        
    echo "\t</ul>\n\n";
    }
    ?>

    en dat gaat goed, zolang er maar 1 link in de groep staat. Wat moet ik doe dat er voor zorgt dat als er meer dan 2 links de zelfde categorie hebben, er 2 links onder de zelfde categorie komen te staan?

    Of is deze aanpak niet goed?
    the_disheaverzondag 27 augustus 2006 @ 19:25
    Hij gaat nu toch wel goed? Alleen komt er boven elke link in h2 de catogorie.

    2de tabel maken met daarin categorie_id en categorie_name. En join'en enzo met de bookmarks tabel (zodat daar een id in komt ipv de naam.

    En dan via php 2 loops
    de eerste voor de verschillende catetorieën
    en daarin een loop die de links van de categorie print.
    super-muffinzondag 27 augustus 2006 @ 19:41
    oeh dat word een uitdaging voor mij (ik ben maar een beginnertje )
    maar ik ga het proberen, thnx
    ralfiezondag 27 augustus 2006 @ 19:48
    of zoiets:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    while ($row = $x?$x:mysql_fetch_array($result)) {
        
    $x=false;

        echo
    "<h2>".$row[2] ."</h2>\n"; //categorie

        
    echo "\t<ul>\n";

        echo
    "\t\t<li><a href=\"$row[0]\">$row[1]</a></li>\n"; //hyperlink

        
    while ($refs = mysql_fetch_array($result)) {
            if (
    $row[2]!=$refs[2]) {
               
    $x=$refs;
               break;
            }
            echo
    "\t\t<li><a href=\"$refs[0]\">$refs[1]</a></li>\n"; //hyperlink
        
    }

        echo
    "\t</ul>\n\n";
    }
    ?>


    hoef je niks aan te passen
    HuHuzondag 27 augustus 2006 @ 19:49
    Tabel_1:

    1
    2
    category_id
    category_name


    Tabel_2:

    1
    2
    3
    name
    url
    category_id


    De code:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    $category
    = mysql_query("SELECT * FROM tabel_1;");

    while (
    $row = mysql_fetch_assoc($category))
    {
      
    $category_id   = $row["category_id"];
      
    $category_name = $row["category_name"];

      echo(
    "<h2>{$category_name}</h2>");
      echo(
    "<ul>");

      
    $bookmark = mysql_query("SELECT * FROM tabel_2 WHERE category_id = '{$category_id}';");

      while(
    $wor = mysql_fetch_assoc($bookmark))
      {
        
    $url  = $wor["url"];
        
    $name = $wor["name"];

        echo(
    "<li> <a href=\"{$url}\"> {$name} </a> </li>");
      }

      echo(
    "</ul>");
    }
    ?>

    Dit zou moeten werken.

    [ Bericht 2% gewijzigd door HuHu op 27-08-2006 20:46:56 ()) ]
    the_disheaverzondag 27 augustus 2006 @ 19:52
    quote:
    Op zondag 27 augustus 2006 19:48 schreef ralfie het volgende:
    of zoiets:
    [ code verwijderd ]

    hoef je niks aan te passen
    maar je (ik) snapt er ook niets van

    mocht het werken is het wel lekker kort. Maar zowieso is het handiger 2 tabellen ervoor te gebruiken.

    bijvoorbeeld als je een cat wilt wijzigen. Hoef je niet elke link te wijzigen met de categorie.
    HuHuzondag 27 augustus 2006 @ 19:53
    quote:
    Op zondag 27 augustus 2006 19:52 schreef the_disheaver het volgende:

    [..]

    maar je (ik) snapt er ook niets van
    Via een boolean zorgt hij er voor dat de categorie maar 1 keer op het scherm wordt gezet, terwijl toch alle bookmarks verschijnen.
    super-muffinzondag 27 augustus 2006 @ 20:05
    die van ralfie werkt niet. Ik heb nog steeds het zelfde resultaat.
    Ik ga dus die van the_disheaver morgen proberen. Zit nu nog met iets anders te kloten
    super-muffinzondag 27 augustus 2006 @ 20:21
    en HuHu, je bent een ) vergeten op line 14
    Pileszondag 27 augustus 2006 @ 21:08
    Heb ik ook nog even een vraag:
    Ik heb een aardige function om een intro van een tekst te laten zien:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    function intro ($inhoud, $einde, $max)
    {
    $lengte = strlen($inhoud);
    if (
    $lengte &lt; $max)
       {
       return
    opmaak($inhoud);
       }
    else {
         
    preg_match('/(.{' . $max . '}.*?)\b/msi', $inhoud, $matches);
         return
    opmaak($matches[1] . $einde);
         }

    }
    ?>

    Werkt super, alleen heb ik ook nog ubb-tags of html-tags in $inhoud zitten. Die worden soms ook afgekapt.
    Dan krijg ik bijvoorbeeld als output:

    "Dit is een test [url="

    Hoe zorg ik dat het wel goed weergeven word?
    ralfiemaandag 28 augustus 2006 @ 10:16
    dat kun je beter tijdens het ubb parsen doen, dan moet je namelijk toch al weten waar de tags zitten. Met een regexp zal dit toch erg moeilijk worden om foutloos te doen.

    Daarnaast wil ik even kwijt dat het onzinnig is om met preg_match een gedeelte van een string te halen als dit ook kan met substr() bijvoorbeeld. Maar ik hoop dat je dat al weet
    Pilesmaandag 28 augustus 2006 @ 10:23
    Ik zal mn vraag iets veranderen, want volgens mij werkt mn functie niet goed.
    Het is de bedoeling dat niet midden in een woord afkapt, maar op een spatie. Hoe pas ik de functie zo aan?
    ralfiemaandag 28 augustus 2006 @ 10:38
    1
    2
    3
    4
    5
    6
    <?php
    function intro ($inhoud, $einde, $max)
    {
    return
    opmaak( strlen($inhoud) &gt; $max ? substr($inhoud,0,strpos($inhoud,' ',$max)).$einde : $inhoud );
    }
    ?>
    zoiets?
    Pilesmaandag 28 augustus 2006 @ 10:51
    quote:
    Op maandag 28 augustus 2006 10:38 schreef ralfie het volgende:

    [ code verwijderd ]

    zoiets?
    Dank u zeer
    Pilesmaandag 28 augustus 2006 @ 11:21
    Toch nog niet helemaal goed
    Er moet nu een spatie op $max liggen, anders krijg ik alleen maar $einde terug?
    Desdinovamaandag 28 augustus 2006 @ 11:23
    sowieso is het afkappen op spatie niet een al te geschikte oplossing. als in je BB-tag een spatie voorkomt (bijvoorbeeld bij [url=bla]klik hier[/url ] ) wordtie halverwege de tag afgekapt. ik denk dat je een goede regex nodig hebt.
    ralfiemaandag 28 augustus 2006 @ 11:25
    quote:
    Op maandag 28 augustus 2006 11:21 schreef Piles het volgende:
    Toch nog niet helemaal goed
    Er moet nu een spatie op $max liggen, anders krijg ik alleen maar $einde terug?
    ehh, ja, er moet wel een spatie liggen na $max, anders werkt het niet nee

    ehh, douw er dan gewoon een spatie achter, als in:
    1
    2
    3
    4
    5
    6
    7
    <?php
    php
    function intro ($inhoud, $einde, $max)
    {
    return
    opmaak( strlen($inhoud) &gt; $max ? substr($inhoud,0,strpos($inhoud.' ',' ',$max)).$einde : $inhoud );
    }
    ?>
    Pilesmaandag 28 augustus 2006 @ 11:33
    quote:
    Op maandag 28 augustus 2006 11:25 schreef ralfie het volgende:
    ehh, ja, er moet wel een spatie liggen na $max, anders werkt het niet nee

    ehh, douw er dan gewoon een spatie achter, als in:
    Geniaal
    wobbelmaandag 28 augustus 2006 @ 12:09
    Hoe vervang ik de laatste 3 tekens in een string door ***?
    Desdinovamaandag 28 augustus 2006 @ 12:12
    $string = substr(-3,"***",$string); uit mijn hoofd.. en anders www.php.net/substr/

    edit:
    het zal wel zo moeten;
    $string = substr($string, -3, "***");

    [ Bericht 9% gewijzigd door Desdinova op 28-08-2006 12:18:36 ]
    Roonaanmaandag 28 augustus 2006 @ 12:13
    $string = substr($string, 0, strlen($string)-3).'***';

    -r-
    Desdinovamaandag 28 augustus 2006 @ 12:17
    quote:
    Op maandag 28 augustus 2006 12:13 schreef Roönaän het volgende:
    $string = substr($string, 0, strlen($string)-3).'***';

    -r-
    dat lijkt me eerlijk gezegd omslachtig
    Roonaanmaandag 28 augustus 2006 @ 12:20
    quote:
    Op maandag 28 augustus 2006 12:17 schreef Desdinova het volgende:

    [..]

    dat lijkt me eerlijk gezegd omslachtig
    substr($string, -3, '***') wordt hem sowieso niet. De derde parameter van substr is [length]

    Alternatief is
    $string = substr_replace($string, '***', -3);

    -r-
    Desdinovamaandag 28 augustus 2006 @ 12:23
    quote:
    Op maandag 28 augustus 2006 12:20 schreef Roönaän het volgende:

    [..]

    substr($string, -3, '***') wordt hem sowieso niet. De derde parameter van substr is [length]

    Alternatief is
    $string = substr_replace($string, '***', -3);

    -r-
    dat zou kunnen
    vanwaar jouw keuze voor de eerste methode? Of kwam dat gewoon het eerst in je op
    ToBemaandag 28 augustus 2006 @ 17:05
    beetje offtopic, maar ik weet zeker dat er hier mensen zijn die weten hoe ik dit moet tackelen:

    Ik ben bezig met het opzetten van een LAMP server en alles gaat goed. Echter heb ik nog 1 irritant ding:

    Als ik www.testsite.nl doe, word ik doorgelinkt naar www.testsite.nl/index.php.

    Ik wil die index.php niet in de url hebben staan. Hoe heet die optie in apache ook alweer om te zorgen dat je alleen maar www.testsite.nl houdt?
    splendormaandag 28 augustus 2006 @ 18:02
    Even een vraagje met betrekking tot css/html (kon het topic wat daar over gaat even niet vinden dus vandaar maar even hier).

    Ik heb op mijn website een chatbox gemaakt van een div met een overflow=scroll, oftewel een vierkantje van 300pixels breed en 300pixels hoog en daar komen netjes scrollbalken. Beetje alternatief voor een iframe zeg maar.
    Maar nu komt het, ik wil dat hij de onderste regels als eerste laat zien.. op dit moment staan er bijvoorbeeld 100 regels in en moet ik naar beneden scrollen. Maar omdat het om een chatbox gaat wil ik hetzelfde idee krijgen als op IRC, hij laat de onderste regels zien en je moet omhoog(terug) scrollen om de rest te zien.

    Hoe is dit mogelijk in css? Of eventueel javascript mag ook.
    <a name=""> is niet echt een optie omdat dan de hele pagina verspringt en ik wil dat het alleen in die div gebeurt (als het al mogelijk is daarmee).

    bvd.
    Tuvai.netmaandag 28 augustus 2006 @ 18:24
    quote:
    Op maandag 28 augustus 2006 17:05 schreef ToBe het volgende:
    beetje offtopic, maar ik weet zeker dat er hier mensen zijn die weten hoe ik dit moet tackelen:

    Ik ben bezig met het opzetten van een LAMP server en alles gaat goed. Echter heb ik nog 1 irritant ding:

    Als ik www.testsite.nl doe, word ik doorgelinkt naar www.testsite.nl/index.php.

    Ik wil die index.php niet in de url hebben staan. Hoe heet die optie in apache ook alweer om te zorgen dat je alleen maar www.testsite.nl houdt?
    mod_rewrite ?
    Tuvai.netmaandag 28 augustus 2006 @ 18:31
    quote:
    Op maandag 28 augustus 2006 18:02 schreef splendor het volgende:
    Even een vraagje met betrekking tot css/html (kon het topic wat daar over gaat even niet vinden dus vandaar maar even hier).

    Ik heb op mijn website een chatbox gemaakt van een div met een overflow=scroll, oftewel een vierkantje van 300pixels breed en 300pixels hoog en daar komen netjes scrollbalken. Beetje alternatief voor een iframe zeg maar.
    Maar nu komt het, ik wil dat hij de onderste regels als eerste laat zien.. op dit moment staan er bijvoorbeeld 100 regels in en moet ik naar beneden scrollen. Maar omdat het om een chatbox gaat wil ik hetzelfde idee krijgen als op IRC, hij laat de onderste regels zien en je moet omhoog(terug) scrollen om de rest te zien.

    Hoe is dit mogelijk in css? Of eventueel javascript mag ook.
    <a name=""> is niet echt een optie omdat dan de hele pagina verspringt en ik wil dat het alleen in die div gebeurt (als het al mogelijk is daarmee).

    bvd.
    Met Javascript:

    <script type="text/javascript">
    var TestDiv = document.getElementById("jouwDiv");
    TestDiv.scrollTop = TestDiv.scrollHeight;
    </script>

    Onder jouw <div> tag zetten.
    splendormaandag 28 augustus 2006 @ 18:37
    quote:
    Op maandag 28 augustus 2006 18:31 schreef Tuvai.net het volgende:

    [..]

    Met Javascript:

    <script type="text/javascript">
    var TestDiv = document.getElementById("jouwDiv");
    TestDiv.scrollTop = TestDiv.scrollHeight;
    </script>

    Onder jouw <div> tag zetten.
    Zo simpel, bedankt.
    the_disheavermaandag 28 augustus 2006 @ 19:01
    voor de OP

    [PHP/(My)SQL] voor dummies - Deel 31
    [Javascript] voor dummies - deel 4
    [CSS] voor dummies - Deel 5
    [Java] voor dummies - Deel 1
    [Visual Basic] voor dummies - Deel 1

    ralfiemaandag 28 augustus 2006 @ 19:45
    quote:
    Op maandag 28 augustus 2006 18:02 schreef splendor het volgende:
    Even een vraagje met betrekking tot css/html (kon het topic wat daar over gaat even niet vinden dus vandaar maar even hier).

    Ik heb op mijn website een chatbox gemaakt van een div met een overflow=scroll, oftewel een vierkantje van 300pixels breed en 300pixels hoog en daar komen netjes scrollbalken. Beetje alternatief voor een iframe zeg maar.
    Maar nu komt het, ik wil dat hij de onderste regels als eerste laat zien.. op dit moment staan er bijvoorbeeld 100 regels in en moet ik naar beneden scrollen. Maar omdat het om een chatbox gaat wil ik hetzelfde idee krijgen als op IRC, hij laat de onderste regels zien en je moet omhoog(terug) scrollen om de rest te zien.

    Hoe is dit mogelijk in css? Of eventueel javascript mag ook.
    <a name=""> is niet echt een optie omdat dan de hele pagina verspringt en ik wil dat het alleen in die div gebeurt (als het al mogelijk is daarmee).

    bvd.
    1je_scrollende_divje.scrollTop=je_scrollende_divje.scrollHeight
    (javascript dus)

    EDIT: Jezus, ben wel erg laat geloof ik
    mscholdinsdag 29 augustus 2006 @ 08:55
    klein vraagje:
    hoe wordt op fok het gimmideld aantal posts berekend (in je profiel pagina)?
    ik kwam zelf namelijk uit op 13,8 posts per dag.. terwijl hier 15 posts per dag staan...
    Neverminddinsdag 29 augustus 2006 @ 09:22
    quote:
    Op dinsdag 29 augustus 2006 08:55 schreef mschol het volgende:
    klein vraagje:
    hoe wordt op fok het gimmideld aantal posts berekend (in je profiel pagina)?
    ik kwam zelf namelijk uit op 13,8 posts per dag.. terwijl hier 15 posts per dag staan...
    Zoiets?
    1round( ( time() - $reg_timestamp ) / 86400 ) / $postcount


    Ik weet ook niet waarom het niet nauwkeurig is.
    Knutdinsdag 29 augustus 2006 @ 09:43
    Ik zit met een query idee waar ik niet helemaal uitkom.

    Ik heb tabel1 met daarin een hele berg records
    en een tabel2 met daarin veel minder records

    Ik wil een query loslaten die uit tabel1 alleen de records haalt die niet met het id voorkomen in tabel2

    tabel1:
    id
    omschrijving
    dingetje
    nogeenveld

    tabel2
    id
    value
    Roonaandinsdag 29 augustus 2006 @ 09:56
    Je kan het in twee stappen doen, afhankelijk van het aantal records in tabel2. Alle id's vragen en dan een NOT IN(id1,id2,id3,id4). Een Left join met IS NULL is denk ik minder efficient, maar ook wel een optie.
    Knutdinsdag 29 augustus 2006 @ 10:45
    quote:
    Op dinsdag 29 augustus 2006 09:56 schreef Roönaän het volgende:
    Je kan het in twee stappen doen, afhankelijk van het aantal records in tabel2. Alle id's vragen en dan een NOT IN(id1,id2,id3,id4). Een Left join met IS NULL is denk ik minder efficient, maar ook wel een optie.
    De left join met IS NULL had ik al geprobeerd maar die doet het niet. En het wordt een vrij grote NOT IN op een gegeven moment. Ik wil het dus eigenlijk toch met 1 query doen. Ik zoek nog wel even verder.
    mscholdinsdag 29 augustus 2006 @ 15:09
    quote:
    Op dinsdag 29 augustus 2006 09:22 schreef Nevermind het volgende:

    [..]

    Zoiets?
    [ code verwijderd ]

    Ik weet ook niet waarom het niet nauwkeurig is.
    waarom delen door 86400?
    the_disheaverdinsdag 29 augustus 2006 @ 15:12
    quote:
    Op dinsdag 29 augustus 2006 15:09 schreef mschol het volgende:

    [..]

    waarom delen door 86400?
    60*60*24 = 86400 ? aantal secondes in een dag

    edit: moet wel andersom. Het aantal post delen door aantal geregistreerde dagen ipv dagen delen door post.
    mscholdinsdag 29 augustus 2006 @ 15:20
    quote:
    Op dinsdag 29 augustus 2006 15:12 schreef the_disheaver het volgende:

    [..]

    60*60*24 = 86400 ? aantal secondes in een dag
    stupid me
    Desdinovadinsdag 29 augustus 2006 @ 16:00
    quote:
    Op dinsdag 29 augustus 2006 09:22 schreef Nevermind het volgende:

    [..]

    Zoiets?
    [ code verwijderd ]

    Ik weet ook niet waarom het niet nauwkeurig is.
    en posts / ((mktime van nu min de mktime van registratiedatum) / 60*60*24)? Ik weet de precieze code niet zo snel uit mijn hoofd maar t gaat even om het schetsen van het idee of komt dit op hetzelfde uit?
    Lightdinsdag 29 augustus 2006 @ 16:08
    Bij die posts per dag zit nog ergens een constructie dat als je 1 post hebt gezet, ooit, dat het aantal posts per dag dan 1 is. Ook als je al 10 jaar geregistreerd bent.
    Desdinovadinsdag 29 augustus 2006 @ 16:11
    quote:
    Op dinsdag 29 augustus 2006 16:08 schreef Light het volgende:
    Bij die posts per dag zit nog ergens een constructie dat als je 1 post hebt gezet, ooit, dat het aantal posts per dag dan 1 is. Ook als je al 10 jaar geregistreerd bent.
    dus een afgerond gemiddelde met een minimum van 1?
    Lightdinsdag 29 augustus 2006 @ 16:26
    quote:
    Op dinsdag 29 augustus 2006 16:11 schreef Desdinova het volgende:

    [..]

    dus een afgerond gemiddelde met een minimum van 1?
    Zoiets Hoe het codetechnisch in elkaar zit weet ik niet. Maar bijvoorbeeld Femme is sinds 17 juli 1999 geregistreerd en heeft als aantal posts "252 (gemiddeld 1 per dag)".
    Swetseneggerdinsdag 29 augustus 2006 @ 16:33
    misschien gewoon een ceil afronding.
    Pilesdinsdag 29 augustus 2006 @ 16:34
    quote:
    Op dinsdag 29 augustus 2006 16:33 schreef Swetsenegger het volgende:
    misschien gewoon een ceil afronding.
    Of:
    1
    2
    3
    4
    <?php
    if ($gemiddelde == 0)
      
    $gemiddelde = 1;
    ?>
    berneydinsdag 29 augustus 2006 @ 16:38
    Hoi,

    Ik wil F! subsilver installeren.
    alles gaat oke, exporteren van f1 subsilver ook
    dan wil ik in configuratie style aanpassen en zet hem in F! style
    quote:
    phpBB : Critical Error

    Could not open F1 subsilver template config file

    DEBUG MODE

    Line : 454
    File : functions.php
    ga ik naar mijn phpadmin en zet defeult style op 1,

    maar de debug blijft.

    Verwijder ik die map van F1 subsilver dan nog blijft die debug

    help,
    Swetseneggerdinsdag 29 augustus 2006 @ 16:40
    quote:
    Op dinsdag 29 augustus 2006 16:34 schreef Piles het volgende:

    [..]

    Of:
    [ code verwijderd ]

    Ja dat lijkt me een stuk handiger...
    Lightdinsdag 29 augustus 2006 @ 16:42
    quote:
    Op dinsdag 29 augustus 2006 16:34 schreef Piles het volgende:

    [..]

    Of:
    [ code verwijderd ]

    Nee, want als je nooit gepost hebt (0 posts) dan is je gemiddelde ook 0 posts per dag.
    Pilesdinsdag 29 augustus 2006 @ 16:46
    quote:
    Op dinsdag 29 augustus 2006 16:42 schreef Light het volgende:

    [..]

    Nee, want als je nooit gepost hebt (0 posts) dan is je gemiddelde ook 0 posts per dag.
    1
    2
    3
    4
    5
    <?php
    php
    if ($gemiddelde == 0 && $totalposts != 0)
      
    $gemiddelde = 1;
    ?>

    Zo dan
    berneydinsdag 29 augustus 2006 @ 18:05
    Ik hoef niet meer geholpen te worden.

    Ben er inmiddels zelf al achter gekomen dat je bij je phpbbadmin bij php users je style weer op 1 kunt zetten.
    Desdinovadinsdag 29 augustus 2006 @ 19:24
    quote:
    Op dinsdag 29 augustus 2006 16:46 schreef Piles het volgende:

    [..]
    [ code verwijderd ]

    Zo dan
    check die functie van swets, daar heb je jouw deeltje niet meer voor nodig
    Pilesdinsdag 29 augustus 2006 @ 19:53
    quote:
    Op dinsdag 29 augustus 2006 19:24 schreef Desdinova het volgende:

    [..]

    check die functie van swets, daar heb je jouw deeltje niet meer voor nodig
    the_disheaverwoensdag 30 augustus 2006 @ 02:25
    quote:
    Op dinsdag 29 augustus 2006 16:00 schreef Desdinova het volgende:

    [..]

    en posts / ((mktime van nu min de mktime van registratiedatum) / 60*60*24)? Ik weet de precieze code niet zo snel uit mijn hoofd maar t gaat even om het schetsen van het idee of komt dit op hetzelfde uit?
    neej! Zo krijg je het aantal dagen per post!

    Dus aantal dagen / aantal post.

    En (al zou het goed moeten gaan officieel) haakjes om de 60*60*24. Al is het enkel ter verduidelijking.
    Desdinovawoensdag 30 augustus 2006 @ 09:11
    je hebt gelijk met die haakjes. moet zelfs anders gaat het niet goed, delen door is gelijk aan vermenigvuldigen. maar volgens mij heb je geen gelijk met het aantal dagen per post

    ter illustratie:
    posts / dagen
    posts = 300
    dagen = 150
    300 / 150 = 2 posts per dag
    the_disheaverwoensdag 30 augustus 2006 @ 14:35
    ow ja...klopt....

    naja, het was laat zullen we maar zeggen
    mscholwoensdag 30 augustus 2006 @ 15:25
    vreemd probleempje met eenwhile loop.
    ik heb de volgende code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $arr = array(
    'a','A','1','b','B','2','c','C','d',
    'D','e','E','f','F','g','G','h','H',
    'i','I','j','J','0','k','K','#','l','L',
    '%','m','M','@','n','N','!','o','O','$',
    'p','P','¤','q','Q','^','r','R','s','S','t',
    'T','u','U','v','V','w','W','x','X','y','Y','z','Z');
       $i=0;
       while($i<=6)
       {
          $phrase_login = array_rand($arr);
          $phrase_login1 = $arr[$phrase_login];
          $i++;
       }


    alleen i.p.v. 6 items in $phrase_login1 krijg ik er maar 1

    edit
    1
    2
    3
    $phrase_login1 = $arr[$phrase_login]+$phrase_login1
    en
    $phrase_login1 += $arr[$phrase_login]

    doen ook niks (blijf maar 1 karakter terug krijgen
    freisswoensdag 30 augustus 2006 @ 15:33
    Wat wil je nou eigenlijk wat er gebeurt met die code? Als ik zo je edit zie, moet je waarschijnlijk
    1$phrase_login1 .= $arr[$phrase_login];

    gebruiken
    ralfiewoensdag 30 augustus 2006 @ 15:34
    of $phrase_login1{$i}=$arr[$phrase_login];
    mscholwoensdag 30 augustus 2006 @ 15:41
    quote:
    Op woensdag 30 augustus 2006 15:33 schreef freiss het volgende:
    Wat wil je nou eigenlijk wat er gebeurt met die code? Als ik zo je edit zie, moet je waarschijnlijk
    [ code verwijderd ]

    gebruiken
    wat ik wil is gewoon dat ik in $phrase_login1 6 random items uit de array $arr krijg (deze string wil ik namelijk ergens anders voor gebruiken)

    en die .= werkt idd
    ik kan alleen geen duidelijke uitleg vinden hoe die operators precies werken (op php.net laten ze dat eff weg..)
    waarom werkt .= wel en += niet?
    Lightwoensdag 30 augustus 2006 @ 15:48
    quote:
    Op woensdag 30 augustus 2006 15:41 schreef mschol het volgende:

    [..]

    wat ik wil is gewoon dat ik in $phrase_login1 6 random items uit de array $arr krijg (deze string wil ik namelijk ergens anders voor gebruiken)

    en die .= werkt idd
    ik kan alleen geen duidelijke uitleg vinden hoe die operators precies werken (op php.net laten ze dat eff weg..)
    waarom werkt .= wel en += niet?
    Omdat . de stringconcatenatie doet en + het optellen van getallen.
    Pileswoensdag 30 augustus 2006 @ 16:05
    quote:
    Op woensdag 30 augustus 2006 15:41 schreef mschol het volgende:
    ik kan alleen geen duidelijke uitleg vinden hoe die operators precies werken (op php.net laten ze dat eff weg..)
    http://nl3.php.net/manual/en/language.operators.string.php
    Swetseneggerwoensdag 30 augustus 2006 @ 21:45
    Hoi,

    Hoe kan ik ook alweer eenvoudig uitvinden of een getal negatief is?
    Lightwoensdag 30 augustus 2006 @ 21:48
    quote:
    Op woensdag 30 augustus 2006 21:45 schreef Swetsenegger het volgende:
    Hoi,

    Hoe kan ik ook alweer eenvoudig uitvinden of een getal negatief is?
    1
    2
    3
    if ($i < 0) {
    ...
    }


    Of was dat te ingewikkeld?
    Pileswoensdag 30 augustus 2006 @ 21:48
    quote:
    Op woensdag 30 augustus 2006 21:45 schreef Swetsenegger het volgende:
    Hoi,

    Hoe kan ik ook alweer eenvoudig uitvinden of een getal negatief is?
    1if ($getal < 0)

    Zoiets?

    Hoi Light
    Swetseneggerwoensdag 30 augustus 2006 @ 21:53


    ik klikte op submit toen het me te binnen schoot, gelukkig staat er dummies in de titel
    wobbelwoensdag 30 augustus 2006 @ 21:53
    1
    2
    3
    <?php
    echo "Hoi mensjes";
    ?>
    Pileswoensdag 30 augustus 2006 @ 22:07
    quote:
    Op woensdag 30 augustus 2006 21:53 schreef wobbel het volgende:

    [ code verwijderd ]
    1
    2
    3
    <?php
    die();
    ?>
    Pilesdonderdag 31 augustus 2006 @ 23:11
    Ik heb weer eens een probleem
    Ik gebruik de volgende functies als beveiliging:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    function cleanup($string)
    {
    $string = trim($string);
    $string = htmlentities($string, ENT_QUOTES, 'utf-8');
    $string = utf8_encode($string);
    if (
    get_magic_quotes_gpc())
       
    $string = stripslashes($string);
    $string = mysql_real_escape_string($string);
    return
    $string;
    }

    function
    cleanup_return($string)
    {
    if (!
    get_magic_quotes_gpc())
       
    $string = stripslashes($string);
    $string = utf8_decode($string);  

    return
    $string;
    }
    ?>

    Ik gebruik deze functies zo:
    1
    2
    3
    4
    5
    <?php
    $string
    = cleanup($_GET['string']); // en dan in de database
    // haal iets uit de database en zet in $list
    echo cleanup_return($list['string']);
    ?>

    Werkt zeer goed, alleen als ik het niet eerst naar de database schrijf plaats hij overal nog extra \ voor, zodat nl2br() e.d. niet meer werken.
    Ik hoop dat ik het een beetje duidelijk heb uitgelegd en dat iemand een oplossing heeft, want ik zie het niet meer
    Tuvai.netdonderdag 31 augustus 2006 @ 23:37
    Nog een extra stripslashes() voor de gevallen waarin je niet naar de DB schrijft?
    Pilesvrijdag 1 september 2006 @ 11:09
    quote:
    Op donderdag 31 augustus 2006 23:37 schreef Tuvai.net het volgende:
    Nog een extra stripslashes() voor de gevallen waarin je niet naar de DB schrijft?
    Helaas, werkt ook niet. Het is mss een beter idee om het pas door een functie te gooien als het echt naar de database gaat, en dat ik anders gewoon $_POST echo. Of is dat te onveilig?

    Ik snap het alleen niet, want ik krijg het wel goed op het scherm te zien (als \r\n), maar hij maakt er geen <br /> of nieuwe regel in een textvak van
    CraZaayvrijdag 1 september 2006 @ 11:13
    Enkel mysql_real_escape_string() gebruiken? En gewoon zorgen dat je encodings goed zijn, zowel van je scripts als van je database. Dan gaat het er gewoon als UTF-8 in en uit.
    CraZaayvrijdag 1 september 2006 @ 11:14
    quote:
    Op vrijdag 1 september 2006 11:09 schreef Piles het volgende:

    Helaas, werkt ook niet. Het is mss een beter idee om het pas door een functie te gooien als het echt naar de database gaat, en dat ik anders gewoon $_POST echo. Of is dat te onveilig?
    Ja, je hebt dan kans op XSS (cross site scripting) bijvoorbeeld.
    Pilesvrijdag 1 september 2006 @ 11:18
    quote:
    Op vrijdag 1 september 2006 11:13 schreef CraZaay het volgende:
    Enkel mysql_real_escape_string() gebruiken? En gewoon zorgen dat je encodings goed zijn, zowel van je scripts als van je database. Dan gaat het er gewoon als UTF-8 in en uit.
    Dat heb ik nu toch ook?
    Als output krijg ik nu bijvoorbeeld:
    1test \r\n test 

    in plaats van
    1
    2
    test
     test 

    Dit gaat dus niet via de database, als het wel via de database gaat werkt het wel
    quote:
    Op vrijdag 1 september 2006 11:14 schreef CraZaay het volgende:

    [..]

    Ja, je hebt dan kans op XSS (cross site scripting) bijvoorbeeld.
    Daar was ik al bang voor
    Pilesvrijdag 1 september 2006 @ 11:21
    ik heb het zelf met alleen mysql_real_escape_string() geprobeerd en verder geen enkele functie, maar dan werkt het nog niet
    Pilesvrijdag 1 september 2006 @ 11:24
    Opgelost

    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
    <?php
    function cleanup($string)
    {
    $string = htmlentities($string, ENT_QUOTES, 'utf-8');
    $string = utf8_encode($string);
    if (!
    get_magic_quotes_gpc())
      
    $string = mysql_real_escape_string($string);

    return
    $string;
    }

    function
    cleanup_return($string)
    {
    $string = stripslashes($string);
    $string = utf8_decode($string);

    return
    $string;
    }

    function
    cleanup_bewerk($string)
    {
    $string = cleanup_return($string);

    return
    $string;
    }
    ?>


    [ Bericht 98% gewijzigd door Piles op 01-09-2006 11:31:16 ]
    CraZaayvrijdag 1 september 2006 @ 12:52
    quote:
    Op vrijdag 1 september 2006 11:18 schreef Piles het volgende:

    Als output krijg ik nu bijvoorbeeld:
    [ code verwijderd ]
    Heb je die string met \r\n toevallig binnen enkele quotes staan ipv dubbele? PHP moet de inhoud van die string namelijk wel parsen (en daarom moet het dus tussen dubbele quotes).
    Pilesvrijdag 1 september 2006 @ 13:51
    quote:
    Op vrijdag 1 september 2006 12:52 schreef CraZaay het volgende:

    [..]

    Heb je die string met \r\n toevallig binnen enkele quotes staan ipv dubbele? PHP moet de inhoud van die string namelijk wel parsen (en daarom moet het dus tussen dubbele quotes).
    Inmiddels is het opgelost, zie mijn vorige bericht
    Hmailvrijdag 1 september 2006 @ 13:57
    Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...

    Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $test
    ['hoi'] = "blaat";

    switch (
    TRUE)
    {
        case(isset(
    $test['hoi'])):
            echo
    "Hoi!<br>";
            
        case (!empty(
    $test['doei']):
            echo
    "Doei!";
    }
    ?>


    Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
    Pilesvrijdag 1 september 2006 @ 14:10
    Kijk op PHP.net maar eens naar de functie switch() en dan vooral naar break;
    Hmailvrijdag 1 september 2006 @ 14:32
    Nee, ik moet geen break hebben. Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
    Skorpijavrijdag 1 september 2006 @ 15:45
    Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
    En hoe ik dan het antwoord kan uitlezen.

    In coldfusion gaat dat zoals:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <cfhttp method="post" url="#gUploadServer#">
       <cfhttpparam
          type = "FormField"
          name = "xml_file"
          value = "#ConversieXml#">
       <cfhttpparam
          type = "FormField"
          name = "fa"
          value = "download_image_from_web">
       <cfhttpparam
          type = "FormField"
          name = "CFID"
          value = "#Session.sessionID#">
    </cfhttp>

    <cfset NewXmlContent=cfhttp.FileContent>
    Roonaanvrijdag 1 september 2006 @ 15:51
    quote:
    Op vrijdag 1 september 2006 14:32 schreef Hmail het volgende:
    Het gebeurt namelijk regelmatig in mijn applicatie dat én $test['hoi'], én $test['doei'] gebruikt worden.. Dus dat moet ik niet hebben..
    Dan moet je niet deze switch gebruiken... tenzij je een case voor die 'én' situatie maakt.

    -r-
    Tuvai.netvrijdag 1 september 2006 @ 15:53
    quote:
    Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
    Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
    En hoe ik dan het antwoord kan uitlezen.

    In coldfusion gaat dat zoals:
    [ code verwijderd ]
    Je bedoelt gewoon een formulier in HTML?

    1
    2
    3
    4
    5
    6
    7
    8
    <form action="bestand.php" method="post">

    <input name="tekstveld" type="text" />
    <input name="tekstveld_twee" type="text" />

    <input type="submit" value="Invoeren" />

    </form>


    Geeft POST_['tekstveld'] en POST_['tekstveld_twee'].
    Tuvai.netvrijdag 1 september 2006 @ 15:56
    quote:
    Op vrijdag 1 september 2006 13:57 schreef Hmail het volgende:
    Ik kom er maar niet uit... Volgens mij is het doodsimpel wat ik wil, maar ik kan het zo 1 2 3 maar niet opgelost krijgen...

    Ik heb een array. Deze wil ik evalueren. Dus controleren of een bepaalde waarde gezet is (met isset($array['waarde']), en zo ja: een bepaalde actie uitvoeren. Nu kan ik dat met IF doen, maar dat schiet niet op, het zijn er te veel hiervoor. Dus wilde ik het met een switch-case doen. Maar....
    [ code verwijderd ]

    Dit geeft altijd beide waarden als true aan... Terwijl $test['doei'] niet eens bestaat, laat staan dat er iets in staat... Wat doe ik verkeerd?
    Heb je niets aan array_push() en in_array()?

    http://nl3.php.net/manual/en/function.array-push.php
    http://nl3.php.net/manual/en/function.in-array.php
    Tiemievrijdag 1 september 2006 @ 15:56
    quote:
    Op vrijdag 1 september 2006 15:45 schreef Skorpija het volgende:
    Weet iemand waar ik kan vinden hoe ik serverside een form kan versturen met velden.
    En hoe ik dan het antwoord kan uitlezen.

    In coldfusion gaat dat zoals:
    [ code verwijderd ]
    Met deze class b.v. http://scripts.incutio.com/httpclient/index.php

    http://scripts.incutio.com/httpclient/examples.php
    Skorpijavrijdag 1 september 2006 @ 15:58
    Thanks Tiemie, daar kom ik wel verder mee
    Pilesvrijdag 1 september 2006 @ 19:59
    Ik heb de volgende tabel:

    id datum link
    1 31-08-2006 iets.jpg
    1 23-08-2006 iets.jpg
    1 01-08-2006 iets.jpg
    2 02-08-2006 iets.jpg
    2 01-08-2006 iets.jpg

    Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):
    1$sqlfoto = mysql_query("SELECT * FROM foto GROUP BY id ORDER BY datum DESC  ");

    Maar nu krijg ik de oudste eerst

    Ikke niet snappe
    HuHuvrijdag 1 september 2006 @ 20:38
    quote:
    Op vrijdag 1 september 2006 19:59 schreef Piles het volgende:
    Ik heb de volgende tabel:

    id datum link
    1 31-08-2006 iets.jpg
    1 23-08-2006 iets.jpg
    1 01-08-2006 iets.jpg
    2 02-08-2006 iets.jpg
    2 01-08-2006 iets.jpg

    Ik gebruik de volgende query om de laatste foto's bij elk id te laten zien (dus 1 foto per id):

    [ code verwijderd ]
    Maar nu krijg ik de oudste eerst

    Ikke niet snappe
    Het staat hier uitgelegd: http://gathering.tweakers.net/forum/list_messages/1133525

    Je query zou moeten worden:

    1
    2
    3
    4
    SELECT id, MAX(datum) as maxdatum, link 
    FROM foto 
    GROUP BY id 
    ORDER BY maxdatum DESC
    Pilesvrijdag 1 september 2006 @ 20:54
    Hij werkt bijna goed
    Maar nog niet helemaal. Ik krijg nu wel de laatste datum per id, maar nog wel een oude foto
    CraZaayvrijdag 1 september 2006 @ 21:18
    Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
    Pilesvrijdag 1 september 2006 @ 21:22
    quote:
    Op vrijdag 1 september 2006 21:18 schreef CraZaay het volgende:
    Sidenote: je hebt je datum er als DATE in staan neem ik aan, en dus jaar-maand-dag, ipv jouw dag-maand-jaar?
    Jep (als DATETIME, als dat nog uitmaakt).
    Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto
    Tuvai.netvrijdag 1 september 2006 @ 22:53
    Met zoiets kun je beter met unix timestamps werken, time() dus...
    Erikzaterdag 2 september 2006 @ 00:26
    Ik krijg bepaalde data niet goed uit m'n database terug, de situatie:

    ik schrijf een bestandsnaam weg, bijvoorbeeld:
    - overzicht.xls (zonder spatie)
    - overzicht 2006.xls (met spatie)

    Als ik deze bestandsnaam wil verwerken tot een URL door deze uit de database te halen en vervolgens achter een string te plaatsen gaat het goed, mits er geen spaties voorkomen in de bestandsnaam. Als er wel 1of meerdere spaties voorkomen in de bestandsnaam wordt alleen het 1e woord van de bestandsnaam verwerkt en dan stopt ie ermee.

    Voorbeeld:
    - overzicht.xls wordt verwerkt tot http://www.domein.tld/overzicht.xls
    - overzicht 2006.xls wordt verwerkt tot http://www.domein.tld/overzicht

    Hoe los ik dit op?
    the_disheaverzaterdag 2 september 2006 @ 00:29
    code misschien handig?

    weet ik anders veel, misschien explode je wel op spaties ofzo..
    Erikzaterdag 2 september 2006 @ 01:04
    quote:
    Op zaterdag 2 september 2006 00:29 schreef the_disheaver het volgende:
    code misschien handig?

    weet ik anders veel, misschien explode je wel op spaties ofzo..
    Hier gaat het fout:

    1
    2
    3
    4
    5
    *query*
    *gegevens uit de db halen en verwerken*


    <td class="table_cell"><?php print "<a href = ".$Rij['download'].">Download</a>";?></td>



    in
    1$Rij['download'] 

    staat dus de bestandsnaam welke niet volledig wordt getoond als er spaties aanwezig zijn...

    Is het duidelijker nu?
    the_disheaverzaterdag 2 september 2006 @ 01:15
    1<?php print '<a href = "'.$Rij['download'].'">Download</a>';?>


    De html-output is gewoon verkeerd. Er zal iets in de trant van
    <a href=overzicht 2006.xls> staan ipv <a href="overziht 2006.xls">

    Of de dubbele aanhalingstekens escapen (slash teken ervoor), of enkele aanhalingstekens gebruien ipv dubbele bij de print (print 'blaat'; ipv print "blaat";)

    Maar idee om de download link te urlencoden?
    Erikzaterdag 2 september 2006 @ 01:31
    Het was inderdaad een kwestie van qoutes toevoegen aan de URL, bedankt voor je hulp the_disheaver
    warezguy05zaterdag 2 september 2006 @ 01:54
    bij deze een echte n00b vraag;

    ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

    voorbeeld:
    $color maar zo heel af en toe weer: $color.

    wat heeft die punt voor functie?
    JeRazaterdag 2 september 2006 @ 02:35
    quote:
    Op zaterdag 2 september 2006 01:54 schreef warezguy05 het volgende:
    bij deze een echte n00b vraag;

    ben nu een videocursusje aan t volgen van php (via lynda.com) maar ik zie dus af en toe variablen voorkomen met een punt erachter

    voorbeeld:
    $color maar zo heel af en toe weer: $color.

    wat heeft die punt voor functie?
    In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:

    1
    2
    3
    4
    5
    6
    $string1 = 'abc';
    $string2 = 'def';

    $output = $string1 . ' ' . $string2;

    echo $output;  // abc def


    Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
    super-muffinzaterdag 2 september 2006 @ 11:10
    Oke, ik ben nu zo ver om dingen te verwijderen uit de database met PHP

    Dus ik heb het in 1 pagina gegooit zoals dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    //voer de MySQL query uit
    $result = mysql_query('SELECT  * FROM leden');

    echo
    "<table border='1'>";

    while(
    $row = mysql_fetch_array($result)) {
        echo
    "<tr>\n";
        echo
    "<td>$row[id]</td> <td>$row[naam]</td> <td><a href='$server?id=$row[id]'>verwijder</a></td>\n";
        echo
    "</tr>\n";
    }
        
    echo
    "</table>";

    //dit stond eerst in een ander document    
    if(isset($_GET['id']) ) {
    mysql_query('DELETE FROM leden WHERE id='.$_GET['id']);
        }
    ?>


    Als er nu op verwijder word gedrukt is de record wel verwijder, maar hij staat nog in m'n scherm. pas als ik refresh is het weg. Hoe voor kom ik dit?

    Of is dit helemaal geen goede manier?

    edit-
    hm ik kom er ook net achter als ik een getal invoer bij de url achter ?id= datie dan ook verwijderd word.
    the_disheaverzaterdag 2 september 2006 @ 11:15
    eerst de delete-functie, dan de tabel echo'en.
    super-muffinzaterdag 2 september 2006 @ 11:28
    oke dat was makkelijk

    en dat voor mijn edit? Hoe verhelp ik dat?
    mscholzaterdag 2 september 2006 @ 11:30
    quote:
    Op zaterdag 2 september 2006 11:28 schreef super-muffin het volgende:
    oke dat was makkelijk

    en dat voor mijn edit? Hoe verhelp ik dat?
    uh een submit gebruiken (m.b.v. javascript je link dus een formulier laten submitten met een veld dat het id als waarde heeft) en dan checken of je een post waarde hebt?
    super-muffinzaterdag 2 september 2006 @ 11:57
    hm, klinkt ingewikkeld. Ik weet niet veel van Javascript, is er geen andere manier?
    Desdinovazaterdag 2 september 2006 @ 12:03
    <form method="post" action="$server">
    <input type="hidden" name="id" value="$row[id]">
    <input type="submit" value="del">
    </form>
    smesjzzaterdag 2 september 2006 @ 12:04
    Uhm, wat dacht je van die
    1
    2
    3
    if(isset($_GET['id']) ) {
    mysql_query('DELETE FROM leden WHERE id='.$_GET['id']);
        } 


    Boven je select query te plaatsen?

    En please, zet error_reporting(E_ALL) aan zodat je geen ranzige code meer schrijft

    $row[id] => Dat verwijst naar een constante met de naam id maar wat je eigenlijk wil is '$row['id'] gebruiken. Hiermee verwijs naar het element met de naam 'id' in je array
    Knutzaterdag 2 september 2006 @ 12:18
    Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
    Knutzaterdag 2 september 2006 @ 12:20
    Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
    informatie daadwerkelijk deleten komt je nog al eens duur te staan
    Swetseneggerzaterdag 2 september 2006 @ 12:28
    quote:
    Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
    Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
    informatie daadwerkelijk deleten komt je nog al eens duur te staan
    Tja, als je zo bang bent om het verkeerde te deleten, kan je beter geen delete optie inbouwen
    Desdinovazaterdag 2 september 2006 @ 12:29
    quote:
    Op zaterdag 2 september 2006 12:18 schreef Knut het volgende:
    Oe leuk, en dan een leuke SQL query toevoegen aan $_GET['id'] zodat er tabellen gedropt worden
    jaa leuk
    probeer het maar eens en bederf je eigen voorpret
    Desdinovazaterdag 2 september 2006 @ 12:31
    quote:
    Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
    Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
    informatie daadwerkelijk deleten komt je nog al eens duur te staan
    in eerste instantie deed ik dat ook altijd, en aan de ene kant heeft het ook zeker voordelen. maar aan de andere kant wordt je database er niet schoner en kleiner op. ik ben er vanaf gestapt, zonder spijt tot nog toe.
    Swetseneggerzaterdag 2 september 2006 @ 12:31
    quote:
    Op zaterdag 2 september 2006 12:29 schreef Desdinova het volgende:

    [..]

    jaa leuk
    probeer het maar eens en bederf je eigen voorpret
    Want?
    je stukje code staat wijd open voor sqlinjection hoor
    Desdinovazaterdag 2 september 2006 @ 12:38
    quote:
    Op zaterdag 2 september 2006 12:31 schreef Swetsenegger het volgende:

    [..]

    Want?
    je stukje code staat wijd open voor sqlinjection hoor
    niet mijn stukje code maar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
    Swetseneggerzaterdag 2 september 2006 @ 12:42
    quote:
    Op zaterdag 2 september 2006 12:38 schreef Desdinova het volgende:

    [..]

    niet mijn stukje code maar dubbele sql queries worden niet meer uitgevoerd door mysql_query() toch?
    Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
    Desdinovazaterdag 2 september 2006 @ 12:50
    quote:
    Op zaterdag 2 september 2006 12:42 schreef Swetsenegger het volgende:

    [..]

    Sinds wanneer? en daarnaast hoeft het geen dubbele query te zijn, als je je in id een and ofzo plakt krijg je al meer informatie terug dan voor jou bedoelt is. Zie een discussie die ik had met jera in 1 van de oudere topics waarin ik ook iets teveel vertrouwde op magic quotes en dergelijke. Staat ook een werkend voorbeeld in.
    ok top
    ga ik me ff wat meer verdiepen in sql injection, want ik vertrouw idd ook op de magic quotes atm.
    warezguy05zaterdag 2 september 2006 @ 12:58
    quote:
    Op zaterdag 2 september 2006 02:35 schreef JeRa het volgende:

    [..]

    In PHP is een punt de operator voor concatenatie (optelling) van twee strings. Voorbeeldje:
    [ code verwijderd ]

    Maar hoogstwaarschijnlijk is het gewoon een toevallige regeleinde die niet consequent wordt toegepast in die video tut?
    ok duidelijk
    smesjzzaterdag 2 september 2006 @ 14:06
    Of je gebruikt sprintf() om van het gezeik af te zijn:

    $sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

    Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

    Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
    Swetseneggerzaterdag 2 september 2006 @ 14:15
    quote:
    Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
    Of je gebruikt sprintf() om van het gezeik af te zijn:

    $sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

    Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

    Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
    http://www.php.net/mysql_real_escape_string
    JeRazaterdag 2 september 2006 @ 16:26
    Voor dat soort dingetjes is PDO wel zo handig. Omslachtig, maar handig:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    $db = new PDO('mysql:host=mysqlhost;dbname=dbnaam', 'naam', 'ww');

    // Prepare statement
    $stmt = $db->prepare('DELETE FROM `leden` WHERE `naam` = :naam');
    $stmt->bindValue('naam', 'Danny');

    // Execute
    $stmt->execute();
    unset($stmt);


    Werkt voor strings, integers, floats, etc. en je hebt nooit meer last van SQL injection (zolang je exceptions maar catcht).
    Tuvai.netzaterdag 2 september 2006 @ 18:43
    Lang leve intval() en mysql_real_escape_string().
    HuHuzaterdag 2 september 2006 @ 19:45
    Als ik een query als deze heb:

    1SELECT COUNT(iets) as aantal FROM orders GROUP BY datum ORDER BY datum DESC


    Dan komt daar 1 kolom uit met 100 rijen en in elke cel een getal. Is er een manier om dat simpel om te zetten naar een array? Dus iets als:

    1
    2
    3
    <?php
    $data
    = array (10, 20, 30, 15, 39, 29, 3);
    ?>


    Zodat ik dus het resultaat van die query als array kan gebruiken? Omdat er maar 1 kolom uit komt kan het dus simpel in een 1 dimensionale array, maar ik kan daar zo snel niet een makkelijke functie voor vinden.
    Swetseneggerzaterdag 2 september 2006 @ 19:47
    $row['aantal'] is toch al een array
    super-muffinzaterdag 2 september 2006 @ 19:52
    quote:
    Op zaterdag 2 september 2006 12:20 schreef Knut het volgende:
    Ow, en het is beter gebruik om een status veld toe te voegen aan je database en dat status veld in je query's te gebruiken.
    informatie daadwerkelijk deleten komt je nog al eens duur te staan
    dat is een goeie

    En dan in de mysql_query zeggen dat alleen de actieve worden geselecteerd neem ik aan
    -edit-
    heel slim, dat is precies wat je zegt
    HuHuzaterdag 2 september 2006 @ 20:01
    quote:
    Op zaterdag 2 september 2006 19:47 schreef Swetsenegger het volgende:
    $row['aantal'] is toch al een array
    Die snap ik niet? Als ik het volgende heb:

    1
    2
    3
    <?php
    $result
    = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");
    ?>


    Hoe krijg ik dan daar een array uit?
    Pileszaterdag 2 september 2006 @ 20:05
    quote:
    Op vrijdag 1 september 2006 21:22 schreef Piles het volgende:

    [..]

    Jep (als DATETIME, als dat nog uitmaakt).
    Maar MySQL werkt nu gewoon door elkaar. Hij selecteert de laatste datum en zomaar een foto
    Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebben
    Swetseneggerzaterdag 2 september 2006 @ 20:06
    quote:
    Op zaterdag 2 september 2006 20:01 schreef HuHu het volgende:

    [..]

    Die snap ik niet? Als ik het volgende heb:
    [ code verwijderd ]

    Hoe krijg ik dan daar een array uit?
    mysql_fetch_array of mysql_fetch_assoc?
    super-muffinzaterdag 2 september 2006 @ 20:07
    quote:
    Op zaterdag 2 september 2006 14:06 schreef smesjz het volgende:
    Of je gebruikt sprintf() om van het gezeik af te zijn:

    $sql = sprintf("DELETE FROM leden WHERE id=%d",$_GET['id']);

    Maar natuurlijk kan sprintf() ook nog helpen (er zijn meerdere mogelijkheden) bij XSS probleempjes omdat je gemakkelijk de lengte en format van een string (of int,float whatever) kan beperken.

    Maar aangezien het voorbeeld lijkt te gaan over een CMSachtig iets waar niet iedereen zo maar gebruikersbeheer kan toepassen (of google alle links kan volgen, ook leuk) valt het probleem hier nogal mee.
    Dit voorbeeld is niet voor een CMS of zo. Maar ik wil het wel gaan gebruiken in een heel erg basis CMS waar voor moet ingelogd worden zo dat niet iedereen er bij kan.
    Tuvai.netzaterdag 2 september 2006 @ 20:57
    quote:
    Op zaterdag 2 september 2006 20:05 schreef Piles het volgende:

    [..]

    Ik heb de moed inmiddels opgegeven. Allerlei querys geprobeerd (ook met timestamp), maar ik krijg niet de laatste foto. Ik heb nu gewoon geen GROUP BY erbij staan, maar mocht iemand nog een idee hebben
    Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?

    SELECT * FROM jouwtabel ORDER BY datum DESC LIMIT 1
    Pileszaterdag 2 september 2006 @ 21:04
    quote:
    Op zaterdag 2 september 2006 20:57 schreef Tuvai.net het volgende:

    [..]

    Je bedoelt dat je gewoon de laatst toegevoegde record wil pakken uit je database?

    SELECT * FROM jouwtabel ORDER BY datum DESC LIMIT 1
    Nee, zie: [PHP/(My)SQL] voor dummies - Deel 31
    Tuvai.netzaterdag 2 september 2006 @ 21:15
    Heb je al eens ORDER BY id ASC, datum DESC geprobeerd?
    Pileszaterdag 2 september 2006 @ 21:18
    quote:
    Op zaterdag 2 september 2006 21:15 schreef Tuvai.net het volgende:
    Heb je al eens ORDER BY id ASC, datum DESC geprobeerd?
    Er moet een GROUP BY oid in, want ik heb de volgende tabellen

    item
    - item_id (uniek)
    - item_naam

    foto
    - foto_id (uniek)
    - item_id (zie tabel item)
    - link
    - datum

    Nu wil ik dus de 5 laatste items laten zien waar een foto is toegevoegd + die laatste foto.
    Snap je?

    [ Bericht 1% gewijzigd door Piles op 03-09-2006 12:42:00 ]
    HuHuzaterdag 2 september 2006 @ 22:34
    Als ik deze query uitvoer:

    1
    2
    3
    <?php
    $result
    = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");
    ?>


    Dan krijg ik een resultaat terug met daarin 1 kolom en 100 rijen. Als ik dan dit doe:

    1
    2
    3
    4
    5
    6
    <?php
    while($row = mysql_fetch_assoc($result))
    {
        echo(
    $row["aantal"]. "<br />");
    }
    ?>


    Dan worden alle 100 resultaten keurig op het scherm getoond.

    Maar als ik dit doe:

    1
    2
    3
    <?php
    print_r
    (mysql_fetch_assoc($result));
    ?>


    Dan krijg ik alleen het resultaat in de eerste rij te zien, en niet alle 100. Wat ik wil bereiken is dat ik het resultaat van die query omzet in een array met alle 100 waarden.
    HuHuzaterdag 2 september 2006 @ 22:37
    Ik heb het nu zo opgelost:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $result
    = mysql_query("SELECT COUNT(*) as aantal FROM orders GROUP BY datum ORDER BY datum DESC LIMIT 100");

    $data = array();

    while(
    $row = mysql_fetch_assoc($result))
    {
        
    array_push($data, $row["aantal"]);
    }
    ?>


    Maar hier moet toch ook wel een standaard-functie voor bestaan?
    robhzondag 3 september 2006 @ 11:38
    quote:
    Op zaterdag 2 september 2006 22:37 schreef HuHu het volgende:
    Ik heb het nu zo opgelost:
    [ code verwijderd ]

    Maar hier moet toch ook wel een standaard-functie voor bestaan?
    Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.

    Is het trouwens mogelijk om in PHP objecten te casten naar andere objecten? Ik zie wel dat het mogelijk is om (object) te casten, maar ik wil een "iets" casten naar een object van mijn keuze.
    KaMozondag 3 september 2006 @ 12:40
    phpBB : Critical Error

    Could not open DArk template config file

    DEBUG MODE

    Line : 503
    File : functions.php

    Nu wil ik dus met PHPmyAdmin alle "DArk" in "ndesign" veranderen

    maar dan heb ik hem veranderd en dan zoek ik naar DArk
    is het weer veranderd in DArk
    Waar ligt dit aan?
    Lightzondag 3 september 2006 @ 13:13
    quote:
    Op zondag 3 september 2006 11:38 schreef robh het volgende:

    [..]

    Volgens mij is daar geen standaard functie voor en daar zijn natuurlijk wel legio redenen voor te verzinnen.

    Is het trouwens mogelijk om in PHP objecten te casten naar andere objecten? Ik zie wel dat het mogelijk is om (object) te casten, maar ik wil een "iets" casten naar een object van mijn keuze.
    PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.

    Een hond is geen fiets, dus het zou niet logisch zijn als je objecten van class hond naar class fiets kunt casten.
    robhzondag 3 september 2006 @ 13:39
    quote:
    Op zondag 3 september 2006 13:13 schreef Light het volgende:

    PHP4 of PHP5? Dat maakt zeker bij objecten wel uit. Ook de relatie tussen de objecten is handig. Maar ik denk niet dat je zomaar een object naar een ander type kunt casten.

    Een hond is geen fiets, dus het zou niet logisch zijn als je objecten van class hond naar class fiets kunt casten.
    PHP5.

    Ik weet dat het niet logisch is om te doen, maar het zou mooi zijn als het kan. Ik denk dan bijvoorbeeld aan een rij tabeldata uit een db die je zou kunnen casten naar een object (met dezelfde attributen) en dat dan je getters en setters gewoon werken. Tuurlijk is daar wel een andere oplossing voor, maar als het met een cast kon zou het imo netter zijn.
    JeRazondag 3 september 2006 @ 14:01
    quote:
    Op zondag 3 september 2006 13:39 schreef robh het volgende:

    [..]

    PHP5.

    Ik weet dat het niet logisch is om te doen, maar het zou mooi zijn als het kan. Ik denk dan bijvoorbeeld aan een rij tabeldata uit een db die je zou kunnen casten naar een object (met dezelfde attributen) en dat dan je getters en setters gewoon werken. Tuurlijk is daar wel een andere oplossing voor, maar als het met een cast kon zou het imo netter zijn.
    Het ligt maar net aan je definitie voor 'netter' anyway, jij hebt een bepaalde conversie voor ogen waarbij je keys van een array cast naar een object met member variables van dezelfde naam. Hier is geen eenduidige cast voor te bedenken aangezien anderen wellicht een andere conversie hadden bedacht. Bovendien zou PHP nogal bloated worden als het dit soort casts zou gaan implementeren.

    Maar het mooie aan PHP is dat er niets in je weg staat om een kleine functie te schrijven die dit werk voor je doet qua 'netheid' is er imho toch al niets aan te redden als je in PHP werkt, dan zul je een stuk verder komen in bijvoorbeeld Java

    edit: een conversie van array -> object bestaat trouwens wel:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php

    $test = array('blaat' => 2, 3 => 'onzin');

    $obj = (object)$test;

    print_r($obj);

    ?>

    Maar het voorbeeld dat je aanhaalt is natuurlijk een beetje triviaal omdat er ook een functie is ala mysql_fetch_object()
    Skorpijazondag 3 september 2006 @ 14:55
    Hoe zou je in MySQL een veld waarde met 1 optellen?
    Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?

    En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...

    Iemand een idee, of weet waar ik ergens moet zoeken?
    Tuvai.netzondag 3 september 2006 @ 14:58
    quote:
    Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
    Hoe zou je in MySQL een veld waarde met 1 optellen?
    Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?

    En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...

    Iemand een idee, of weet waar ik ergens moet zoeken?
    1UPDATE jouwtabel SET jouw_numerieke_veld=jouw_numerieke_veld+1
    JeRazondag 3 september 2006 @ 15:00
    quote:
    Op zondag 3 september 2006 14:55 schreef Skorpija het volgende:
    Hoe zou je in MySQL een veld waarde met 1 optellen?
    Moet je eerst uitlezen wat er in dat veld staat met een select query, en daarna met een update query +1 bij de gevonden waarde doen?
    1UPDATE tabel SET waarde = waarde + 1 WHERE (conditie);
    quote:
    En hoe zit dit dan als er 2 of meer gebruikters dit bijna gelijktijdig doen. Dan lezen ze beide tegelijkertijd bijvoorbeeld het getal 5. Dan schrijft er 1 weg en wordt het zes, en schrijft de ander ook weg, waardoor het 6 blijft, terwijl het 7 had moeten zijn...
    Het grote concurrency probleem dus gelukkig stelt MySQL dat als je een enkele query uitvoert, deze atomic is. Dit betekent dat geen enkel ander proces/thread de tabellen kan wijzigen waar een huidige query op dat moment mee bezig is. Dus dit is atomic:

    1UPDATE tabel SET waarde = waarde + 1;


    En dit niet:

    1
    2
    SELECT waarde FROM tabel WHERE naam = 'piet';
    UPDATE tabel SET waarde = $waarde + 1;


    Bij deze laatste code kun je een ander proces in de weg zitten dat op dat moment exact dezelfde queries uitvoert. Om dit op te lossen kun je zelf tabellen locken:

    1
    2
    3
    4
    LOCK TABLES `tabel` WRITE;
    SELECT waarde FROM tabel WHERE naam = 'piet';
    UPDATE tabel SET waarde = $waarde + 1;
    UNLOCK TABLES;


    Et voila je opvolgende queries tussen LOCK en UNLOCK zijn atomic geworden.
    Skorpijazondag 3 september 2006 @ 15:03
    quote:
    Op zondag 3 september 2006 14:58 schreef Tuvai.net het volgende:

    [..]
    [ code verwijderd ]
    -edit- thanks Tuvai en JeRa
    Pileszondag 3 september 2006 @ 18:00
    Ik heb eindelijk eens oplossing voor mijn foto-probleem (met dank aan een ander forum )

    1
    2
    3
    4
    5
    SELECT i.item_naam, i.item_id, f.foto_id, f.foto_datum, f.foto_link 
    FROM `item` AS i
    INNER JOIN foto AS f ON i.item_id=f.item_id 
    GROUP BY i.item_id 
    ORDER BY f.foto_datum DESC
    KaMozondag 3 september 2006 @ 18:12
    quote:
    Op zondag 3 september 2006 12:40 schreef KaMo het volgende:
    phpBB : Critical Error

    Could not open DArk template config file

    DEBUG MODE

    Line : 503
    File : functions.php

    Nu wil ik dus met PHPmyAdmin alle "DArk" in "ndesign" veranderen

    maar dan heb ik hem veranderd en dan zoek ik naar DArk
    is het weer veranderd in DArk
    Waar ligt dit aan?
    al opgelost
    SuperRembozondag 3 september 2006 @ 19:32
    quote:
    Op zondag 3 september 2006 18:00 schreef Piles het volgende:
    Ik heb eindelijk eens oplossing voor mijn foto-probleem (met dank aan een ander forum )
    [ code verwijderd ]

    Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.
    Pileszondag 3 september 2006 @ 19:42
    quote:
    Op zondag 3 september 2006 19:32 schreef SuperRembo het volgende:

    [..]

    Eigenlijk hoor je te groeperen op elk veld dat in de select voor komt. Als er meerdere foto's bij een item kunnen horen, dan weet je met jouw query niet welke foto je bij een item krijgt.
    Alleen de velden uit de tabel `item` neem ik aan?
    Ik heb het aangepast en het werkt nog steeds
    SuperRembozondag 3 september 2006 @ 20:51
    Nee, alle velden die in de select gebruikt worden, behalve velden in functies als sum() en max().
    Woutamaandag 4 september 2006 @ 00:01
    Ik probeer op mysql.com te vinden of het mogelijk is een select qeury in mysql toen waar ik 3 voorwaarde kan opgeven in me query.

    Dus iets als $sql = "SELECT * FROM layout_rij WHERE user_id ='test' AND x='íets' AND y='nogwat'"

    Weet iemand of zo iets mogelijk is en hoe je de query uitvoerd ik geen bruikbaare documentatie vinden of wil ik iets wat niet kan ?
    Ali Salamimaandag 4 september 2006 @ 00:10
    Als ik je eerste zin goed begrijp wil je een sql-query met meerdere voorwaarden, en dat zet je dan inderdaad ook in je SQL-statement. En die laatste is dan ook goed, er staat in de documentatie wel wat6 over AND/OR operators.

    Maar heb je je query uberhaubt al eens uitgeprobeerd? Dat is eerst wel handig
    Tiemiemaandag 4 september 2006 @ 00:17
    Het is niet alleen mogelijk om meerdere voorwaarden te gebruiken, Het is zelfs vrij standaard. .
    Lightmaandag 4 september 2006 @ 00:17
    quote:
    Op maandag 4 september 2006 00:01 schreef Wouta het volgende:
    Ik probeer op mysql.com te vinden of het mogelijk is een select qeury in mysql toen waar ik 3 voorwaarde kan opgeven in me query.

    Dus iets als $sql = "SELECT * FROM layout_rij WHERE user_id ='test' AND x='íets' AND y='nogwat'"

    Weet iemand of zo iets mogelijk is en hoe je de query uitvoerd ik geen bruikbaare documentatie vinden of wil ik iets wat niet kan ?
    Ja, zoiets is mogelijk. En het werkt nog op de manier die je hier beschrijft ook. Dus gewoon met AND. Of met OR, afhankelijk van wat je wilt. Als je AND en OR gaat combineren in een query dan is het aan te raden om altijd haakjes te gebruiken. Dan kun je het later makkelijker teruglezen, zonder je af te vragen hoe het bedoeld was.

    Zie twee voorbeeldjes hieronder:
    SELECT * FROM table WHERE a AND ( b OR c )
    SELECT * FROM table WHERE ( a AND b ) OR c
    Woutamaandag 4 september 2006 @ 19:01
    quote:
    Op maandag 4 september 2006 00:10 schreef Ali Salami het volgende:
    Maar heb je je query uberhaubt al eens uitgeprobeerd? Dat is eerst wel handig
    Zeker heb ik de query geprobeerd! Ik denk alleen dat ik een andere fout in de query had. Hoewel ik dat niet eruitkon halen met mysql_error();
    robhmaandag 4 september 2006 @ 19:11
    quote:
    Op zondag 3 september 2006 14:01 schreef JeRa het volgende:

    [..]

    Het ligt maar net aan je definitie voor 'netter' anyway, jij hebt een bepaalde conversie voor ogen waarbij je keys van een array cast naar een object met member variables van dezelfde naam. Hier is geen eenduidige cast voor te bedenken aangezien anderen wellicht een andere conversie hadden bedacht. Bovendien zou PHP nogal bloated worden als het dit soort casts zou gaan implementeren.

    Maar het mooie aan PHP is dat er niets in je weg staat om een kleine functie te schrijven die dit werk voor je doet qua 'netheid' is er imho toch al niets aan te redden als je in PHP werkt, dan zul je een stuk verder komen in bijvoorbeeld Java

    edit: een conversie van array -> object bestaat trouwens wel:
    [ code verwijderd ]

    Maar het voorbeeld dat je aanhaalt is natuurlijk een beetje triviaal omdat er ook een functie is ala mysql_fetch_object()
    Hehehe, ja, ik kán een functie schrijven. Hell, ik kan voor elke klasse wel een factory aanmaken. Hartstikke hip, patterns. Maar dat was de vraag niet.

    Ik geloof dat hetgeen ik wil niet mogelijk is. Nou ja, daar kan ik wel mee leven.

    IIG bedankt voor de respons
    markiemarkmaandag 4 september 2006 @ 23:45
    Even een kort vraagje...
    $_SERVER['REQUEST_URI'];
    werkt niet... De fout is:
    PHP Notice: Undefined index: REQUEST_URI in........
    Volgens mij een php.ini verhaal.. Hoe stel ik in dat dit wel werkt?
    Alvast bedankt!
    Lightmaandag 4 september 2006 @ 23:54
    quote:
    Op maandag 4 september 2006 23:45 schreef markiemark het volgende:
    Even een kort vraagje...
    $_SERVER['REQUEST_URI'];
    werkt niet... De fout is:
    PHP Notice: Undefined index: REQUEST_URI in........
    Volgens mij een php.ini verhaal.. Hoe stel ik in dat dit wel werkt?
    Alvast bedankt!
    Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.
    markiemarkdinsdag 5 september 2006 @ 00:06
    quote:
    Op maandag 4 september 2006 23:54 schreef Light het volgende:

    [..]

    Is dat een server met Windows XP en IIS 5.1 ? Zo ja, kijk dan eens hier. Of bij de andere reacties daar.
    ok thnx!
    SuperRembodinsdag 5 september 2006 @ 09:22
    quote:
    Op donderdag 17 augustus 2006 22:29 schreef Swetsenegger het volgende:
    Zag ik nu net een tv reclame van je werkgever SuperRembo?
    Nee, dat is gelukkig niet mijn werkgever. Dat is van deze lui.

    Ze hadden veel kunnen leren van deze topic reeks. En dat belooft niet veel goeds voor mensen die financiele gegevens moeten beheren.
    Desdinovadinsdag 5 september 2006 @ 16:32
    hoe eindig ik de huidige while loop?

    dussehh,

    $i = 1;
    while ($i < 5){
    if ($i == 2){ /*break ofzo*/ }
    echo $i;
    $i++;
    }

    duss dan zou ik een lijstje willen krijgen van 1, 3, 4, 5. en dat moet dus met zo'n ga-verder-met-de-volgende-loop-dinges en niet met een workaround want die kan ik ook wel verzinnen
    Lightdinsdag 5 september 2006 @ 16:36
    quote:
    Op dinsdag 5 september 2006 16:32 schreef Desdinova het volgende:
    hoe eindig ik de huidige while loop?

    dussehh,

    $i = 1;
    while ($i < 5){
    if ($i == 2){ /*break ofzo*/ }
    echo $i;
    $i++;
    }

    duss dan zou ik een lijstje willen krijgen van 1, 3, 4, 5. en dat moet dus met zo'n ga-verder-met-de-volgende-loop-dinges en niet met een workaround want die kan ik ook wel verzinnen
    continue

    break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
    Pilesdinsdag 5 september 2006 @ 16:37
    Laat maar
    the_disheaverdinsdag 5 september 2006 @ 16:38
    laat ook maar
    Desdinovadinsdag 5 september 2006 @ 16:48
    quote:
    Op dinsdag 5 september 2006 16:36 schreef Light het volgende:

    [..]

    continue

    break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
    ah die zocht ik tx!
    guitaristwoensdag 6 september 2006 @ 05:45
    http://mcrdev.guitarist.nl/menu/icoontjes/

    Voor degene die een lichtkrant in hun avatar willen!

    Hotlinken staat uit:

    SuperRembowoensdag 6 september 2006 @ 09:16
    quote:
    Op dinsdag 5 september 2006 16:36 schreef Light het volgende:

    [..]

    continue

    break laat je uit de while loop springen, dan krijg je alleen de 1 te zien in je voorbeeld.
    Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
    Lightwoensdag 6 september 2006 @ 09:18
    quote:
    Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:

    [..]

    Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
    Hmmja, je hebt gelijk.
    Desdinovawoensdag 6 september 2006 @ 09:51
    quote:
    Op woensdag 6 september 2006 09:16 schreef SuperRembo het volgende:

    [..]

    Als je op die plaats een continue zet dan blijft je loop hangen, je komt namelijk niet meer langs $i++.
    maakt niet uit was even een snel voorbeeld.
    super-muffinwoensdag 6 september 2006 @ 21:58
    Ik heb in m'n tabel een veld staan op 'datetime'
    nu word dit opgeslagen als dit (en dat is ook de output) : 2006-09-06 21:40:26

    Hoe kan ik dit weergeven op deze manier:
    2006-09-06 21:40:26
    06 - 09 - 2006 om 21:40:26
    Pileswoensdag 6 september 2006 @ 22:09
    1
    2
    3
    <?php
    echo date("d-m-Y", strtotime($datum)).' om '.date("H:i:s", strtotime($datum));
    ?>

    CraZaaywoensdag 6 september 2006 @ 22:43
    Of direct in je query met DATE_FORMAT
    super-muffinwoensdag 6 september 2006 @ 23:03
    daarmee kan ik toch de datum weergeven als:
    06 september 2006 om 21:40:26

    maar hoe?
    1
    2
    3
    <?php
    DATE_FORMAT
    (datum, '%M %D, %Y') as date
    ?>


    Dit werkt iig niet, daar krijg ik een error bij:
    quote:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_FORMAT(datum, '%M %D, %Y') as date' at line 1
    CraZaaywoensdag 6 september 2006 @ 23:11
    'date' gereserveerd toevallig? Probeer hier eens iets anders ('blaat' desnoods ).
    super-muffinwoensdag 6 september 2006 @ 23:18
    hm, nee dan ook niet.

    dit is mijn volledige code:

    1
    2
    3
    4
    5
    6
    7
    <?php
    $sql_date
    = mysql_query("SELECT * FROM gastenboek DATE_FORMAT(datum, '%M %D, %Y') AS blaat") or die (mysql_error());

    while(list(
    $date) = mysql_fetch_row($sql_date)){
    echo
    "The date of this row is: $date";
    }
    ?>
    CraZaaywoensdag 6 september 2006 @ 23:24
    Ah, hij staat op de verkeerde plaats

    SELECT *, DATE_FORMAT ... FROM ...
    super-muffinwoensdag 6 september 2006 @ 23:30
    Dat was het inderdaad
    Alleen dan zonder *,

    En hoe krijg ik de maanden in het Nederlands?
    CraZaaywoensdag 6 september 2006 @ 23:35
    quote:
    Op woensdag 6 september 2006 23:30 schreef super-muffin het volgende:
    Dat was het inderdaad
    Alleen dan zonder *,

    En hoe krijg ik de maanden in het Nederlands?
    Dat * is alleen nodig als je alles wilt hebben + de geformateerde datum.

    Het meest fail-safe is een array met de maanden, maar als er anderen goede ervaringen hebben met het formatten van de datum op basis van een locale dan hoor ik het graag
    super-muffinwoensdag 6 september 2006 @ 23:50
    hm ik krijg het niet zo als ik hebben wil

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $sql_date
    = mysql_query("SELECT *, DATE_FORMAT(time, '%e %M %Y om %T') FROM gastenboek AS date");

    while(
    $row = mysql_fetch_assoc($sql_date)){
        echo
    "$row[bericht]<br />";
        echo
    "$row[time]<br /> ";
        echo
    "door $row[naam]";
    }
    ?>


    dan krijg ik toch dit als output voor $row[time] :
    2006-09-06 21:40:26

    -edit-
    Nieuw topic -> [PHP/(My)SQL] voor dummies - Deel 32

    [ Bericht 6% gewijzigd door super-muffin op 07-09-2006 00:05:22 (toevoeging) ]
    qu63woensdag 6 september 2006 @ 23:59
    1
    2
    3
    <?php
    echo "$row[date]<br /> ";
    ?>
    lijkt mij
    super-muffindonderdag 7 september 2006 @ 00:02
    nee, dat had ik al geprobeerd.

    naja, ik ga maar slapen. Morgen weer een dag.

    en een nieuw topic:
    [PHP/(My)SQL] voor dummies - Deel 32