FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 27
HuHumaandag 15 mei 2006 @ 19:16

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:
[PHP] voor dummies - Deel 1
[PHP] voor dummies - Deel 2
[PHP] voor dummies - Deel 3
[PHP] voor dummies - Deel 4
[PHP] voor dummies - Deel 5
[PHP/(My)SQL] voor dummies - Deel 6
[PHP/(My)SQL] voor dummies - Deel 7
[PHP/(My)SQL] voor dummies - Deel 8
[PHP/(My)SQL] voor dummies - Deel 9
[PHP/(My)SQL] voor dummies - Deel 10
[PHP/(My)SQL] voor dummies - Deel 11
[PHP/(My)SQL] voor dummies - Deel 12
[PHP/(My)SQL] voor dummies - Deel 13
[PHP/(My)SQL] voor dummies - Deel 14
[PHP/(My)SQL] voor dummies - Deel 15
[PHP/(My)SQL] voor dummies - Deel 16
[PHP/(My)SQL] voor dummies - Deel 17
[PHP/(My)SQL] voor dummies - Deel 18
[PHP/(My)SQL] voor dummies - Deel 19
[PHP/(My)SQL] voor dummies - Deel 20
[PHP/(My)SQL] voor dummies - Deel 22
[PHP/(My)SQL] voor dummies - Deel 23
[PHP/(My)SQL] voor dummies - Deel 24
[PHP/(My)SQL] voor dummies - Deel 25
[PHP/(My)SQL] voor dummies - Deel 26

Zie ook:
  • PHP Dataverwerking
  • Officiële PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet

    PHP goodies
  • PHP5 Power Programming
    In dit boek 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
  • JeRamaandag 15 mei 2006 @ 19:17
    Laatste post:
    quote:
    Op maandag 15 mei 2006 19:00 schreef timbastiaansen het volgende:

    [..]

    Zoals ik hem zei dat hij moest geven:
    [ code verwijderd ]
    Vraag de daadwerkelijke foutmelding eens op met mysql_error() dan hebben we er meer aan.

    Kijk, mijn nieuwe toevoeging aan de OP is gelijk van toepassing
    HuHumaandag 15 mei 2006 @ 19:18
    quote:
    Op maandag 15 mei 2006 18:53 schreef timbastiaansen het volgende:

    [ code verwijderd ]

    Ziet hier iemand een fout in, ik krijg iig wel een foutmelding
    Probeer eens dit:
    1
    2
    3
    $sql="INSERT INTO gastenboek (naam, buurt, bericht) 
    VALUES ('{$naam}', '{$buurt}', '{$bericht}')";
    mysql_query($sql)or die ("fout"); 


    Dus met enkele quote-jes rond de value's die in de DB worden gezet.
    wobbelmaandag 15 mei 2006 @ 19:29
    quote:
    Op maandag 15 mei 2006 18:35 schreef HuHu het volgende:

    [..]

    Volgens mij werkt dat niet in FireFox, die geeft alleen de naam en value van het input field mee, en niet de x en y lokatie waar geklikt is.
    http://campzone.tcc-leerlingen.nl/map_set.php werkt wel, kijk maar in de statusbar naar de url als je met muis over image gaat

    En nu had ik nog 'n vraag (uit andere topic)
    =============================================================================
    Windows XP heeft de Webbpucliatie wizard, ook wel Publisher genoemd


    Nu zoek ik een PHP script welke die foto's kan afhandelen en zodat ik zelf kan kiezen wat er mee gebeurd...

    zelfde systeem dus als http://photobucket.com/tutorials/xp/xp.html

    (alleen de php code en/of uitleg van het systeem...de .reg heb ik alwel aangepast)
    HuHumaandag 15 mei 2006 @ 19:33
    quote:
    Op maandag 15 mei 2006 19:29 schreef wobbel het volgende:

    [..]

    http://campzone.tcc-leerlingen.nl/map_set.php werkt wel, kijk maar in de statusbar naar de url als je met muis over image gaat
    Klopt, dat is een JavaScript, maar volgens mij werkt dit niet in FireFox, zoals het zou moeten werken volgens het W3C:

    1<input type="image" name="plaatje" />


    In FireFox geeft dat niet de coördinaten door waar er geklikt is, maar slechts dat er geklikt is.
    wobbelmaandag 15 mei 2006 @ 19:34
    quote:
    Op maandag 15 mei 2006 19:33 schreef HuHu het volgende:

    [..]

    Klopt, dat is een JavaScript, maar volgens mij werkt dit niet in FireFox, zoals het zou moeten werken volgens het W3C:
    [ code verwijderd ]

    In FireFox geeft dat niet de coördinaten door waar er geklikt is, maar slechts dat er geklikt is.
    Hier in firefox (1.5.0.3 engels) werkt ie anders toch écht perfect hoor

    fokME2maandag 15 mei 2006 @ 19:35
    Mijn vraag uit het vorige topic (hopelijk kan iemand helpen )
    quote:
    Op maandag 15 mei 2006 18:46 schreef fokME2 het volgende:
    Ik ben bezig met imap en mail

    Ik wil de geparsde berichten graag verplaatsen naar een nieuwe map => INBOX.parsed.
    Dit lukt echter niet? Ook wil ik de berichten in INBOX.parsed en INBOX appart weergeven.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    for ($i = 1; $i &lt;= imap_num_msg($mbox); $i++){
                        
    $header = imap_headerinfo($mbox, $i, 80, 80);
                              
    $mailinfo = mail_array($header);
    //**knip**
                
    if(!imap_status($mbox, $parsedir, SA_ALL)){
                         
    //kijken of de mailbox INBOX.parsed bestaat
                    
    imap_createmailbox($mbox, imap_utf7_encode($parsedir));
                        
    //zoniet dan aanmaken
                
    }
            
    imap_mail_move($mbox, $i, 'INBOX.parsed'); //klopt dit wel?
    }
    ?>


    Kan iemand me vertellen hoe ik nou precies een mailtje verplaats naar een andere dir?
    Hoe ik de dirs appart kan parsen?
    HuHumaandag 15 mei 2006 @ 19:38
    quote:
    Op maandag 15 mei 2006 19:34 schreef wobbel het volgende:

    [..]

    Hier in firefox werkt ie anders toch écht perfect hoor
    Die site werkt ook wel, maar die maakt gebruik van een JavaScript, niet van de regel code die ik gaf.

    De <input type="image" name="plaatje" /> resulteert in FireFox niet in plaatje.x=500&plaatje.y=300, maar in plaatje=. Als je dus de input tag wil gebruiken om de coördinaten door te geven van waar het geklikt is op het plaatje, dan werkt dat niet in FireFox.
    ikke_ookmaandag 15 mei 2006 @ 19:43
    Hoe hebben jullie apache/mysql/php geinstalleerd?
    Ik heb windows opnieuw geinstalleerd en de vorige keer dat ik apache ed had geinstalleerd is zo lang geleden dat ik de installatiefiles niet meer heb. Heeft er iemand een mooi pakketje dat alles in 1x installeert?

    Owja, php moet de gd library hebben.
    HuHumaandag 15 mei 2006 @ 19:45
    ikke_ook, ik heb zelf wel eens PHPdev gebruikt (eerste hit op google), dat werkte prima. Moet je maar even kijken of alles aan de zaken voldoet die je wilt hebben.

    Verder heb ik pas zelf alles apart geïnstalleerd, ging ook prima.
    wobbelmaandag 15 mei 2006 @ 19:46
    Gewoon ff tutorial volgen, kan je alles los installeren, ook met GD...totaal 10/15 minuten werk..
    (voor gd moet je ff een ; weghalen in de ini)
    fokME2maandag 15 mei 2006 @ 19:47
    @ikke_ook:
    http://sourceforge.net/projects/xampp/ Heeft volgens mij alles?

    Je kunt het ook zelf doen;) Kost toch niet zoveel moeite?
    ikke_ookmaandag 15 mei 2006 @ 19:49
    Ah, dankjullie wel Als jullie zeggen dat t los installeren niet zoveel werk is zal ik daar ook s naar kijken
    HuHumaandag 15 mei 2006 @ 19:54
    quote:
    Op maandag 15 mei 2006 19:49 schreef ikke_ook het volgende:
    Ah, dankjullie wel Als jullie zeggen dat t los installeren niet zoveel werk is zal ik daar ook s naar kijken
    Apache downloaden: klik, klik, Ja, Accepteren, Ja, Ja, Volgende, Klaar.

    PHP het zipje downloaden en in een mapje pleuren. Even even de httpd.conf aanpassen.

    MySQL downloaden: Klik, Klik, Ja, Ja, OK, Accepteren, Wachtwoord voor root invoeren, OK, OK, Volgende, Ja, Voltooien.

    Klaar.
    wobbelmaandag 15 mei 2006 @ 19:56
    quote:
    Op maandag 15 mei 2006 19:54 schreef HuHu het volgende:

    [..]

    Apache downloaden: klik, klik, Ja, Accepteren, Ja, Ja, Volgende, Klaar.

    PHP het zipje downloaden en in een mapje pleuren. Even even de httpd.conf aanpassen.

    MySQL downloaden: Klik, Klik, Ja, Ja, OK, Accepteren, Wachtwoord voor root invoeren, OK, OK, Volgende, Ja, Voltooien.

    Klaar.
    PHP heeft volgensmij ook win32 installer
    HuHumaandag 15 mei 2006 @ 19:58
    quote:
    Op maandag 15 mei 2006 19:56 schreef wobbel het volgende:

    [..]

    PHP heeft volgensmij ook win32 installer
    Ja... maar die is kut en werkt niet

    Of ik moet het 30x fout hebben gedaan, maar hij wil niet werken. Het ZIP-je uitpakken werkte voor mij in 1 keer.
    freissmaandag 15 mei 2006 @ 20:05
    Is het toegestaan te tvp'en?
    ikke_ookmaandag 15 mei 2006 @ 20:15
    quote:
    Op maandag 15 mei 2006 20:05 schreef freiss het volgende:
    Is het toegestaan te tvp'en?
    Nee!
    Dan raakt dit topic veel te snel vol!En ieder nieuw topic moet ik weer een goede tvp bedenken!
    the_disheavermaandag 15 mei 2006 @ 20:21
    quote:
    [-] HuHu - maandag 15 mei 2006 @ 18:35

    Volgens mij werkt dat niet in FireFox, die geeft alleen de naam en value van het input field mee, en niet de x en y lokatie waar geklikt is.
    Jawel. Probeer dit maar eens:
    1
    2
    3
    4
    5
    6
    7
    <?php
    print_r($_POST);
     
    ?>
    <form action='test.php' method='POST'>
    <input name='submit' type="image" src="101-01.gif">
    </form>

    (wel ff een werkend plaatje kiezen)
    the_disheavermaandag 15 mei 2006 @ 20:25
    quote:
    Op maandag 15 mei 2006 19:38 schreef HuHu het volgende:

    [..]

    Die site werkt ook wel, maar die maakt gebruik van een JavaScript, niet van de regel code die ik gaf.

    De <input type="image" name="plaatje" /> resulteert in FireFox niet in plaatje.x=500&plaatje.y=300, maar in plaatje=. Als je dus de input tag wil gebruiken om de coördinaten door te geven van waar het geklikt is op het plaatje, dan werkt dat niet in FireFox.
    Het is 'name_x' en name_y

    Staat blijkbaar verkeerd op de site...
    quote:
    Op maandag 15 mei 2006 20:05 schreef freiss het volgende:
    Is het toegestaan te tvp'en?
    Gewoon antwoord geven op een open staande vraag.

    En anders zelf een nuttige vraag bekenden..
    wobbelmaandag 15 mei 2006 @ 20:26
    date ("U"), dus unix timestamp is pas voor data vanaf 1970 toch? Geboortedata zijn dus niet zo slim om in unix timestamp te zetten want als je voor 1970 bent geboren heb je dus een probleem?
    JeRamaandag 15 mei 2006 @ 20:29
    quote:
    Op maandag 15 mei 2006 20:26 schreef wobbel het volgende:
    date ("U"), dus unix timestamp is pas voor data vanaf 1970 toch? Geboortedata zijn dus niet zo slim om in unix timestamp te zetten want als je voor 1970 bent geboren heb je dus een probleem?
    Dat klopt
    wobbelmaandag 15 mei 2006 @ 20:30
    quote:
    Op maandag 15 mei 2006 20:29 schreef JeRa het volgende:

    [..]

    Dat klopt
    kut

    Heb hier heel memberssysteem, helemaal home-made enzo maar goed...ik zag net een unix timestamp voor geboortedatum voorbij komen...en dat leek me inees niet zo slim
    JeRamaandag 15 mei 2006 @ 20:31
    quote:
    Op maandag 15 mei 2006 20:30 schreef wobbel het volgende:

    [..]

    kut
    Je kunt de geboortedatum natuurlijk ook als drie velden 'geboortejaar', 'geboortemaand' en 'geboortedag' opslaan (UNSIGNED SMALLINT). Dan kun je ook een hoop meer in queries doen met de verjaardagen enzo
    Darkomenmaandag 15 mei 2006 @ 20:34
    Ik probeer XMLHttpRequest een beetje te leren, maar het script werkt niet waneer ik hem include?
    De ontstaat dan een javascript error welke aangeeft dat het begin van mn site niet klopt?
    Het maakt niet uit wat er staat bovenaan, die regel klopt gewoon niet.
    "Fout: syntax error
    Bronbestand: http://www.borntobewild.nl/?pid=38
    Regel: 51, Kolom: 1
    Broncode:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
    Geinclude: http://www.borntobewild.nl/?pid=38
    Los: http://www.borntobewild.nl/test.php

    Er zit niet veel in de database nog, dus het beste kan je de g typen
    wobbelmaandag 15 mei 2006 @ 20:36
    uuhm...je include een pid=? pagina?

    dus: include("index.php?pid=38");???? begrijp ik dat goed?
    JeRamaandag 15 mei 2006 @ 20:39
    quote:
    Op maandag 15 mei 2006 20:36 schreef wobbel het volgende:
    uuhm...je include een pid=? pagina?

    dus: include("index.php?pid=38");???? begrijp ik dat goed?
    Nee, hij heeft het over AJAX.
    JeRamaandag 15 mei 2006 @ 20:39
    quote:
    Op maandag 15 mei 2006 20:34 schreef Darkomen het volgende:
    Ik probeer XMLHttpRequest een beetje te leren, maar het script werkt niet waneer ik hem include?
    Vreemd, maar hiervoor kun je beter in het topic Javascript voor dummies terecht denk ik zo
    wobbelmaandag 15 mei 2006 @ 20:40
    Mocht het dan ineens niet meer werken, dan is er een fout met het parsen van de code...iets wordt weggelaten / toegevoegd / veranderd...

    laat de code eens zien van die pagina die je included en de pagina waarop je include...
    Darkomenmaandag 15 mei 2006 @ 20:45
    quote:
    Op maandag 15 mei 2006 20:39 schreef JeRa het volgende:

    [..]

    Vreemd, maar hiervoor kun je beter in het topic Javascript voor dummies terecht denk ik zo
    d'oh! Ik ga hem er zo neer zetten.


    maar, er is niks echt anders aan het geinclude bestand en het directe bestand,
    anders dan de html code die je ziet waneer je de bron bekijkt.

    correctie er gaat dus wel wat fout, wazig. nog ff kijken

    Was iets simpels, het pad naar het bestand voor de request klopte niet

    [ Bericht 8% gewijzigd door Darkomen op 15-05-2006 20:56:07 ]
    wobbelmaandag 15 mei 2006 @ 20:58
    Warning: mysql_result(): Unable to jump to row 1 on MySQL result index 8 in /home/httpd/vhosts/tcc-leerlingen.nl/subdomains/campzone/httpdocs/map_set.php on line 25
    Al een keer coords geset voor deze user?

    1
    2
    3
    4
    5
    6
    <?php
    // de betreffende code
    $rCheckSetBeforeQ = mysql_query ( "SELECT COUNT(UserId) FROM Locatie WHERE UserId = '" . addslashes ( $_SESSION['IdLid'] )  . "'" ) or die ( mysql_error() ) ;
    $rCheckSetBeforeR = mysql_result ( $rCheckSetBeforeQ , 1 );
    echo
    "Al een keer coords geset voor deze user? " . $rCheckSetBeforeR;
    ?>
    fokME2maandag 15 mei 2006 @ 21:02
    @Darkomen
    Zie ik daar mijn script terug?

    getData("getdata.php?qu=" + input.value);

    Als ik die file probeer te benaderen dan lukt dat niet? De test.php werkt bij mij sowieso niet?

    Iemand nog gekeken naar mijn probleem?

    EDIT:
    @Darkomen
    Al gefixed zie ik. Heb je een online demo'tje?
    Darkomenmaandag 15 mei 2006 @ 21:24
    Klopt fokME2
    Maar ik heb het al opgelost, ben nu nog wat dingen aan het veranderne, daarna komt hij online
    ExCibulardinsdag 16 mei 2006 @ 12:43
    Ik ben bezig een eerder gebouwde pagina wat makkelijker onderhoudbaar te maken.
    Dus nu wil ik het complete dropdownmenu uit een database halen.
    Dit is mijn menu zoals hij nu is:
    1
    2
    3
    4
    5
    6
    7
    8
    <ul>
          <li>A
              <ul>
                  <li>een</>
                  <li>twee</>
             </ul>
             </li>
    </ul>

    Met javascript en css wordt het menu dan gestyled zodat het een dropdown menu wordt.
    De li A </li> schrijf ik op dit moment en de <li>een</li> wordt uit de database gehaald. Daarvoor gebruik de volgende code:
    1
    2
    3
    4
    5
    6
    7
    8
    @mysql_select_db("domein")
    or die ("kon geen database selecteren");
    $query = "SELECT titel FROM tekst WHERE taal='$lang1' AND menu='$menu2' ORDER BY ID";
    $result = mysql_query($query);
    while (list($titel) = mysql_fetch_row($result))
    {
    echo "<li><a href='index.php?t=$titel'>$titel</a></li>";
    }

    Dat werkt allemaal goed! Dus ik dacht het hele menu op bijna identieke wijze uit de database te halen. Maar daar gaat het mis dat wil hij niet doen hij laat ze niet zien.
    Ik heb dus 2 tabellen, eentje met de teksten en eentje met de items die hij als menu moet weergeven (in de tabel teksten staan namelijk ook teksten die niet in het menu moeten)

    Hoe kan ik dat het mooist voor elkaar krijgen?
    Darkomendinsdag 16 mei 2006 @ 13:22
    quote:
    Op maandag 15 mei 2006 21:24 schreef Darkomen het volgende:
    Klopt fokME2
    Maar ik heb het al opgelost, ben nu nog wat dingen aan het veranderne, daarna komt hij online
    Ik ben er dus nog niet helemaal uit, er gaat iets mis met mn sql query, ik krijg de WHERE niet in de query

    "SELECT
    COUNT(c.cd_id) CDS,
    a.artist,a.artist_id
    FROM `cd_list_cds` c
    LEFT JOIN `cd_list_artists` a
    ON (a.artist_id = c.artist_id)
    WHERE a.artist_id LIKE '%".$GET[q]."%'
    GROUP BY a.artist_id";

    $GET[q] = bijvoorbeeld 'guns'

    er staan 2 bands in cd_list_artists, 'guns and roses' en 'guns and more' , elk heeft 2 cd's in cd_list_cds.
    want dit werkt wel:

    SELECT COUNT(c.cd_id) CDS, a.artist,a.artist_id
    FROM `cd_list_artists` a
    LEFT JOIN `cd_list_cds` c
    ON (a.artist_id = c.artist_id)
    GROUP BY a.artist_id

    Edit, again:

    SELECT COUNT(c.cd_id) CDS, a.artist,a.artist_id
    FROM `cd_list_artists` a
    LEFT JOIN `cd_list_cds` c
    ON (a.artist_id = c.artist_id)
    WHERE a.artist LIKE '%".$GET[q]."%'
    GROUP BY a.artist_id

    werkt weer wel.

    [ Bericht 9% gewijzigd door Darkomen op 16-05-2006 14:22:36 ]
    wobbeldinsdag 16 mei 2006 @ 16:02
    Warning: mysql_result(): Unable to jump to row 1 on MySQL result index 8 in /home/httpd/vhosts/tcc-leerlingen.nl/subdomains/campzone/httpdocs/map_set.php on line 25
    Al een keer coords geset voor deze user?

    1
    2
    3
    4
    5
    6
    <?php
    // de betreffende code
    $rCheckSetBeforeQ = mysql_query ( "SELECT COUNT(UserId) FROM Locatie WHERE UserId = '" . addslashes ( $_SESSION['IdLid'] )  . "'" ) or die ( mysql_error() ) ;
    $rCheckSetBeforeR = mysql_result ( $rCheckSetBeforeQ , 1 );
    echo
    "Al een keer coords geset voor deze user? " . $rCheckSetBeforeR;
    ?>
    JeRadinsdag 16 mei 2006 @ 16:13
    quote:
    Op dinsdag 16 mei 2006 16:02 schreef wobbel het volgende:
    Warning: mysql_result(): Unable to jump to row 1 on MySQL result index 8 in /home/httpd/vhosts/tcc-leerlingen.nl/subdomains/campzone/httpdocs/map_set.php on line 25
    Al een keer coords geset voor deze user?
    [ code verwijderd ]
    Ik zie niet in wat je wilt bereiken en wat je probleem is. Je gebruikt een COUNT() aggregate function terwijl je geen GROUP BY UserId doet, dat klopt alvast niet.
    wobbeldinsdag 16 mei 2006 @ 16:22
    quote:
    Op dinsdag 16 mei 2006 16:13 schreef JeRa het volgende:

    [..]

    Ik zie niet in wat je wilt bereiken en wat je probleem is. Je gebruikt een COUNT() aggregate function terwijl je geen GROUP BY UserId doet, dat klopt alvast niet.
    ik wil gewoon het aantal records tellen
    en normaal doe ik dat ook altijd zo (volgensmij, al heel lang niet meer gecoded )

    [edit]

    Heb het al, de 1 achterin de mysql_result moet een 0zijn
    Desdinovawoensdag 17 mei 2006 @ 11:00
    ik heb een beetje een performance issue.

    200 items waarvan 160 nieuwsitems staan in een mysql database, waarbij ik ID, MenuID, Active en Titel selecteer. De query is
    "SELECT ID, MenuID, Active, Titel FROM Items WHERE MenuID = '4'";

    dit wordt in een while loop gezet, waarbij elk gevonden item in een tablerow gezet wordt met hierin een snelle if functie: ($Active == 1 ? "class=\"inactive\"" : "class=\"active\"")
    en die nog een keer maar met andere variabelen.
    echter merk ik dat wanneer deze query wordt uitgevoerd (0,06ms) hij er 1,3s voor nodig heeft om alle gegevens in de tabel te verwerken. is er een manier om dit proces te versnellen of te optimaliseren?
    CraZaaywoensdag 17 mei 2006 @ 11:45
    Dus als ik het goed begrijp loop je door alle items, en doe je vervolgens per item deze query? Dan zou ik het meteen in je eerste query oplossen met een join ofzo, als je het met een query binnen een loop doet dan is het ronduit ranzig
    Desdinovawoensdag 17 mei 2006 @ 11:48
    nee

    in de loop staat geen query, maar wordt het in de tablerow gezet. bijv:
    1
    2
    <tr><<td ".($row->Active == 1 ? "class=\"inactive\"" : "class=\"active\"").">".$row->Titel."</td>
    <td ".($row->Active == 1 ? "class=\"inactive2\"" : "class=\"active2\"").">klik</td></tr>
    JeRawoensdag 17 mei 2006 @ 15:36
    quote:
    Op woensdag 17 mei 2006 11:00 schreef Desdinova het volgende:
    echter merk ik dat wanneer deze query wordt uitgevoerd (0,06ms) hij er 1,3s voor nodig heeft om alle gegevens in de tabel te verwerken. is er een manier om dit proces te versnellen of te optimaliseren?
    0,06ms is uiterst snel te noemen bedoel je niet 0,06s?

    Verder is 1,3 seconden voor een bewerking in PHP echt véél te lang...laat eens wat meer code zien, aan die constructie die je nu liet zien ligt het niet
    Desdinovawoensdag 17 mei 2006 @ 15:44
    hee niet zo bijdehand doen he
    0,06s ja

    dr zit nog wat extra's bij zie ik. 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
    25
    26
    27
    28
    29
    <?php
        $query
    = "SELECT Titel, ID, Active, MenuID FROM Items WHERE MenuID = '".$view."' ORDER BY Titel ASC";
        
    $result = mysql_query($query);
        while (
    $row = mysql_fetch_object($result)){
            
    $itemlist .= "
                <tr>
                    <td class=\""
    .
                        (
    $row-&gt;Active == 0 ? "menuitemsitemonline" : "menuitemsitemoffline")
                    .
    "\">
                        <a     href=\"admin.php?view=edititem&itemID="
    .$row-&gt;ID."&menuID=".$row-&gt;MenuID."\"
                            title=\""
    .$row-&gt;Titel."\">
                            "
    .(strlen($row-&gt;Titel) &gt; 40 ? substr($row-&gt;Titel,0,40).".." : $row-&gt;Titel)
                            .(empty(
    $row-&gt;Titel) ? "<i>geen titel</i>":"")."
                        </a>
                    </td>
                    <td class=\"menuitemsstatus\">
                        "
    .($row-&gt;Active == 0 ? "<a href=\"javascript:setoffline($row->ID)\">".$onlineimg."</a>" :
                        
    "<a href=\"javascript:setonline($row->ID)\">".$offlineimg."</a>")."
                    </td>
                    <td class=\"menuitemsedit\">
                        <a href=\"admin.php?view=edititem&itemID="
    .$row-&gt;ID."&menuID=".$row-&gt;MenuID."\">".$editimg."</a>
                    </td>
                    <td class=\"menuitemsdelete\">
                        <a href=\"javascript:delitem("
    .$row-&gt;ID.")\">".$deleteimg."</a>
                    </td>
                </tr>
            "
    ;
        }
    ?>
    JeRawoensdag 17 mei 2006 @ 15:58
    quote:
    Op woensdag 17 mei 2006 15:44 schreef Desdinova het volgende:
    dr zit nog wat extra's bij zie ik. de code:
    [ code verwijderd ]
    Op zich is dat helemaal niet iets wat langer dan 1 seconde zou moeten duren. Weet je zeker dat dáár het probleem ligt?
    Desdinovawoensdag 17 mei 2006 @ 16:06
    ik heb er een $time = microtime(true); voor gezet (voor de while) en na de while een $time2 = microtime(true);
    en dan echo $time2 - $time;. daar stond 1,13.

    maar het zijn wel 160 items he die hij verwerken moet?
    JeRawoensdag 17 mei 2006 @ 17:38
    quote:
    Op woensdag 17 mei 2006 16:06 schreef Desdinova het volgende:
    ik heb er een $time = microtime(true); voor gezet (voor de while) en na de while een $time2 = microtime(true);
    en dan echo $time2 - $time;. daar stond 1,13.

    maar het zijn wel 160 items he die hij verwerken moet?
    Ik ga zo een testje draaien

    edit: bij mij verwerkt hij 200 items in 9,5 milliseconden. Het lijkt me dus dat er ergens iets niet goed zit. Je gebruikt wel PHP5 zodat microtime(true) goed werkt?

    [ Bericht 14% gewijzigd door JeRa op 17-05-2006 17:48:41 ]
    fokME2woensdag 17 mei 2006 @ 18:05
    online voorbeeldje?
    Desdinovavrijdag 19 mei 2006 @ 12:36
    nee geen online voorbeeldje
    ik ga zo even kijken wat er gebeurd als ik die short-if's weghaal.

    edit
    query is al gelukt
    denk ik..

    [ Bericht 32% gewijzigd door Desdinova op 19-05-2006 12:42:45 ]
    guitaristvrijdag 19 mei 2006 @ 14:12
    hoe maak je marquee in php zoals in de avatar van therminator

    ik wil last played ava maken:

    hij is al werkend
    c0nd0rvrijdag 19 mei 2006 @ 15:29
    quote:
    Op vrijdag 19 mei 2006 14:12 schreef guitarist.nl het volgende:
    hoe maak je marquee in php zoals in de avatar van therminator
    [afbeelding]
    ik wil last played ava maken:
    [afbeelding]
    hij is al werkend
    Volgens mij moet je daarvoor ondersteuning van ImageMagick hebben
    Weet niet zeker, ik heb bij GD wel iets gelezen over frames oid..
    Swetseneggervrijdag 19 mei 2006 @ 19:31
    Ik word nu zelfs benaderd door wervings en selectie buro's uit de UK.
    Iemand interesse in een PHP developer job in London voor max. £ 30.000,- ?
    Chandlervrijdag 19 mei 2006 @ 22:17
    tvp
    Chandlervrijdag 19 mei 2006 @ 22:21
    quote:
    Op maandag 15 mei 2006 19:29 schreef wobbel het volgende:

    [..]

    http://campzone.tcc-leerlingen.nl/map_set.php werkt wel, kijk maar in de statusbar naar de url als je met muis over image gaat

    En nu had ik nog 'n vraag (uit andere topic)
    =============================================================================
    Windows XP heeft de Webbpucliatie wizard, ook wel Publisher genoemd
    [afbeelding]

    Nu zoek ik een PHP script welke die foto's kan afhandelen en zodat ik zelf kan kiezen wat er mee gebeurd...

    zelfde systeem dus als http://photobucket.com/tutorials/xp/xp.html

    (alleen de php code en/of uitleg van het systeem...de .reg heb ik alwel aangepast)
    Wobbel! dit ziet er intressant uit man!...

    Heb je al wat meer info hier over? en zou je die willen sharen? me msn staat aan
    JeRazaterdag 20 mei 2006 @ 01:09
    quote:
    Op vrijdag 19 mei 2006 19:31 schreef Swetsenegger het volgende:
    Ik word nu zelfs benaderd door wervings en selectie buro's uit de UK.
    Iemand interesse in een PHP developer job in London voor max. £ 30.000,- ?
    Per maand? Dan ben ik je man
    the_disheaverzaterdag 20 mei 2006 @ 01:14
    Ik wil ook wel! Tenminste, vanuit londen in is dit topic toch ook wel te bereiken?
    athlonkmfzaterdag 20 mei 2006 @ 01:46
    quote:
    Op maandag 15 mei 2006 20:26 schreef wobbel het volgende:
    date ("U"), dus unix timestamp is pas voor data vanaf 1970 toch? Geboortedata zijn dus niet zo slim om in unix timestamp te zetten want als je voor 1970 bent geboren heb je dus een probleem?
    als je data voor 1970 gebruikt wordt de timestamp gewoon negatief.
    athlonkmfzaterdag 20 mei 2006 @ 01:48
    quote:
    Op maandag 15 mei 2006 20:34 schreef Darkomen het volgende:
    Ik probeer XMLHttpRequest een beetje te leren, maar het script werkt niet waneer ik hem include?
    De ontstaat dan een javascript error welke aangeeft dat het begin van mn site niet klopt?
    Het maakt niet uit wat er staat bovenaan, die regel klopt gewoon niet.
    "Fout: syntax error
    Bronbestand: http://www.borntobewild.nl/?pid=38
    Regel: 51, Kolom: 1
    Broncode:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
    Geinclude: http://www.borntobewild.nl/?pid=38
    Los: http://www.borntobewild.nl/test.php

    Er zit niet veel in de database nog, dus het beste kan je de g typen
    De grootste kracht van PHP is dat er zo enorm veel klasses en voorbeelden zijn. Als je ajax wilt gebruiken moet je eens naar xajax.sf.net gaan en die xajax-klasse gebruiken. Binnen de kortste keren heb je alles lopen
    JeRazaterdag 20 mei 2006 @ 03:01
    quote:
    Op zaterdag 20 mei 2006 01:46 schreef athlonkmf het volgende:

    [..]

    als je data voor 1970 gebruikt wordt de timestamp gewoon negatief.
    ...wat weer niet zo handig is als je UNSIGNED INT gebruikt om zo'n timestamp op te slaan (wat naar mijn weten toch het meest gebruikte type is voor Unix timestamps). Als je een (signed) BIGINT gebruikt moet het helemaal goed gaan though.
    DionysuZzaterdag 20 mei 2006 @ 03:25
    ik plaats hier een tvp want heb al lang niet meer gelurkt
    Darkomenzaterdag 20 mei 2006 @ 13:52
    quote:
    Op zaterdag 20 mei 2006 01:48 schreef athlonkmf het volgende:

    [..]

    De grootste kracht van PHP is dat er zo enorm veel klasses en voorbeelden zijn. Als je ajax wilt gebruiken moet je eens naar xajax.sf.net gaan en die xajax-klasse gebruiken. Binnen de kortste keren heb je alles lopen
    Daar ga ik zeker even kijken bedankt!
    Nevermindzaterdag 20 mei 2006 @ 17:12
    tvp
    Swetseneggerzaterdag 20 mei 2006 @ 18:29
    quote:
    Op zaterdag 20 mei 2006 01:09 schreef JeRa het volgende:

    [..]

    Per maand? Dan ben ik je man
    Op jaarbasis. Maar dat is nog steeds zo rond de 49000 euro per jaar
    CraZaayzondag 21 mei 2006 @ 11:16
    quote:
    Op zaterdag 20 mei 2006 18:29 schreef Swetsenegger het volgende:

    [..]

    Op jaarbasis. Maar dat is nog steeds zo rond de 49000 euro per jaar
    Nadeel is dat het dan misschien ook handig is als je in de UK gaat wonen en je dus de Britse kosten voor levensonderhoud ermee moet betalen
    Darkomenzondag 21 mei 2006 @ 16:01
    1
    2
    3
    4
    5
    6
    7
    8
    $swl = "
       SELECT COUNT(s.song_id) SONGS,  c.title, c.cd_id
       FROM `cd_list_cds` c
       LEFT JOIN  `cd_list_songs` s  
       ON (c.cd_id = s.cd_id) 
       WHERE c.artist_id = '".$artist_id."'
       GROUP BY c.cd_id
       ORDER BY c.title ASC";

    Deze query zorgt voor ene probleempje, ookal zijn er wel cd's en geen songs dan geeft hij toch aan dat er geen cd's zijn.
    Wat is de fout
    TheUnrealzondag 21 mei 2006 @ 16:39
    quote:
    Op zondag 21 mei 2006 16:01 schreef Darkomen het volgende:

    [ code verwijderd ]

    Deze query zorgt voor ene probleempje, ookal zijn er wel cd's en geen songs dan geeft hij toch aan dat er geen cd's zijn.
    Wat is de fout
    Als je de query uitvoert op de volgende manier krijg je een foutmelding die waarschijnlijk meer duidelijkheid schept:

    1mysql_query($swl) or die(mysql_error());


    edit: Als je alleen een witte pagina krijgit; in je php.ini moet display_errors wel op on staan
    Darkomenzondag 21 mei 2006 @ 17:13
    Hij geeft geen foutmelding, de query is goed, maar doet niet wat ik wil.
    Er moet gewoon een lijstje komen, van de cd's en het aantal nr's
    Dat kan je met 2 queries doen, maar ook met 1

    Nevermind, ik heb de fout al gevonden

    [ Bericht 41% gewijzigd door Darkomen op 21-05-2006 17:24:37 ]
    fokME2zondag 21 mei 2006 @ 17:40
    Wat is de fout dan?

    Al live online te zien?
    HuHuzondag 21 mei 2006 @ 18:34
    @ Darkomen

    Je doet een join tussen de CD's en de songs. Als er geen songs zijn, dan zal de join dus altijd leeg zijn. Wat resulteert in een leeg resultaat, ongeacht of er nu CD's zijn of niet.
    Swetseneggerzondag 21 mei 2006 @ 19:08
    quote:
    Op zondag 21 mei 2006 11:16 schreef CraZaay het volgende:

    [..]

    Nadeel is dat het dan misschien ook handig is als je in de UK gaat wonen en je dus de Britse kosten voor levensonderhoud ermee moet betalen
    Ja, die liggen wat hoger. Maar niet 1,65 maal hoger dan hier.

    Dus je hebt nog steeds een vergelijkbaar inkomen boven de ¤ 35.000,- oftewel in Nederland zou je minimaal ¤ 2700,-/maand bruto moeten verdienen
    Chandlerzondag 21 mei 2006 @ 19:10
    Een leuke vraag denk ik.

    Stel ik wil met een uitbreidbaar systeem gaan werken waarin modules verwerkt zitten, hoe gaat dit dan in zijn werk? het detecteren van modules lijkt me niet zo heel moeilijk (dir uitlezen etc) maar hoe moet het dan verder?

    Weet iemand hier een goede tutor voor / over?
    Roonaanzondag 21 mei 2006 @ 19:10
    @swets: Kan je ook remote werken voor die lui?
    Roonaanzondag 21 mei 2006 @ 19:11
    quote:
    Op zondag 21 mei 2006 19:10 schreef Chandler het volgende:
    Een leuke vraag denk ik.

    Stel ik wil met een uitbreidbaar systeem gaan werken waarin modules verwerkt zitten, hoe gaat dit dan in zijn werk? het detecteren van modules lijkt me niet zo heel moeilijk (dir uitlezen etc) maar hoe moet het dan verder?

    Weet iemand hier een goede tutor voor / over?
    Standaard class maken en alle modulen die class laten extenden. Of als je php5 hebt gebruik maken van een interface.

    -r-
    Swetseneggerzondag 21 mei 2006 @ 19:14
    quote:
    Op zondag 21 mei 2006 19:10 schreef Roönaän het volgende:
    @swets: Kan je ook remote werken voor die lui?
    Ik weet het niet. Ik kan je de mail forwarden....?
    Roonaanzondag 21 mei 2006 @ 19:15
    quote:
    Op zondag 21 mei 2006 19:14 schreef Swetsenegger het volgende:
    Ik weet het niet. Ik kan je de mail forwarden....?
    kheb net een sollicitatie gedaan elders maar voor extra werk is het wel grappig natuurlijk.
    Swetseneggerzondag 21 mei 2006 @ 19:17
    quote:
    Op zondag 21 mei 2006 19:15 schreef Roönaän het volgende:

    [..]

    kheb net een sollicitatie gedaan elders maar voor extra werk is het wel grappig natuurlijk.
    Je weet maar nooit. Ik ga in ieder geval niet naar London City verhuizen. Zo'n kans had ik tien jaar geleden tegen moeten komen .
    Lightzondag 21 mei 2006 @ 19:31
    quote:
    Op vrijdag 19 mei 2006 19:31 schreef Swetsenegger het volgende:
    Ik word nu zelfs benaderd door wervings en selectie buro's uit de UK.
    Dat doe je best goed
    quote:
    Iemand interesse in een PHP developer job in London voor max. £ 30.000,- ?
    Nah, 't bevalt me ook wel in Nederland Hoewel ik nu niet in de buurt kom van £ 30.000,- op jaarbasis.
    broodmonkehzondag 21 mei 2006 @ 19:50
    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
    <?php
    if ($fp = fopen($xml, "r")){

      
    $inhoud = "";
      do {
        
    $data = fread($fp, 8192);
        if (
    strlen($data) == 0) {
          break;
        }
        
    $inhoud .= $data;
      } while(
    true);
      
    fclose($fp);
        
        
    $teller = 0;
      
    $inhoud = explode("<bedrijf>", $inhoud);
      foreach(
    $inhoud as $vacature) { $teller++; }
      
      for (
    $i = 1; $i &lt;= $teller; $i++){
        
    $title = explode("<titel>", $inhoud[$i]);
        
    $title = explode("</titel>", $title[1]);
        
    $title = stripslashes($title[0]);        

        
    $id = explode("<id>", $inhoud[$i]);
        
    $id = explode("</id>", $id[1]);

        echo
    "<a href='?actie=bekijk&vacatureid=". $id[0] ."'>". $title ."</a><br />\n";
      }
    }
    ?>


    Ik heb deze code om het volgende XML bestand uit te lezen (dit is een deel van het hele XML bestand):

    1
    2
    3
    4
    5
    6
    7
    8
          
    <bedrijf>
            <id>2</id>
            <titel>Titeltest</titel>
            <doelstelling>Test test</doelstelling>
            <vraagt></vraagt>
            <locatie>Rotterdam</locatie>
          </bedrijf>


    Ik wil nu alleen het bedrijf laten zien die overeenkomt met het ID dat geselecteerd wordt, ik krijg het niet voor elkaar. Ik hoop dat iemand mij hiermee kan helpen.
    Roonaanzondag 21 mei 2006 @ 19:59
    1
    2
    3
    4
    5
    6
    7
    $inhoud = file_get_contents($xml);
    $inhoud = explode('<bedrijf>', $inhoud);
    foreach($inhoud as $vacature) {
      $id = preg_match('#<id>(.*?)</id>#', $vacature, $m) ? $m[1] : 0;
      $titel = preg_match('#<titel>(.*?)</titel>#', $vacature, $m) ? $m[1] : 0;
      echo '<a href="index.php?actie=bekijk&vacatureid='.intval($id).'">'.htmlspecialchars($title).'</a><br/>';
    }


    -r-
    broodmonkehzondag 21 mei 2006 @ 20:03
    heil
    Swetseneggerzondag 21 mei 2006 @ 20:30
    Voordat ik 'm zelf schrijf...,
    Is er een php functie welke een negatief getal naar 0 zet? Dus niet ABS welke van -10 simpelweg 10 maakt ipv 0 wat ik nodig heb
    Lightzondag 21 mei 2006 @ 20:34
    quote:
    Op zondag 21 mei 2006 20:30 schreef Swetsenegger het volgende:
    Voordat ik 'm zelf schrijf...,
    Is er een php functie welke een negatief getal naar 0 zet? Dus niet ABS welke van -10 simpelweg 10 maakt ipv 0 wat ik nodig heb
    Ik heb zo'n functie nog niet gezien in PHP, dus ik denk dat je die zelf moet schrijven
    broodmonkehzondag 21 mei 2006 @ 20:36
    ronaan , ik heb er nog even naar gekeken en deze laat alles zien van het XML bestand, ik wil dus zelf een ID invullen en dat ie dan alleen die laat zien.
    Mischien dat ik iets in die preg_match functie moet aanpassen maar daar heb ik geen verstand van, zou je me opnieuw willen helpen

    [ Bericht 3% gewijzigd door broodmonkeh op 21-05-2006 20:44:10 ]
    Lightzondag 21 mei 2006 @ 20:37
    Euh wacht, het kan wel met max()
    Swetseneggerzondag 21 mei 2006 @ 20:39
    quote:
    Op zondag 21 mei 2006 20:37 schreef Light het volgende:
    Euh wacht, het kan wel met max()
    LOL, dat is meer een soort van hack Maar ik kan 'm wel gebruiken.

    ipv
    $item =($current-2)*20;
    $item=max(0,($current-2)*20);
    JeRazondag 21 mei 2006 @ 20:39
    quote:
    Op zondag 21 mei 2006 20:37 schreef Light het volgende:
    Euh wacht, het kan wel met max()
    Uiteraard, een heel simpele methode om een getal binnen een range te krijgen is deze:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $lowbound
    = 100;
    $highbound = 250;
    $getal = 277;

    //De truuk
    $getal = min(max($getal, $lowbound), $highbound);
    ?>


    [ Bericht 12% gewijzigd door JeRa op 21-05-2006 20:45:59 ]
    Tijnzondag 21 mei 2006 @ 20:40
    quote:
    Op zondag 21 mei 2006 20:37 schreef Light het volgende:
    Euh wacht, het kan wel met max()
    Ha, slim bedacht
    JeRazondag 21 mei 2006 @ 20:40
    quote:
    Op zondag 21 mei 2006 20:39 schreef Swetsenegger het volgende:

    [..]

    LOL, dat is meer een soort van hack
    Eigenlijk is het precies waar je max() voor behoort te gebruiken hoe wilde je het minder hackish doen dan?
    the_disheaverzondag 21 mei 2006 @ 20:44
    quote:
    Op zondag 21 mei 2006 20:30 schreef Swetsenegger het volgende:
    Voordat ik 'm zelf schrijf...,
    Is er een php functie welke een negatief getal naar 0 zet? Dus niet ABS welke van -10 simpelweg 10 maakt ipv 0 wat ik nodig heb
    ehh, waarom zou je het niet zelf willen schrijven?

    if ($num < 0 ) {$num=0}

    lijkt me doen wat je wou...
    Swetseneggerzondag 21 mei 2006 @ 20:53
    quote:
    Op zondag 21 mei 2006 20:40 schreef JeRa het volgende:

    [..]

    Eigenlijk is het precies waar je max() voor behoort te gebruiken hoe wilde je het minder hackish doen dan?
    Net zoals ABS een negatief naar een positief getal omzet een functie welke een negatief getal naar 0 zet. Bij max() krijg ik gewoon de hoogste waarde van de twee terug. door in dit geval een 0 en een variabele in de vergelijking te zetten weet ik dat ik altijd een 0 of positief getal terug krijg.

    De functie is dus per definitie bedoeld om de hoogste waarde uit bv een array terug te krijgen. Niet om een negatief getal naar 0 te zetten.

    Maar het werkt prima uiteraard Alleen niet iets waar ik naar gezocht zou hebben.

    -edit- Ik ben nog steeds benieuwd hoe je fok!signature het probleempje session_id omzeilde trouwens .
    quote:
    Op zondag 21 mei 2006 20:44 schreef the_disheaver het volgende:

    [..]

    ehh, waarom zou je het niet zelf willen schrijven?

    if ($num < 0 ) {$num=0}

    lijkt me doen wat je wou...
    In dit geval is het redelijk simpel ja. Maar ik heb ook wel eens een a4 aan code zitten tikken en toen bleek er gewoon een php functie te bestaan welke precies deed wat ik wilde .
    Sindiens zoek ik even

    [ Bericht 16% gewijzigd door Swetsenegger op 21-05-2006 22:36:33 (jera's session hack.) ]
    the_disheaverzondag 21 mei 2006 @ 21:05
    Het kan ook leuker zonder if-functie en met $abs:

    $num = (abs($num) + $num) / 2;

    fokME2zondag 21 mei 2006 @ 22:13
    quote:
    Op zondag 21 mei 2006 21:05 schreef the_disheaver het volgende:
    Het kan ook leuker zonder if-functie en met $abs:

    $num = (abs($num) + $num) / 2;

    Gave oplossing
    broodmonkehzondag 21 mei 2006 @ 22:22
    1
    2
    3
    4
    5
    6
    7
    $inhoud = file_get_contents($xml);
    $inhoud = explode('<bedrijf>', $inhoud);
    foreach($inhoud as $vacature) {
      $id = preg_match('#<id>(.*?)</id>#', $vacature, $m) ? $m[1] : 0;
      $titel = preg_match('#<titel>(.*?)</titel>#', $vacature, $m) ? $m[1] : 0;
      echo '<a href="index.php?actie=bekijk&vacatureid='.intval($id).'">'.htmlspecialchars($title).'</a><br/>';
    }


    wat moet ik hieraan veranderen zodat ie alleen de info uit het XML bestand laat zien met het ID die je zelf bepaald? Deze code kreeg ik van Roonaan.

    De XML:

    1
    2
    3
    4
    5
    6
    7
    <bedrijf>
            <id>2</id>
            <titel>Titeltest</titel>
            <doelstelling>Test test</doelstelling>
            <vraagt></vraagt>
            <locatie>Rotterdam</locatie>
          </bedrijf>
    Swetseneggerzondag 21 mei 2006 @ 22:29
    quote:
    Op zondag 21 mei 2006 21:05 schreef the_disheaver het volgende:
    Het kan ook leuker zonder if-functie en met $abs:

    $num = (abs($num) + $num) / 2;

    Nu nog 1 met een modulus en we zijn compleet

    hoewel ik deze if wel voldoende hoofdpijn vond voor 1 avond
    1
    2
    3
    4
    if(($page_number > ($current_page - 3) && $page_number < ($current_page + 3))
    || ($page_number < 6 && $page_number > ($current_page - 3)) 
    || ($page_number > ($total_pages - 5) && $current_page > ($total_pages-2)) 
    || $total_pages<6)
    Swetseneggerzondag 21 mei 2006 @ 22:31
    quote:
    Op zondag 21 mei 2006 22:22 schreef broodmonkeh het volgende:

    [ code verwijderd ]

    wat moet ik hieraan veranderen zodat ie alleen de info uit het XML bestand laat zien met het ID die je zelf bepaald? Deze code kreeg ik van Roonaan.

    De XML:
    [ code verwijderd ]
    Dit heb ik kortgeleden (ook al met hulp van roonaan) in elkaar gezet:
    1
    2
    3
    4
    5
    <?php
    $xml
    = !empty($_SERVER['HTTP_RAW_POST_DATA']) ? $_SERVER['HTTP_RAW_POST_DATA'] : file_get_contents('php://input');
        
    preg_match("/<ID>(.*?)<\/ID>/si", $xml,$waarde); //$waarde[1] bevat de waarde tussen <ID> en </ID>.
    ?>
    Lightzondag 21 mei 2006 @ 23:12
    quote:
    Op zondag 21 mei 2006 22:29 schreef Swetsenegger het volgende:

    hoewel ik deze if wel voldoende hoofdpijn vond voor 1 avond
    [ code verwijderd ]
    Wat wil je bereiken met die code?
    Lightzondag 21 mei 2006 @ 23:16
    quote:
    Op zondag 21 mei 2006 22:22 schreef broodmonkeh het volgende:

    [ code verwijderd ]

    wat moet ik hieraan veranderen zodat ie alleen de info uit het XML bestand laat zien met het ID die je zelf bepaald? Deze code kreeg ik van Roonaan.
    $id (die van regel 4 in de code) vergelijken met de ingevoerde ID.
    Swetseneggerzondag 21 mei 2006 @ 23:22
    quote:
    Op zondag 21 mei 2006 23:12 schreef Light het volgende:

    [..]

    Wat wil je bereiken met die code?
    Dit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
         1 2 3 4 5                  (bij 5 pagina's of minder)
         -

         1 2 3 4 5 > >>
         -

       < 1 2 3 4 5 > >>
           -
     
    << < 1 2 3 4 5 > >>
             -

    << < 2 3 4 5 6 > >>
             -

    << < 3 4 5 6 7 > >>
             -   

    << < 3 4 5 6 7 > 
               -      

    << < 3 4 5 6 7
                 -      
     


    de < en > komen uiteraard uit een andere if.

    Het ging er dus om dat er ten alle tijden minmaal 5 links staan (als er tenminste 5 pagina's zijn). Waarbij de twee voor en de twee na de huidige pagina klikbaar zijn.
    Maar, als de huidige pagina kleiner dan 3 is, moet het rijtje tot en met 5 aangevuld worden. En als de huidige pagina gelijk is aan de laatste pagina -1 of laatste pagina -2 moet er vooraan het rijtje aangevuld worden tot 5 linkjes

    [ Bericht 12% gewijzigd door Swetsenegger op 22-05-2006 00:11:12 ]
    c0nd0rmaandag 22 mei 2006 @ 08:41
    Ok ik heb een wachtwoord vergeten systeem.
    Als iemand zijn wachtwoord is vergeten geeftie gebruikersnaam en ww op en er wordt een hash gemaakt en opgeslagen samen met userid en datum.
    De link is maar 24 uur geldig. Maar hoe zorg ik dat de tabel met hashes een beetje opgeruimt blijft?
    Een cronjob toevoegen? Maar hoe kan ik dan makkelijk transporteren naar anderen toe?
    JeRamaandag 22 mei 2006 @ 08:47
    quote:
    Op maandag 22 mei 2006 08:41 schreef c0nd0r het volgende:
    Ok ik heb een wachtwoord vergeten systeem.
    Als iemand zijn wachtwoord is vergeten geeftie gebruikersnaam en ww op en er wordt een hash gemaakt en opgeslagen samen met userid en datum.
    Mag ik vragen hoe je je dit voorstelt? Hoe kan een gebruiker zijn wachtwoord opgeven?
    quote:
    De link is maar 24 uur geldig. Maar hoe zorg ik dat de tabel met hashes een beetje opgeruimt blijft?
    Een cronjob toevoegen? Maar hoe kan ik dan makkelijk transporteren naar anderen toe?
    Meestal doe ik zoiets met een cronjob, maar in veel gevallen kan het simpeler. Als ik een tabel wijzig voer ik vaak ook nog een DELETE uit, like that:
    1
    2
    3
    4
    -- specifiek, nieuwe rij
    INSERT INTO tabel ...
    -- voor alle rijen
    DELETE FROM tabel WHERE timestamp < UNIX_TIMESTAMP() - 24 * 86400

    Afhankelijk van hoevaak dat uitgevoerd wordt kun je het nog randomizeren, etc
    Swetseneggermaandag 22 mei 2006 @ 08:47
    quote:
    Op maandag 22 mei 2006 08:41 schreef c0nd0r het volgende:
    Ok ik heb een wachtwoord vergeten systeem.
    Als iemand zijn wachtwoord is vergeten geeftie gebruikersnaam en ww op en er wordt een hash gemaakt en opgeslagen samen met userid en datum.
    De link is maar 24 uur geldig. Maar hoe zorg ik dat de tabel met hashes een beetje opgeruimt blijft?
    Een cronjob toevoegen? Maar hoe kan ik dan makkelijk transporteren naar anderen toe?
    Ik maak gewoon een nieuw wachtwoord aan, waarna ze zelf de mogelijkheid hebben om dat weer te veranderen in een eigen wachtwoord.

    Andere mogelijkheid is www.cronservice.nl.
    c0nd0rmaandag 22 mei 2006 @ 08:50
    quote:
    Op maandag 22 mei 2006 08:47 schreef JeRa het volgende:

    [..]

    Mag ik vragen hoe je je dit voorstelt? Hoe kan een gebruiker zijn wachtwoord opgeven?
    [..]

    Meestal doe ik zoiets met een cronjob, maar in veel gevallen kan het simpeler. Als ik een tabel wijzig voer ik vaak ook nog een DELETE uit, like that:
    [ code verwijderd ]

    Afhankelijk van hoevaak dat uitgevoerd wordt kun je het nog randomizeren, etc
    Het is nog vroeg
    Hij geeft zijn gebruikersnaam en e-mail op pardon
    Ja ok zoiets zat ik ook te denken het is niet een hele zware bewerking maar goed dan moet er dus minimaal 1 iemand per dag zijn wachtwoord willen resetten, anders kan iemand wachten tot ie een ons weegt wil die een nieuw mailtje kunnen versturen.
    Terwijl ik dit type zit ik te bedenken dat ik dan die restrictie er gewoon af kan halen zodat ie wel een nieuw mailtje kan sturen, maar die link na 24 uur gewoon niet meer werkt en als iemand een wachtwoord wil resetten schoont ie de tabel op..

    Mocht iemand een beter idee hebben (voor de duidelijkheid het moet dus enigzins makkelijk te distribueren zijn.) dan hoor ik het graag, voorlopig hou ik het even zo!
    JeRamaandag 22 mei 2006 @ 08:53
    quote:
    Op maandag 22 mei 2006 08:50 schreef c0nd0r het volgende:
    Terwijl ik dit type zit ik te bedenken dat ik dan die restrictie er gewoon af kan halen zodat ie wel een nieuw mailtje kan sturen, maar die link na 24 uur gewoon niet meer werkt en als iemand een wachtwoord wil resetten schoont ie de tabel op..
    Dat is dus ook zoals ik het zou doen restricties bouw ik in al mijn queries in zodat zelfs al staat het nog in de database, de gebruikers er niet bij kunnen.
    c0nd0rmaandag 22 mei 2006 @ 08:55
    quote:
    Op maandag 22 mei 2006 08:53 schreef JeRa het volgende:

    [..]

    Dat is dus ook zoals ik het zou doen restricties bouw ik in al mijn queries in zodat zelfs al staat het nog in de database, de gebruikers er niet bij kunnen.
    Bedankt voor het idee min of meer
    Chandlermaandag 22 mei 2006 @ 09:02
    quote:
    Op zondag 21 mei 2006 19:11 schreef Roönaän het volgende:

    [..]

    Standaard class maken en alle modulen die class laten extenden. Of als je php5 hebt gebruik maken van een interface.

    -r-
    Je zegt het wel heel erg simpel maar in praktijk blijkt het niet zo simpel te zijn

    Ik heb al wel een opzet gemaakt waaruit ik ga werken (tenminste lijkt me handig!)

    Mijn script gaat werken met modules die te vinden zijn module directory en in iedere module directory moeten deze bestanden te vinden zijn.

    admin.php - administratie gedeelte
    index.php - script
    mod_setup.php - setup variables
    mod_info.php - gegevens voor de CMS waarin deze module verwerkt wordt

    In de root staan de volgende bestanden.

    index.php
    admin.php
    config.include.php
    en strax eventueel andere bestanden

    config.include.php
    1
    2
    3
    4
    5
    <?php

    define("MODULEDIR", "./modules/");

    ?>


    index.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php

    include("config.include.php");

    function includeModules($tpl)
    {
        // eregie {module->news}

        $regex  = "!{module->(.*?)\}!ism";
        preg_match_all($regex,
                       $tpl,
                       $output);

        foreach ($output[1] as $key => $module)
        {
            // check if module directory exists!
            $obOutput = "";
            if (is_dir(CONSTANT("MODULEDIR") . $module))
            {
                if (file_exists(CONSTANT("MODULEDIR") . $module . "/index.php"))
                {
                    ob_start();

                    require_once(CONSTANT("MODULEDIR") . $module . "/index.php");
                
                    $obOutput = ob_get_contents();
                    ob_end_clean();
                }
            }

            $tpl = str_replace($output[0][$key], $obOutput, $tpl);
        }
        
        return $tpl;
    }

    $tpl = "hello \"<strong>{module->news}</strong>\" hehllooo en dan hier maar een {module->poll}";

    echo includeModules($tpl);

    ?>


    Dit stukje is een voorbeeld, in de aangeroepen scripts staat nu alleen een stukje text binnen de php tags

    (voorbeelden van een module)

    index.php
    1
    2
    3
    4
    5
    6
    7
    8
    <?php

    require_once("mod_setup.php");
    require_once("mod_info.php");

    echo "Last 3 news items";

    ?>


    mod_setup.php
    1
    2
    3
    4
    5
    6
    <?php

    $items    = 5;
    $template = "test";

    ?>


    mod_info.php
    1
    2
    3
    4
    5
    6
    7
    <?php

    $modname   = "Edit news";
    $modver    = "0.1";
    $modrights = "admin";

    ?>


    Ik hoop dat ik een goede manier heb bedacht om modules te gaan gebruiken. Graag reacties en comments!!
    Darkomenmaandag 22 mei 2006 @ 09:36
    quote:
    Op zondag 21 mei 2006 17:40 schreef fokME2 het volgende:
    Wat is de fout dan?

    Al live online te zien?
    Hoe beveiligen jullie het bestand dat aangeroepen word door de XMLhttpRequest?

    [ Bericht 11% gewijzigd door Darkomen op 23-05-2006 19:02:24 ]
    JeRamaandag 22 mei 2006 @ 09:54
    quote:
    Op maandag 22 mei 2006 09:36 schreef Darkomen het volgende:
    Hoe beveiligen jullie het bestand dat aangeroepen word door de XMLhttpRequest?
    Wat bedoel je met beveiligen? Je controleert op user input, en meer hoef je toch niet te doen?
    c0nd0rmaandag 22 mei 2006 @ 09:57
    quote:
    Op maandag 22 mei 2006 09:54 schreef JeRa het volgende:

    [..]

    Wat bedoel je met beveiligen? Je controleert op user input, en meer hoef je toch niet te doen?
    Eventueel kun je een header meesturen
    1xmlhttp.setRequestHeader("X_USERAGENT", "MijnAjaxApplicatie");


    Die uniek is en daarop checken
    Darkomenmaandag 22 mei 2006 @ 09:58
    BEveiligen tegen gebruik vanaf andere sites bijvoorbeeld
    Tnx c0nd0r, daar ga ik eens naar kijken
    JeRamaandag 22 mei 2006 @ 09:59
    quote:
    Op maandag 22 mei 2006 09:58 schreef Darkomen het volgende:
    BEveiligen tegen gebruik vanaf andere sites bijvoorbeeld
    Zal je natuurlijk nooit helemaal lukken zonder de foute IP-adressen handmatig te blokkeren want alles wat een browser kan is te simuleren met PHP
    Darkomenmaandag 22 mei 2006 @ 10:10
    100% uiteraard niet, maar de meeste users zijn wel tegen te houden.

    Maar het lukt niet, ik doe dit:
    1
    2
    3
    4
    XMLHttpRequestObject.open(\"GET\", dataSource); 
    XMLHttpRequestObject.setRequestHeader(\"X_USERAGENT\",\"MijnAjaxApplicatie\");
     XMLHttpRequestObject.onreadystatechange = function()
     

    Maar ik krijg nog geen header binnen?
    JeRamaandag 22 mei 2006 @ 10:15
    quote:
    Op maandag 22 mei 2006 10:10 schreef Darkomen het volgende:
    100% uiteraard niet, maar de meeste users zijn wel tegen te houden.

    Maar het lukt niet, ik doe dit:
    [ code verwijderd ]

    Maar ik krijg nog geen header binnen?
    Je doet wel een send()? En ik weet niet of underscores toegestaan zijn in headernames, je kunt proberen die te veranderen in dashes (-).
    Darkomenmaandag 22 mei 2006 @ 10:26
    Yups, maar ik had schijnbaar wat anders fout gedaan, nu krijg ik idd headers.
    Desdinovamaandag 22 mei 2006 @ 13:56
    dit lukte niet
    kan het wel?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    switch ($row-&gt;Type){
        
        
    $gettypes = "SELECT * FROM Optiemodules ORDER BY ID ASC";
        
    $gettypes = mysql_query($gettypes);
        while (
    $types = mysql_fetch_object($gettypes)){
            case
    $types-&gt;ID:
                require
    $types-&gt;File;
            break;
        }            
    }
    ?>
    the_disheavermaandag 22 mei 2006 @ 14:07
    quote:
    Op maandag 22 mei 2006 09:36 schreef Darkomen het volgende:

    [..]

    http://muziek.borntobewild.nl

    Hoe beveiligen jullie het bestand dat aangeroepen word door de XMLhttpRequest?
    quote:
    Jouw Browser is:
    Je machine draait op: Windows
    Je hebt www.borntobewild.nl direct ingetypt.
    Je bent hier: 0 keer geweest.
    2 keer fout browser is opera, en ik heb gewoon dat linkje gedrukt
    c0nd0rmaandag 22 mei 2006 @ 14:08
    quote:
    Op maandag 22 mei 2006 14:07 schreef the_disheaver het volgende:

    [..]


    [..]

    2 keer fout browser is opera, en ik heb gewoon dat linkje gedrukt
    "Oudere" Opera's staan standaard geïndentified als IE
    the_disheavermaandag 22 mei 2006 @ 14:10
    quote:
    Op maandag 22 mei 2006 14:08 schreef c0nd0r het volgende:

    [..]

    "Oudere" Opera's staan standaard geïndentified als IE
    Maar er staat juist niets. En bovendien, ik heb de nieuwste opera. Een Beta zelfs (9)
    c0nd0rmaandag 22 mei 2006 @ 14:11
    quote:
    Op maandag 22 mei 2006 14:10 schreef the_disheaver het volgende:

    [..]

    Maar er staat juist niets. En bovendien, ik heb de nieuwste opera. Een Beta zelfs (9)
    In dat geval heb ik niets gezegd
    broodmonkehmaandag 22 mei 2006 @ 14:38
    quote:
    Op zondag 21 mei 2006 22:31 schreef Swetsenegger het volgende:

    [..]

    Dit heb ik kortgeleden (ook al met hulp van roonaan) in elkaar gezet:
    [ code verwijderd ]
    net even naar gekeken , het enige wat hieruit komt is "1" , wat doe ik fout?
    Darkomenmaandag 22 mei 2006 @ 14:59
    quote:
    Op maandag 22 mei 2006 14:07 schreef the_disheaver het volgende:

    [..]


    [..]

    2 keer fout browser is opera, en ik heb gewoon dat linkje gedrukt
    Och ja dat stukje van mn site is al te lang gesloopt
    CraZaaymaandag 22 mei 2006 @ 16:56
    quote:
    Op maandag 22 mei 2006 14:38 schreef broodmonkeh het volgende:

    [..]

    net even naar gekeken , het enige wat hieruit komt is "1" , wat doe ik fout?
    Misschien echo je een array ipv een string?
    the_disheavermaandag 22 mei 2006 @ 17:00
    quote:
    Op maandag 22 mei 2006 16:56 schreef CraZaay het volgende:

    [..]

    Misschien echo je een array ipv een string?
    Dan krijg je enkel toch 'array' terug geprint?
    broodmonkehmaandag 22 mei 2006 @ 17:06
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $xml
    = !empty($_SERVER['HTTP_RAW_POST_DATA']) ? $_SERVER['HTTP_RAW_POST_DATA'] : file_get_contents('test.xml');

    $vacatureid = $_GET['vacatureid'];

    $id = preg_match("/<ID>(.*?)<\/ID>/si", $xml,$vacatureid);

    echo
    $id;
    ?>


    zo print ie dus '1'
    Desdinovamaandag 22 mei 2006 @ 17:37
    is dat niet omdat preg_match een true levert?
    preg_match lijkt in de manual op een functie die je bewerkt op een of andere manier, dus als dat gelukt is zal hij wel een true terug geven. denk ik.
    broodmonkehmaandag 22 mei 2006 @ 17:49
    nee ook al voer ik een ID in dat niet bestaat dan geeft ie ook "1"
    CraZaaymaandag 22 mei 2006 @ 18:49
    quote:
    Op maandag 22 mei 2006 17:49 schreef broodmonkeh het volgende:
    nee ook al voer ik een ID in dat niet bestaat dan geeft ie ook "1"
    quote:
    preg_match() returns the number of times pattern matches. preg_match() returns FALSE if an error occurred.
    Het lijkt er dus op dat preg_match() doet wat het moet doen. Je pattern is gevonden (<ID>n</ID>), en dus geeft 'ie TRUE terug.
    broodmonkehmaandag 22 mei 2006 @ 19:06
    oke dan zal ik mijn vraag nog een keer stellen maar nu heel duidelijk


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <bedrijf>
            <id>2</id>
            <titel>Titeltest</titel>
            <doelstelling>Test test</doelstelling>
            <vraagt></vraagt>
            <locatie>Rotterdam</locatie>
          </bedrijf>
    <bedrijf>
            <id>3</id>
            <titel>Test Test</titel>
            <doelstelling>Testje</doelstelling>
            <vraagt>Ik vraag </vraagt>
            <locatie>Amsterdam</locatie>
          </bedrijf>


    Bovenstaande is een deel uit mijn XML bestand. Nu zou ik alleen de info (titel , doelstelling , vraagt, locatie) van het bedrijf met ID 3 eruit willen halen, hoe krijg ik dit dan voor elkaar?
    JeRamaandag 22 mei 2006 @ 19:24
    @broodmonkeh

    Zo even uit het blote hoofd met een regular expression:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $matches
    = array();
    $findID = 3;
    preg_match('#<bedrijf>.*<id>' . $findID . '</id>.*<titel>(.*)</titel>.*
    <doelstelling>(.*)</doelstelling>.*<vraagt>(.*)</vraagt>.*
    <locatie>(.*)</locatie>.*</bedrijf>#Uis'
    , $data, $matches);
    print_r($matches);
    ?>

    Wel alles op één regel zetten natuurlijk
    broodmonkehmaandag 22 mei 2006 @ 20:04
    nu krijg ik array() terug

    //edit

    foutje in de code gemaakt toen ik er 1 regel van maakte , gefixed en het werkt! danku
    fokME2dinsdag 23 mei 2006 @ 07:01
    Die .* in die preg_match, zonder haakjes. Wat doet die precies?
    Lightdinsdag 23 mei 2006 @ 07:10
    quote:
    Op dinsdag 23 mei 2006 07:01 schreef fokME2 het volgende:
    Die .* in die preg_match, zonder haakjes. Wat doet die precies?
    Alle tekens matchen. Wordt hier vooral gebruikt voor newlines en spaties, bij XML bestanden staan volgende tags immers meestal op een nieuwe regel.
    Lightdinsdag 23 mei 2006 @ 07:14
    quote:
    Op maandag 22 mei 2006 19:24 schreef JeRa het volgende:
    @broodmonkeh

    Zo even uit het blote hoofd met een regular expression:
    [ code verwijderd ]

    Wel alles op één regel zetten natuurlijk
    Werkt, maar is niet handig. Als er iets wordt aangepast in de XML dan heb je een probleem. De manier van Roönaän is met een simpel if-statement uit te breiden voor een ID-check.
    Roonaandinsdag 23 mei 2006 @ 08:44
    quote:
    Op maandag 22 mei 2006 09:02 schreef Chandler het volgende:

    [..]

    Je zegt het wel heel erg simpel maar in praktijk blijkt het niet zo simpel te zijn
    In principe zou je beter een enkele file kunnen maken. mod.mod_name.php

    Die bevat een class met verschillende functies:
    1
    2
    3
    4
    5
    6
    7
    8
    class mod_name extends basic_module {
       function hasAdmin() {}
       function hasRuntime() {}
       function hasInfo() {}
       function getInfo() {}
       function getRuntime() {}
       function getAdmin() {}
    }

    Of getAdmin er vervolgens uitziet als function getAdmin() { include dirname(__FILE__).'/mod_name.admin.php';} maakt dan niet zo heel veel uit.
    Het punt is wel dat je maar een single point of failure hebt ipv vier.
    Roonaandinsdag 23 mei 2006 @ 08:45
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $inhoud = file_get_contents($xml);
    $requestedId = 4;
    $inhoud = explode('<bedrijf>', $inhoud);
    foreach($inhoud as $vacature) {
      $id = preg_match('#<id>(.*?)</id>#', $vacature, $m) ? $m[1] : 0;
      if($id == $requestedId) {
        $titel = preg_match('#<titel>(.*?)</titel>#', $vacature, $m) ? $m[1] : 0;
        echo '<a href="index.php?actie=bekijk&vacatureid='.intval($id).'">'.htmlspecialchars  ($title).'</a><br/>';
        break;
      }
    }
    Swetseneggerdinsdag 23 mei 2006 @ 08:47
    quote:
    Op dinsdag 23 mei 2006 08:44 schreef Roönaän het volgende:

    [..]

    In principe zou je beter een enkele file kunnen maken. mod.mod_name.php

    Die bevat een class met verschillende functies:
    [ code verwijderd ]

    Of getAdmin er vervolgens uitziet als function getAdmin() { include dirname(__FILE__).'/mod_name.admin.php';} maakt dan niet zo heel veel uit.
    Het punt is wel dat je maar een single point of failure hebt ipv vier.
    Ik moet me echt gaan verdiepen in OOP
    Tijndinsdag 23 mei 2006 @ 08:53
    quote:
    Op dinsdag 23 mei 2006 08:47 schreef Swetsenegger het volgende:

    [..]

    Ik moet me echt gaan verdiepen in OOP
    Heb je dat PHP5 Power Programming boek niet gelezen, waar je zelf mee kwam?
    Roonaandinsdag 23 mei 2006 @ 08:54
    quote:
    Op dinsdag 23 mei 2006 08:47 schreef Swetsenegger het volgende:
    Ik moet me echt gaan verdiepen in OOP
    Áls je het zo wilt opstellen. Bovengenoemde is een van de methodes die ik ooit gebruikt heb.

    Meer recent heb ik gewoon een series classes voor output modules en een serie classes voor managers ("admin tools"), en die staan aan elkaar gelinkt.
    Dit om te voorkomen dat je dezelfde database management meuk voor iedere db-driven class opnieuw moet schrijven.
    Swetseneggerdinsdag 23 mei 2006 @ 08:57
    quote:
    Op dinsdag 23 mei 2006 08:53 schreef Tijn het volgende:

    [..]

    Heb je dat PHP5 Power Programming boek niet gelezen, waar je zelf mee kwam?
    Ik wist alles al, behalve OOP... en dat heb ik overgeslagen
    quote:
    Op dinsdag 23 mei 2006 08:54 schreef Roönaän het volgende:

    [..]

    Áls je het zo wilt opstellen. Bovengenoemde is een van de methodes die ik ooit gebruikt heb.

    Meer recent heb ik gewoon een series classes voor output modules en een serie classes voor managers ("admin tools"), en die staan aan elkaar gelinkt.
    Dit om te voorkomen dat je dezelfde database management meuk voor iedere db-driven class opnieuw moet schrijven.
    Zie je...., ik begrijp totaal niet wat je hier zegt
    Roonaandinsdag 23 mei 2006 @ 09:07
    quote:
    Op dinsdag 23 mei 2006 08:57 schreef Swetsenegger het volgende:

    [..]

    Ik wist alles al, behalve OOP... en dat heb ik overgeslagen
    [..]

    Zie je...., ik begrijp totaal niet wat je hier zegt
    Grin. Je hebt een serie modules:
    basic_module.php
    modules/module1.php
    modules/module2.php
    modules/module3.php

    En een serie managers:
    basic_manager.php
    managers/dbmanager.php
    managers/filemanager.php
    managers/formmanager.php

    Vervolgens stel je dat elke module een subclass is van een basic_module en elke manager een subclass van basic_manager.
    Waar ik in het eerste voorbeeld de admin had als onderdeel van de module class, is het in dit voorbeeld zo dat elke module een functie heeft: getManager().
    De manager heeft vervolgens een bepaalde set functies om te integreren met je content management systeem.
    De modules zelf bevatten dan voornamelijk runtime info, en een relatief kleine set data om de manager aan te sturen. (Bijvoorbeeld: "welke db-tabel moet er gebruikt worden" of "welke 'aliassen' moeten er getoond worden ipv db-fields. 'user_id' => 'Gebruikersid', etc").
    Swetseneggerdinsdag 23 mei 2006 @ 09:18
    quote:
    Op dinsdag 23 mei 2006 09:07 schreef Roönaän het volgende:

    [..]

    Grin. Je hebt een serie modules:
    basic_module.php
    modules/module1.php
    modules/module2.php
    modules/module3.php

    En een serie managers:
    basic_manager.php
    managers/dbmanager.php
    managers/filemanager.php
    managers/formmanager.php

    Vervolgens stel je dat elke module een subclass is van een basic_module en elke manager een subclass van basic_manager.
    Waar ik in het eerste voorbeeld de admin had als onderdeel van de module class, is het in dit voorbeeld zo dat elke module een functie heeft: getManager().
    De manager heeft vervolgens een bepaalde set functies om te integreren met je content management systeem.
    De modules zelf bevatten dan voornamelijk runtime info, en een relatief kleine set data om de manager aan te sturen. (Bijvoorbeeld: "welke db-tabel moet er gebruikt worden" of "welke 'aliassen' moeten er getoond worden ipv db-fields. 'user_id' => 'Gebruikersid', etc").
    Ok, zo in tekst klinkt het logisch en wordt de toegevoegde waarde van OOP ook wel duidelijk.
    Maar het kwartje met het daadwerkelijk OOP coden wil maar niet vallen. Maar met 50 uur werken, een vrouw en kind en nog wat klusjes in de avonduren heb ik nou nooit eens lekker tijd om er een week voor te gaan zitten.

    Maar... met een beetje mazzel komt er een verschuiving in werkzaamheden en kan ik in de baas z'n tijd wat meer aan de studie
    Roonaandinsdag 23 mei 2006 @ 09:19
    quote:
    Op dinsdag 23 mei 2006 09:18 schreef Swetsenegger het volgende:
    Maar... met een beetje mazzel komt er een verschuiving in werkzaamheden en kan ik in de baas z'n tijd wat meer aan de studie
    Altijd prettig, werkgevers die het licht zien als het om investering in de kennis van je medewerkers gaat.
    JeRadinsdag 23 mei 2006 @ 11:26
    quote:
    Op dinsdag 23 mei 2006 07:14 schreef Light het volgende:

    [..]

    Werkt, maar is niet handig. Als er iets wordt aangepast in de XML dan heb je een probleem. De manier van Roönaän is met een simpel if-statement uit te breiden voor een ID-check.
    De manier van Roönaän gaat ook op zijn bek als er grote wijzigingen worden doorgevoerd. Het beste is nog altijd om een XML-parser te gebruiken
    JeRadinsdag 23 mei 2006 @ 11:32
    quote:
    Op dinsdag 23 mei 2006 08:47 schreef Swetsenegger het volgende:

    [..]

    Ik moet me echt gaan verdiepen in OOP
    Begin dan met PHP6 (zie de php-src module in CVS) of pak een taal die een wat completere set aan OOP-mogelijkheden biedt; met PHP is het elke keer weer nét niet maar dat ligt ook aan het doeleinde natuurlijk
    fokME2dinsdag 23 mei 2006 @ 11:33
    quote:
    Op dinsdag 23 mei 2006 11:26 schreef JeRa het volgende:

    [..]

    De manier van Roönaän gaat ook op zijn bek als er grote wijzigingen worden doorgevoerd. Het beste is nog altijd om een XML-parser te gebruiken
    PHP5, SimpleXML
    LeeHarveyOswalddinsdag 23 mei 2006 @ 18:32
    Ik zit weer eens met een probleem...

    de volgende query levert problemen op:

    1SELECT bericht FROM slowchat WHERE userid='1' and bericht = 'Je mag ook berichten met inhoud plaatsen hoor <img src = 'emoticons/tongue.gif'> ' and datumtijd >= '2006-05-23 18'



    Dit is de selectie voor controle voor dubbele berichten..

    Nu snap ik dat SQL de ' van <img niet leuk gaat vinden, maarrrr ik heb bij het invoegen van mn variabele in de query wel { } gebruikt. Dit werkte eerder ook, want <img src = 'blaat'> wordt zelfs uit de database geladen...

    PHP code is de volgende:

    1
    2
    3
    <?php
    $sql_query
    = "SELECT bericht FROM slowchat WHERE userid='{$MemCookID}' and bericht = '{$bericht}' and datumtijd >= '{$uurnu}' ";
    ?>


    Iemand een idee wat er mis gaat? Tq:)
    c0nd0rdinsdag 23 mei 2006 @ 18:33
    Heb je ook de foutmelding?
    En iets minder layout verneukende code
    JeRadinsdag 23 mei 2006 @ 18:34
    @LeeHarveyOswald

    Userid is hopelijk toch geen string? Geen quotes eromheen dan

    Verder kun je dat oplossen door ' bericht = \'' . addslashes($bericht) . '\' te gebruiken.
    Lightdinsdag 23 mei 2006 @ 18:37
    quote:
    Op dinsdag 23 mei 2006 11:26 schreef JeRa het volgende:

    [..]

    De manier van Roönaän gaat ook op zijn bek als er grote wijzigingen worden doorgevoerd. Het beste is nog altijd om een XML-parser te gebruiken
    PHP4 beschikt niet over een native XML-parser. En dan gaat mijn voorkeur uit naar een oplossing waarbij de volgorde van de elementen binnen een item (dus id en titel binnen bedrijf) niet relevant is boven een oplossing waarbij de volgorde vast is.
    big_aldinsdag 23 mei 2006 @ 18:38
    opgelost!

    [ Bericht 99% gewijzigd door big_al op 24-05-2006 11:25:43 ]
    JeRadinsdag 23 mei 2006 @ 18:44
    quote:
    Op dinsdag 23 mei 2006 18:37 schreef Light het volgende:

    [..]

    PHP4 beschikt niet over een native XML-parser.
    Dát is natuurlijk helemaal waar. Ikzelf werk alleen in PHP5 en draai zo nu en dan PHP-cvs, dan denk je daar niet eens meer over na
    LeeHarveyOswalddinsdag 23 mei 2006 @ 19:02
    quote:
    Op dinsdag 23 mei 2006 18:33 schreef c0nd0r het volgende:
    Heb je ook de foutmelding?
    En iets minder layout verneukende code
    quote:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/jeroen/www/test/chat.php on line 154
    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 'emoticons/tongue.gif'> ', 2, '2006-05-23 18:16:03', '62.251.120.197')' at line 1
    LeeHarveyOswalddinsdag 23 mei 2006 @ 19:03
    quote:
    Op dinsdag 23 mei 2006 18:34 schreef JeRa het volgende:
    @LeeHarveyOswald

    Userid is hopelijk toch geen string? Geen quotes eromheen dan

    Verder kun je dat oplossen door ' bericht = \'' . addslashes($bericht) . '\' te gebruiken.
    Het is een string, maar dat werkte eerst wel. Alleen de samenstelling van $bericht is verandert...
    DionysuZdinsdag 23 mei 2006 @ 19:07
    dat is toch precies hoe sql injecties werken? als je een variabele $test = "bla' or '1'='1"; hebt die je gebruikt in een sql query: "SELECT * FROM test WHERE veld = '{$test}'"; dan heb je toch gewoon een succesvolle manier van sql injectie? addslashes dus
    fokME2dinsdag 23 mei 2006 @ 19:08
    quote:
    Op dinsdag 23 mei 2006 18:34 schreef JeRa het volgende:
    @LeeHarveyOswald

    Userid is hopelijk toch geen string? Geen quotes eromheen dan

    Verder kun je dat oplossen door ' bericht = \'' . addslashes($bericht) . '\' te gebruiken.
    mysql_real_escape_string
    DionysuZdinsdag 23 mei 2006 @ 19:11
    quote:
    Op dinsdag 23 mei 2006 19:08 schreef fokME2 het volgende:

    [..]

    mysql_real_escape_string
    beter
    LeeHarveyOswalddinsdag 23 mei 2006 @ 19:19
    quote:
    Op dinsdag 23 mei 2006 19:07 schreef DionysuZ het volgende:
    dat is toch precies hoe sql injecties werken? als je een variabele $test = "bla' or '1'='1"; hebt die je gebruikt in een sql query: "SELECT * FROM test WHERE veld = '{$test}'"; dan heb je toch gewoon een succesvolle manier van sql injectie? addslashes dus
    is het niet dat magic quotes aan staan, en dat op bericht na alle gegevens ook al uit de databse worden gehaald, en dus niet dmv user veld
    BaggerUserdinsdag 23 mei 2006 @ 19:28
    hoi ik heb een klein probleempje het is volgebns mij eigenlijk een javascript fout maar kan ook zijn dat het aan de php ligt dus ik plaats hem maar even hier.. :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <?php
    php
    include("config.php");
    //error_reporting(E_ALL);


    php
            
            
            $i
    = '0';
            
    $sql = 'SELECT * FROM `occasions` ORDER BY `ID` ASC';
            
    $result = mysql_query($sql);
            while (
    $row = mysql_fetch_array($result)) {

            if(
    $i / 2 == round($i / 2))
            {
            
    $class = 'occasions_wrapper_even';
            }
            else
            {
            
    $class = 'occasions_wrapper_oneven';        
            }
            

            
    $specificaties = nl2br($row['specificaties']);
            
                
    $specificaties = nl2br($row['specificaties']);
                
    $occasions = $occasions."
                    
                    <div class='occasions_wrapper'>
                        <table>
                        <tr>
                            <td colspan='4' onClick='showEigenschappen("
    .$row[id].")'>Meer info</td>
                        </tr>                    
                        <tr>
                        <td width='120' rowspan='2' ><img src='thumbs/"
    .$row[foto]."' > <img src='thumbs/".$row[foto]."' width='50px' height='50px' >&nbsp;<img src='thumbs/".$row[foto]."' width='50px' height='50px' ></td>
                            <td class='occasions_info'>
                                Merk: <br />    
                                Type: <br />
                                Kilometerstand: <br />
                                Vraagprijs: <br />
                            </td>
                            <td class='occasions_inhoud'>
                                $merk <br />
                                "
    .$row['type']." <br />
                                "
    .$row['kilometerstand']." <br />
                                &euro;&nbsp;<font class='prijs'>"
    .$row['vraagprijs'].",-</font> <br />                                
                            </td>
                            <td class='occasions_info' valign='top'>
                                Kleur: <br />
                                Brandstof: <br />
                                Bouwjaar: <br />        
                            </td>
                            <td class='occasions_inhoud'>
                                 "
    .$row['kleur']." <br />
                                "
    .$row['brandstof']." <br />
                                "
    .$row['bouwjaar']." <br />
                            </td>
                        </tr>
                        <tr>
                            <td colspan='4' align='left' valign='top'><div class='specs_hidden' id='occasion$i' ><br /><p><b>Eigenschappen:</b></p><p>$specificaties</p></div></td>
                          </tr>
                        <tr>
                            <td colspan='4'>bewerken | verwijderen | foto-toevoegen</td>
                        </tr>
                        </table>
                    </div>
                        <br />                

                "
    ;
            
    $i++;
            }


    php

        $dag
    = date(D);
        
        
    $body = "
        
        <div class='MAIN_WRAPPER'>
            <div class='TOP'></div>
            <div class='TOP_SPLITTER'></div>
            <div class='MAIN'>
                <div class='TOP_CONTENT'></div>
            
                <div class='CONTENT'>
                    <div class='CONTENT_TITEL'><p>&nbsp;</p><p><img src='site_images/plus.gif' alt=''/> occasion overzicht</p></div>
                    <div class='CONTENT_TEXT'>

                        $occasions

                    </div>    
                    <div class='CONTENT_BOTTOM'>blaap.nl</div>
                    <p>&nbsp;</p>
                    
                </div>
            </div>
            <div class='BOTTOM'></div>
        </div>
        "
    ;


    &
    lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
    &
    lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
    &
    lt;head&gt;
    &
    lt;title&gt;Untitled Document&lt;/title&gt;
    &
    lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;
    &
    lt;link href="sessie.css" type="text/css" rel="stylesheet" /&gt;


      &
    lt;script language="javascript"&gt;
      
      var
    i = 0;
      
      function
    showEigenschappen(nummer) {
        
    document.getElementById('occasion'+nummer).display = 'block';
        
      }

    &
    lt;/script&gt;


    &
    lt;/head&gt;

    &
    lt;body&gt;

    php echo"$body";


    &
    lt;/body&gt;
    &
    lt;/html&gt;
    ?>


    maar hij pakt de javascript functie niet:

    function showEigenschappen(nummer) {
    document.getElementById('occasion'+nummer).display = 'block';
    }

    hij zegt dattie geen properties heeft
    terwijl dit stukje wel in een ander script van mij werkt d ebedoeling is dat hij de div pas laat zien als ik er op "meer info " is geklikt..
    DionysuZdinsdag 23 mei 2006 @ 19:32
    het is document.getElementById('occasion'+nummer).style.display = 'block' en jah het is javascript
    JeRadinsdag 23 mei 2006 @ 19:47
    quote:
    Op dinsdag 23 mei 2006 19:08 schreef fokME2 het volgende:

    [..]

    mysql_real_escape_string
    Ook hier weer, als je een écht complete oplossing wilt dan kun je beter met prepared statements werken

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $db
    = new PDO('mysql:host=server;dbname=database', 'user', 'pw');

    $query = 'SELECT COUNT(id) AS num FROM tabel WHERE bericht = :bericht';
    $stmt = $db-&gt;prepare($sql);

    $stmt-&gt;bindParam(':bericht', $bericht);
    $stmt-&gt;execute();
    ?>

    Dit houdt rekening met dat $bericht een string is en escapet de string, afhankelijk van de gebruikte connection character set met de MySQL-database

    En nee, PDO is niet altijd beschikbaar (maar sinds PHP5 wel, mits geladen)
    CraZaaydinsdag 23 mei 2006 @ 19:47
    quote:
    Op dinsdag 23 mei 2006 18:32 schreef LeeHarveyOswald het volgende:
    Ik zit weer eens met een probleem...

    de volgende query levert problemen op:
    [ code verwijderd ]

    Iemand een idee wat er mis gaat? Tq:)
    'Je mag ook berichten met inhoud plaatsen hoor <img src = 'emoticons/tongue.gif'> '

    Wat dacht je van het escapen van de single quotes in je string?
    LeeHarveyOswalddinsdag 23 mei 2006 @ 19:49
    quote:
    Op dinsdag 23 mei 2006 19:47 schreef CraZaay het volgende:

    [..]

    'Je mag ook berichten met inhoud plaatsen hoor <img src = 'emoticons/tongue.gif'> '

    Wat dacht je van het escapen van de single quotes in je string?
    Dit deel heb ik nu werkend, alleen nu krijg ik:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/jeroen/www/test/chat.php on line 155


    Teksten worden (goed) toegevoegd en goed weergegeven, alleen dus deze melding... Regel 155 is leeg, bovenstaande code is:


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $sql_query
    = "SELECT bericht FROM slowchat WHERE userid={$MemCookID} and bericht = {$bericht} and datumtijd >={$uurnu} ";
    $result = mysql_query($sql_query);
    if(
    mysql_num_rows($result) &gt; 0) {

    // AFBREKEN!

    Echo "Anti Flood! je kan niet snel achter elkaar 2x hetzelfde bericht plaatsen! ";


    }
    ?>
    JeRadinsdag 23 mei 2006 @ 19:59
    LHO, je moet nog quotes om je {$bericht} heen zetten
    LeeHarveyOswalddinsdag 23 mei 2006 @ 20:07
    quote:
    Op dinsdag 23 mei 2006 19:59 schreef JeRa het volgende:
    LHO, je moet nog quotes om je {$bericht} heen zetten
    Waar precies?

    In mn vorige post staan ze nl. al...
    JeRadinsdag 23 mei 2006 @ 20:16
    quote:
    Op dinsdag 23 mei 2006 20:07 schreef LeeHarveyOswald het volgende:

    [..]

    Waar precies?

    In mn vorige post staan ze nl. al...
    1and bericht = {$bericht}

    Dáár
    1and bericht = '{$bericht}'
    fokME2dinsdag 23 mei 2006 @ 20:20
    quote:
    Op dinsdag 23 mei 2006 19:47 schreef JeRa het volgende:

    [..]

    Ook hier weer, als je een écht complete oplossing wilt dan kun je beter met prepared statements werken
    [ code verwijderd ]

    Dit houdt rekening met dat $bericht een string is en escapet de string, afhankelijk van de gebruikte connection character set met de MySQL-database

    En nee, PDO is niet altijd beschikbaar (maar sinds PHP5 wel, mits geladen)
    Dat ziet er wel flink omslachtig uit
    LeeHarveyOswalddinsdag 23 mei 2006 @ 20:26
    quote:
    Op dinsdag 23 mei 2006 20:16 schreef JeRa het volgende:

    [..]
    [ code verwijderd ]

    Dáár
    [ code verwijderd ]
    aangepast, maakt geen verschil. Result blijft trouwens leeg..
    LeeHarveyOswalddinsdag 23 mei 2006 @ 20:29
    het waren mn quotes bij datum..
    JeRadinsdag 23 mei 2006 @ 20:32
    quote:
    Op dinsdag 23 mei 2006 20:20 schreef fokME2 het volgende:

    [..]

    Dat ziet er wel flink omslachtig uit
    Is het ook wel op het eerste gezicht. Maar het zorgt ervoor dat je nooit ende nimmer meer SQL injections kunt creëeren en als je in een situatie komt waarbij je een query vaker achter elkaar moet uitvoeren, hoef je met prepared statements al het parsewerk maar één keer uit te laten voeren wat de performance natuurlijk ten goede komt
    fokME2dinsdag 23 mei 2006 @ 20:59
    @JeRa hoe bedoel je al het parsewerk maar één keer uit te laten voeren?
    Roonaandinsdag 23 mei 2006 @ 20:59
    quote:
    Op dinsdag 23 mei 2006 18:44 schreef JeRa het volgende:

    [..]

    Dát is natuurlijk helemaal waar. Ikzelf werk alleen in PHP5 en draai zo nu en dan PHP-cvs, dan denk je daar niet eens meer over na
    Qua marktverhouding ligt 5 inmiddels rond de 30% en groeiende toch?
    ChOasdinsdag 23 mei 2006 @ 21:01
    Ik weet niet of deze al bekend zijn, maar is wel handig:

    http://www.ilovejackdaniels.com/php/mysql-cheat-sheet/
    http://www.ilovejackdaniels.com/php/php-cheat-sheet/
    JeRadinsdag 23 mei 2006 @ 21:06
    quote:
    Op dinsdag 23 mei 2006 20:59 schreef fokME2 het volgende:
    @JeRa hoe bedoel je al het parsewerk maar één keer uit te laten voeren?
    Als je een query naar de server stuurt moet dat via de MySQL-backend voor PHP via een verbinding naar de MySQL-server, alwaar hij ingelezen, verwerkt en geoptimaliseert moet worden

    Als je een query hebt die je 100x moet uitvoeren (bv. een INSERT of DELETE) dan zorg je met die prepared statements ervoor dat de backend én de server de query alvast kunnen inlezen, verwerken en optimaliseren voor zover mogelijk. Dit kan omdat je alleen de aangegeven variabelen (':bericht' bijvoorbeeld) aanpast en de server hier rekening mee houdt. Op die manier verander je 100x alleen de meegestuurde variabelen en hoeft niet de hele query opnieuw verwerkt te worden
    JeRadinsdag 23 mei 2006 @ 21:07
    quote:
    Op dinsdag 23 mei 2006 20:59 schreef Roönaän het volgende:

    [..]

    Qua marktverhouding ligt 5 inmiddels rond de 30% en groeiende toch?
    Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doen
    Roonaandinsdag 23 mei 2006 @ 21:11
    quote:
    Op dinsdag 23 mei 2006 21:07 schreef JeRa het volgende:
    Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doen
    Mogelijkerwijs ook omdat de "extra software" die ze aanbieden php4 zijn; plesk, phpnuke, phpbb, mambo. Maar dat zal met de tijd ook wel veranderen.

    Het gaat leuk worden als zend framework geïntegreerd wordt bij de hosters en dat ik bij een webhoster via plesk mijn emailadres+gsm op kan geven waarnaar zend framework sms't en mailt over trage queries en stervende websites
    Lightdinsdag 23 mei 2006 @ 21:38
    quote:
    Op dinsdag 23 mei 2006 21:07 schreef JeRa het volgende:

    [..]

    Klopt ongeveer ja, een hoop webhosters zweren nog bij PHP4 omdat de klanten dat vaak ook nog doen
    Ik wacht even af wat mijn hoster meldt over PHP5 support.
    Lightdinsdag 23 mei 2006 @ 21:41
    quote:
    Op dinsdag 23 mei 2006 21:11 schreef Roönaän het volgende:

    [..]

    Mogelijkerwijs ook omdat de "extra software" die ze aanbieden php4 zijn; plesk, phpnuke, phpbb, mambo. Maar dat zal met de tijd ook wel veranderen.
    Ze kunnen best php4 en php5 naast elkaar draaien. En daarbij moeten ze geen phpbb aanbieden.
    quote:
    Het gaat leuk worden als zend framework geïntegreerd wordt bij de hosters en dat ik bij een webhoster via plesk mijn emailadres+gsm op kan geven waarnaar zend framework sms't en mailt over trage queries en stervende websites
    Dat klinkt interessant Maar dan kun je ook colocation overwegen natuurlijk.
    JeRadinsdag 23 mei 2006 @ 21:55
    quote:
    Op dinsdag 23 mei 2006 21:38 schreef Light het volgende:

    [..]

    Ik wacht even af wat mijn hoster meldt over PHP5 support.
    Maar tot die tijd kun je toch al genoeg met PHP5 experimenteren, toch?
    quote:
    Op dinsdag 23 mei 2006 21:41 schreef Light het volgende:

    [..]

    Ze kunnen best php4 en php5 naast elkaar draaien.
    Niet als Apache-module, dan moeten ze met mod_php4 en php5-cgi of iets in die richting gaan werken. En dat is qua opzet vaak niet echt wenselijk.
    quote:
    [..]

    Dat klinkt interessant Maar dan kun je ook colocation overwegen natuurlijk.
    Leek me ook, de meeste hosters doen aan mass hosting en dan wil je niet nog eens alle queries en websites monitoren, in het kader van performance
    Lightdinsdag 23 mei 2006 @ 22:14
    quote:
    Op dinsdag 23 mei 2006 21:55 schreef JeRa het volgende:

    [..]

    Maar tot die tijd kun je toch al genoeg met PHP5 experimenteren, toch?
    True, maar dan is het nog niet inzetbaar op een site Niet dat ik nu wel iets serieus heb draaien, maar goed. Overigens heeft mijn hoster aangegeven dat ze voorlopig nog niet van plan zijn PHP5 aan te bieden. Ze zijn wel snel met antwoorden, dat moet ik toegeven
    quote:
    Niet als Apache-module, dan moeten ze met mod_php4 en php5-cgi of iets in die richting gaan werken. En dat is qua opzet vaak niet echt wenselijk.
    1 als apache module, de ander als cgi. Dat kan goed.
    Tijndinsdag 23 mei 2006 @ 22:27
    De netwerkbeheerders bij ons op school hebben voor dit gedoe een 2e webserver geinstalleerd. Afhankelijk van de url die je gebruikt kun je zelf kiezen of je Apache 1.3 met PHP4 of 2.2 met PHP5 gebruikt
    Swetseneggerdinsdag 23 mei 2006 @ 22:53
    Al mijn hosters draaien nog op php4.
    Kan ik bij de overgang van 4 naar 5 problemen verwachten bij gewone procedurele code?

    Zoals ondertussen duidelijk mag zijn gebruiken mijn brouwsels geen OOP en de grootste wijzigen tussen 4 en 5 zijn toch OOP gerelateerd?
    c0nd0rdinsdag 23 mei 2006 @ 22:55
    quote:
    Op dinsdag 23 mei 2006 22:53 schreef Swetsenegger het volgende:
    Al mijn hosters draaien nog op php4.
    Kan ik bij de overgang van 4 naar 5 problemen verwachten bij gewone procedurele code?

    Zoals ondertussen duidelijk mag zijn gebruiken mijn brouwsels geen OOP en de grootste wijzigen tussen 4 en 5 zijn toch OOP gerelateerd?

    Je moet bij PHP 5 wel aangeven dat ie dan backwards compatible is en sommige functies reageren anders of zijn er gewoon uit!
    Raadpleeg ook even PHP manual hier staat het precies in!
    JeRadinsdag 23 mei 2006 @ 22:56
    quote:
    Op dinsdag 23 mei 2006 22:14 schreef Light het volgende:

    [..]

    True, maar dan is het nog niet inzetbaar op een site Niet dat ik nu wel iets serieus heb draaien, maar goed.
    In de tijd dat ik bij mijn hoster nog geen PHP5 had, schreef ik al mijn sites alsnog in PHP5 en classes die de functionaliteit van PHP5 nabootsten in PHP4 die ik dan mee uploadde naar de hoster
    quote:
    [..]

    1 als apache module, de ander als cgi. Dat kan goed.
    De CGI moet dan vaak gedraaid worden onder de rechten van de gebruiker, de module draait vaak onder de Apache-gebruiker. Vaak levert dat gezeik op met de bestanden, veiligheid op de server, etc. Meestal is het zo dat de hoster er tegen die tijd er al van afziet
    Swetseneggerdinsdag 23 mei 2006 @ 22:57
    quote:
    Op dinsdag 23 mei 2006 21:11 schreef Roönaän het volgende:

    Het gaat leuk worden als zend framework geïntegreerd wordt bij de hosters en dat ik bij een webhoster via plesk mijn emailadres+gsm op kan geven waarnaar zend framework sms't en mailt over trage queries en stervende websites
    Das helemaal niet leuk, want dan wordt je geacht opeens midden in de nacht wanneer er een aantal zware crons gaan draaien je aan optimalisatie gaat werken
    Swetseneggerdinsdag 23 mei 2006 @ 22:59
    quote:
    Op dinsdag 23 mei 2006 22:55 schreef c0nd0r het volgende:

    [..]


    Je moet bij PHP 5 wel aangeven dat ie dan backwards compatible is en sommige functies reageren anders of zijn er gewoon uit!
    Raadpleeg ook even PHP manual hier staat het precies in!
    Ja ik begrijp dat absolute functies niet meer werken, maar dat zijn er toch niet zo gek veel wanneer er geen OOP gebruikt wordt?
    JeRadinsdag 23 mei 2006 @ 23:00
    quote:
    Op dinsdag 23 mei 2006 22:59 schreef Swetsenegger het volgende:

    [..]

    Ja ik begrijp dat absolute functies niet meer werken, maar dat zijn er toch niet zo gek veel wanneer er geen OOP gebruikt wordt?
    Als het goed is niet nee
    Swetseneggerdinsdag 23 mei 2006 @ 23:03
    quote:
    Op dinsdag 23 mei 2006 23:00 schreef JeRa het volgende:

    [..]

    Als het goed is niet nee
    Dat dacht ik ook. Ik weet dat het OOP model aardig op de schop gegaan is (dus maar goed dat ik er nog niet aan begonnen ben ) Is er op php.net een lijstje te vinden met de verschillen tussen 4 en 5?

    Ik zoek me het lazurus op 'migration' enzo, maar vind niet echt wat ik zoek
    JeRadinsdag 23 mei 2006 @ 23:07
    quote:
    Op dinsdag 23 mei 2006 23:03 schreef Swetsenegger het volgende:

    [..]

    Dat dacht ik ook. Ik weet dat het OOP model aardig op de schop gegaan is (dus maar goed dat ik er nog niet aan begonnen ben ) Is er op php.net een lijstje te vinden met de verschillen tussen 4 en 5?

    Ik zoek me het lazurus op 'migration' enzo, maar vind niet echt wat ik zoek
    http://www.zend.com/php5/articles/engine2-php5-changes.php

    Keywords: php5 changes

    fokME2woensdag 24 mei 2006 @ 07:38
    Mijn hoster gaat 2 juni over op PHP5

    Op het moment php4 > Module, en php5 > CGI.

    2 Juni: Apache 1.3 > Apache 2.0
    php4 > CGI
    php5 > Module (.php === php5)
    Mysql 5!
    Roonaanwoensdag 24 mei 2006 @ 09:01
    quote:
    Op dinsdag 23 mei 2006 22:59 schreef Swetsenegger het volgende:
    Swetseneggerwoensdag 24 mei 2006 @ 09:04
    quote:
    Op woensdag 24 mei 2006 09:01 schreef Roönaän het volgende:

    [..]

    [afbeelding]
    Hee cool
    Is dat onderdeel van php5
    Roonaanwoensdag 24 mei 2006 @ 09:16
    quote:
    Op woensdag 24 mei 2006 09:04 schreef Swetsenegger het volgende:

    [..]

    Hee cool
    Is dat onderdeel van php5
    PHP Platform, wat ik eerder PHP framework noemde.
    Die monitort vanuit de php engine al je meuk. Dus dit is in pincipe ook nuttig voor grote hosters. Juist dáar wil je je scriptkiddies kunnen aanspreken op hun brakke queries.
    Swetseneggerwoensdag 24 mei 2006 @ 10:46
    quote:
    Op woensdag 24 mei 2006 09:16 schreef Roönaän het volgende:

    [..]

    PHP Platform, wat ik eerder PHP framework noemde.
    Die monitort vanuit de php engine al je meuk. Dus dit is in pincipe ook nuttig voor grote hosters. Juist dáar wil je je scriptkiddies kunnen aanspreken op hun brakke queries.
    A, ik begreep 'framework' al niet, omdat ik dat meer als ontwikkelomgeving interpreteerde nav het beta framework.
    Roonaanwoensdag 24 mei 2006 @ 10:51
    quote:
    Op woensdag 24 mei 2006 10:46 schreef Swetsenegger het volgende:

    [..]

    A, ik begreep 'framework' al niet, omdat ik dat meer als ontwikkelomgeving interpreteerde nav het beta framework.
    framework was in het begin (voordat het platform heette) een combinatie van dat monitoren + zend optimizer + zend safecode (of hoe dat ding heet) en nog wat serverside tools.
    BaggerUserwoensdag 24 mei 2006 @ 16:43
    quote:
    Op dinsdag 23 mei 2006 19:32 schreef DionysuZ het volgende:
    het is document.getElementById('occasion'+nummer).style.display = 'block' en jah het is javascript
    werkt ook niet..
    Nevermindwoensdag 24 mei 2006 @ 16:54
    Klein vraagje: Hoe kan ik de totale grootte van een MySQL database (in kb) verkrijgen?
    JeRawoensdag 24 mei 2006 @ 17:07
    quote:
    Op woensdag 24 mei 2006 16:54 schreef Nevermind het volgende:
    Klein vraagje: Hoe kan ik de totale grootte van een MySQL database (in kb) verkrijgen?
    1SHOW TABLE STATUS FROM `database`

    En dan wat dingetjes gaan optellen
    Chandlerwoensdag 24 mei 2006 @ 17:11
    gatsie, was je me even voor Jera
    Nevermindwoensdag 24 mei 2006 @ 17:13
    quote:
    Op woensdag 24 mei 2006 17:07 schreef JeRa het volgende:

    [..]
    [ code verwijderd ]

    En dan wat dingetjes gaan optellen
    Hoop bruikbare informatie
    Data_Length + Index_Length is het totale verbruik lijkt me?
    JeRawoensdag 24 mei 2006 @ 17:16
    quote:
    Op woensdag 24 mei 2006 17:13 schreef Nevermind het volgende:

    [..]

    Hoop bruikbare informatie
    Data_Length + Index_Length is het totale verbruik lijkt me?
    Data_Lengh + Index_Length + Data_Free is het totale verbruik van een tabel

    Data_Length = aantal bytes in gebruik door data
    Index_Length = aantal bytes in gebruik door indices
    Data_Free = aantal bytes dat niet gebruikt wordt door de tabel, maar wel ingenomen is op de harde schijf
    Nevermindwoensdag 24 mei 2006 @ 17:47
    quote:
    Op woensdag 24 mei 2006 17:16 schreef JeRa het volgende:

    [..]

    Data_Lengh + Index_Length + Data_Free is het totale verbruik van een tabel

    Data_Length = aantal bytes in gebruik door data
    Index_Length = aantal bytes in gebruik door indices
    Data_Free = aantal bytes dat niet gebruikt wordt door de tabel, maar wel ingenomen is op de harde schijf
    Super! Bedankt voor de informatie
    ralfiewoensdag 24 mei 2006 @ 18:11
    ik kan sinds kort een aantal bestanden op mijn server niet meer chmodden (na een apache/php upgrade van mijn host) met php:
    1Warning: chmod(): Not owner in...

    Dit gaat dan om bestanden die buiten het script om zijn upgeload
    Een simpele, maar omslachige manier om dit te omzeilen is
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $x
    =file_get_contents($bestand);
    unlink($bestand);
    $h=fopen($bestand,"a");
    fwrite($h,$x);
    fclose($h);
    unset(
    $x);
    ?>
    Waarbij het bestand wordt overschreven door een bestand dat door het script zelf is aangemaakt. Ik heb chown() al geprobeerd maar ook die heeft geen toegang tot het bestand om dezelfde reden als chmod(). De ftp alternatieven werken niet omdat de server alleen met ssl werkt en de ssl mod niet (goed) is geinstalleerd. Ook de host (onbetaalde host, dus niet echt veel te eisen) werkt niet echt mee. Iemand toch nog een goed alternatief zonder toegang tot php.ini (muv ini_s/get) of andere configuratieinstellingen?
    JeRawoensdag 24 mei 2006 @ 18:17
    @ralfie

    De bestanden zijn waarschijnlijk van de Apache-webserver en PHP draait nu onder jouw gebruikersnaam - of andersom. Als je FTP niet goed werkt en als je geen shelltoegang hebt kun je dus misschien het beste jouw methode uitvoeren op alle bestanden waarbij je het nodig hebt.
    ralfiewoensdag 24 mei 2006 @ 18:24
    quote:
    Op woensdag 24 mei 2006 18:17 schreef JeRa het volgende:
    @ralfie

    De bestanden zijn waarschijnlijk van de Apache-webserver en PHP draait nu onder jouw gebruikersnaam - of andersom. Als je FTP niet goed werkt en als je geen shelltoegang hebt kun je dus misschien het beste jouw methode uitvoeren op alle bestanden waarbij je het nodig hebt.
    Daar was ik al bang voor, niet dat het verschrikkelijk veel uitmaakt maar ik had gehoopt op een nettere oplossing. Toch bedankt
    JeRawoensdag 24 mei 2006 @ 18:30
    quote:
    Op woensdag 24 mei 2006 18:24 schreef ralfie het volgende:

    [..]

    Daar was ik al bang voor, niet dat het verschrikkelijk veel uitmaakt maar ik had gehoopt op een nettere oplossing. Toch bedankt
    Eigenlijk had jouw hoster er rekening mee moeten houden, maar bij onbetaalde hosters wordt het wat lastig om te gaan klagen hè
    Swetseneggerwoensdag 24 mei 2006 @ 19:33
    Kan ik met php bestanden op de server van de ene naar de andere directory kopieren? Dus geen geuploade bestanden, maar bestanden die er al staan?
    ralfiewoensdag 24 mei 2006 @ 19:40
    quote:
    Op woensdag 24 mei 2006 18:30 schreef JeRa het volgende:

    [..]

    Eigenlijk had jouw hoster er rekening mee moeten houden, maar bij onbetaalde hosters wordt het wat lastig om te gaan klagen hè
    idd

    zoals gezegd is het niet zo belangrijk, chmodden is toch meer zon feature wat ik zelden wil gaan gebruiiken, maar voor de handigheid er toch in moet hebben. Ben namelijk een webbased explorer aan het maken voor mijn studenten homedisk (host is uni dus ) aangezien dat toch wat makkelijker is als het programma dat ik nu gebruik om mijn zooi te uploaden (ssh secure shell) en ik mijn tijd toch op de een of andere manier moet volmaken Het vordert al aardig, moet alleen nog filedragging fixen (dat het ooit wel deed ) en de built-in editor (PHPad, originele naam) afmaken. En ik moet nog alle icoontjes converteren naar jpg oid omdat ik erachter kwam dat IE geen transpante pngs aankan NADAT ik alle icoontjes al gemaakt had

    Ja, je moet iets te doen hebben
    Tijnwoensdag 24 mei 2006 @ 19:51
    quote:
    Op woensdag 24 mei 2006 19:33 schreef Swetsenegger het volgende:
    Kan ik met php bestanden op de server van de ene naar de andere directory kopieren? Dus geen geuploade bestanden, maar bestanden die er al staan?
    Als de user waaronder de webserver draait, de juiste rechten heeft om de files te lezen, zou ik niet weten waarom copy niet gewoon zou werken
    Swetseneggerwoensdag 24 mei 2006 @ 19:59
    quote:
    Op woensdag 24 mei 2006 19:51 schreef Tijn het volgende:

    [..]

    Als de user waaronder de webserver draait, de juiste rechten heeft om de files te lezen, zou ik niet weten waarom copy niet gewoon zou werken
    Ow ja, stom stom.
    JeRawoensdag 24 mei 2006 @ 20:14
    quote:
    Op woensdag 24 mei 2006 19:40 schreef ralfie het volgende:
    (ssh secure shell)
    Weet je zeker dat het SSH is en geen SFTP? Want dan heb je natuurlijk wél shelltoegang, en dan kan het omzetten van je bestanden iets sneller
    quote:
    En ik moet nog alle icoontjes converteren naar jpg oid omdat ik erachter kwam dat IE geen transpante pngs aankan NADAT ik alle icoontjes al gemaakt had
    Internet Explorer kan die dingen via één of ander filter ook prima weergeven. Beetje hackish, maar het werkt.
    ralfiewoensdag 24 mei 2006 @ 20:49
    quote:
    Op woensdag 24 mei 2006 20:14 schreef JeRa het volgende:

    [..]

    Weet je zeker dat het SSH is en geen SFTP? Want dan heb je natuurlijk wél shelltoegang, en dan kan het omzetten van je bestanden iets sneller
    Hoe kom ik daarachter?

    als het helpt, hier is mijn phpinfo
    JeRawoensdag 24 mei 2006 @ 21:09
    quote:
    Op woensdag 24 mei 2006 20:49 schreef ralfie het volgende:

    [..]

    Hoe kom ik daarachter?
    Door gebruik te maken van PuTTy en proberen contact te maken met de server gebruikersnaam en wachtwoord zijn dan hetzelfde als die je gebruikt om je bestanden te uploaden.

    Je krijgt dan als het goed is een shell (Linux-shell wrs) waarmee je ook die bestanden kunt kopiëren en in één keer op je eigen gebruikersnaam kunt zetten.
    Lightwoensdag 24 mei 2006 @ 21:58
    quote:
    Op woensdag 24 mei 2006 21:09 schreef JeRa het volgende:

    Je krijgt dan als het goed is een shell (Linux-shell wrs) waarmee je ook die bestanden kunt kopiëren en in één keer op je eigen gebruikersnaam kunt zetten.
    Nee, dat gaat niet door rechtenproblemen. Je kunt de eigenaar van een bestand niet aanpassen (tenzij je root bent).
    JeRawoensdag 24 mei 2006 @ 22:02
    quote:
    Op woensdag 24 mei 2006 21:58 schreef Light het volgende:

    [..]

    Nee, dat gaat niet door rechtenproblemen. Je kunt de eigenaar van een bestand niet aanpassen (tenzij je root bent).
    Waar zeg ik dat hij dat moet doen dan?

    Die bestanden zijn wel van iemand anders, maar hij kan ze als gebruiker zo te lezen wél inlezen. Dat betekent dat de worldread aanstaat, en dat betekent dat hij ze kan kopiëren. Om ze te kopiëren maakt ie nieuwe bestanden aan waar hij wél het beheer over heeft.
    CraZaaywoensdag 24 mei 2006 @ 23:55
    quote:
    Op woensdag 24 mei 2006 21:09 schreef JeRa het volgende:

    [..]

    Door gebruik te maken van PuTTy en proberen contact te maken met de server gebruikersnaam en wachtwoord zijn dan hetzelfde als die je gebruikt om je bestanden te uploaden.

    Je krijgt dan als het goed is een shell (Linux-shell wrs) waarmee je ook die bestanden kunt kopiëren en in één keer op je eigen gebruikersnaam kunt zetten.
    Dan moet 'ie wel SSH rechten hebben uiteraard.
    JeRadonderdag 25 mei 2006 @ 00:05
    quote:
    Op woensdag 24 mei 2006 23:55 schreef CraZaay het volgende:

    [..]

    Dan moet 'ie wel SSH rechten hebben uiteraard.
    quote:
    Op woensdag 24 mei 2006 19:40 schreef ralfie het volgende:
    ...
    aangezien dat toch wat makkelijker is als het programma dat ik nu gebruik om mijn zooi te uploaden (ssh secure shell)
    ...
    Vandaar
    Revenge2005donderdag 25 mei 2006 @ 01:18
    Even een klein noobvraagje
    ik ben sindskort actief bezig met websites
    ik zou ook wel graag php leren

    Welke Boeken zou ik hiervoor moeten aanschaffen ( liefs inclusief software natuurlijk )
    iemand tips of Suggesties
    CraZaaydonderdag 25 mei 2006 @ 09:08
    quote:
    Op donderdag 25 mei 2006 00:05 schreef JeRa het volgende:

    [..]


    [..]

    Vandaar
    Scherp
    Lightdonderdag 25 mei 2006 @ 09:12
    quote:
    Op woensdag 24 mei 2006 22:02 schreef JeRa het volgende:

    [..]

    Waar zeg ik dat hij dat moet doen dan?

    Die bestanden zijn wel van iemand anders, maar hij kan ze als gebruiker zo te lezen wél inlezen. Dat betekent dat de worldread aanstaat, en dat betekent dat hij ze kan kopiëren. Om ze te kopiëren maakt ie nieuwe bestanden aan waar hij wél het beheer over heeft.
    Hmmkee, misschien had ik toch niet helemaal goed gelezen Kopieren kan natuurlijk wel.
    Swetseneggerdonderdag 25 mei 2006 @ 09:13
    quote:
    Op donderdag 25 mei 2006 01:18 schreef Revenge2005 het volgende:
    Even een klein noobvraagje
    ik ben sindskort actief bezig met websites
    ik zou ook wel graag php leren

    Welke Boeken zou ik hiervoor moeten aanschaffen ( liefs inclusief software natuurlijk )
    iemand tips of Suggesties
    Software? Wat voor software dacht je aan? PHP is gratis te downloaden. MySQL is gratis te downloaden en Apache is gratis te downloaden.
    En het mooie is... er zijn volledige pakketten welke allesmet 2 keer klikken in 1 keer installeren.

    Dat zijn LAM (Linux, Apache, MySQL, PHP) of WAMP (Windows, etc) en tegenwoordig zelfs AAMP(Apple, etc) pakketten.

    En dan heb je verder niet veel meer nodig dan kladblok om te ontwikkelen, hoewel een gratis editor als bv phpdesigner wat handiger is.

    Persoonlijk vond ik het boek PHP voor het wereldwijde web uit de 'snel op weg' serie erg prettig, maar er is zoveel documentatie op internet te vinden dat een boek niet noodzakelijk is. In de openingspost van dit topic staat zelfs een lkink naar een boek dat je gratis kan downloaden
    Chandlerdonderdag 25 mei 2006 @ 11:52
    Stel je hebt 9 cijfers en steeds zijn er 5 bezet, hoeveel combi's heb je en welke? weet iemand hoe je dit kan berekenen?

    Iemand?

    123456789 zijn de cijfers en steeds heb ik 5 cijfers!.
    ralfiedonderdag 25 mei 2006 @ 12:21
    quote:
    Op donderdag 25 mei 2006 11:52 schreef Chandler het volgende:
    Stel je hebt 9 cijfers en steeds zijn er 5 bezet, hoeveel combi's heb je en welke? weet iemand hoe je dit kan berekenen?

    Iemand?

    123456789 zijn de cijfers en steeds heb ik 5 cijfers!.
    9^5?
    quote:
    Op woensdag 24 mei 2006 21:09 schreef JeRa het volgende:

    [..]

    Door gebruik te maken van PuTTy en proberen contact te maken met de server gebruikersnaam en wachtwoord zijn dan hetzelfde als die je gebruikt om je bestanden te uploaden.

    Je krijgt dan als het goed is een shell (Linux-shell wrs) waarmee je ook die bestanden kunt kopiëren en in één keer op je eigen gebruikersnaam kunt zetten.
    Ok, dat werkt, scheelt tenminste al iets, dank je!
    CraZaaydonderdag 25 mei 2006 @ 12:35
    quote:
    Op donderdag 25 mei 2006 11:52 schreef Chandler het volgende:
    Stel je hebt 9 cijfers en steeds zijn er 5 bezet, hoeveel combi's heb je en welke? weet iemand hoe je dit kan berekenen?

    Iemand?

    123456789 zijn de cijfers en steeds heb ik 5 cijfers!.
    Wat degene hierboven zegt, 9*9*9*9*9

    Wil je de combinaties uitgetypt hebben, alle 59049?
    Chandlerdonderdag 25 mei 2006 @ 12:45
    'huh? zoveel mogelijkheden? maar is er ook een berekening voor? want stel ik heb 9 cijfers dus

    123456789 en er zijn steeds 5 vast dan heb je de volgende mogelijkheden in 1x gepakt
    12345
    23451
    34512
    45123
    51234

    maar ook

    54123
    15342 etc



    Darkomendonderdag 25 mei 2006 @ 12:47
    quote:
    Op woensdag 24 mei 2006 19:40 schreef ralfie het volgende:

    ......Ben namelijk een webbased explorer aan het maken ....
    Leuk scriptje, zeker nergens te downloaden ?

    Alleen had ik dan een mac schil genomen
    Chandlerdonderdag 25 mei 2006 @ 12:50
    @Ralfie; ik heb wel een scriptje waarmee je de tree kan opbouwen... onder windows dan...
    the_disheaverdonderdag 25 mei 2006 @ 12:56
    quote:
    Op donderdag 25 mei 2006 12:35 schreef CraZaay het volgende:

    [..]

    Wat degene hierboven zegt, 9*9*9*9*9

    Wil je de combinaties uitgetypt hebben, alle 59049?
    Nope, dat is als je ook getallen 2 keer wilt gebruiken, bv 11111

    Voor unieke getallen, zoals gevraagd is het:

    9*8*7*6*5 = 15120 (na voor de eerste keuze 9 mogelijke getallen te hebben, blijft er voor het 2de getal maar 9-1 over. Enzovoort.

    En als je wilt weten welke getallen het zijn:

    !redelijk intensieve script!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php


    $start = 1;
    $end = 9;
    for ($a = $start; $a <= $end; $a++) {
      for ($b = $start; $b  <= $end; $b++) {
        if ($b != $a) { 
       for ($c = $start; $c  <= $end; $c++) {
         if (($c != $b) && ($c != $a)) {
         for ($d = $start; $d  <= $end ; $d++) {
            if (($d != $a) && ($d != $b) && ($d != $c)) {
               for ($e = $start; $e  <= $end ; $e++) {
               if (($e != $a) && ($e != $b) && ($e != $c) && ($e != $d))  {$array[] = $a .$b .$c .$d .$e;
                         }

     }}}}}}}}

    print "<pre>";
    print_r($array);


    (en daar komt een html bestandje van 300 kb uit)
    the_disheaverdonderdag 25 mei 2006 @ 12:59
    quote:
    Op woensdag 24 mei 2006 19:40 schreef ralfie het volgende:

    [..]

    idd

    zoals gezegd is het niet zo belangrijk, chmodden is toch meer zon feature wat ik zelden wil gaan gebruiiken, maar voor de handigheid er toch in moet hebben. Ben namelijk een webbased explorer aan het maken voor mijn studenten homedisk (host is uni dus ) aangezien dat toch wat makkelijker is als het programma dat ik nu gebruik om mijn zooi te uploaden (ssh secure shell) en ik mijn tijd toch op de een of andere manier moet volmaken Het vordert al aardig, moet alleen nog filedragging fixen (dat het ooit wel deed ) en de built-in editor (PHPad, originele naam) afmaken. En ik moet nog alle icoontjes converteren naar jpg oid omdat ik erachter kwam dat IE geen transpante pngs aankan NADAT ik alle icoontjes al gemaakt had

    Ja, je moet iets te doen hebben
    Doet het niet met opera 9
    CraZaaydonderdag 25 mei 2006 @ 13:05
    quote:
    Op donderdag 25 mei 2006 12:56 schreef the_disheaver het volgende:

    [..]

    Nope, dat is als je ook getallen 2 keer wilt gebruiken, bv 11111

    Voor unieke getallen, zoals gevraagd is het:
    Ik zie 'm nergens zeggen dat ieder cijfer maar 1 keer voor mag komen, dus die berekening klopt prima
    the_disheaverdonderdag 25 mei 2006 @ 13:10
    quote:
    Op donderdag 25 mei 2006 13:05 schreef CraZaay het volgende:

    [..]

    Ik zie 'm nergens zeggen dat ieder cijfer maar 1 keer voor mag komen, dus die berekening klopt prima
    quote:
    Op donderdag 25 mei 2006 11:52 schreef Chandler het volgende:
    Stel je hebt 9 cijfers en steeds zijn er 5 bezet, hoeveel combi's heb je en welke? weet iemand hoe je dit kan berekenen?

    Iemand?

    123456789 zijn de cijfers en steeds heb ik 5 cijfers!.
    Je hebt maar 9 cijfers, en niet de beschikking tot 9x 9 verschillende cijfers.

    Maar mocht dat laatste wel het geval zijn, dan is het idd 95
    ralfiedonderdag 25 mei 2006 @ 14:18
    quote:
    Op donderdag 25 mei 2006 12:47 schreef Darkomen het volgende:

    [..]

    Leuk scriptje, zeker nergens te downloaden ?

    Alleen had ik dan een mac schil genomen
    als het klaar is post ik de source wel ergens, ben niet snel tevreden en ben het elke dag wel aan het uitbreiden met extra functies dus dat duurt nog wel ff
    Chandlerdonderdag 25 mei 2006 @ 15:45
    quote:
    Op donderdag 25 mei 2006 12:56 schreef the_disheaver het volgende:

    [..]

    Nope, dat is als je ook getallen 2 keer wilt gebruiken, bv 11111

    Voor unieke getallen, zoals gevraagd is het:

    9*8*7*6*5 = 15120 (na voor de eerste keuze 9 mogelijke getallen te hebben, blijft er voor het 2de getal maar 9-1 over. Enzovoort.

    En als je wilt weten welke getallen het zijn:

    !redelijk intensieve script!
    [ code verwijderd ]

    (en daar komt een html bestandje van 300 kb uit)
    leuk, maar je kan iedere cijfer maar 1 malig gebruiken dus 22543 is niet mogelijk omdat je dan al 2x een 2 hebt en dat is niet mogelijk..
    Roonaandonderdag 25 mei 2006 @ 16:08
    quote:
    Op donderdag 25 mei 2006 15:45 schreef Chandler het volgende:

    [..]

    leuk, maar je kan iedere cijfer maar 1 malig gebruiken dus 22543 is niet mogelijk omdat je dan al 2x een 2 hebt en dat is niet mogelijk..
    Dan is het 1*2*3*4*5, dus 120 opties, als er 4 getallen vaststaan uit de 9.
    Chandlerdonderdag 25 mei 2006 @ 16:12
    Maar is daar ook een model voor om te bereken.

    Want zoals ik al zei zijn er 9 cijfers (1 2 3 4 5 6 7 8 9) en van deze zijn continue 5 gekozen, nu wil ik zelf een lijstje genereren welke mogelijkheden er allemaal zijn.. zodat ik ze allemaal kan kiezen. alleen zit al een tijdje na te denken over welke combinaties mogelijk zijn... en kan het wel handmatig gaan doen maar wil eens inzien hoe de berekening is.

    maar 3 5 7 8 9 is ook mogelijk dus 5 stuks van 1 t/m 9..

    [ Bericht 15% gewijzigd door Chandler op 25-05-2006 16:17:30 ]
    Roonaandonderdag 25 mei 2006 @ 16:15
    quote:
    Op donderdag 25 mei 2006 16:12 schreef Chandler het volgende:
    Maar is daar ook een model voor om te bereken.

    Want zoals ik al zei zijn er 9 cijfers (1 2 3 4 5 6 7 8 9) en van deze zijn continue 5 gekozen, nu wil ik zelf een lijstje genereren welke mogelijkheden er allemaal zijn.. zodat ik ze allemaal kan kiezen. alleen zit al een tijdje na te denken over welke combinaties mogelijk zijn... en kan het wel handmatig gaan doen maar wil eens inzien hoe de berekening is.
    Niet zo moeilijk doen. Je pakt een string met alle getallen erin die mogelijk zijn. Filtert daar de getallen uit die nog niet gedaan zijn en maakt vervolgens een recursieve functie die alle opties naloopt.
    Chandlerdonderdag 25 mei 2006 @ 16:19
    @Roonaan; je zegt het heel gemakkelijk inderdaad maar zit hier dus al dagen over na te denken hoe ik dit moet gaan bouwen ik snap dat het met een array moet en een string die de mogelijke combinaties kan bevatten... maar ik ga weer ff wat proberen!
    Roonaandonderdag 25 mei 2006 @ 16:35
    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
    <?php

      function permutaties($nums) {
        if(count($nums) == 1) return $nums;

        $return = array();

        foreach($nums as $index => $num) {
          $newnums = array_values($nums);
          unset($newnums[array_search($num, $newnums)]);

          $permutaties = permutaties($newnums);
          array_walk($permutaties, 'prefix', $num);

          $return = array_merge($return, $permutaties);
        }
        return $return;
      }
      
      function prefix(&$elem, $key,  $fix) {
        $elem = $fix.$elem;
      }
      
      echo '<pre>';
      var_export(permutaties(range(1,6)));
      echo '</pre>';
    ?>
    Chandlerdonderdag 25 mei 2006 @ 16:59
    @Roonaan, ik heb zelf ook al wat gebakken.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    <?php

    set_time_limit(30);

    function chkinHolder($holder, $numRow)
    {
        $b = 0;
        for ($x = 0; $x < 5; $x++)
        {
            // lees ieder getal uit
            $i = substr($holder, $x, 1);

            if (!stristr($numRow, $i))
            {
                // als naald niet is gevonden
                $b++;
            }
        }
        
        if ($b > 0)
        {
            // niet all getallen komen in deze holder voor dus return
            return true;
        }
        else
        {
            return false;
        }
    }

    function chk($arr, $numRow)
    {
        $a = 0;
        // check of $arr een array is
        if (is_array($arr))
        {
            // ga iedere 'value' van de array bij langs
            foreach ($arr as $id => $holder)
            {
                // de combinatie van cijfers zijn niet gevonden.
                if (chkinHolder($holder, $numRow) == true)
                {
                    $a++;
                }
            }
        }
        
        // blijkbaar is er niet een combinatie gevonden, dus invoegen maar.
        if ($a == count($arr))
        {
            // geen zelfde gevonden, dus invoegen
            echo count($arr) . " --> " . $numRow . "<br>";
            $arr[] = $numRow;
        }
        
        return $arr;
    }

    function random()
    {
        $holder = "";
        for ($x = 0; $x < 20; $x++)
        {
            $y = rand(1, 9);
            if (!stristr($holder, "$y"))
            {
                $holder .= "$y";
            }
            
            if (strlen($holder) == 5)
            {
                return $holder;
                break;
            }
        }
        
        return $holder;
    }
            
            
    $arr = array();

    for ($x = 0; $x < 999999; $x++)
    {
        $holder = random();

        $arr = chk($arr, $holder);
    }

    echo count($arr);

    ?>


    maar dat werkt neit helemaal... jou idee, is bijna goed, echter heb je dus 9 getallen waar continue 5 getallen in weg gehaald worden. Dus nog een voorbeeld.

    1 2 3 4 5 6 7 8 9 zijn vast staande getallen en steeds doe ik er 5 dat kan zijn 96543 (maar dat getal is dan ook 65439 en 54396 maar ook 69354 en ga zo maar door)..

    Ik hoop dat je het snapt..
    Roonaandonderdag 25 mei 2006 @ 17:01
    Zo ingewikkeld is het toch niet om een array te generen die op basis van 9 getallen plus de 5 die al gebruikt zijn een array van 4 getallen genereerd?
    Vervolgens doe je:
    $permutaties = permutaties($arrayVanVierGetallen);
    array_walk($permutaties, 'prefix', $stringMetVijfGebruikteGetallen);
    var_export($permutaties);
    Chandlerdonderdag 25 mei 2006 @ 17:07
    ja maar dan check je toch of nummertje 54321 al bestaat? maar dat getalletje is het zelfde als 43215 en ook het zelfde als 32154 en ook 24153 en ga zo maar door
    JeRadonderdag 25 mei 2006 @ 17:16
    Chandler, ik snap niets van wat je wilt bereiken er zijn standaard permutatieberekeningen in de wiskunde beschikbaar, maar daarvoor moet je wel precies weten wát je wilt
    Roonaandonderdag 25 mei 2006 @ 17:22
    quote:
    Op donderdag 25 mei 2006 17:07 schreef Chandler het volgende:
    ja maar dan check je toch of nummertje 54321 al bestaat? maar dat getalletje is het zelfde als 43215 en ook het zelfde als 32154 en ook 24153 en ga zo maar door
    ?????

    Dan is er toch in totaal maar één permutatie mogelijk: 123456789 ??

    Het gaat er toch om dat je een reeks van 9 getallen moet maken, waarvan de eerste 5 vast staan?

    Stel je hebt 23546 als eerste vijf. Dan heb je nog 4 getallen over om permutaties mee te maken 1789.

    Jouw mogelijke opties zijn dan
    23456-1789
    23456-1798
    23456-1879
    ..
    23456-9871

    -r-
    Darkomendonderdag 25 mei 2006 @ 17:45
    quote:
    Op donderdag 25 mei 2006 14:18 schreef ralfie het volgende:

    [..]

    als het klaar is post ik de source wel ergens, ben niet snel tevreden en ben het elke dag wel aan het uitbreiden met extra functies dus dat duurt nog wel ff
    Ik hou het in de gaten
    Chandlerdonderdag 25 mei 2006 @ 17:59
    Ik zal het nogmaals anders uitleggen.

    Om een code te kraken heb je 9 boxjes die alle voorzien zijn van een cijfer... 1 t/m 9. De code bestaat uit een 5 tal cijfers.. die je moet invoeren... dus je kunt alleen cijfers 1 t/m 9 invullen en iedere cijfer mag je 1 maal gebruiken dus bij iedere poging blijven 4 boxen onbenut...

    Dus stel de code is 56789 dan klopt 98765 ook en 87659 ook en ga zo maar door... want die combnaties bevatten de zelfde cijfer reeks.

    Je moet het zien als
    1
    2
    [1] [2] [3] [4] [5] [6] [7] [8] [9]
    [_] [_] [_] [_] [_] [_] [_] [_] [_]


    hoe vaak kun je dus de [_] (vakjes) invullen door 5 cijfers zodat alle combinaties geprobeerd zijn.

    Voor de code 56789 (maar ook 98765, 57986 etc) zie je dus dit

    1
    2
    [1] [2] [3] [4] [5] [6] [7] [8] [9]
    [_] [_] [_] [_] [x] [x] [x] [x] [x]


    en deze code is dus gelijk aan alle mogelijk heden met de cijfers 5 t/m 9..

    Ik hoop dat ik het nu duidelijker heb gemaakt, gvd wat is het toch moeilijk om dingen verstaanbaar te maken
    Roonaandonderdag 25 mei 2006 @ 18:01
    9x8x7x6x5 dan dus.

    -r-
    JeRadonderdag 25 mei 2006 @ 18:10
    quote:
    Op donderdag 25 mei 2006 18:01 schreef Roönaän het volgende:
    9x8x7x6x5 dan dus.
    Inderdaad. Even uitgelegd; je begint met 9 opties waarvan je er één kunt kiezen. Vervolgens heb je er nog maar 8 over, daarna 7, etc. totdat je vijf opties hebt gekozen. Dit is ongeacht welke getallen je kiest (na één hokje aangevinkt te hebben zijn er nog altijd 8 andere over) en is van toepassing op alle getallen die jij noemt - dit omdat het een vertaling is van hokjes --> getallen, en niet van getallen --> hokjes. Er zijn dus geen rare checks nodig om te controleren of een getal al eerder voorkwam oid.
    Roonaandonderdag 25 mei 2006 @ 18:15
    Het script is dan:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
      for($a = 1   ; $a <= 5; $a++)
      for($b = $a+1; $b <= 6; $b++)
      for($c = $b+1; $c <= 7; $c++)
      for($d = $c+1; $d <= 8; $d++)
      for($e = $d+1; $e <= 9; $e++)
        echo "<div>$a$b$c$d$e</div>";
    ?>
    Chandlerdonderdag 25 mei 2006 @ 20:23
    @Jera; niet geheel correct; want bij iedere check heb je 5 getallen die wel ingevuld worden en vier die niet ingevuld worden... daarom is't ook zo pittig
    Roonaandonderdag 25 mei 2006 @ 20:57
    quote:
    Op donderdag 25 mei 2006 20:23 schreef Chandler het volgende:
    @Jera; niet geheel correct; want bij iedere check heb je 5 getallen die wel ingevuld worden en vier die niet ingevuld worden... daarom is't ook zo pittig
    Jera's verhaal is 100% conform jouw schets.

    In principe gooi je 5 darts op een scherm van 9 hokjes. Elke dart in zijn eigen hokje.

    De eerste keer kan je 9 hokjes raken.
    De tweede dart nog maar 8 (er is er immers een bezet).

    Kom op chandler, dit is basics statistiek middelbare school.
    Da_Koendonderdag 25 mei 2006 @ 22:10
    In mysql 5 kun je MONTH(datum) doen, dan krijg je de maand uit een date veld. De hoster daaid echt mysql v 3.2 waar MONTH() niet in zit

    Weet iemand een soortgelijke functie voor mysql 3?
    Swetseneggerdonderdag 25 mei 2006 @ 22:12
    DAY

    -edit- hmz verkeerd gelezen. Dacht dat je 'm als interval wilde gebruiken
    Da_Koendonderdag 25 mei 2006 @ 22:20
    Ik heb dus een date veld met bijv. 2006-05-17 erin. Hoe krijg ik dan de maand/dag er uit?
    Swetseneggerdonderdag 25 mei 2006 @ 22:34
    quote:
    Op donderdag 25 mei 2006 22:20 schreef Da_Koen het volgende:
    Ik heb dus een date veld met bijv. 2006-05-17 erin. Hoe krijg ik dan de maand/dag er uit?
    DATE_FORMAT(veldnaam,'%d-%m-%Y') AS dutch_date

    kan dus als 05 of als Mei eruit komen rollen, afhankelijk van de opties die je kiest. http://dev.mysql.com/doc/(...)-time-functions.html voor meer info
    Da_Koendonderdag 25 mei 2006 @ 22:40
    thx!
    the_disheaverdonderdag 25 mei 2006 @ 23:12
    quote:
    Op donderdag 25 mei 2006 15:45 schreef Chandler het volgende:

    [..]

    leuk, maar je kan iedere cijfer maar 1 malig gebruiken dus 22543 is niet mogelijk omdat je dan al 2x een 2 hebt en dat is niet mogelijk..
    Huh? komt 22543 dan uit mijn script?

    edit: laat maar

    Als je nog niet hebt wat je moet hebben leg het eens duidelijk uit. Wat je zegt inmiddels 2 dingen....
    Black-Holevrijdag 26 mei 2006 @ 10:38
    Vraagje,

    Ik werk momenteel voor mijn eigen site met meerdere MySQL 4 databases. Deze staan allemaal op dezelfde server gehost. Nu kan ik bij het aanmaken van een gebruiker niet 2x dezelfde username aanmaken voor de verschillende databases.

    Om het nog iets duidelijker te maken: alle databases hebben verschillende namem maar ik zou voor elke database dezelfde username en password willen gebruiken. Als ik dit doe in het controlpanel van mijn webhost dan krijg ik de melding dat de aangemaakte username ongeldig is.

    Klopt dit en kan dit ook echt niet of ligt dit aan mijn hosting?
    SuperRembovrijdag 26 mei 2006 @ 11:03
    @Black-Hole:
    Je kunt 1 user toch toegang geven tot meerdere databases?
    Black-Holevrijdag 26 mei 2006 @ 11:08
    quote:
    Op vrijdag 26 mei 2006 11:03 schreef SuperRembo het volgende:
    @Black-Hole:
    Je kunt 1 user toch toegang geven tot meerdere databases?
    Hoe? Via phpmyadmin? Via mijn configpanel van mijn webhost kan het niet. Daar moet ik voor elke aangemaakte database een nieuwe user toevoegen.
    CraZaayvrijdag 26 mei 2006 @ 12:30
    Het kan met MySQL in ieder geval wel. Je kunt meerdere users toegang geven tot 1 database, en 1 user tot meerdere databases. Vraag het anders eens aan je host?
    ExCibularvrijdag 26 mei 2006 @ 21:28
    Ik zit met het volgende probleem, ik wil mijn menu kwijt in een multidimensionale array. Dat gaat allemaal goed en het menu komt er netjes uit (met een dubbele foreach). Maar nu wil ik de mogelijkheid hebben om een van de arrays in de array afzonderlijk eruit te halen. Dus bijvoorbeeld alleen de onderdelen in het menu contact.
    DionysuZvrijdag 26 mei 2006 @ 21:30
    $submenu = $menu['contact'];
    wobbelvrijdag 26 mei 2006 @ 21:49
    hoe kan ik met php een bestand downloaden via http vanaf andere server, en deze in /home/wobbel/geheimemap/viezefilmpjes/dikke_tieten_porno plaatsen?

    Btw, een bestand van 150 MB @ 30 Kbyte/s ff timeout uit zetten
    ExCibularzaterdag 27 mei 2006 @ 08:30
    quote:
    Op vrijdag 26 mei 2006 21:30 schreef DionysuZ het volgende:
    $submenu = $menu['contact'];
    Dank je wel dat hielp me enigzins op weg. Toch lukt het me niet om hem af te maken. Ik heb even snel een versimpelde versie in elkaar gedraaid en dat ziet er zo uit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
       $artikel1 = "fruit";
       $artikel2 = "groente";
       $menu = array('fruit' => array ('x','y','z'), 'groente' => array('a','b','c'));
       $submenu[] = $menu[$artikel2];
    foreach( $submenu as $submenutitle=>$submenuitems)
    {
      echo '  <li><b>'.$submenutitle."</b>.<br />\n";
      echo "  <em>items</em>: </li>\n";
      echo "  <ul>\n";
      foreach( $submenuitems as $submenuitem )
      {
        echo '    <li>'.$submenuitem.".</li>\n";
      }
      echo "  </ul>\n";
    echo "</ol>\n";
    }
    ?>

    Alleen als ik dit uitvoer krijg ik een 0 te zien waar groente zou moeten staan. Waarom neemt hij het submenutitle niet over?
    Lightzaterdag 27 mei 2006 @ 08:58
    Met $submenu[] = $menu[$artikel2]; maak je een nieuw item in $submenu aan. Als $submenu nog geen array was dan wordt het een leeg array, en de elemenenten worden bij deze constructie altijd numeriek gekozen. $menu[$artikel2] bevat alleen de waarde die hoort bij de key $artikel2, maar niet de key zelf.
    Da_Koenzaterdag 27 mei 2006 @ 12:09
    Kan iemand me vertellen welke (gratis) class ik het beste kan gebruiken om PDF bestanden te genereren?
    De class moet het volgende kunnen: horizontale lijnen, foto's toevoegen, text en een tabel maken.

    Ik ben hier absoluut niet in thuis en heb al duizenden dingen gevonden met google maar geen idee welke nu het beste makkelijkste is. Ik heb overigens geen toegang tot de confic van php/apache server.
    mooyazaterdag 27 mei 2006 @ 20:41
    @Da_KOEN,
    Ik gebruik daarvoor FPDF.
    Weet zo niet of het de beste is, maar ik kan er iig mee uit de voeten


    Zelf heb ik nog een vraagje:
    Ik heb een onderdeel met wallpapers op mijn site.
    De wallpapers zijn in een map opgeslagen als TIMESTAMP.jpg. Waarbij timestamp de timestamp van het uploaden is.
    In MySQL staat de info over de afbeelding

    Als ik nu een afbeelding wil opslaan pakt hij ook deze naam. Dus das niet zo mooi
    Nou heb ik een wallpaper.php bestand gemaakt die het plaatje opnieuw maakt vanuit GDLib, en goed weergeeft.

    1
    2
    3
    4
    5
    6
    7
    <?php
    $image         
    = imagecreatefromjpeg("wallpapers/".$file_name);  
    header('content-type: $image_type');
    header("Content-disposition: attachment; filename=$save_name");
    imagejpeg($image);  
    imagedestroy($image);  
    ?>


    Dit werkt perfect, en het opslaan gaat ook goed, met de naam die ik opgegeven heb.
    Maar een afbeelding die eerst 300KB is, is nu 150KB.
    Is er een andere manier om te zorgen dat je de afbeelding download met een opgegeven naam? of dat de afbeelding dezelfde grootte blijft?
    wobbelzaterdag 27 mei 2006 @ 20:45
    @mooya....moet je niet imagecreatetruecolor doen ofzo ergens?

    en doe eens: imagejpeg($image, "", 100);
    JeRazaterdag 27 mei 2006 @ 20:48
    @mooya

    De manier die je nu gebruikt is een beetje raar, je leest de JPEG in, maakt er ruwe pixeldata van en slaat het als een nieuwe JPEG op. Wat is er mis met:

    1
    2
    3
    4
    <?php
    //headers
    readfile('wallpapers/' . $file_name);
    ?>


    Overigens kun je het beste ook nog de header Content-Length opgeven (grootte van de download in bytes).
    mooyazaterdag 27 mei 2006 @ 20:59
    TNX, JeRa!
    Nu gaat het helemaal goed..
    Swetseneggermaandag 29 mei 2006 @ 17:15
    Is er iemand die ervaring heeft met de (PHP) opleidingen van Eduvision?
    Ik heb namelijk interesse in de Masterclass php cursus. Zoals ik het zie sluit dit goed aan bij mijn huidige kennis en levert het misschien net voldoende op om de OOP sprong te maken. Ik kan ook de UML cursus doen misschien.

    Maar ik ben dus op zoek naar ervaringen. Met eduvision in het algemeen en deze cursussen in het bijzonder.
    fokME2maandag 29 mei 2006 @ 22:37
    Ik ben ook op zoek naar een cursus/opleiding iets. Het liefst een opleiding die je uit huis kan doen (ivm mijn afgelegen woonplaats). Zend is natuurlijk helemaal top, maar hoe zit het met de mogelijkheden? Certificatie via andere instanties, etc.
    kreedinsdag 30 mei 2006 @ 00:17
    Even een stukje van mijn php code.
    De bedoeling is dat er één record wordt opgehaald en die moet ge-echo'd worden
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $host = 'localhost';
        $user = '**';
        $pass = '**';
        $db = 'tmostats1';

        //make connection and select database
        mysql_connect("$host", "$user", "$pass");
        mysql_select_db("$db");
        
        $SQL = "
                    SELECT rank
                    FROM tmos_players 
                    WHERE '[adm][fok!]kree/10.0.0.11:2350'
                ";
                

        $result = mysql_query($SQL)          or die("Error: " . mysql_error());

            $tmosrank = mysql_fetch_object($result);
            echo $tmosrank;

    Nu geeft die geen output.
    Ik heb de mysql query gechecked in mysql query browser en daar geeft hij keurig een resultaat.
    wtf doe ik verkeerd
    JeRadinsdag 30 mei 2006 @ 00:19
    Je WHERE-clausule ziet er vreemd uit, moet dat niet
    1WHERE iets = '[adm]...'

    zijn? En je doet echo $tmosrank (mysql_fetch_object(...)), je kunt een object niet zomaar echoën.
    kreedinsdag 30 mei 2006 @ 00:20
    quote:
    Op dinsdag 30 mei 2006 00:19 schreef JeRa het volgende:
    Je WHERE-clausule ziet er vreemd uit, moet dat niet
    [ code verwijderd ]

    zijn? En je doet echo mysql_fetch_object(...), je kunt een object niet zomaar echoën.
    ja sorry was een foutje ik heb het hierboven nu precies staan zoals ik denk dat het moet zijn.
    Wat bedoel je precies met WHERE?
    JeRadinsdag 30 mei 2006 @ 00:20
    quote:
    Op dinsdag 30 mei 2006 00:20 schreef kree het volgende:

    [..]

    ja sorry was een foutje ik heb het hierboven nu precies staan zoals ik denk dat het moet zijn.
    Wat bedoel je precies met WHERE?
    Je doet nu WHERE 'string'....maar meestal wil je een volledige conditie opgeven, zoals WHERE `naam` = 'piet'
    kreedinsdag 30 mei 2006 @ 00:21
    quote:
    Op dinsdag 30 mei 2006 00:20 schreef JeRa het volgende:

    [..]

    Je doet nu WHERE 'string'....maar meestal wil je een conditie opgeven, zoals WHERE `naam` = 'piet'
    aha op zo'n manier ik ga het even testen.
    (wel vaag trouwens dat ie via "mysql query browser" gewoon reslutaat geeft. maarja mischien heeft het wat met php te maken ofzo
    kreedinsdag 30 mei 2006 @ 00:24
    Ok heb het nu zo:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
        $host = 'localhost';
        $user = '**';
        $pass = '**';
        $db = 'tmostats1';

        //make connection and select database
        mysql_connect("$host", "$user", "$pass");
        mysql_select_db("$db");
        
        $SQL = "
                    SELECT rank
                    FROM tmos_players 
                    WHERE account = '[adm][fok!]kree/10.0.0.11:2350'
                ";
                

        $result = mysql_query($SQL)          
                    or die("Error: " . mysql_error());

        mysql_fetch_object($result);
        echo $tmosrank;

    Nog steeds geen output. in de query browser geeft ie nog wel het correcte record.
    DionysuZdinsdag 30 mei 2006 @ 00:29
    $tmosrank zie ik nergens een waarde krijgen?
    DionysuZdinsdag 30 mei 2006 @ 00:30
    en een object kun je idd niet zomaar echoen
    kreedinsdag 30 mei 2006 @ 00:30
    quote:
    Op dinsdag 30 mei 2006 00:29 schreef DionysuZ het volgende:
    $tmosrank zie ik nergens een waarde krijgen?
    Haha oeps.
    Laatste stukje is nu zo.
    1
    2
    3
    4
    5
        $result = mysql_query($SQL)          
                    or die("mysql_query Error: " . mysql_error());

        $tmosrank = mysql_fetch_object($result);
        echo $tmosrank;

    Maar nu geeft ie als output "0bject id #1" terwijl het 227 oid moet zijn.
    kreedinsdag 30 mei 2006 @ 00:31
    quote:
    Op dinsdag 30 mei 2006 00:30 schreef DionysuZ het volgende:
    en een object kun je idd niet zomaar echoen
    Maar hoe kan ik die waarde geven, met mysql_fetch_array?
    DionysuZdinsdag 30 mei 2006 @ 00:32
    of echo $tmosrank->rank
    JeRadinsdag 30 mei 2006 @ 00:32
    quote:
    Op dinsdag 30 mei 2006 00:31 schreef kree het volgende:

    [..]

    Maar hoe kan ik die waarde geven, met mysql_fetch_array?
    echo $tmosrank->rank; should do it

    edit: spuit veul
    kreedinsdag 30 mei 2006 @ 00:33
    oke dan $tmosrank->rank werkt.
    Bedankt voor de hulp zover, mischien kom ik weer even langs als ik tegen verdere problemen aanloop
    DionysuZdinsdag 30 mei 2006 @ 00:34
    quote:
    Op dinsdag 30 mei 2006 00:32 schreef JeRa het volgende:

    edit: spuit veul
    gmta
    Da_Koendinsdag 30 mei 2006 @ 13:23
    Ik heb een array maar sommige waardes zijn "", is er een functie die de array doorzoek op een bepaalde waarde( "" bij dit voorbeeld) en dan die waarde kan vervangen(door een andere string)? Of zal ik deze functie zelf moeten "schrijven"?
    JeRadinsdag 30 mei 2006 @ 13:48
    @Da_Koen:

    Je zou zoiets met array_map() kunnen doen, maar natuurlijk ook zo:

    1
    2
    3
    4
    5
    foreach ($mijnArray as $key => $value) {
        if ($value == '') {
            $mijnArray[$key] = 'vervanging';
        }
    }


    DionysuZdinsdag 30 mei 2006 @ 19:01
    even een klein vraagje. ik heb een string opgeslagen in een database met mysql_real_escape_string, als ik deze string nu weer eruit haal met een simpele SELECT, moet ik dan nog een functie erop toepassen om bepaalde speciale codes eruit te filteren of krijg ik dan gewoon de oude string eruit?
    fokME2dinsdag 30 mei 2006 @ 23:16
    @DionysuZ:

    Zover ik weet gewoon je oude. Misschien nog stripslashes();, maar het lijkt me sterk
    Lightwoensdag 31 mei 2006 @ 00:01
    quote:
    Op dinsdag 30 mei 2006 19:01 schreef DionysuZ het volgende:
    even een klein vraagje. ik heb een string opgeslagen in een database met mysql_real_escape_string, als ik deze string nu weer eruit haal met een simpele SELECT, moet ik dan nog een functie erop toepassen om bepaalde speciale codes eruit te filteren of krijg ik dan gewoon de oude string eruit?
    Je krijgt gewoon de oude originele string terug. Met mysql_real_escape_string zorg je er alleen voor dat mysql niet moeilijk gaat doen als er quotjes enzo in de string staan.
    fokME2woensdag 31 mei 2006 @ 00:25
    quote:
    Op maandag 29 mei 2006 17:15 schreef Swetsenegger het volgende:
    Is er iemand die ervaring heeft met de (PHP) opleidingen van Eduvision?
    Ik heb namelijk interesse in de Masterclass php cursus. Zoals ik het zie sluit dit goed aan bij mijn huidige kennis en levert het misschien net voldoende op om de OOP sprong te maken. Ik kan ook de UML cursus doen misschien.

    Maar ik ben dus op zoek naar ervaringen. Met eduvision in het algemeen en deze cursussen in het bijzonder.
    quote:
    Op maandag 29 mei 2006 22:37 schreef fokME2 het volgende:
    Ik ben ook op zoek naar een cursus/opleiding iets. Het liefst een opleiding die je uit huis kan doen (ivm mijn afgelegen woonplaats). Zend is natuurlijk helemaal top, maar hoe zit het met de mogelijkheden? Certificatie via andere instanties, etc.
    Swetseneggerwoensdag 31 mei 2006 @ 08:59
    quote:
    Op woensdag 31 mei 2006 00:01 schreef Light het volgende:

    [..]

    Je krijgt gewoon de oude originele string terug. Met mysql_real_escape_string zorg je er alleen voor dat mysql niet moeilijk gaat doen als er quotjes enzo in de string staan.
    En daarom veel prettiger dan add_slashes.
    Lightwoensdag 31 mei 2006 @ 09:07
    quote:
    Op woensdag 31 mei 2006 08:59 schreef Swetsenegger het volgende:

    [..]

    En daarom veel prettiger dan add_slashes.
    Nee, addslashes, dan database in, en de string die je uit de database trekt is weer dezelfde als die je voor je addslashes had. Alleen pakt mysql_real_escape_string nog een paar meer tekens aan. Met de volgende code wordt het verschil duidelijk.

    1
    2
    3
    4
    5
    6
    <?php
    $s
    = "hoi\n allemaal";
    echo
    addslashes($s);
    echo
    "<br/>";
    echo
    mysql_real_escape_string($s);
    ?>
    Neverminddonderdag 1 juni 2006 @ 16:54
    Kun je met php-gtk nou ook standalone executables maken? Of blijven het altijd .php-bestanden?
    ExCibulardonderdag 1 juni 2006 @ 17:59
    Nu ik goed mijn menu uit de array kan halen is het tijd voor het volgende probleem, mijn menu uit de database halen en in de multidimensionale array zetten.

    Ik weet alleen niet echt waar ik moet beginnen. Ik zit met de volgende situatie, ik heb 2 tabellen. De tabel tekst en de tabel menu. In de tabel tekst staan diverse gegevens (titel, tekst, menu metatags etc.) in de tabel menu staan 2 dingen (menu & taal).

    Ik wil niet dat alle titels in mijn menu worden geladen, colofon ed moeten namelijk niet in het menu komen. Volgens mij kan ik dus 2 dingen doen,
    1) de verschillende menuitems uit de database halen en vervolgens de submenuitems laden uit de tabel tekst en die onder de menuitems neerzetten waar ze bij horen.
    2)alle submenuitems laden en alleen die gene laten zien waarvan het menu ook voorkomt in de tabel menu.

    Mijn voorkeur gaat uit naar optie 1 (nog mooier zou zijn als je zoiets zou kunnen doen met 1 query), maar ik weet niet precies hoe dat zou moeten heeft iemand tips?
    TheUnrealdonderdag 1 juni 2006 @ 18:05
    Ik wil nu dus iets heel simpels maar krijg het ff niet voor elkaar

    Ik wil de INHOUD van een pagina in een variabel krijgen

    nu dacht ik dat zo te doen:
    1$foo = include 'link/naar/bestand.php';


    maar als ik dan later
    1echo $foo;


    doe dan krijg ik dus een true omdat de file die geinclude is (hij word ook geincluded, maar op de verkeerde plek) bestaat. Maar ik wil de inhoud in de variabel $foo hebben.

    Ik weet dat het simpel is maar kan er even niet opkomen
    Neverminddonderdag 1 juni 2006 @ 18:08
    quote:
    Op donderdag 1 juni 2006 18:05 schreef TheUnreal het volgende:
    Ik wil nu dus iets heel simpels maar krijg het ff niet voor elkaar

    Ik wil de INHOUD van een pagina in een variabel krijgen

    nu dacht ik dat zo te doen:
    [ code verwijderd ]

    maar als ik dan later
    [ code verwijderd ]

    doe dan krijg ik dus een true omdat de file die geinclude is (hij word ook geincluded, maar op de verkeerde plek) bestaat. Maar ik wil alleen de gegevens in de variabel $foo hebben.

    Ik weet dat het simpel is maar kan er even niet opkomen
    1$foo = file_get_contents( 'blaat.php' );


    -edit-
    O wacht, hij moet wel geparsed worden? Dan misschien met output buffering
    TheUnrealdonderdag 1 juni 2006 @ 18:10
    quote:
    Op donderdag 1 juni 2006 18:08 schreef Nevermind het volgende:

    [..]
    [ code verwijderd ]

    -edit-
    O wacht, hij moet wel geparsed worden?
    Is goed zo

    Hij moet geparsed worden ja

    [ Bericht 14% gewijzigd door TheUnreal op 01-06-2006 18:21:42 ]
    ExCibulardonderdag 1 juni 2006 @ 18:40
    Volgens mij moet dit de truc zijn daarvoor:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    ob_start();        //start output buffering
    include ("betsand.php");    //all output goes to buffer
    $foo = ob_get_contents();  //assign buffer to a variable
    ob_end_clean();        //clear buffer and turn off output buffering

    print $foo;

    ?>

    Je hoeft $foo natuurlijk niet te printen je kan er ook wat anders mee doen
    bron
    Nevermindvrijdag 2 juni 2006 @ 12:18
    quote:
    Op donderdag 1 juni 2006 16:54 schreef Nevermind het volgende:
    Kun je met php-gtk nou ook standalone executables maken? Of blijven het altijd .php-bestanden?
    En het antwoord is: Met extra programma's erbij zou dat kunnen. Met de Roadsend Compiler bijvoorbeeld. Helaas snap ik er geen ene flikker van, en krijg ik non-stop foutmeldingen naar mijn hoofd geslingerd waar ik niks van begrijp en zal ik niet binnen afzienbare tijd mijn programma's schrijven in php-gtk.
    Nevermindzaterdag 3 juni 2006 @ 18:40
    Ik heb een functie om een parent-child tree te maken:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
       function Tree( $parent_id = 0 )
       {
          $query = "select n.node_id, n.node_pid, p.post_title
                  from xni_nodes n, xni_posts p
                  where node_pid= $parent_id
                  AND n.node_id = p.post_nid";
                  
          $q = mysql_query($query) or die( mysql_error() );
          $return = array();
          while( $results = mysql_fetch_assoc( $q ) )
          {
             $item = array();
             $item['id'] = $results['node_id'];
             $item['name'] = $results['post_title'];
             $item['children'] = Tree( $item['id'] );
             $return[] = $item;
          }
          return $return;
       }

       function PrintTree( $arr, $level = 0 )
       {
          foreach( $arr AS $var => $val )
          {
             echo str_repeat( '--', $level ).' '.$val['id'].': '.$val['name']."<br>";
             if( is_array( $val['children'] ) && !empty( $val['children'] ) )
                PrintTree( $val['children'], $level + 1 );
          }
       
       }
          
       PrintTree( Tree( 0 ) );


    Maar, 300x een mysql_query doen is natuurlijk niet zo goed voor de performance. Als ik nou eerst alle waarden uit de database haal en in een array stop, hoe moet ik die eerste functie dan aanpassen? Ik heb er erg veel moeite mee om niet omslachtig met arrays te werken. Het is jammer dat je niet een soort queries kan uitvoeren met arrays, dat zou het veel makkelijker maken. Ik breek mijn hoofd over alle moeilijke mogelijkheden
    SuperRembozaterdag 3 juni 2006 @ 18:50
    Als je alleen de parent-child relatie vastlegt in je database, dan kan je nooit in 1 query bepalen welke nodes er allemaal bij een bepaalde parent in een tree horen. Tenzij je van te voren vast legt hoe diep de tree maximaal gaat, maar fraai wordt je query dan niet.
    Swetseneggerzaterdag 3 juni 2006 @ 18:52
    quote:
    Op zaterdag 3 juni 2006 18:40 schreef Nevermind het volgende:
    Ik heb een functie om een parent-child tree te maken:
    [ code verwijderd ]

    Maar, 300x een mysql_query doen is natuurlijk niet zo goed voor de performance. Als ik nou eerst alle waarden uit de database haal en in een array stop, hoe moet ik die eerste functie dan aanpassen? Ik heb er erg veel moeite mee om niet omslachtig met arrays te werken. Het is jammer dat je niet een soort queries kan uitvoeren met arrays, dat zou het veel makkelijker maken. Ik breek mijn hoofd over alle moeilijke mogelijkheden
    misschien moet je eens hier naar kijken.
    Ik gebruik het zelf om hierarchische menu's te maken.