FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - deel 60
Chandlerzondag 8 juni 2008 @ 11:22

cd niet bijgeleverd

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

Vorige delen:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59

tevens T.V.P
Zie ook:
  • PHP Dataverwerking
  • Offici�le PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet
  • PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • qu63zondag 8 juni 2008 @ 11:26
    quote:
    Op zondag 8 juni 2008 11:13 schreef Darkomen het volgende:

    [..]

    png werkt bout in IE6.
    Toch alleen dat transparant niet altijd transparant is?

    Volgens de code moet er gewoon een random header komen..
    #ANONIEMzondag 8 juni 2008 @ 11:37
    tvp
    Xcaliburzondag 8 juni 2008 @ 11:56
    quote:
    Op zondag 8 juni 2008 11:26 schreef qu63 het volgende:
    Toch alleen dat transparant niet altijd transparant is?
    Correct, dat wordt een grijs vlak.
    Maar dat is op zich ook weer eenvoudig op te lossen met een stukje javascript... of gewoon met een GIF, dat werkt in 90% van de gevallen net zo goed
    urselzondag 8 juni 2008 @ 12:25
    quote:
    Op zondag 8 juni 2008 11:37 schreef Scorpie het volgende:
    tvp
    Liffie..
    Lightzondag 8 juni 2008 @ 12:39
    quote:
    Op zondag 8 juni 2008 11:56 schreef Xcalibur het volgende:

    [..]

    Correct, dat wordt een grijs vlak.
    Maar dat is op zich ook weer eenvoudig op te lossen met een stukje javascript... of gewoon met een GIF, dat werkt in 90% van de gevallen net zo goed
    Niet als je leuke vormen wilt gebruiken. Ik had laatst een probleem met een ovaal die er in transparant GIF niet mooi uit kwam te zien. In transparant PNG(-24) zijn de randen wel strak.

    Edit: even een voorbeeld gemaakt:
    http://www.arjanonline.net/fok/

    [ Bericht 8% gewijzigd door Light op 08-06-2008 13:09:15 ]
    Likkende_Lassiezondag 8 juni 2008 @ 12:52
    quote:
    Op zaterdag 7 juni 2008 21:15 schreef Roönaän het volgende:
    Werkt dit niet?

    SELECT orders.id FROM shop_order orders LEFT JOIN shop_order_shipments ship ON orders.id = ship.id WHERE ship.id IS NULL

    of

    SELECT orders.id FROM shop_order orders LEFT JOIN shop_order_shipments ship ON orders.id = ship.id HAVING COUNT(ship.id) = 0
    Je 1e optie heb ik getest, en die werkt ook

    SELECT orders.id, UID FROM shop_orders_orders orders LEFT JOIN shop_orders_shipments ship ON orders.id = ship.orderID WHERE ship.orderID IS NULL

    Maarja wat is logischer en of sneller? Zelf denk ik die left join.

    (andere query):
    SELECT * FROM shop_orders_orders WHERE id NOT IN (SELECT orderID FROM shop_orders_shipments)


    Bedankt voor alle snelle reacties iig!


    [nog ff mn laatste post van t vorige topic]
    Dzyzondag 8 juni 2008 @ 14:31
    Ola señors,

    ik heb sindskort een N95 8gb (ik ben weer verliefd ) met internetten. Nu dacht ik ik ga een toffe webserver thuis draaien zodat ik heel mooi allemaal dingetjes kan doen met mn n95 maar ik heb nog wat ideeën nodig. Wat is nou tof om met je mobiel te kunnen doen thuis, dingen als je muziek aan of uitzetten enzo, CD-schijf open maken via je eigen website en natuurlijk een zooi persoonlijke info die ik kan checken met mn mobiel. Hebben jullie nog toffe ideeën?

    Dzienkuje,
    Dzy
    Farenjizondag 8 juni 2008 @ 15:05
    quote:
    Op zondag 8 juni 2008 14:31 schreef Dzy het volgende:
    Ola señors,

    ik heb sindskort een N95 8gb (ik ben weer verliefd ) met internetten. Nu dacht ik ik ga een toffe webserver thuis draaien zodat ik heel mooi allemaal dingetjes kan doen met mn n95 maar ik heb nog wat ideeën nodig. Wat is nou tof om met je mobiel te kunnen doen thuis, dingen als je muziek aan of uitzetten enzo, CD-schijf open maken via je eigen website en natuurlijk een zooi persoonlijke info die ik kan checken met mn mobiel. Hebben jullie nog toffe ideeën?

    Dzienkuje,
    Dzy
    Ik zou dat soort dingen niet via het internet doen. of wil je echt elke keer inloggen en naar je server toesurfen alleen om je muziek aan te zetten? Doe dat gewoon via bluetooth, er zijn zat applicaties daarvoor beschikbaar voor op je foon en voor windows of linux.
    Dzyzondag 8 juni 2008 @ 15:54
    Mja dat was dan ook niet het beste voorbeeld, ik bedoel ook dingen als een mooie webbased FTP client maken dat ik gewoon muziek van mn pc kan downloaden, mooie agenda op mn webserver dat soort leuke dingen die en m'n telefoon nuttiger/toffer maken en m'n pc. En natuurlijk de fun van het programmeren ervan.
    Xcaliburzondag 8 juni 2008 @ 18:47
    quote:
    Op zondag 8 juni 2008 12:39 schreef Light het volgende:
    Niet als je leuke vormen wilt gebruiken. Ik had laatst een probleem met een ovaal die er in transparant GIF niet mooi uit kwam te zien. In transparant PNG(-24) zijn de randen wel strak.
    de vorm is niet het probleem, maar de achtergrond.
    Voor je voorbeeld (op egale achtergrond) kan prima een GIF gebruikt worden, moet je wel aliasing gebruiken natuurlijk

    Als de achtergrond onregelmatig van kleur is kom je er niet met 1 aliaskleur, en kun je beter PNG gebruiken.
    Lightzondag 8 juni 2008 @ 19:19
    quote:
    Op zondag 8 juni 2008 18:47 schreef Xcalibur het volgende:

    [..]

    de vorm is niet het probleem, maar de achtergrond.
    Voor je voorbeeld (op egale achtergrond) kan prima een GIF gebruikt worden, moet je wel aliasing gebruiken natuurlijk

    Als de achtergrond onregelmatig van kleur is kom je er niet met 1 aliaskleur, en kun je beter PNG gebruiken.
    True. Maar de website waar die plaatjes in komen heeft een onregelmatige achtergrond. En sommige pagina's hebben een compleet afwijkende achtergrondkleur. Aliasing naar blauw gaat niet werken als de pagina zelf geel is
    WalkingDisasterzondag 8 juni 2008 @ 20:13
    Vraagje,

    Ik ben een klantbeheer systeem aan het schrijven, maar ik loop ergens op vast.

    Ik heb het nu zo voor elkaar dat als je op een bedrijfsnaam klikt, je verwezen wordt naar een andere pagina. Die pagina haalt via $_GET het bedrijfs id uit het adres.

    Maar nu wil ik graag dat er velden (die dus aanpasbaar zijn) aangemaakt worden met de gegevens van de betreffende klant erin (uit database gehaald)

    uh, hoe?

    Dank!
    spaceninjapiratezondag 8 juni 2008 @ 20:37
    quote:
    Op zondag 8 juni 2008 20:13 schreef WalkingDisaster het volgende:
    Vraagje,

    Ik ben een klantbeheer systeem aan het schrijven, maar ik loop ergens op vast.

    Ik heb het nu zo voor elkaar dat als je op een bedrijfsnaam klikt, je verwezen wordt naar een andere pagina. Die pagina haalt via $_GET het bedrijfs id uit het adres.

    Maar nu wil ik graag dat er velden (die dus aanpasbaar zijn) aangemaakt worden met de gegevens van de betreffende klant erin (uit database gehaald)

    uh, hoe?

    Dank!
    met een mysql select query die er ongeveer zo uit ziet:

    SELECT * FROM klanten WHERE klantId = 'getwaarde'

    Of bedoel je iets anders?
    WalkingDisasterzondag 8 juni 2008 @ 21:19
    heb hem al gevonden.

    Moet met <textarea>
    SuperRembozondag 8 juni 2008 @ 21:29
    quote:
    Op zondag 8 juni 2008 21:19 schreef WalkingDisaster het volgende:
    heb hem al gevonden.

    Moet met <textarea>
    Natuurlijk, daar dacht ik ook meteen aan toen ik je vraag las!

    NOT
    WalkingDisasterzondag 8 juni 2008 @ 22:10
    Laat maar

    Probleem is nu:

    Ik dit achter een post knop zitten: mysql_query("UPDATE klanten SET achternaam=".$Achternaam." WHERE achternaam=".$row['achternaam']);

    Dit doet hij niet

    Iemand tips toevallig?

    $achternaam is de variabele die uit het formulier voortkomt, en $row[x] is een variabele die uit de database komt.
    The_Terminatorzondag 8 juni 2008 @ 22:26
    quote:
    Op zondag 8 juni 2008 22:10 schreef WalkingDisaster het volgende:
    Laat maar

    Probleem is nu:

    Ik dit achter een post knop zitten: mysql_query("UPDATE klanten SET achternaam=".$Achternaam." WHERE achternaam=".$row['achternaam']);

    Dit doet hij niet

    Iemand tips toevallig?

    $achternaam is de variabele die uit het formulier voortkomt, en $row[x] is een variabele die uit de database komt.
    SET achternaam=".$Achternaam."

    Wat doen die punten daar?

    SET achternaam='$Achternaam'

    Dat is beter, echter is het niet verstandig om variabelen zomaar vannuit een post in je database weg te schrijven, die moet je eerst escapen.

    Edit: Heb je overigens voordat je bovenstaande uitvoert wel eerst mysql_fetch_array gedaan? Anders gaat dat $row['achternaam'] namelijk niet werken.

    [ Bericht 7% gewijzigd door The_Terminator op 08-06-2008 22:41:50 ]
    WalkingDisasterzondag 8 juni 2008 @ 22:46
    Ok nevermind heb het al aan de praat
    quote:
    Edit: Heb je overigens voordat je bovenstaande uitvoert wel eerst mysql_fetch_array gedaan? Anders gaat dat $row['achternaam'] namelijk niet werken.
    Ja

    Thnx
    The_Terminatorzondag 8 juni 2008 @ 22:49
    quote:
    Op zondag 8 juni 2008 22:46 schreef WalkingDisaster het volgende:
    Ok nevermind heb het al aan de praat
    [..]

    Ja

    Thnx
    Niet vergeten de invoer te escapen, anders is het mogelijk om bepaalde functies in de query te injecteren, lijkt me niet de bedoeling
    #ANONIEMzondag 8 juni 2008 @ 23:19
    quote:
    Op zondag 8 juni 2008 22:49 schreef The_Terminator het volgende:

    [..]

    Niet vergeten de invoer te escapen, anders is het mogelijk om bepaalde functies in de query te injecteren, lijkt me niet de bedoeling
    Wat dacht je van query-string validatie, e.g het desbetreffende ID van het bedrijf valideren (immers, stel dat men gegevens aan kan passen van een ander bedrijf, dat moet je niet willen!)
    The_Terminatorzondag 8 juni 2008 @ 23:52
    quote:
    Op zondag 8 juni 2008 23:19 schreef Scorpie het volgende:

    [..]

    Wat dacht je van query-string validatie, e.g het desbetreffende ID van het bedrijf valideren (immers, stel dat men gegevens aan kan passen van een ander bedrijf, dat moet je niet willen!)
    Kan ook, je kunt bij het ID (indien numeriek) ook functies toepassen die alleen numerieke waarden toestaan, of gewoon eventuele andere charakters eruitfilteren. De rest van de velden kunnen eventueel ook gecodeerd worden, dan kom je ook niet met trema's etc. te zitten.
    slakkiemaandag 9 juni 2008 @ 08:56
    tvp..
    Likkende_Lassiemaandag 9 juni 2008 @ 09:29
    Kan iemand nog op mijn post reageren?
    Xcaliburmaandag 9 juni 2008 @ 10:03
    quote:
    Op zondag 8 juni 2008 12:52 schreef Likkende_Lassie het volgende:
    Je 1e optie heb ik getest, en die werkt ook

    SELECT orders.id, UID FROM shop_orders_orders orders LEFT JOIN shop_orders_shipments ship ON orders.id = ship.orderID WHERE ship.orderID IS NULL

    Maarja wat is logischer en of sneller? Zelf denk ik die left join.

    (andere query):
    SELECT * FROM shop_orders_orders WHERE id NOT IN (SELECT orderID FROM shop_orders_shipments)
    Ik denk ook de left join.
    Maar wat let je om die queries effe 10.000x in een loop te zetten en de tijd bij te houden?
    Likkende_Lassiemaandag 9 juni 2008 @ 12:51
    Ok ga ik doen!

    Even iets anders, meer javascript:

    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
    var xmlHttp

    function showUser(str)

    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
    alert ("Browser does not support HTTP Request")
    return
    }        
    var url="/getuser.php"
    url=url+"?q="+str
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange=stateChanged
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
    }

    function stateChanged() 

    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
       { 
       document.getElementById("txtHint").innerHTML=xmlHttp.responseText 
       } 


    Ik wil van (regel 14), xmlHttp.onreadystatechange=stateChanged

    xmlHttp.onreadystatechange=stateChanged(str)


    maken, maar dat lukt niet, maar waarom niet?
    qu63maandag 9 juni 2008 @ 12:54
    regel 19 moet dan
    1function stateChanged(str)

    zijn

    geloof ik..
    Likkende_Lassiemaandag 9 juni 2008 @ 12:58
    quote:
    Op maandag 9 juni 2008 12:54 schreef qu63 het volgende:
    regel 19 moet dan
    [ code verwijderd ]

    zijn

    geloof ik..
    Ja, dat had ik ook al gedaan maar helaas mocht dat niet helpen...
    De fout in IE is dan: Niet geïmplementeerd.
    Likkende_Lassiemaandag 9 juni 2008 @ 13:16
    Opgelost! Heb het volgende gedaan:

    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
    var xmlHttp

    function showUser(str)

    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
    alert ("Browser does not support HTTP Request")
    return
    }        
    var url="/getuser.php"
    url=url+"?q="+str
    url=url+"&sid="+Math.random()
    xmlHttp.onreadystatechange= function() { 
            if (xmlHttp.readyState==4)
                if (xmlHttp.status==200)
                    writeHTML(str);
        }


    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
    }

    function writeHTML(str) 

    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
       { 
       document.getElementById("txtHint"+str).innerHTML=xmlHttp.responseText 
       } 
    Xcaliburmaandag 9 juni 2008 @ 13:23
    quote:
    Op maandag 9 juni 2008 12:58 schreef Likkende_Lassie het volgende:
    Ja, dat had ik ook al gedaan maar helaas mocht dat niet helpen...
    De fout in IE is dan: Niet geïmplementeerd.
    Dit soort dingen kun je doorgaans beter in Firefox checken, die geeft heel wat begrijpelijkere foutmeldingen
    Geqxondinsdag 10 juni 2008 @ 02:23
    Bizar.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
        
    public function __construct($id){
    /* bestaand object, uit de database laden */
            
    $sql sprintf("SELECT * FROM message WHERE ID = %d LIMIT 1"$id);
            
    $result mysql_query($sql);
            
            if (
    $result){
                
    /* class inladen met bestaande data */
            
    }
        }
        
        public function 
    __construct(){
    /* leeg object, enkel de aanmaakdatum alvast invullen */
            
    $dateSend date("Y-m-d");
        }
    ?>


    1Fatal error: Cannot redeclare Message::__construct() in ****\classes\message.php on line 26


    Dit is toch prima mogelijk? Meerdere constructoren met elk een verschillend aantal parameters?
    The_Terminatordinsdag 10 juni 2008 @ 06:52
    quote:
    Op dinsdag 10 juni 2008 02:23 schreef Geqxon het volgende:
    Bizar.
    [ code verwijderd ]


    [ code verwijderd ]

    Dit is toch prima mogelijk? Meerdere constructoren met elk een verschillend aantal parameters?
    Volgensmij kun je dezelfde functienaam niet 2x declareren. Hoe moet php nou weten welke functie je aan wil roepen, hij gaat ze echt niet allebij uitvoeren.
    Dzydinsdag 10 juni 2008 @ 07:33
    Nee hoort wel te kunnen, afhankelijk van het aantal parameters.
    Lightdinsdag 10 juni 2008 @ 07:43
    quote:
    Op dinsdag 10 juni 2008 07:33 schreef Dzy het volgende:
    Nee hoort wel te kunnen, afhankelijk van het aantal parameters.
    Nope. Van PHP6 weet ik het niet, maar in PHP4 en PHP5 kan het met zekerheid niet.
    Xcaliburdinsdag 10 juni 2008 @ 08:37
    kan je het niet zo doen:
    1public function __construct($id = ''){


    Dat je ID een default waarde geeft (blanco), zodat die gebruikt wordt als je niks invult.
    Of eventueel met function_get_args() het aantal argumenten tellen?
    Geqxondinsdag 10 juni 2008 @ 08:44
    quote:
    Op dinsdag 10 juni 2008 08:37 schreef Xcalibur het volgende:
    kan je het niet zo doen:
    [ code verwijderd ]

    Dat je ID een default waarde geeft (blanco), zodat die gebruikt wordt als je niks invult.
    Of eventueel met function_get_args() het aantal argumenten tellen?
    In dit geval gaat het wel, maar in mijn userclass wil ik een paar constructors:

    -Eentje met het UserID
    -Eentje met een username en password die gelijk authenticatie doet
    -Eentje zonder parameters die een nieuwe user aanmaakt.

    Wat ik van OO gewend ben is dat je dan gewoon meerdere constructors kunt gebruiken?
    urseldinsdag 10 juni 2008 @ 09:06
    Ik heb er eerlijk gezegd ook nog niet eerder over gehoord. En jou PHP versie volgens mij ook niet
    #ANONIEMdinsdag 10 juni 2008 @ 09:22
    quote:
    Op dinsdag 10 juni 2008 08:44 schreef Geqxon het volgende:

    [..]

    In dit geval gaat het wel, maar in mijn userclass wil ik een paar constructors:

    -Eentje met het UserID
    -Eentje met een username en password die gelijk authenticatie doet
    -Eentje zonder parameters die een nieuwe user aanmaakt.

    Wat ik van OO gewend ben is dat je dan gewoon meerdere constructors kunt gebruiken?
    Dat kan dus niet met PHP. Wel met Java.

    Zie hier een 'workaround' voor wat jij wil doen:

    http://ordinarywebguy.wor(...)-constructor-in-php/

    [ Bericht 14% gewijzigd door #ANONIEM op 10-06-2008 09:24:11 ]
    Xcaliburdinsdag 10 juni 2008 @ 10:19
    ja, dan zul je dus met func_get_args() aan de slag moeten
    Dzydinsdag 10 juni 2008 @ 11:24
    Hmm jullie hebben gelijk, ik dacht dat ik zoiets ooit wel gebruikt had in PHP maar zal dan wel in een andere taal geweest zijn.
    Stimodroldinsdag 10 juni 2008 @ 20:39
    VRAAGJE

    Op een van mijn domeinen heb ik een redirect service script geinstalleerd (op de root). Hier kunnen bezoekers dus een korte url aanvragen.

    Nu wil ik op dit zelfde domein een ander script installeren waarmee je een gratis emailadres kunt aanvragen.

    Echter kom ik in de knoei met die .htaccess files.

    WIE WEET RAAD?

    Inhoud redirect .htaccess bestand:

    1
    2
    ErrorDocument 404 /index.php
    DirectoryIndex index.php index.html index.htm


    Inhoud email .htaccess bestand:

    1
    2
    3
    4
    5
    6
    7
    RewriteEngine On

    Allow all
    RewriteRule ^xemail$ /cgi-bin/mail/jilmail.cgi [L]


    RewriteRule ^domail$ /cgi-bin/mail [L]


    Kan ik deze 2 combineren ofzo zodat ze allebei doen wat ze moeten doen??

    Tnx! :)
    warezguy05dinsdag 10 juni 2008 @ 21:40
    Hallo mensen,

    Ik zit met het volgende probleem.

    Ik heb 3 tabellen; ARTIST, ARTIST_TRACK (koppeltabel), en TRACK

    Middels een functie die een bestaande array doorloopt, wil ik de juiste artiest-namen (dit kunnen er meerdere per track zijn) aan het juist arrayelement koppelen.

    Ik gebruik de volgende functie:

    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
    <?php
    // Haal artiest(en) op die track geproduceerd hebben

        
    function getArtistTrack($aGetAllTracksResult$oDbh)    {

            
    $aGetArtistTrack $aGetAllTracksResult;
            
            
    $iTotalElements count($aGetArtistTrack);
        

            for(
    $i=0$i $iTotalElements$i++)    {
                
                
    $p_iTrackID $aGetArtistTrack[$i]['id'];

                
    $sql "SELECT ARTIST_TRACK.artist_id, ARTIST_TRACK.track_id, ARTIST.id, ARTIST.artistname FROM ARTIST_TRACK, ARTIST
                WHERE ARTIST_TRACK.artist_id = ARTIST.id AND ARTIST_TRACK.track_id = $p_iTrackID"
    ;
                
                
    $stmt $oDbh->query($sql);
            
                while (
    $row $stmt->fetch()) {
        
                    
    $aGetArtistTrack[$i]["artistname"][] = $row['artistname'];

                }
            
            
            
            }

            
            
    $aGetArtistTrackResult $aGetArtistTrack;
            
            
            return 
    $aGetArtistTrackResult;

        
        }
    ?>



    De array bestaat bijvoorbeeld uit 5 elementen (tracks) waaraan de juiste artiestnamen gekoppeld moeten worden. De for-loop moet dus 5x doorlopen worden, maar als ik mn var_dump nakijk dan wordt de for-loop slechts 1 maal doorlopen :s (alleen aan element 0 wordt de artiestnaam toegevoegd)...
    Weet iemand waar dit aan kan liggen?

    [ Bericht 13% gewijzigd door warezguy05 op 10-06-2008 21:45:03 ]
    The_Terminatordinsdag 10 juni 2008 @ 22:04
    quote:
    Op dinsdag 10 juni 2008 21:40 schreef warezguy05 het volgende:
    Hallo mensen,

    Ik zit met het volgende probleem.

    Ik heb 3 tabellen; ARTIST, ARTIST_TRACK (koppeltabel), en TRACK

    Middels een functie die een bestaande array doorloopt, wil ik de juiste artiest-namen (dit kunnen er meerdere per track zijn) aan het juist arrayelement koppelen.

    Ik gebruik de volgende functie:
    [ code verwijderd ]

    De array bestaat bijvoorbeeld uit 5 elementen (tracks) waaraan de juiste artiestnamen gekoppeld moeten worden. De for-loop moet dus 5x doorlopen worden, maar als ik mn var_dump nakijk dan wordt de for-loop slechts 1 maal doorlopen :s (alleen aan element 0 wordt de artiestnaam toegevoegd)...
    Weet iemand waar dit aan kan liggen?
    Dit al geprobeerd?:

    $iTotalElements = count($aGetArtistTrack, COUNT_RECURSIVE);
    Dzydinsdag 10 juni 2008 @ 22:11
    Een count op een resultset geeft altijd 1 aan behalve als de resultset leeg is, je moet de functie mysql_num_rows oid gebruiken lijkt me.
    Lightdinsdag 10 juni 2008 @ 22:26
    quote:
    Op dinsdag 10 juni 2008 22:11 schreef Dzy het volgende:
    Een count op een resultset geeft altijd 1 aan behalve als de resultset leeg is, je moet de functie mysql_num_rows oid gebruiken lijkt me.
    Nee, count() is bedoeld voor arrays. Als je count() aanroept op een andere variabele dan krijg je altijd 1 terug, tenzij die variabele niet geset is of NULL is. Als de resultset leeg is dan is de variabele nog steeds geinitialiseerd en niet NULL, dus levert count() 1 op.
    Swetseneggerdinsdag 10 juni 2008 @ 22:30
    Vraag aan ZCE's hier.

    Is het waar dat alle userdata als STRING binnen komt?
    dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
    The_Terminatordinsdag 10 juni 2008 @ 22:33
    quote:
    Op dinsdag 10 juni 2008 22:26 schreef Light het volgende:

    [..]

    Nee, count() is bedoeld voor arrays. Als je count() aanroept op een andere variabele dan krijg je altijd 1 terug, tenzij die variabele niet geset is of NULL is. Als de resultset leeg is dan is de variabele nog steeds geinitialiseerd en niet NULL, dus levert count() 1 op.
    Maar hij krijgt dus wel iets terug:
    quote:
    alleen aan element 0 wordt de artiestnaam toegevoegd
    Dat betekend dat er wel iets in die array aanwezig is.
    The_Terminatordinsdag 10 juni 2008 @ 22:35
    quote:
    Op dinsdag 10 juni 2008 22:30 schreef Swetsenegger het volgende:
    Vraag aan ZCE's hier.

    Is het waar dat alle userdata als STRING binnen komt?
    dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
    Ben geen ZCE, maar weet wel dat het inderdaad altijd als string door wordt gegeven. is_int zal dus inderdaad niet werken.

    Edit: ctype_digit zou wel moeten werken op postdata.
    warezguy05dinsdag 10 juni 2008 @ 22:36
    aan de count ligt het niet, die echo ik namelijk later nog een keer en komt overeen met het aantal elementen


    wanneer ik bijv $iTotalElements = 5; toepas, dan omzeil ik ff die count...maar dan blijft het probleem bestaan dat er maar 1 element uit de array wordt afgewerkt ipv 5

    ik heb nog een beetje verder lopen proberen:

    wanneer ik bijv $i = 1 doe, dan pakt hij (zoals het hoort) het 2e element uit de array, en werkt hij deze prima af...maar de 3e ho maar


    mn var_dump
    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
    array(5) {
      [0]=>
      array(5) {
        ["id"]=>
        string(1) "1"
        ["title"]=>
        string(16) "Cosmic Evolution"
        ["remix"]=>
        string(12) "Scot Project"
        ["artist_track_id"]=>
        string(1) "1"
        ["artistname"]=>
        array(1) {
          [0]=>
          string(9) "Microbots"
        }
      }
      [1]=>
      array(4) {
        ["id"]=>
        string(1) "2"
        ["title"]=>
        string(7) "Octopus"
        ["remix"]=>
        string(12) "Lost In Case"
        ["artist_track_id"]=>
        string(1) "2"
      }
      [2]=>
      array(4) {
        ["id"]=>
        string(1) "3"
        ["title"]=>
        string(26) "Contact (We Gotta Connect)"
        ["remix"]=>
        string(13) "Warp Brothers"
        ["artist_track_id"]=>
        string(1) "3"
      }

    en dan t/m element [4]
    poffudinsdag 10 juni 2008 @ 22:38
    ben opzoek naar iemand een een php coding kan afmaken van een webshop

    PM me even voor meer info

    400eu+ vergoeding

    groeten!
    The_Terminatordinsdag 10 juni 2008 @ 22:38
    quote:
    Op dinsdag 10 juni 2008 22:36 schreef warezguy05 het volgende:
    aan de count ligt het niet, die echo ik namelijk later nog een keer en komt overeen met het aantal elementen


    wanneer ik bijv $iTotalElements = 5; toepas, dan omzeil ik ff die count...maar dan blijft het probleem bestaan dat er maar 1 element uit de array wordt afgewerkt ipv 5

    ik heb nog een beetje verder lopen proberen:

    wanneer ik bijv $i = 1 doe, dan pakt hij (zoals het hoort) het 2e element uit de array, en werkt hij deze prima af...maar de 3e ho maar
    En als je $iTotalElements eens print, bevat die wel de juiste waarde? Zo ja dan zit het idd in de loop, maar vraag me af waar...
    Swetseneggerdinsdag 10 juni 2008 @ 22:40
    quote:
    Op dinsdag 10 juni 2008 22:35 schreef The_Terminator het volgende:

    [..]

    Ben geen ZCE, maar weet wel dat het inderdaad altijd als string door wordt gegeven. is_int zal dus inderdaad niet werken.

    Edit: ctype_digit zou wel moeten werken op postdata.
    Dat vind ik nogal vaag op zijn zachts gezegd. Je hebt dus allerlei controle mogelijkheden voor types variabelen, maar dat geldt dus alleen voor variabelen die uit je script komen.

    ja de ctype_digit oplossing zag ik ergens voorbij komen (het was overigens niet mijn probleem).
    Lightdinsdag 10 juni 2008 @ 22:41
    quote:
    Op dinsdag 10 juni 2008 22:30 schreef Swetsenegger het volgende:
    Vraag aan ZCE's hier.

    Is het waar dat alle userdata als STRING binnen komt?
    dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
    Ja.
    Lightdinsdag 10 juni 2008 @ 22:42
    Met intval($_POST['getal']) kun je er natuurlijk wel een getal van maken.
    Swetseneggerdinsdag 10 juni 2008 @ 22:43
    quote:
    Op dinsdag 10 juni 2008 22:42 schreef Light het volgende:
    Met intval($_POST['getal']) kun je er natuurlijk wel een getal van maken.
    uhuh.
    Lightdinsdag 10 juni 2008 @ 22:45
    quote:
    Op dinsdag 10 juni 2008 21:40 schreef warezguy05 het volgende:
    Hallo mensen,

    Ik zit met het volgende probleem.

    Ik heb 3 tabellen; ARTIST, ARTIST_TRACK (koppeltabel), en TRACK

    Middels een functie die een bestaande array doorloopt, wil ik de juiste artiest-namen (dit kunnen er meerdere per track zijn) aan het juist arrayelement koppelen.

    Ik gebruik de volgende functie:
    [ code verwijderd ]

    De array bestaat bijvoorbeeld uit 5 elementen (tracks) waaraan de juiste artiestnamen gekoppeld moeten worden. De for-loop moet dus 5x doorlopen worden, maar als ik mn var_dump nakijk dan wordt de for-loop slechts 1 maal doorlopen :s (alleen aan element 0 wordt de artiestnaam toegevoegd)...
    Weet iemand waar dit aan kan liggen?
    Het ligt vast aan het tijdstip, maar ik snap weinig van je code. Variabelen met een naam Get.., alsof het functies zijn. En die naam dan als parameter van een functie.
    warezguy05dinsdag 10 juni 2008 @ 22:49
    quote:
    Op dinsdag 10 juni 2008 22:45 schreef Light het volgende:

    [..]

    Het ligt vast aan het tijdstip, maar ik snap weinig van je code. Variabelen met een naam Get.., alsof het functies zijn. En die naam dan als parameter van een functie.
    begrijpelijk.
    ben pas net bezig dus ik zal hier in t vervolg op letten (en meteen aanpassen)
    Lightdinsdag 10 juni 2008 @ 22:50
    quote:
    Op dinsdag 10 juni 2008 22:40 schreef Swetsenegger het volgende:

    [..]

    Dat vind ik nogal vaag op zijn zachts gezegd. Je hebt dus allerlei controle mogelijkheden voor types variabelen, maar dat geldt dus alleen voor variabelen die uit je script komen.
    Aan de andere kant pompt de browser gewoon een rij tekens naar de server, zonder zich te bekommeren over de betekenis of interpretatie.
    Dzydinsdag 10 juni 2008 @ 23:03
    quote:
    Op dinsdag 10 juni 2008 22:38 schreef poffu het volgende:
    ben opzoek naar iemand een een php coding kan afmaken van een webshop

    PM me even voor meer info

    400eu+ vergoeding

    groeten!
    Gaat niet echt werken als je inbox niet aanstaat he, pm mij maar met wat meer info, heb toch een maand wat minder te doen.
    Swetseneggerdinsdag 10 juni 2008 @ 23:09
    quote:
    Op dinsdag 10 juni 2008 22:50 schreef Light het volgende:

    [..]

    Aan de andere kant pompt de browser gewoon een rij tekens naar de server, zonder zich te bekommeren over de betekenis of interpretatie.
    nee, de interpretatie zou aan de serverkant moeten liggen. Kom het moet natuurlijk relatief eenvoudig zijn om een sting van een integer of float te onderscheiden.
    Lightdinsdag 10 juni 2008 @ 23:48
    quote:
    Op dinsdag 10 juni 2008 23:09 schreef Swetsenegger het volgende:

    [..]

    nee, de interpretatie zou aan de serverkant moeten liggen. Kom het moet natuurlijk relatief eenvoudig zijn om een sting van een integer of float te onderscheiden.
    Het is vast wel te doen. Het is alleen de vraag of het echt nuttig is. Had ik al gezegd dat PHP een loosely typed taal is?
    Farenjidinsdag 10 juni 2008 @ 23:54
    quote:
    Op dinsdag 10 juni 2008 23:09 schreef Swetsenegger het volgende:

    [..]

    nee, de interpretatie zou aan de serverkant moeten liggen. Kom het moet natuurlijk relatief eenvoudig zijn om een sting van een integer of float te onderscheiden.
    Dat doet php zelf wel, op haar eigen krakkemikkige manier. Als een value niet binnen een hokje van ints, floats of strings past, dan pakt php een heel grote hamer, geeft een paar flinke rammen, en dan past het alsnog.
    #ANONIEMdinsdag 10 juni 2008 @ 23:55
    Voor type-safety moet je idd niet bij PHP zijn.......weet niet of dat in 6 al is opgelost?
    Swetseneggerwoensdag 11 juni 2008 @ 08:21
    Ja dat het een loosly typed taal is weet ik en dat php een string ook gewoon als integer behandeld bij mathematische functies... maar toch
    Xcaliburwoensdag 11 juni 2008 @ 08:47
    quote:
    Op dinsdag 10 juni 2008 22:30 schreef Swetsenegger het volgende:
    Vraag aan ZCE's hier.

    Is het waar dat alle userdata als STRING binnen komt?
    dus if(is_int($_POST['getal'])) zal FALSE terug geven als de user bv 5 heeft ingevuld?
    alle POST variabelen zijn strings inderdaad, maar PHP doet daar niet zo moeilijk over.
    Het zou me niks verbazen dat is_int() op string "5" gewoon true teruggeeft


    Edit: ik had pagina 2 over het hoofd gezien geloof ik
    Dan nog maar even hier op reageren:
    quote:
    Op dinsdag 10 juni 2008 23:09 schreef Swetsenegger het volgende:

    nee, de interpretatie zou aan de serverkant moeten liggen. Kom het moet natuurlijk relatief eenvoudig zijn om een sting van een integer of float te onderscheiden.
    Op zich wel, maar hoe moet de server weten of jij een string 5 stuurt of een integer 5?
    Dat verplaatst het probleem alleen maar natuurlijk (hoewel het misschien wel wat logischer zou zijn)
    Ynskewoensdag 11 juni 2008 @ 15:37
    Hoi,

    Ik hoop dat er hier iemand is die me kan helpen. Ik zit nu te klooien dat is niet meer normaal.

    ok wat is de bedoeling:
    zie www.throughmylens.nl/kinderen.html
    de pijltjes in het linkerblok onderaan moet de navigatie worden voor de foto's die komen in het rechterblok.
    niet zo moeilijk zou je zeggen. Nah ik kom er totaal niet uit

    wat heb ik nu is:
    www.throughmylens.nl/test.php

    alleen moet de @@ het achteruit pijltje in dat linker blok worden en de ## het vooruit pijltje in datzelfde blok.
    het lukt me alleen totaal niet :@

    daarnaast zou t fijn zijn dat als je bij foto 1 niet de vorige knop kunt gebruiken en dat als je de laatste foto bereikt hebt je niet meer de volgende knop kunt gebruiken.

    de broncode tot nu toe die ik heb is
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    <HTML>
    <HEAD><TITLE>throughmylens.nl</TITLE>
    <STYLE>
    body, td, p {font-size: 12pt; font-family: times new roman, times, serif}
    h1 {font-weight: normal; font-size: 26pt; font-family: arial, helvetica, sans-serif}
    h2 {font-weight: normal; font-size: 18pt; font-family: arial, helvetica, sans-serif}
    h3 {font-weight: normal; font-size: 16pt}
    h4 {font-weight: normal; font-size: 14pt}
    a {text-decoration: none}
    a:hover {text-decoration: underline}
    </STYLE>
    </HEAD>
    <BODY style="BACKGROUND: #ffffff; MARGIN: 15px 10px" text=#000000>
    <P align=center> </P>
    <DIV id=maindiv1 align=center><DIV id=maindiv2 style="WIDTH: 773px; POSITION: 

    relative">
    <TABLE id=maintable style="POSITION: relative; BORDER-COLLAPSE: collapse" 

    cellSpacing=0 cellPadding=0 align=center border=0>
    <TBODY>
    <TR>
    <TD>
    <TABLE style="BACKGROUND: none transparent scroll repeat 0% 0%; BORDER-COLLAPSE: 

    collapse" borderColor=#000000 height=500 cellSpacing=0 width=740 align=left 

    border=0>
    <TBODY>
    <TR>
    <TD vAlign=top align=left><IMG 

    src="http://www.throughmylens.nl/Layout_liggend.jpg"><div style="position:absolute; 

    left:330; top: 210;"><?php


    $dir = 'foto/'; //Dir die uitgelezen moet worden. vergeet / NIET !!!

    //inhoud van de directory ophalen
    $handle = opendir($dir);

    while ($file = readdir($handle))
    {
            if($file == '.' || $file == '..')
                    continue;
            else
                    $result_array[]=$file;
    }
    closedir($handle);

    array_multisort($result_array, SORT_DESC);

    ?>

    <script language="JavaScript">

    <!--

    function laatZien(fotonr, hoogte, breedte, src)
    {
    foto = window.open('','','menubar=no,toolbar=no');
    foto.resizeTo(breedte,hoogte);
    foto.document.write("<html><head><title>Foto - " + fotonr + "</title></head><body 

    leftmargin='0' topmargin='0'>");
    foto.document.write("<center><img src=" + src + fotonr + "><center><br>");
    foto.document.write("<center><font face='Arial, Helvetica, sans-serif' 

    size='2'>.::<a href='JavaScript:window.close();'> Sluit venster 

    </a>::.</font></center>");
    foto.document.write("</body></html>");
    }

    !-->

    </script>

    </head>
    <body>

    <?php

    //aantal rijen en kolommen in stellen. De dir waar je je foto's moet in zetten heet 

    "foto". Deze index.php moet
    //één directory hoger staan :-)
    //Wil je dat wijzigen, dan moet je niet vergeten het stukje JavaScript hier boven 

    ook te wijzigen.
    //ik had de tabellen ook vanaf hier willen configgen, maar dat zijn slechts 3 regels 

    dus dat
    //doe je zelf maar :-P
    $rows = 1;
    $cols = 1;

    //pagina nummer ophalen, indien geen pagina nummer op 0 zetten
    if(isset($_GET['page']))
    {
            $page = $_GET['page'];
    }
    else
    {
            $page = 0;
    }

    //totaal aantal foto's, om het aantal pagina's uit te rekenen
    $num_pics = count($result_array);

    //wat vars en andere rommel om de juiste pagina's en array's door te lopen
    $cells = $rows * $cols;
    $pages = ceil($num_pics / ($rows * $cols));
    $num_pages = $pages - 1;
    $output = array();
    $slices = array();
    $push = 0;
    $showpage = $page + 1;

    //array vullen met waarden voor de slice om afbeeldingen per pagina weer te geven
    for($k=0;$k<$pages;$k++)
    {
            array_push($slices, $push);
            $push = $push + $cells;
    }

    //lusje om te kijken op welke pagina we zijn en vervolgens de goede set afbeeldingen 

    uit $result_array halen
    for($k=0;$k<$pages;$k++)
    {
            if($page == key($slices))
            {
                    $output = array_slice($result_array, current($slices), $cells);
            }
            next($slices);
    }

    reset($output);

    //afbeelden van afbeeldingen
    print "<center>\n<table width='*' border='0' bordercolor='#000000' cellspacing='0' 

    cellpadding='0'>\n";

    for($i=0;$i<$rows;$i++)
    {
            print "\t<tr>\n";
            for($j=0;$j<$cols;$j++)
            {
                    if(current($output) != false)
                    {
                            $pic = current($output);

                            $size = getimagesize($dir.$pic);
                            $height_button = $size[1] + 70;
                            $value = current($output);
                            print "\t\t<td width='100' height='100' 

    align=center>\n\t\t\t\n\t\t\t\t<img width='390' height='252' border='0' 

    src='$dir$value'>\n\t\t\t\n\t\t</td>\n\n";
                            next($output);
                    }
                    else
                    {
                            print "\t\t<td width='100' height='100' 

    align='center'> </td>\n";
                    }
            }
            print "\t</tr>\n";


    //hier worden de prev en next knopjes gemaakt.
    $ref = $_SERVER['PHP_SELF'];
    print "</table>\n";

            if($num_pages == '0')
            {
                    print "<span>[ </span>";
                    print "vorige";
                    print "<span> ] </span>";

                    print "<span> [ </span>";
                    print "volgende";
                    print "<span> ]</span>";
            }
            

            else
            {
                    // de rest, pagina's in het midden, 2 knopjes
                    $next = $page + 1;
                    $prev = $page - 1;

          print "<span> </span>";
                    print "<a href='$ref?page=$prev'>@@</a>";
                    print "<span> </span>";

                    

                    print "<span> </span>";
                    print "<a href='$ref?page=$next'>##</a>";
                    print "<span> </span>";
            }


    ?>

    </center>


    </body>
    </html> </div>
    </TD></TR></TBODY></TABLE><TABLE style="BACKGROUND: none transparent scroll repeat 

    0% 0%; LEFT: 49px; POSITION: absolute; TOP: 215px; BORDER-COLLAPSE: collapse" 

    borderColor=#000000 height=56 cellSpacing=0 cellPadding=0 width=243 

    border=0><TBODY><TR><TD vAlign=top align=left><SPAN style="FONT-SIZE: 9pt"><FONT 

    face="Verdana, Sans-Serif"><SPAN style="FONT-SIZE: 9pt">Tijdens een cursus bij het 

    UCK in Utrecht ben ik in contact gekomen met 

    Theaterfotografie.</FONT></SPAN></P><P><SPAN style="FONT-SIZE: 9pt"><FONT 

    face=Verdana>De foto's zijn gemaakt tijdens de repetities van Theatergroep 

    <BR></FONT></SPAN><SPAN style="FONT-SIZE: 9pt"><FONT face=Verdana>Zonder 

    Helden.</FONT></SPAN></P><P><SPAN style="FONT-SIZE: 9pt"><FONT face=Verdana>De 

    foto's die ik tijdens deze cursus gemaakt heb zijn te zien op de expositie in het 

    gebouw van het UCK op het Domplein 4 te Utrecht.<BR>Deze expositie blijft 

    hangen tot <BR>6 oktober 2008</FONT></FONT></SPAN></TD></TR></TBODY></TABLE><TABLE 

    style="BACKGROUND: none transparent scroll repeat 0% 0%; LEFT: 259px; POSITION: 

    absolute; TOP: 445px; BORDER-COLLAPSE: collapse" borderColor=#000000 cellSpacing=0 

    cellPadding=0 border>

    <TBODY><TR><TD style="BACKGROUND: #ffffff" vAlign=top align=left><STRONG><FONT 

    face="Verdana, Sans-Serif" color=#808080>&lt; 

    &gt;</FONT></STRONG></TD></TR></TBODY></TABLE>
    <TABLE style="BACKGROUND: none transparent scroll repeat 0% 0%; LEFT: 49px; 

    POSITION: absolute; TOP: 448px; BORDER-COLLAPSE: collapse" borderColor=#000000 

    cellSpacing=0 cellPadding=0 border=0><TBODY><TR><TD vAlign=top align=left><SPAN 

    style="FONT-SIZE: 9pt"><FONT face="Verdana, Sans-Serif"><FONT color=#808080><A 

    href="/index.html">Home</A></FONT></SPAN></FONT></TD></TR></TBODY></TABLE></TD></TR>

    </TBODY></TABLE></DIV></DIV></BODY>


    ik moet erbij zeggen dat ik echt een complete Blonde N00b ben met php
    en er voor t eerst mee zit te klooien.
    en overduidelijk er niet uitkom

    is er hier en engel die me zou kunnen helpen?
    #ANONIEMwoensdag 11 juni 2008 @ 15:45
    Ja, ik wil je best helpen. Maar nu ff niet, vanavond
    Ynskewoensdag 11 juni 2008 @ 15:46
    quote:
    Op woensdag 11 juni 2008 15:45 schreef Scorpie het volgende:
    Ja, ik wil je best helpen. Maar nu ff niet, vanavond
    heel lief dank je
    SuperRembowoensdag 11 juni 2008 @ 16:37
    quote:
    Op woensdag 11 juni 2008 15:45 schreef Scorpie het volgende:
    Ja, ik wil je best helpen. Maar nu ff niet, vanavond
    Vergeet niet je lieslaarzen aan te trekken als je in de bak bagger duikt.
    #ANONIEMwoensdag 11 juni 2008 @ 16:38
    quote:
    Op woensdag 11 juni 2008 16:37 schreef SuperRembo het volgende:

    [..]

    Vergeet niet je lieslaarzen aan te trekken als je in de bak bagger duikt.
    Ik neem mijn snorkel wel mee
    JJasperOvrijdag 13 juni 2008 @ 17:23
    Hallo beste mensen. Ik heb een werkend PHP script voor een contact formlulier dat ik graag wil aanpassen, zodanig dat als drie bepaalde velden niet zijn ingevuld, dat het formulier dan niet verzonden wordt, maar dat er geen melding komt. Die melding heb ik namelijk al geregeled via javascript (maar voorkomt dus geen bots). Een ander veld moet juist leeg blijven, dat heb ik al wel werkend gekregen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    // Configuration Settings
    if ($_POST['emails'] == '') {
    $SendFrom =    "Geinteresseerde <info@buitendedoos.nl>";
    $SendTo =      "info@buitendedoos.nl";
    $SubjectLine "Reactie via creabee.nl";
    $ThanksURL =   "uwberichtisverzonden.html";  //confirmation page

    // Build Message Body from Web Form Input
    foreach ($_POST as $Field=>$Value)
       
    $MsgBody .= "$Field: $Value\n";
    $MsgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" .
       
    $_SERVER["HTTP_USER_AGENT"];
    $MsgBody htmlspecialchars($MsgBodyENT_NOQUOTES);  //make safe

    // Send E-Mail and Direct Browser to Confirmation Page
    mail($SendTo$SubjectLine$MsgBody"From: $SendFrom");
    header("Location: $ThanksURL");
    }
    else {
    header("Location: http://www.honeynet.org/");
    }
    ?>


    Veld is verplicht is zoiets als:
    quote:
    if(empty($naamvanhetveld)) {
    echo "Field 1 is required!";
    }
    Althans dat heb ik gevonden en lijkt logisch. Maar die echo wil ik juist niet, dat is immers al met javascript. Wat moet er komen te staan als ik dus niet die echo wil, maar wel dat het niet verzonden wordt?

    Als ik dat per field aangeef, waar moet ik het dan precies in het PHP script plaatsen zonder dat het gaat conflicteren met:
    quote:
    if ($_POST['emails'] == '') {
    }
    else {
    header("Location: http://www.honeynet.org/");
    }
    (eerste en laatste stukje code)

    [ Bericht 17% gewijzigd door JJasperO op 13-06-2008 17:31:22 ]
    #ANONIEMvrijdag 13 juni 2008 @ 18:00
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    // Configuration Settings
    if ($_POST['emails'] == '') {
    $SendFrom =    "Geinteresseerde <info@buitendedoos.nl>";
    $SendTo =      "info@buitendedoos.nl";
    $SubjectLine "Reactie via creabee.nl";
    $ThanksURL =   "uwberichtisverzonden.html";  //confirmation page

    // Build Message Body from Web Form Input
    foreach ($_POST as $Field=>$Value)
    if(!empty(
    $Value))
    {
       
    $MsgBody .= "$Field: $Value\n";
    $MsgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" .
       
    $_SERVER["HTTP_USER_AGENT"];
    $MsgBody htmlspecialchars($MsgBodyENT_NOQUOTES);  //make safe
    }else {
    header("Location: http://www.honeynet.org/");
    }


    // Send E-Mail and Direct Browser to Confirmation Page
    mail($SendTo$SubjectLine$MsgBody"From: $SendFrom");
    header("Location: $ThanksURL");
    ?>


    Indien 1 van de velden leeg is, redirect je meteen naar de pagina. Zo niet, ga verder met de pageflow.
    JJasperOzaterdag 14 juni 2008 @ 02:39
    Bedankt voor je hulp, maar er gaat iets fout als ik het formulier correct invul. Bij verzenden krijg ik een pagina met:

    Parse error: syntax error, unexpected $end in /data/members/paid/c/r/creabee.nl/htdocs/www/Contact/feedback.php on line 25

    line 25 is:
    quote:
    ?>
    Dus de sluiting van de php code.

    Toen ik m'n oude script er weer in zette ging het wel weer goed.
    qu63zaterdag 14 juni 2008 @ 07:29
    quote:
    Op zaterdag 14 juni 2008 02:39 schreef JJasperO het volgende:
    Bedankt voor je hulp, maar er gaat iets fout als ik het formulier correct invul. Bij verzenden krijg ik een pagina met:

    Parse error: syntax error, unexpected $end in /data/members/paid/c/r/creabee.nl/htdocs/www/Contact/feedback.php on line 25

    line 25 is:
    [..]

    Dus de sluiting van de php code.

    Toen ik m'n oude script er weer in zette ging het wel weer goed.
    na header("Location: $ThanksURL"); moet nog een } komen
    JJasperOzaterdag 14 juni 2008 @ 14:49
    quote:
    Op zaterdag 14 juni 2008 07:29 schreef qu63 het volgende:

    [..]

    na header("Location: $ThanksURL"); moet nog een } komen
    Ok dit werkt, hoewel er wel iets vreemds aan de hand is nu. Ik krijg dit soort berichten als ik succesvol invul:
    quote:
    Naam: Test

    co202206-a.almel1.ov.home.nl
    Opera/9.26 (Windows NT 6.0; U; nl)Emailadres: test@test

    co202206-a.almel1.ov.home.nl
    Opera/9.26 (Windows NT 6.0; U; nl)Tekstveld: testtest

    co202206-a.almel1.ov.home.nl
    Opera/9.26 (Windows NT 6.0; U; nl)
    De plaats waar het vandaan komt wordt nu dus meermaals herhaald. Normaal gesproken komt het alleen eronder te staan. Eveneens werkt de redirect niet meer, als ik het onzichtbare veld nu zichtbaar maak en invul, dan word je niet geredirect .

    Maargoed ik ben al blij zo. Vanmiddag nog kreeg ik een spammert die geen tekstveld invulde, maargoed dat was alleen met javascript:
    quote:
    emails:
    Naam: Hackz0rz
    Emailadres: \' or DROP TABLE
    Tekstveld:

    cc1079003-a.deven1.ov.home.nl
    Opera/9.27 (Windows NT 5.1; U; en)


    [ Bericht 4% gewijzigd door JJasperO op 14-06-2008 15:42:48 ]
    qu63zondag 15 juni 2008 @ 01:19
    Dan moet die } op regel 19/20
    JJasperOzondag 15 juni 2008 @ 20:46
    Ok, ik zal het zsm proberen
    Chandlerzondag 15 juni 2008 @ 22:11
    Kleine vraag, voor het detecteren van referers van een zoekmachine gebruik ik de volgende preg_match

    1
    2
    3
    <?php
    if (preg_match("/[&\?](q|p|w|searchfor|as_q|as_epq|s|query)=([^&]+)/i"$ref$xx))
    ?>


    Maar ik zou graag ook de volgende URL willen matchen als de 1e match false returned

    http://www.zoekgratis.nl/s/gfx%2520poll

    Maar het volgende werkt niet en ik snap niet waarom niet?
    1
    2
    3
    <?php
    if (preg_match("/[\/](q|p|w|searchfor|as_q|as_epq|s|query)\/([^&]+)/i"$ref$xx))
    ?>


    Weet iemand waar ik de mist in ga?
    DutchErroristzondag 15 juni 2008 @ 22:16
    Argh ik probeer phpmyadmin te installeren op mijn mac maar wat ik ook doe elke keer krijg ik een
    quote:
    #2002 - The server is not responding (or the local MySQL server's socket is not correctly configured)
    foutcode...

    Iemand die mij kan/wil helpen?

    The_Terminatorzondag 15 juni 2008 @ 22:19
    quote:
    Op zondag 15 juni 2008 22:16 schreef DutchErrorist het volgende:
    Argh ik probeer phpmyadmin te installeren op mijn mac maar wat ik ook doe elke keer krijg ik een
    [..]

    foutcode...

    Iemand die mij kan/wil helpen?


    Config goed ingesteld voor jouw MySQL server?
    DutchErroristzondag 15 juni 2008 @ 22:26
    quote:
    Op zondag 15 juni 2008 22:19 schreef The_Terminator het volgende:

    [..]

    Config goed ingesteld voor jouw MySQL server?
    Zover ik het weet... Eerst setup gedaan een server ge-add (met eerst localhost en daarna 127.0.0.1)... een etc. vervolgens die config.inc.php in de hoofdmap geplaatst en config verwijdert....

    Dat klopt toch
    The_Terminatorzondag 15 juni 2008 @ 22:31
    quote:
    Op zondag 15 juni 2008 22:26 schreef DutchErrorist het volgende:

    [..]

    Zover ik het weet... Eerst setup gedaan een server ge-add (met eerst localhost en daarna 127.0.0.1)... een etc. vervolgens die config.inc.php in de hoofdmap geplaatst en config verwijdert....

    Dat klopt toch
    Dat klopt inderdaad. Kun je de MySQL server ook vanuit andere scripts aanroepen? Misschien zou je anders eens de config kunnen openen in een tekst editor en controleren op fouten.
    DutchErroristzondag 15 juni 2008 @ 22:33
    even kijken...

    [edit] Er staat niets in

    Iemand een standaard config dingetje?

    [ Bericht 86% gewijzigd door DutchErrorist op 15-06-2008 22:39:36 ]
    The_Terminatorzondag 15 juni 2008 @ 23:34
    quote:
    Op zondag 15 juni 2008 22:33 schreef DutchErrorist het volgende:
    even kijken...

    [edit] Er staat niets in

    Iemand een standaard config dingetje?
    Had het script bij het wegschrijven wel de juiste machtigingen voor het schrijven naar het bestand? Weet niet hoe het bij een Mac zit, maar ik zou hem anders gewoon chmodden naar 777 en dan later weer terugzetten naar leesrechten als de instellingen weggeschreven zijn.
    DutchErroristmaandag 16 juni 2008 @ 00:04
    quote:
    Op zondag 15 juni 2008 23:34 schreef The_Terminator het volgende:

    [..]

    Had het script bij het wegschrijven wel de juiste machtigingen voor het schrijven naar het bestand? Weet niet hoe het bij een Mac zit, maar ik zou hem anders gewoon chmodden naar 777 en dan later weer terugzetten naar leesrechten als de instellingen weggeschreven zijn.
    Hij heeft alle machtigingen... naja kijk morgen wel verder
    Chandlermaandag 16 juni 2008 @ 09:01
    Kleine vraag m.b.t sorteren middels SQL.

    Ik heb de volgende query
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT profielen.id,
                  profielen.naam,
                   profielen.leeftijd,
                   online.id AS onlineID
            FROM online
            LEFT JOIN profielen ON online.naam = profielen.naam
            ORDER BY onlineID DESC, profielen.naam
            LIMIT 60


    Echter krijg ik de profielen nu eerst gesorteerd op onlineID en daarna op de naam, echter wil ik de naam van a-z zien en niet z-a echter als ik ASC of DESC probeer blijven de resultaten het zelfde :{ en eingelijk wil ik dat alle online gebruikers bovenaan komen en daarna de online gebruikers gesorteerd worden op a-z

    Iemand die mijn fout ziet? :D
    Pilesmaandag 16 juni 2008 @ 09:02
    1ORDER BY onlineID DESC, profielen.naam ASC

    Gewoon zo toch :?
    Chandlermaandag 16 juni 2008 @ 09:35
    Dat verwachte ik ook dus, maar de resultaten bleven het zelfde waarschijnlijk omdat onlineID allemaal unieke waarden bevat... ofzo
    Pilesmaandag 16 juni 2008 @ 09:36
    Wat bevat onlineID dan allemaal voor waarden? Ik denk dat het alleen gaat werken als je een 1 voor online, en een 0 voor offline oid gaat gebruiken
    Xcaliburmaandag 16 juni 2008 @ 10:13
    kan je niet iets doen in de trant van:
    1
    2
    WHERE online = true 
    ORDER BY profielen.naam ASC
    urselmaandag 16 juni 2008 @ 11:18
    Weet er iemand eigenlijk wat een beetje de limieten van MySQL zijn?
    Voor aantal connecties heb ik ooit wel eens opgevangen dat MySQL beetje gaat hikken als die meer dan 100 connecties per seconde krijgt bijvoorbeeld.

    Maar hoe zit het eigenlijk met de hoeveelheid data?
    Weet dat we nu nog met 400 mb nog makkelijk niet aan de max zitten. Maar voor een project zijn we het een en ander aan het inventariseren om toch grotere hoeveelheden data op te gaan slaan.

    Met het oog op de toekomst wel zo prettig om dan ook gelijk de database te evalueren.
    Chandlermaandag 16 juni 2008 @ 11:45
    Ik kan helaas de onlineID niet veranderen, deze gegeven staat vast en ik kan helaas niet kiezen uit een onlineID want ik moet 60 gebruikers laten zien middels 1 query waarbij de online gebruikers bovenaanstaan en de offline gebruikers onderaan (eerst online dan offline).

    Is het ook mogelijk om bv het volgende te doen.

    SELECTEER * VAN TABEL BEGINNEND BIJ REGEL 0 EINDIGEND BIJ REGEL 50
    NA SELECTEREN, SORTEREN OP ID DESC
    Pilesmaandag 16 juni 2008 @ 11:46
    Maar wat staan er dan voor waarden in dat ID?
    Chandlermaandag 16 juni 2008 @ 11:48
    quote:
    Op maandag 16 juni 2008 11:46 schreef Piles het volgende:
    Maar wat staan er dan voor waarden in dat ID?
    Laatste online tijd. (unix_timestamp)
    Pilesmaandag 16 juni 2008 @ 11:51
    quote:
    Op maandag 16 juni 2008 11:48 schreef Chandler het volgende:

    [..]

    Laatste online tijd. (unix_timestamp)
    Daar kun je dan toch niet op selecteren of iemand online is of niet
    Als iemand offline is staat daar nog de laatste timestamp in. Het kan wel in PHP, maar niet alleen in de query lijkt me. Toch?
    Of je moet met een IF in je query gaan werken, maar dat weet ik niet hoe dat werkt
    Chandlermaandag 16 juni 2008 @ 11:54
    quote:
    Op maandag 16 juni 2008 11:51 schreef Piles het volgende:
    Daar kun je dan toch niet op selecteren of iemand online is of niet
    Als iemand offline is staat daar nog de laatste timestamp in. Het kan wel in PHP, maar niet alleen in de query lijkt me. Toch?
    Of je moet met een IF in je query gaan werken, maar dat weet ik niet hoe dat werkt
    Je hebt gelijk, ik maak deze database niet ik lees het alleen uit maar goed, van de profielen die niet online zijn staan niet in de tabel van 'online' gebruikers..

    En dat met IF weet ik dus ook niet, sorteren is best pittig vooral met secundaire voorwaarden (op de resultaten)
    #ANONIEMmaandag 16 juni 2008 @ 13:16
    Chandler; die gozer mag wel eens een cursusje databaseontwerp doen.
    Chandlermaandag 16 juni 2008 @ 13:45
    Scorpie; zullen we het houden op internationaal bedrijf
    Xcaliburmaandag 16 juni 2008 @ 14:34
    quote:
    Op maandag 16 juni 2008 11:54 schreef Chandler het volgende:
    Je hebt gelijk, ik maak deze database niet ik lees het alleen uit maar goed, van de profielen die niet online zijn staan niet in de tabel van 'online' gebruikers..
    Als de offline gebruikers niet in die tabel staan, hoe wil je ze dan selecteren?
    Chandlermaandag 16 juni 2008 @ 15:39
    Ik selecteer dus alle users en daarbij de tabel online, alle online gebruikers komen boven aan en de rest er onder met een limiet van 60.

    Ps weet iemand hoe je kunt uitrekenen met mysql hoeveel dagen tussen de registratie datum en de huidige datum zit? eventueel in een bestaande query?

    -edit-
    Ik heb het al

    TO_DAYS(CURDATE()) - TO_DAYS(reg_date) AS dagen

    [ Bericht 7% gewijzigd door Chandler op 16-06-2008 16:01:42 ]
    SuperRembomaandag 16 juni 2008 @ 16:34
    De laatse 60 gebruikers die online waren, gesorteerd op naam:
    1
    2
    3
    4
    5
    6
    SELECT p.id, p.naam, p.leeftijd, o.id AS onlineID
    FROM online o
    LEFT JOIN profielen p ON p.naam = o.naam
    WHERE p.naam IN (SELECT naam FROM online ORDER BY id DESC LIMIT 60)
    ORDER BY p.naam
    LIMIT 60        

    Is de naam echt de key tussen online en profielen?

    Het verschil in dagen tussen twee datums krijg je in één keer met DATEDIFF(dat1, dat2).
    Stranimaandag 16 juni 2008 @ 17:04
    Kan je niet in plaats van in de query te vragen om online users, dat pas in de weergave doen?

    Dus dat je een tijdsgrens stelt (bijvoorbeeld 1 dag) en dan per row 'vraagt' of de online timestamp groter is dan de door jou vastgestelde 'online-grens'. Als dat het geval is kan je dan 'online' weergeven, en anders 'offline'.
    super-muffinmaandag 16 juni 2008 @ 18:13
    quote:
    Op dinsdag 10 juni 2008 09:06 schreef ursel het volgende:
    Ik heb er eerlijk gezegd ook nog niet eerder over gehoord. En jou PHP versie volgens mij ook niet
    In Java is het wel mogenlijk.
    Lightmaandag 16 juni 2008 @ 18:50
    quote:
    Op maandag 16 juni 2008 18:13 schreef super-muffin het volgende:

    [..]

    In Java is het wel mogenlijk.
    Correct, maar Java is geen PHP
    Chandlermaandag 16 juni 2008 @ 19:00
    quote:
    Op maandag 16 juni 2008 16:34 schreef SuperRembo het volgende:
    De laatse 60 gebruikers die online waren, gesorteerd op naam:
    [ code verwijderd ]

    Is de naam echt de key tussen online en profielen?

    Het verschil in dagen tussen twee datums krijg je in één keer met DATEDIFF(dat1, dat2).
    Bedankt voor je query SR, maar helaas support de host van mijn klantje geen subqueries... waarom stappen ze nou niet gewoon allemaal gelijktijdig over!!

    en datediff wist ik wel maar ook weer niet tnx

    En heeft iemand nog een antwoord op deze vraag?
    [PHP/(My)SQL] voor dummies - deel 60
    JortKmaandag 16 juni 2008 @ 19:19
    quote:
    Op maandag 16 juni 2008 18:50 schreef Light het volgende:

    [..]

    Correct, maar Java is geen PHP
    Daar valt geen speld tussen te krijgen nee
    Xcaliburmaandag 16 juni 2008 @ 19:22
    ik snap het niet....
    Je moet dus je users joinen op de online tabel, en alles wat daar niet in staat is dus offline?
    Chandlermaandag 16 juni 2008 @ 20:08
    quote:
    Op maandag 16 juni 2008 19:22 schreef Xcalibur het volgende:
    ik snap het niet....
    Je moet dus je users joinen op de online tabel, en alles wat daar niet in staat is dus offline?
    Klopt 100%
    Xcaliburmaandag 16 juni 2008 @ 20:56
    In dat geval denk ik niet dat het met een enkele query lukt, met twee moet geen probleem zijn....:)
    Met een JOIN op IS NULL kan je de subquery omzeilen.
    SuperRembomaandag 16 juni 2008 @ 21:41
    quote:
    Op maandag 16 juni 2008 19:00 schreef Chandler het volgende:
    [..]
    Bedankt voor je query SR, maar helaas support de host van mijn klantje geen subqueries... waarom stappen ze nou niet gewoon allemaal gelijktijdig over!!
    Zeg dat dan meteen
    Dan zou je eerst een temp tabel kunnen vullen met de laatste 60 online id's... maar dan is het eenvoudiger om eerst alle rows uit te lezen en ze dan in php te sorteren.
    morpheus_at_workmaandag 16 juni 2008 @ 21:47
    quote:
    Op maandag 16 juni 2008 11:18 schreef ursel het volgende:
    Weet er iemand eigenlijk wat een beetje de limieten van MySQL zijn?
    Voor aantal connecties heb ik ooit wel eens opgevangen dat MySQL beetje gaat hikken als die meer dan 100 connecties per seconde krijgt bijvoorbeeld.

    Maar hoe zit het eigenlijk met de hoeveelheid data?
    Weet dat we nu nog met 400 mb nog makkelijk niet aan de max zitten. Maar voor een project zijn we het een en ander aan het inventariseren om toch grotere hoeveelheden data op te gaan slaan.

    Met het oog op de toekomst wel zo prettig om dan ook gelijk de database te evalueren.
    hoe goed geindexeerd is die 400mb
    urseldinsdag 17 juni 2008 @ 00:12
    quote:
    Op maandag 16 juni 2008 21:47 schreef morpheus_at_work het volgende:

    [..]

    hoe goed geindexeerd is die 400mb
    Wat is de definitie van goed.
    Kan beter, maar wel deels. Wat zal ik zeggen.

    Er liggen op de belangrijkste en grootste tabellen wel indexen, maar is de engine momenteel nog myisam. Er liggen bijvoorbeeld geen foreign keys.
    De engine zal in de nieuwe toevoer ook uitgezocht worden en denk momenteel innoDB hier voor te gebruiken.
    Maar de nieuwe data opslag zal een ander process zijn dan de huidige. Eigenlijk willen we van een ander systeem maandelijks de data opslaan en deze doorzoekbaar maken voor slechts enkele gebruikers. De hoeveelheid queries zullen dus miniem zijn, de hoeveelheid te zoeken data groot.
    slacker_nldinsdag 17 juni 2008 @ 01:49
    -edit-

    Fixed.

    [ Bericht 99% gewijzigd door slacker_nl op 17-06-2008 02:12:59 ]
    Chandlerdinsdag 17 juni 2008 @ 09:39
    quote:
    Op maandag 16 juni 2008 20:56 schreef Xcalibur het volgende:
    In dat geval denk ik niet dat het met een enkele query lukt, met twee moet geen probleem zijn....:)
    Met een JOIN op IS NULL kan je de subquery omzeilen.
    Hoe bedoel je met IS NULL? ik heb geen ervaring met lege JOINS
    quote:
    Op maandag 16 juni 2008 21:41 schreef SuperRembo het volgende:
    Zeg dat dan meteen
    Dan zou je eerst een temp tabel kunnen vullen met de laatste 60 online id's... maar dan is het eenvoudiger om eerst alle rows uit te lezen en ze dan in php te sorteren.
    Ja ik denk dat het laatste idd de oplossing is, ik ga er mee aan de slag! tnx!
    SuperRembodinsdag 17 juni 2008 @ 10:25
    quote:
    Op dinsdag 17 juni 2008 09:39 schreef Chandler het volgende:
    [..]
    Hoe bedoel je met IS NULL? ik heb geen ervaring met lege JOINS
    Vaak kan je een WHERE IN (...) of WHERE NOT IN (...) sub query omzetten naar een JOIN. In dit geval lukt dat niet omdat in de sub query een ORDER BY en LIMIT zit.
    Xcaliburdinsdag 17 juni 2008 @ 10:29
    quote:
    Op dinsdag 17 juni 2008 10:25 schreef SuperRembo het volgende:
    Vaak kan je een WHERE IN (...) of WHERE NOT IN (...) sub query omzetten naar een JOIN. In dit geval lukt dat niet omdat in de sub query een ORDER BY en LIMIT zit.
    Volgens mij kan je die ORDER BY en LIMIT in de gewone query doen?
    Je krijgt sowieso alleen de resultaten van je JOIN, en die worden dan gesorteerd en gelimit.

    Chandler: zie ook de uitleg hier: http://dev.mysql.com/doc/refman/4.1/en/join.html
    4e bullet gaat over de IS NULL syntax
    SuperRembodinsdag 17 juni 2008 @ 11:13
    quote:
    Op dinsdag 17 juni 2008 10:29 schreef Xcalibur het volgende:

    [..]

    Volgens mij kan je die ORDER BY en LIMIT in de gewone query doen?
    Je krijgt sowieso alleen de resultaten van je JOIN, en die worden dan gesorteerd en gelimit.
    Het probleem is in dit geval dat je voor de LIMIT wil sorteren op online.id, maar voor de regels die daarmee gevonden worden wil je op profielen.naam gesorteerd hebben.
    Xcaliburdinsdag 17 juni 2008 @ 11:21
    Volgens mij is dat niet waar, aangezien uitsluitend de online users in de online tabel staan. Als je deze tabel joint krijg je dus alle online users. Als je deze met IS NULL joint krijg je alle offline users.

    Er hoeft op die manier dus niet gelimit / gesorteerd te worden op de online tabel


    Edit: je hebt dus wél twee queries nodig, 1 voor de online en 1 voor de offline users....
    JJasperOwoensdag 18 juni 2008 @ 19:58
    quote:
    Op zondag 15 juni 2008 01:19 schreef qu63 het volgende:
    Dan moet die } op regel 19/20
    Dit heeft helaas ook niet mogen baten. Ik houd het wel bij het oude script. Weinig spam tot nu toe .
    qu63woensdag 18 juni 2008 @ 20:11
    quote:
    Op woensdag 18 juni 2008 19:58 schreef JJasperO het volgende:

    [..]

    Dit heeft helaas ook niet mogen baten. Ik houd het wel bij het oude script. Weinig spam tot nu toe .
    Dan weet ik het ook niet
    Lightwoensdag 18 juni 2008 @ 22:08
    quote:
    Op dinsdag 17 juni 2008 00:12 schreef ursel het volgende:

    [..]

    Wat is de definitie van goed.
    Kan beter, maar wel deels. Wat zal ik zeggen.

    Er liggen op de belangrijkste en grootste tabellen wel indexen, maar is de engine momenteel nog myisam. Er liggen bijvoorbeeld geen foreign keys.
    De engine zal in de nieuwe toevoer ook uitgezocht worden en denk momenteel innoDB hier voor te gebruiken.
    Maar de nieuwe data opslag zal een ander process zijn dan de huidige. Eigenlijk willen we van een ander systeem maandelijks de data opslaan en deze doorzoekbaar maken voor slechts enkele gebruikers. De hoeveelheid queries zullen dus miniem zijn, de hoeveelheid te zoeken data groot.
    Dan zijn goede indices wel belangrijk. Zeker omdat je in een grote hoeveelheid data wilt zoeken.

    Als je 1.000.000 unieke getallen hebt en je zoekt daar een specifiek getal zonder dat je weet hoe de rij gesorteerd is, dan heb je gemiddeld 500.000 pogingen nodig (gewoon vooraan beginnen, en steeds de volgende pakken tot je de goede hebt gevonden). Als je weet dat de rij oplopend gesorteerd is, heb je maximaal 20 pogingen nodig (aangenomen dat je nauwkeurig het midden kunt bepalen). Als je zoekt op een getal dat niet in de lijst staat, heb je in het eerste geval altijd 1.000.000 zoekpogingen nodig, in het tweede geval nog steeds niet meer dan 20.

    Indices in MySQL werken vast iets anders, maar een goede index heeft een zeer groot effect op de snelheid. En hoe groter je dataset, hoe groter het voordeel.
    Chandlervrijdag 20 juni 2008 @ 12:23
    Een leuke ;)

    Voor een bepaald script dat ik include moet ik weten waar het script staat (directory).

    voorbeeld:

    include("./templates/test/test.php");

    nu moet het script (test.php) weten dat het pad ./templates/test/ is om daar zijn bestanden te kunnen benaderen.

    Nu doe ik het zo

    1$_SERVER['DOCUMENT_ROOT'] . pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME) . "/pixel.gif"


    maar dat vind ik niet echt lekker werken en aangezien ik op een online webserver geen DOCUMENT_ROOT (denk ik) kan gebruiken ben ik opzoek naar een andere oplossing.

    Iemand die mij kan helpen?
    Lightvrijdag 20 juni 2008 @ 12:28
    1
    2
    3
    <?php
    include(dirname(__FILE__).'/templates/test/test.php');
    ?>
    Chandlervrijdag 20 juni 2008 @ 12:40
    @Light; het idee is goed, maar wil dat het script test weet waar het staat.

    Gaat niet om het include script maar om het script dat geincluded wordt
    #ANONIEMvrijdag 20 juni 2008 @ 12:43
    quote:
    Op vrijdag 20 juni 2008 12:28 schreef Light het volgende:

    [ code verwijderd ]
    Zonder de /templates dir neem ik aan.
    Lightvrijdag 20 juni 2008 @ 12:44
    quote:
    Op vrijdag 20 juni 2008 12:43 schreef Scorpie het volgende:

    [..]

    Zonder de /templates dir neem ik aan.
    Kan, ligt aan de directorystructuur
    Lightvrijdag 20 juni 2008 @ 12:49
    quote:
    Op vrijdag 20 juni 2008 12:40 schreef Chandler het volgende:
    @Light; het idee is goed, maar wil dat het script test weet waar het staat.

    Gaat niet om het include script maar om het script dat geincluded wordt
    Als in het directorypad op de server? Met dirname(__FILE__) krijg je de directory (zonder /) waarin het bestand met die code zich bevindt. Dus als je dat in test.php gebruikt dan weet test.php waar het staat.
    urselvrijdag 20 juni 2008 @ 13:15
    quote:
    Op woensdag 18 juni 2008 22:08 schreef Light het volgende:

    [..]

    Dan zijn goede indices wel belangrijk. Zeker omdat je in een grote hoeveelheid data wilt zoeken.

    Als je 1.000.000 unieke getallen hebt en je zoekt daar een specifiek getal zonder dat je weet hoe de rij gesorteerd is, dan heb je gemiddeld 500.000 pogingen nodig (gewoon vooraan beginnen, en steeds de volgende pakken tot je de goede hebt gevonden). Als je weet dat de rij oplopend gesorteerd is, heb je maximaal 20 pogingen nodig (aangenomen dat je nauwkeurig het midden kunt bepalen). Als je zoekt op een getal dat niet in de lijst staat, heb je in het eerste geval altijd 1.000.000 zoekpogingen nodig, in het tweede geval nog steeds niet meer dan 20.

    Indices in MySQL werken vast iets anders, maar een goede index heeft een zeer groot effect op de snelheid. En hoe groter je dataset, hoe groter het voordeel.
    De methode van indices is mij wel bekend ja

    Waar ik vooral naar op zoek ben zijn de eventuele beperkingen in MySQL wanneer je met grote hoeveelheden aan de slag gaat.
    Thomassvrijdag 20 juni 2008 @ 13:18
    quote:
    Op vrijdag 20 juni 2008 13:15 schreef ursel het volgende:

    [..]

    De methode van indices is mij wel bekend ja

    Waar ik vooral naar op zoek ben zijn de eventuele beperkingen in MySQL wanneer je met grote hoeveelheden aan de slag gaat.
    Ligt er natuurlijk aan wat je bedoelt met 'aan de slag gaan', het sorteren van, zoeken in, updaten van.
    urselvrijdag 20 juni 2008 @ 13:42
    quote:
    Op vrijdag 20 juni 2008 13:18 schreef Thomass het volgende:

    [..]

    Ligt er natuurlijk aan wat je bedoelt met 'aan de slag gaan', het sorteren van, zoeken in, updaten van.
    Gewoon het gehele proces. Ik heb eigenlijk nog nooit met grote hoeveelheden data hoeven werken en dus ook nooit problemen hoeven ondervinden in MySQL.

    De planning voor het nieuwe project is dat er maandelijk zo'n 50 - 100 mb aan data in de database opgeslagen moet gaan worden. Echter is het de bedoeling dat in de loop der jaren al deze data doorzoekbaar moet blijven.

    Ik ben dus vooral op zoek naar informatie wat een beetje de limieten zijn als data veel gaat worden, queries moeilijker te doorzoeken worden etc.
    Ik bedoel, ergens zal er toch wel een reden zijn waarom je over zou stappen van de gratis MySQL naar een dure Oracle of andere betaalde database server.
    JortKvrijdag 20 juni 2008 @ 13:49
    quote:
    Op vrijdag 20 juni 2008 13:42 schreef ursel het volgende:

    [..]

    Gewoon het gehele proces. Ik heb eigenlijk nog nooit met grote hoeveelheden data hoeven werken en dus ook nooit problemen hoeven ondervinden in MySQL.

    De planning voor het nieuwe project is dat er maandelijk zo'n 50 - 100 mb aan data in de database opgeslagen moet gaan worden. Echter is het de bedoeling dat in de loop der jaren al deze data doorzoekbaar moet blijven.

    Ik ben dus vooral op zoek naar informatie wat een beetje de limieten zijn als data veel gaat worden, queries moeilijker te doorzoeken worden etc.
    Ik bedoel, ergens zal er toch wel een reden zijn waarom je over zou stappen van de gratis MySQL naar een dure Oracle of andere betaalde database server.
    Een database van 50 - 100 mb gaat gewoon goed, mits natuurlijk je je datamodel wel op orde hebt.

    Ik heb zelf een database van 13GB, ook dit werkt nog perfect
    urselvrijdag 20 juni 2008 @ 14:07
    quote:
    Op vrijdag 20 juni 2008 13:49 schreef JortK het volgende:

    [..]

    Een database van 50 - 100 mb gaat gewoon goed, mits natuurlijk je je datamodel wel op orde hebt.

    Ik heb zelf een database van 13GB, ook dit werkt nog perfect
    Database groeit per maand met die hoeveelheid..
    Maar dan nog duurt het dus ff eer ik bij de 13 GB ben..

    Weet ik in ieder geval dat me daar geen zorgen voor hoef te maken. Bedankt..
    Lightvrijdag 20 juni 2008 @ 14:54
    quote:
    Op vrijdag 20 juni 2008 13:15 schreef ursel het volgende:

    [..]

    De methode van indices is mij wel bekend ja

    Waar ik vooral naar op zoek ben zijn de eventuele beperkingen in MySQL wanneer je met grote hoeveelheden aan de slag gaat.
    Dat ligt aan je definitie van groot. FOK! draait op MySQL. En alleen al het forum heeft ruim 59 miljoen posts. Als je dat combineert met veel pageviews dan wordt het allemaal wat lastiger qua setup enzo. Pageviews van het forum weet ik niet, maar in de tijd dat ik crew was, was een subsite met 100.000 pageviews per dag klein.
    urselvrijdag 20 juni 2008 @ 15:36
    Ik vertrouw er dus wel op dat mijn project geen probleem moet wezen voor MySQL.
    Maar wat zijn dan de voordelen om een dure databaseserver als Oracle te nemen bijvoorbeeld?
    slakkievrijdag 20 juni 2008 @ 17:03
    quote:
    Op vrijdag 20 juni 2008 12:23 schreef Chandler het volgende:
    Een leuke

    Voor een bepaald script dat ik include moet ik weten waar het script staat (directory).

    voorbeeld:

    include("./templates/test/test.php");

    nu moet het script (test.php) weten dat het pad ./templates/test/ is om daar zijn bestanden te kunnen benaderen.

    Nu doe ik het zo
    [ code verwijderd ]

    maar dat vind ik niet echt lekker werken en aangezien ik op een online webserver geen DOCUMENT_ROOT (denk ik) kan gebruiken ben ik opzoek naar een andere oplossing.

    Iemand die mij kan helpen?
    Ik doe het zo:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    // env.php 
    $BASEDIR "/home/wesleys/sbox/php";
    $LIBDIR  "$BASEDIR/lib";
    $BINDIR  "$BASEDIR/bin";
    $LIB_OPN "$LIBDIR/OPN";
    $LIB_OTH "$LIBDIR/OTHERS";
    $SMARTY  "/usr/share/php/smarty/libs";

    include_once(
    "$LIB_OPN/Util.php");
    /* set_path zit in Util.php */

    set_path($LIBDIR$BINDIR$LIB_OPN$LIB_OTH);

    function 
    set_path() {
            
    $args func_get_args();
            
    $incl_path "include_path";
            
    $include_path ini_get($incl_path);
            foreach (
    $args as $val) {
                    
    /* add check to see if path exists */
                    
    $include_path .= ":$val";
            }
            return 
    ini_set($incl_path"$include_path");
    }
    ?>


    Ik kan nu op devolgende manieren includen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    //index.php
    include_once("/path/to/env.php");

    // Includen allemaal dezelfde file.
    include_once("/path/to/OPN/Util.php");
    include_once(
    "OPN/Util.php");
    include_once(
    "Util.php");
    ?>


    En dit kan je daarna in alle files doen die door index.php geinclude worden. Util.php kan ik nu ook include_once("Something.php") doen zonder me hoef druk te maken over het pad waar de file instaat.

    Bijkomend voordeel is dat ik alle files in OPN/lib gewoon include_once("File.php") kan gebruiken zonder set_path omdat alle files die geinclude worden in de huidige dir zitten. Mocht je iets uit OTHERS of SMARTY willen hebben dan moet je wel eerst env.php includen. Of je include_once("../OTHERS/File.php");

    Ikzelf vind deze werkwijze erg prettig, aangezien ik maar in 1 file hoef bij te houden welke include paden ik wil, en doordat de rest gewoon geinclude wordt hoef ik me daar niet meer druk te maken over owje.. Waar stond dat ookalweer? Gewoon include_once("File.php") en je bent klaar.

    [ Bericht 8% gewijzigd door slakkie op 20-06-2008 17:27:19 ]
    Chandlerzondag 22 juni 2008 @ 21:55
    Stel je wilt gegevens van meerdere websites opslaan en maandelijks genereer je 10MB aan data per website (gemiddeld) zou je dan kiezen voor een database er website of 1 database voor alle sites? (meerdere website is 1 tot 10.000)

    Waarvoor zou jij kiezen en leg eens uit waarom je kiest voor jou keuze.

    Poll: 1 of meer databases?
  • 1 database
  • Meerdere databases

    Resultaten:
  • Lightzondag 22 juni 2008 @ 22:27
    Meerdere databases. Ik neem aan dat de websites sowieso al gebruik maken van een database, en daar kan best een extra tabel in voor de statistiekjes.
    Farenjizondag 22 juni 2008 @ 22:36
    Je wil misschien ook vergelijkingen en statistieken kunnen tonen over meerdere sites en dan is het vele malen praktischer als alle data in 1 database zit. Er is m.i. geen enkele goede reden om dit in meerdere databases te doen. Als het om 1 tot 10.000 sites gaat dan raakt het overzicht zo zoek als je dat opsplitst.
    Lightzondag 22 juni 2008 @ 22:39
    quote:
    Op zondag 22 juni 2008 22:36 schreef Farenji het volgende:
    Je wil misschien ook vergelijkingen en statistieken kunnen tonen over meerdere sites en dan is het vele malen praktischer als alle data in 1 database zit. Er is m.i. geen enkele goede reden om dit in meerdere databases te doen. Als het om 1 tot 10.000 sites gaat dan raakt het overzicht zo zoek als je dat opsplitst.
    Dan zou je het niet alleen in 1 database maar ook in 1 tabel moeten houden. Kan makkelijk natuurlijk.
    SuperRembozondag 22 juni 2008 @ 22:43
    Het ligt er ook maar net aan wat je uiteindelijk wil doen met al die data.
    Chandlermaandag 23 juni 2008 @ 10:31
    Tja wat wil ik met al die data doen?! statistieken genereren dat doe ik trouwens al met ipCounter.nl echter is deze database te log om te benutten.

    voorbeeld: http://www.gfxstat.com/count/testtest.png

    Verder had ik deze vraag ook op WmCity gesteld: http://www.wmcity.nl/forum_topic.php?id=631195&page=1#631238 en daar zijn de keuzes ook verdeeld qua 1 database t.o.v. meerdere databases.



    [ Bericht 17% gewijzigd door Chandler op 23-06-2008 10:40:00 ]
    slacker_nlmaandag 23 juni 2008 @ 11:20
    1 DB, en wellicht zou ik het nog in 1 table knallen ook.
    Xcaliburmaandag 23 juni 2008 @ 11:22
    Waarom gebruik je niet gewoon Google Analytics of zo'n soort programma?
    Het wiel opnieuw uitvinden heeft bij zoiets vrij weinig toegevoegde waarde volgens mij?
    Likkende_Lassiemaandag 23 juni 2008 @ 11:31
    1 Database,

    Zoals hier bovengezegt, vergelijken wordt makkelijk enz. En mij lijkt ook het updaten van de tabel structuur een stuk makkelijker/sneller te gaan!
    SuperRembomaandag 23 juni 2008 @ 11:55
    quote:
    Op maandag 23 juni 2008 10:31 schreef Chandler het volgende:
    Tja wat wil ik met al die data doen?! statistieken genereren
    Maar wil je alleen statistieken per website maken, of wil je ook statistieken over alle websites heen maken. In het tweede geval is 1 grote db waarschijnlijk handiger, anders is 1 db per website waarschijnlijk handiger en sneller.
    slacker_nlmaandag 23 juni 2008 @ 12:18
    Hoezo zouden meerdere databases het zooitje handiger maken als je per website wat wilt doen? 1 storage plek voor deze data lijkt me meer dan voldoende. De website specifieke shizzle fix je met je SQL code..

    select * from table where site = $sitename; en dus bist klaar. Om voor elke site naar een andere DB te connecten en dan select * from table te gaan doen lijkt me de boel alleen maar onnodig moeilijk maken.

    Basicly heb je 1 table nodig met daarin de values en de stats genereer je dynamisch in je PHP.. Je moet alleen de juiste data fetchen, magic doen, output printen. Een aparte DB voor elke site.. overkill.
    Mirelmaandag 23 juni 2008 @ 12:32
    Hoi, phpdummy hier , voor een portfolio opdracht voor school ben ik eventueel van plan om met een uploadform een foto up te loaden naar een fotomapje, en dan is het de bedoeling dat die foto op een andere pagina automatisch te zien zal te zijn.
    Ik heb er eigenlijk niet eens zoveel verstand van, maar ik begrijp dus dat wanneer er op de uploadknop geklikt wordt, dat de foto naar het mapje gaat, en een link ervan in een tabel (?), zodat er op de portfolio pagina die tabel uitgelezen kan worden.

    Nou is mij de vraag, als de foto geupload is, dan moet de link ervan naar de tabel, en niet het bestand zelf. En hoe laat je het precies zien op de pagina? Op het moment dat ie geupload is, dat ie op de pagina te zien is.
    super-muffinmaandag 23 juni 2008 @ 12:40
    quote:
    Op vrijdag 20 juni 2008 17:03 schreef slakkie het volgende:

    [..]

    Ik doe het zo:
    [ code verwijderd ]

    Ik kan nu op devolgende manieren includen:
    [ code verwijderd ]

    En dit kan je daarna in alle files doen die door index.php geinclude worden. Util.php kan ik nu ook include_once("Something.php") doen zonder me hoef druk te maken over het pad waar de file instaat.

    Bijkomend voordeel is dat ik alle files in OPN/lib gewoon include_once("File.php") kan gebruiken zonder set_path omdat alle files die geinclude worden in de huidige dir zitten. Mocht je iets uit OTHERS of SMARTY willen hebben dan moet je wel eerst env.php includen. Of je include_once("../OTHERS/File.php");

    Ikzelf vind deze werkwijze erg prettig, aangezien ik maar in 1 file hoef bij te houden welke include paden ik wil, en doordat de rest gewoon geinclude wordt hoef ik me daar niet meer druk te maken over owje.. Waar stond dat ookalweer? Gewoon include_once("File.php") en je bent klaar.
    Ziet er handig uit, maar wat nou als er 2 bestanden het zelfde heten in een van de ingestelde directories?
    Chandlermaandag 23 juni 2008 @ 14:17
    quote:
    Op maandag 23 juni 2008 11:20 schreef slacker_nl het volgende:
    1 DB, en wellicht zou ik het nog in 1 table knallen ook.
    Ik gebruik ruim 10 tabellen voor veel verschillende informatie onderdelen oa. user/browser/os/iprange/country/referer/hits&uniques en ga zo maar door
    quote:
    Op maandag 23 juni 2008 11:22 schreef Xcalibur het volgende:
    Waarom gebruik je niet gewoon Google Analytics of zo'n soort programma?
    Het wiel opnieuw uitvinden heeft bij zoiets vrij weinig toegevoegde waarde volgens mij?
    Dan snap ik niet dat google ooit groot is geworden? Juist door het wiel op nieuw uit te vinden kun je het verbeteren anders reden we nog steeds op houten wielen

    Maar ik lees dat 1DB gewoon toch handiger is! en ga deze wijze raad toch opvolgen!

    Mijn huidige DB (van ipCounter) gebruik zo'n 500KB per 2000 unieke gebruikers en hun gegevens
    De nieuwe database van gfxstat zal 50KB per 2000 unieke gebruikers bevatten, tevens zullen er geen dubbele gegevens worden opgeslagen wat in het geval van ipCounter wel zo was. (referers per dag, nu referers totaal plus een tabel die linkt per dag!)
    slacker_nlmaandag 23 juni 2008 @ 14:19
    quote:
    Op maandag 23 juni 2008 12:40 schreef super-muffin het volgende:
    Ziet er handig uit, maar wat nou als er 2 bestanden het zelfde heten in een van de ingestelde directories?
    Voorbeeld:

    Util.php zit in zowel /path/to/lib/OPN als /path/to/lib/Others

    Dan moet je weten welk pad als eerste in in je include_path zit:

    include_path=/path/to/lib:/path/to/lib/OPN:/path/to/lib/Others

    Dan zal hij altijd de Util.php uit lib/OPN pakken, omdat deze eerder wordt gedefinieerd. Mocht je de Util uit de andere dir willen hebben dan moet je deze expliciet includen: include_once("Others/Utils.php"). Vandaar ook dat ik /path/to/lib include, zodat ik dit soort trucjes kan uithalen.

    Persoonlijk zou ik er dan voor kiezen om 1 vd 2 bestanden te renamen (wellicht je eigen versie, aangezien je daar mee controle op hebt). Maar dit is niet altijd mogelijk... Dus expliciet includen..
    #ANONIEMmaandag 23 juni 2008 @ 14:50
    @slakkie: ik ga jouw functie ook gebruiken, thx !
    Xcaliburmaandag 23 juni 2008 @ 15:54
    quote:
    Op maandag 23 juni 2008 14:17 schreef Chandler het volgende:
    Dan snap ik niet dat google ooit groot is geworden? Juist door het wiel op nieuw uit te vinden kun je het verbeteren anders reden we nog steeds op houten wielen
    Mja, alleen zijn er inmiddels al dermate veel (en goede!) statistiekenprogramma's, al dan niet gratis, dat ik me toch echt de moeite zou besparen van al die ellende zelf uit te zoeken

    Als je iets beters dan Google Analytics hebt gefabriceerd hou ik me overigens wel aanbevolen
    slacker_nlmaandag 23 juni 2008 @ 16:42
    quote:
    Op maandag 23 juni 2008 14:50 schreef Scorpie het volgende:
    @slakkie: ik ga jouw functie ook gebruiken, thx !
    Kewl :)


    Een toegift dan ;)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function req_version($version) {
            if (
    version_compare(PHP_VERSION$version'<' ) == 1) {
                    
    trigger_error(sprintf("Required version is %s, you have %s\n"$versionPHP_VERSION),
    E_USER_ERROR);
                    exit(
    255);
            }
    }
    ?>

    In env.php roep ik deze ook aan:

    req_version("5.2.1"); en dan gaat ie barfen als je een versie lager dan 5.2.1 gebruikt..

    Die heb ik geschreven aanzien ik onder Perl ook kan aangeven, require $version:

    require v5.6.1; # run time version check
    require 5.6.1; # ditto
    require 5.006_001; # ditto; preferred for backwards compatibility

    Dat kan uiteraard niet ontbreken in PHP ;)
    Chandlermaandag 23 juni 2008 @ 16:55
    quote:
    Op vrijdag 20 juni 2008 17:03 schreef slakkie het volgende:

    [..]

    Ik doe het zo:
    [ code verwijderd ]

    Ik kan nu op devolgende manieren includen:
    [ code verwijderd ]

    En dit kan je daarna in alle files doen die door index.php geinclude worden. Util.php kan ik nu ook include_once("Something.php") doen zonder me hoef druk te maken over het pad waar de file instaat.

    Bijkomend voordeel is dat ik alle files in OPN/lib gewoon include_once("File.php") kan gebruiken zonder set_path omdat alle files die geinclude worden in de huidige dir zitten. Mocht je iets uit OTHERS of SMARTY willen hebben dan moet je wel eerst env.php includen. Of je include_once("../OTHERS/File.php");

    Ikzelf vind deze werkwijze erg prettig, aangezien ik maar in 1 file hoef bij te houden welke include paden ik wil, en doordat de rest gewoon geinclude wordt hoef ik me daar niet meer druk te maken over owje.. Waar stond dat ookalweer? Gewoon include_once("File.php") en je bent klaar.
    *stpm*stom*stom* helemaal over je post heen gelezen, op zich is jou manier ook handig maar aangezien ik nogal wat bestanden met dezelfde benaming heb (voor dit project) is het handiger om per bestand het path te includen...

    Toch tnx, op zich erg handig bedacht!
    slacker_nlmaandag 23 juni 2008 @ 17:17
    quote:
    Op maandag 23 juni 2008 16:55 schreef Chandler het volgende:

    [..]

    *stpm*stom*stom* helemaal over je post heen gelezen, op zich is jou manier ook handig maar aangezien ik nogal wat bestanden met dezelfde benaming heb (voor dit project) is het handiger om per bestand het path te includen...

    Toch tnx, op zich erg handig bedacht!
    Het houd je niet tegen hoor:

    /path/to/website/lib/hier/Stuff.php
    /path/to/website/lib/daar/Stuff.php

    set_path("/path/to/website/lib");

    include_once("daar/Stuff.php");
    include_once("hier/Stuff.php");

    Tweemaal Stuff.php uit een andere dir.
    Chandlermaandag 23 juni 2008 @ 18:28
    Ja zo kun je wel meer leuke opzetjes bedenken maar met dirname(__FILE__) kom ik trouwens precies waar ik moest zijn
    Mirelmaandag 23 juni 2008 @ 20:44
    awww niemand die mij wilt helpen?
    #ANONIEMmaandag 23 juni 2008 @ 21:28
    quote:
    Op maandag 23 juni 2008 20:44 schreef Mirel het volgende:
    awww niemand die mij wilt helpen?
    Best simpel

    1<img src="<?php echo $image_path.$resultset['naamvanplaatje']"/>


    Zoiets kom je dan op uit.

    [ Bericht 20% gewijzigd door #ANONIEM op 24-06-2008 10:05:59 ]
    PietjePuk007dinsdag 24 juni 2008 @ 10:03
    Ik probeer 't hier ook even aangezien 't met SQL ongetwijfeld ook kan . Heb de data inmiddels in acces zitten maar 't lukt nog niet hard .
    quote:
    Op dinsdag 24 juni 2008 09:34 schreef PietjePuk007 het volgende:


    Ik wil dit graag in 1 lange lijst hebben in Acces.

    Dus:
    Admiral group - 30/12/06 - 455
    Admiral group - 2/1/06 - 455
    Admiral group - 3/1/06 - 466,75

    t/m

    Xstrata - 1/1/08 - 673

    Oftewel, hoe krijg je een tabelvorm in databasevorm ? De lijst gaat een heul stuk naar beneden en een heul stuk naar rechts dus vandaar dat zo automatisch mogelijk handig is .
    edit - in acces is dus elk bedrijf een kolomnaam, het doel is een lijst van 3 kolommen waarin alle datums gecombineerd worden met alle bedrijven en de bijbehorende unieke beurskoers.
    #ANONIEMdinsdag 24 juni 2008 @ 10:07
    Pietje, begin eerst maar eens je tabelstructuur hier neer te zetten.
    qu63dinsdag 24 juni 2008 @ 10:10
    quote:
    Op dinsdag 24 juni 2008 10:03 schreef PietjePuk007 het volgende:
    Ik probeer 't hier ook even aangezien 't met SQL ongetwijfeld ook kan . Heb de data inmiddels in acces zitten maar 't lukt nog niet hard .
    [..]

    edit - in acces is dus elk bedrijf een kolomnaam, het doel is een lijst van 3 kolommen waarin alle datums gecombineerd worden met alle bedrijven en de bijbehorende unieke beurskoers.
    ik snapte je post ineens niet meer

    Maar dat kwam omdat ik em dus net ok zag in het Excel topic
    PietjePuk007dinsdag 24 juni 2008 @ 10:12
    Exact hetzelfde als in excel.
    PietjePuk007dinsdag 24 juni 2008 @ 10:34
    quote:
    Op dinsdag 24 juni 2008 10:10 schreef qu63 het volgende:
    ik snapte je post ineens niet meer
    Het komt er heel simpel op neer dat ik alle kolomnamen wil combineren met alle rijnamen en daar de unieke waard in de tabel wil bijhalen. Via welk prog dat gaat is niet belangrijk .

    Dat wordt 350 * 500 = 175.000 records, 3 kolommen namelijk "datum, bedrijf, koers"
    PietjePuk007dinsdag 24 juni 2008 @ 11:52
    Opgelost dmv VBA, door een slimme collega .
    qu63dinsdag 24 juni 2008 @ 11:53
    quote:
    Op dinsdag 24 juni 2008 11:52 schreef PietjePuk007 het volgende:
    Opgelost dmv VBA, door een slimme collega .
    hoe dan? misschien dat anderen er nog van kunnen leren
    maar dan wel in het Excel-topic denk ik
    urseldinsdag 24 juni 2008 @ 15:59
    Kheb er weer eentje

    Met de exec functie probeer ik het programma ABC Amber Excel Converter aan te sturen. Heb echter al vele manieren ondertussen geprobeerd, maar tot nog toe zonder resultaat.

    Als ik de ingevoerde executable in cmd knal werkt het proces wel gewoon goed.

    De volgende command moet aangestuurd worden:
    "C:\Program Files\ABC Amber Excel Converter\abcexcel.exe" "C:\demo.xls" "C:\demo.pdf" 3 1

    Zoals je kan zien draait het dus op windows / IIS..

    Overigens draaien we nog een ander programma vanaf de exec functie. Deze werkt wel gewoon goed. Permissies op beide exe files zijn identiek en zover ik heb kunnen achterhalen is op dit niveau geen verschil.
    Xcaliburdinsdag 24 juni 2008 @ 16:01
    Ik heb het de laatste tijd met enige regelmaat dat mensen zich ergens in moeten schrijven, en dan halverwege lekker een uur gaan zitten schijten ofzo, en daarna pas submitten. Gevolg: sessie verlopen...

    Kan ik hier wat aan doen? Session lifetime verhogen is niet altijd een optie, en ook niet per definitie wenselijk. Sessies in de database zetten is een optie, maar wat omslachtig wellicht.... Is er een makkelijke, failsave, oplossing?
    qu63dinsdag 24 juni 2008 @ 16:08
    quote:
    Op dinsdag 24 juni 2008 15:59 schreef ursel het volgende:
    Kheb er weer eentje

    Met de exec functie probeer ik het programma ABC Amber Excel Converter aan te sturen. Heb echter al vele manieren ondertussen geprobeerd, maar tot nog toe zonder resultaat.

    Als ik de ingevoerde executable in cmd knal werkt het proces wel gewoon goed.

    De volgende command moet aangestuurd worden:
    "C:\Program Files\ABC Amber Excel Converter\abcexcel.exe" "C:\demo.xls" "C:\demo.pdf" 3 1

    Zoals je kan zien draait het dus op windows / IIS..

    Overigens draaien we nog een ander programma vanaf de exec functie. Deze werkt wel gewoon goed. Permissies op beide exe files zijn identiek en zover ik heb kunnen achterhalen is op dit niveau geen verschil.
    misschien dat de spaties niet gezien worden? dus ipv een spatie %20 doen?
    urseldinsdag 24 juni 2008 @ 16:22
    quote:
    Op dinsdag 24 juni 2008 16:08 schreef qu63 het volgende:

    [..]

    misschien dat de spaties niet gezien worden? dus ipv een spatie %20 doen?
    Nope, dat is het niet.
    Ook heb ik zelf al de slashes veranderd in / en ook geprobeerd met de bijbehorende escapes.
    Ofyles2dinsdag 24 juni 2008 @ 18:52
    quote:
    Op dinsdag 24 juni 2008 10:03 schreef PietjePuk007 het volgende:
    Ik probeer 't hier ook even aangezien 't met SQL ongetwijfeld ook kan . Heb de data inmiddels in acces zitten maar 't lukt nog niet hard .
    [..]

    edit - in acces is dus elk bedrijf een kolomnaam, het doel is een lijst van 3 kolommen waarin alle datums gecombineerd worden met alle bedrijven en de bijbehorende unieke beurskoers.
    Ik zou direct via MySQL gaan. Access slaat op hol bij te grote databases.
    Tijndinsdag 24 juni 2008 @ 19:33
    Is dit een EK-grap van de kerels van PHP ofzo?

    De Nederlandse pagina in het Russisch
    slacker_nldinsdag 24 juni 2008 @ 19:37
    quote:
    Op dinsdag 24 juni 2008 19:33 schreef Tijn het volgende:
    Is dit een EK-grap van de kerels van PHP ofzo?

    De Nederlandse pagina in het Russisch
    Gewoon Engels @hier..
    Lightdinsdag 24 juni 2008 @ 19:39
    quote:
    Op dinsdag 24 juni 2008 19:33 schreef Tijn het volgende:
    Is dit een EK-grap van de kerels van PHP ofzo?

    De Nederlandse pagina in het Russisch
    Ik krijg een Engelse pagina, zonder optie om Nederlands te kiezen.
    Tijndinsdag 24 juni 2008 @ 19:42
    Oh, apart. Hier is het echt Russisch.

    qu63dinsdag 24 juni 2008 @ 19:54
    quote:
    Op dinsdag 24 juni 2008 19:39 schreef Light het volgende:

    [..]

    Ik krijg een Engelse pagina, zonder optie om Nederlands te kiezen.
    Ik krijg de Engelse mét taalkeuze
    Lightdinsdag 24 juni 2008 @ 20:29
    quote:
    Op dinsdag 24 juni 2008 19:54 schreef qu63 het volgende:

    [..]

    Ik krijg de Engelse mét taalkeuze
    Ja, met taalkeuze. Maar in het rijtje staat bij mij geen Nederlands. En ook geen Dutch.
    qu63dinsdag 24 juni 2008 @ 20:32
    quote:
    Op dinsdag 24 juni 2008 20:29 schreef Light het volgende:

    [..]

    Ja, met taalkeuze. Maar in het rijtje staat bij mij geen Nederlands. En ook geen Dutch.
    ah, zover keek ik niet
    Xcaliburdinsdag 24 juni 2008 @ 20:48
    quote:
    Op dinsdag 24 juni 2008 16:01 schreef Xcalibur het volgende:
    Ik heb het de laatste tijd met enige regelmaat dat mensen zich ergens in moeten schrijven, en dan halverwege lekker een uur gaan zitten schijten ofzo, en daarna pas submitten. Gevolg: sessie verlopen...

    Kan ik hier wat aan doen? Session lifetime verhogen is niet altijd een optie, en ook niet per definitie wenselijk. Sessies in de database zetten is een optie, maar wat omslachtig wellicht.... Is er een makkelijke, failsave, oplossing?
    Gewoon met ini_set(), soms is het makkelijker dan je denkt

    Dan is nu de volgende vraag: wat zou een intelligente waarde zijn om hem dan op de zetten?
    slacker_nldinsdag 24 juni 2008 @ 21:33
    quote:
    Op dinsdag 24 juni 2008 20:48 schreef Xcalibur het volgende:

    [..]

    Gewoon met ini_set(), soms is het makkelijker dan je denkt

    Dan is nu de volgende vraag: wat zou een intelligente waarde zijn om hem dan op de zetten?
    Hoe doe je dat dan met ini_set?

    Wellicht is een sessie van 60 minuten lang genoeg?
    Xcaliburdinsdag 24 juni 2008 @ 22:37
    met ini_set(session.gc_maxlifetime)
    Zie ook hier: http://nl.php.net/manual/en/session.configuration.php

    60 minuten lijkt wel lang genoeg op zich, maar dat lijkt de default 24 minuten ook wel zou je zeggen.... Aan de ene kant wil je natuurlijk absolute zekerheid dat het lang genoeg is, maar je wilt ook niet je sessies een jaar lang bewaren zeg maar

    Ik heb hem nu overigens op 48 minuten staan (2x 24)...


    Overigens kunnen verschillende sites op dezelfde server elkaar qua session lifetime dwars zitten kennelijk, als ze allemaal dezelfde map gebruiken om hun session files in op te slaan... Degene met de kortste lifetime pleurt ook de sessies van de rest weg: http://www.centresource.c(...)ifetime-an-adventure
    slakkiedinsdag 24 juni 2008 @ 23:05
    quote:
    Op dinsdag 24 juni 2008 22:37 schreef Xcalibur het volgende:
    met ini_set(session.gc_maxlifetime)
    Zie ook hier: http://nl.php.net/manual/en/session.configuration.php
    Thanks
    Tijndinsdag 24 juni 2008 @ 23:16
    quote:
    Op dinsdag 24 juni 2008 22:37 schreef Xcalibur het volgende:

    Overigens kunnen verschillende sites op dezelfde server elkaar qua session lifetime dwars zitten kennelijk, als ze allemaal dezelfde map gebruiken om hun session files in op te slaan... Degene met de kortste lifetime pleurt ook de sessies van de rest weg: http://www.centresource.c(...)ifetime-an-adventure
    Ja, dat probleem heb je bv met shared hosting. In Unix slaat PHP standaard z'n sessiefiles op in de /tmp directory. Maar die map is voor alle gebruikers van de server beschikbaar en anderen kunnen dan dus ook met je sessiefiles kloten.

    Ook kom je zo in de problemen als er meerdere webservers worden gebruikt (bv met load balancing). Dan zit je de ene request op de ene server (waar je sessie in de /tmp staat) en de volgende request misschien wel op een andere server (en kan je sessie niet meer gevonden worden, want die server heeft een andere /tmp dir).

    Het is daarom altijd handig om je eigen map met sessies bij te houden, liefst een level boven je document root. Moeilijk is het niet, kwestie van even een mapje maken met schrijfrechten voor de webserver en dmv van ini_set of php.ini ervoor zorgen dat "session.save_path" de sessie-map aanwijst.
    Xcaliburwoensdag 25 juni 2008 @ 09:00
    Ik begin het nut van een eigen sessiemap ook te zien inderdaad

    Alleen het meerdere webservers / loadbalancing probleem los je daar niet mee op natuurlijk, dan zul je toch echt je session in een database moeten opslaan lijkt me?
    Tijnwoensdag 25 juni 2008 @ 10:53
    quote:
    Op woensdag 25 juni 2008 09:00 schreef Xcalibur het volgende:

    Alleen het meerdere webservers / loadbalancing probleem los je daar niet mee op natuurlijk, dan zul je toch echt je session in een database moeten opslaan lijkt me?
    Nee hoor, ondanks dat er meerdere webservers zijn (met meerdere /tmp directories), heb je natuurlijk wel altijd beschikking over je eigen directory met je eigen files. En dus ook je eigen sessies.
    urselwoensdag 25 juni 2008 @ 11:29
    quote:
    Op dinsdag 24 juni 2008 15:59 schreef ursel het volgende:
    Kheb er weer eentje

    Met de exec functie probeer ik het programma ABC Amber Excel Converter aan te sturen. Heb echter al vele manieren ondertussen geprobeerd, maar tot nog toe zonder resultaat.

    Als ik de ingevoerde executable in cmd knal werkt het proces wel gewoon goed.

    De volgende command moet aangestuurd worden:
    "C:\Program Files\ABC Amber Excel Converter\abcexcel.exe" "C:\demo.xls" "C:\demo.pdf" 3 1

    Zoals je kan zien draait het dus op windows / IIS..

    Overigens draaien we nog een ander programma vanaf de exec functie. Deze werkt wel gewoon goed. Permissies op beide exe files zijn identiek en zover ik heb kunnen achterhalen is op dit niveau geen verschil.
    quote:
    Op dinsdag 24 juni 2008 16:22 schreef ursel het volgende:

    [..]

    Nope, dat is het niet.
    Ook heb ik zelf al de slashes veranderd in / en ook geprobeerd met de bijbehorende escapes.

    Iemand anders een suggestie hierop??
    slacker_nlwoensdag 25 juni 2008 @ 12:51
    quote:
    Op woensdag 25 juni 2008 11:29 schreef ursel het volgende:

    [..]


    [..]

    Iemand anders een suggestie hierop??
    Hoe roep je het momenteel aan?
    urselwoensdag 25 juni 2008 @ 14:05
    quote:
    Op woensdag 25 juni 2008 12:51 schreef slacker_nl het volgende:

    [..]

    Hoe roep je het momenteel aan?
    Even snel alle varianten hier op een simpelle manier weergegeven.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $command = '"C:\Progra~1\ABC_Amber_Excel_Converter\abcexcel.exe" "D:\wwwroot\dev\tmp\file.xls" "D:\wwwroot\dev\tmp\file.csv"  0 1';
    $command = '\"C:\\Progra~1\\ABC_Amber_Excel_Converter\\abcexcel.exe\" \"D:\\wwwroot\\dev\\tmp\\file.xls\" \"D:\\wwwroot\\dev\\tmp\\file.csv\"  0 1';
    $command = 'C:\Progra~1\ABC_Amber_Excel_Converter\abcexcel.exe D:\wwwroot\dev\tmp\file.xls D:\wwwroot\dev\tmp\file.csv 0 1';
    $command = '"C:/Progra~1/ABC_Amber_Excel_Converter/abcexcel.exe" "D:/wwwroot/dev/tmp/file.xls" "D:/wwwroot/dev/tmp/file.csv"  0 1';
    $command = '\"C:\/Progra~1\/ABC_Amber_Excel_Converter\/abcexcel.exe\" \"D:\/wwwroot\/dev\/tmp\/file.xls\" \"D:\/wwwroot\/dev\/tmp\/file.csv\"  0 1';
    $command = 'C:/Progra~1/ABC_Amber_Excel_Converter/abcexcel.exe D:/wwwroot/dev/tmp/file.xls D:/wwwroot/dev/tmp/file.csv 0 1';

    $result = exec('"'.$command.'"');
    $result = exec($command);


    Waarij de combinaties (regel nummers) :
    1-9
    2-9
    5-9
    2-8
    5-8

    een CGI error gaven. Alle andere varianten werden wel doorlopen door PHP, maar er werd niets uitgevoerd. (Te controleren aan de hand dat er geen file.csv was. )
    slacker_nlwoensdag 25 juni 2008 @ 17:08
    Joy... Een raar probleem:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
            
    function _get_manager($dn) {
                    
    $result "UNKNOWN";
                    if (
    $dn ) {
                            
    $res $this->ldap->dnExists($dn);
                            if (
    $res instanceof Net_LDAP2_Error) {
                                    
    printf("%s failed due to %s\n"__FUNCTION__"bloody hell!");
                            } elseif (
    $res === true) {
                                    
    $entry $this->ldap->getEntry($dn, array('displayName'));
                                    if (
    $entry instanceof Net_LDAP2_Entry) {
                                            return 
    $entry->getValue('displayName');
                                    }
                            }
                    }
                    return 
    "UNKNOWN";
            }
    ?>


    Ik maak gebruik van Net_LDAP2 (een PEAR package) en op mijn eigen machine werkt dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    # PHP versie 5.2.1
    User 'xxx' found, details are:
    Array
    (
        [username] => xxx
        [name] => xxx
        [phone] => +31 20 xxxxxx
        [gsm] => +31 6 xxxxxx
        [title] => xxxxx
        [info] => Armed and dangerous
        [url] => http://xxxxx/
        [email] => xxxxx@xxxxx
        [manager] => xxxxxx
    )

    # Zelfde call, op een andere server (PHP versie is hier 5.1.5)
    _get_manager failed due to bloody hell! 
    User 'xxx' found, details are:
    Array
    (
        [username] => xxx
        [name] => xxx
        [phone] => +31 20 xxxxxx
        [gsm] => +31 6 xxxxxx
        [title] => xxxxx
        [info] => Armed and dangerous
        [url] => http://xxxxx/
        [email] => xxxxx@xxxxx
        [manager] => UNKNOWN
    )
    Xcaliburwoensdag 25 juni 2008 @ 21:16
    quote:
    Op woensdag 25 juni 2008 10:53 schreef Tijn het volgende:
    Nee hoor, ondanks dat er meerdere webservers zijn (met meerdere /tmp directories), heb je natuurlijk wel altijd beschikking over je eigen directory met je eigen files. En dus ook je eigen sessies.
    Ik bedoel wanneer 1 website over meerdere webservers geloadbalanced wordt...
    Als je dan op de site inlogt op server 1 staat je sessie daar in /tmp, als je daarna naar server 2 overgezet wordt heeft die geen sessie van jou en wordt je dus uitgelogd

    Of zie ik nu iets over het hoofd?

    Ik heb overigens inmiddels mijn eigen session folder, dat lijkt probleemloos te werken
    Xcaliburwoensdag 25 juni 2008 @ 21:19
    quote:
    Op woensdag 25 juni 2008 17:08 schreef slacker_nl het volgende:
    Joy... Een raar probleem:
    [ code verwijderd ]
    Deze functie returnt altijd "UNKNOWN" ?
    qu63woensdag 25 juni 2008 @ 21:22
    quote:
    Op woensdag 25 juni 2008 21:19 schreef Xcalibur het volgende:

    [..]

    Deze functie returnt altijd "UNKNOWN" ?
    Nee, de eerste array is daar wel gevuld
    Tijnwoensdag 25 juni 2008 @ 21:24
    quote:
    Op woensdag 25 juni 2008 21:16 schreef Xcalibur het volgende:

    [..]

    Ik bedoel wanneer 1 website over meerdere webservers geloadbalanced wordt...
    Als je dan op de site inlogt op server 1 staat je sessie daar in /tmp, als je daarna naar server 2 overgezet wordt heeft die geen sessie van jou en wordt je dus uitgelogd

    Of zie ik nu iets over het hoofd?
    Nee, dat klopt precies Dat is ook gelijk het voordeel van een eigen sessie-map, want dan ben je dus niet meer afhankelijk van de server waar je op zit. Je hebt namelijk ongeacht je webserver altijd de beschikking over je eigen directories.
    quote:
    Ik heb overigens inmiddels mijn eigen session folder, dat lijkt probleemloos te werken
    Ik doe het ook voor alle sites die ik maak. Het kost weinig moeite en scheelt veel problemen
    Lightwoensdag 25 juni 2008 @ 21:33
    quote:
    Op woensdag 25 juni 2008 21:19 schreef Xcalibur het volgende:

    [..]

    Deze functie returnt altijd "UNKNOWN" ?
    Nee, op regel 11 staat ook nog een return. Met de goede voorwaarden wordt die uitgevoerd en dan de return op regel 15 niet.
    Xcaliburwoensdag 25 juni 2008 @ 21:40
    quote:
    Op woensdag 25 juni 2008 21:24 schreef Tijn het volgende:
    Ik doe het ook voor alle sites die ik maak. Het kost weinig moeite en scheelt veel problemen
    Het kost inderdaad erg weinig moeite, ik had het een stuk lastiger verwacht
    Is wel een blijvertje inderdaad....

    Wat gebruik jij als session lifetime over het algemeen? De default 24 minuten is duidelijk te kort
    quote:
    Op woensdag 25 juni 2008 21:33 schreef Light het volgende:
    Nee, op regel 11 staat ook nog een return. Met de goede voorwaarden wordt die uitgevoerd en dan de return op regel 15 niet.
    Je hebt gelijk, had ik overheen gekeken.
    Ik gebruik zelf altijd maar 1 return statement, dus ik verwachtte die andere ook niet
    Tijnwoensdag 25 juni 2008 @ 21:54
    quote:
    Op woensdag 25 juni 2008 21:40 schreef Xcalibur het volgende:

    [..]

    Wat gebruik jij als session lifetime over het algemeen? De default 24 minuten is duidelijk te kort
    Ik sla het SID op in een cookie en gebruik dat om de sessie te starten/resumen. Een sessie gaat dan niet verloren wanneer de browser wordt afgesloten. Maar wat er gebeurt wanneer een pagina 24 minuten lang staat te idlen weet ik eigenlijk niet precies.
    Xcaliburwoensdag 25 juni 2008 @ 22:01
    Een autologin dus in principe?
    Die heb ik al, dat is op zich wel een oplossing maar niet altijd wenselijk lijkt me....

    Ik heb nou de afgelopen 3 weken al van 5 verschillende klanten dat soort vage session timeout error gehoord, toch typisch... wat DOEN die mensen al die tijd tijdens het invullen van een formuliertje enzo
    Farenjiwoensdag 25 juni 2008 @ 22:04
    quote:
    Op woensdag 25 juni 2008 21:54 schreef Tijn het volgende:

    [..]

    Ik sla het SID op in een cookie en gebruik dat om de sessie te starten/resumen. Een sessie gaat dan niet verloren wanneer de browser wordt afgesloten. Maar wat er gebeurt wanneer een pagina 24 minuten lang staat te idlen weet ik eigenlijk niet precies.
    Dat is gewoon afhankelijk van de expiry time die je in de cookie instelt. Als je daar 31 december 2038 invult zoals google dan kunnen mensen gaan schijten tot ze een ons wegen, de sessie expire't niet.
    Lightwoensdag 25 juni 2008 @ 22:05
    quote:
    Op woensdag 25 juni 2008 21:54 schreef Tijn het volgende:

    [..]

    Ik sla het SID op in een cookie en gebruik dat om de sessie te starten/resumen. Een sessie gaat dan niet verloren wanneer de browser wordt afgesloten. Maar wat er gebeurt wanneer een pagina 24 minuten lang staat te idlen weet ik eigenlijk niet precies.
    Als je 24 minuten geen pagina opvraagt dan bestaat de sessie niet meer. Dan heb je niets meer aan je cookie.
    Lightwoensdag 25 juni 2008 @ 22:08
    quote:
    Op woensdag 25 juni 2008 22:04 schreef Farenji het volgende:

    [..]

    Dat is gewoon afhankelijk van de expiry time die je in de cookie instelt. Als je daar 31 december 2038 invult zoals google dan kunnen mensen gaan schijten tot ze een ons wegen, de sessie expire't niet.
    Hmmja, nu ga ik zelf twijfelen.
    slacker_nlwoensdag 25 juni 2008 @ 22:15
    quote:
    Op woensdag 25 juni 2008 21:19 schreef Xcalibur het volgende:

    [..]

    Deze functie returnt altijd "UNKNOWN" ?
    Nee Maar dat heb je al gezien..
    slacker_nlwoensdag 25 juni 2008 @ 22:16
    quote:
    Op woensdag 25 juni 2008 22:04 schreef Farenji het volgende:

    [..]

    Dat is gewoon afhankelijk van de expiry time die je in de cookie instelt. Als je daar 31 december 2038 invult zoals google dan kunnen mensen gaan schijten tot ze een ons wegen, de sessie expire't niet.
    Echt wel, gewoon je cookie wegflikkeren.
    sabandonderdag 26 juni 2008 @ 10:20
    Is het mogelijk om in PHP mee te geven dat de browser de pagina niet moet cachen?
    Want er wijzigt constant data op de website, echter als ik de URL in tik zonder de browser te sluiten zie ik de wijzigingen niet, pas na een harde refresh (F5) zie ik de gewijzigde data, dus hij onthoud het in zijn cache.
    Tiemiedonderdag 26 juni 2008 @ 10:36
    quote:
    Op donderdag 26 juni 2008 10:20 schreef saban het volgende:
    Is het mogelijk om in PHP mee te geven dat de browser de pagina niet moet cachen?
    Want er wijzigt constant data op de website, echter als ik de URL in tik zonder de browser te sluiten zie ik de wijzigingen niet, pas na een harde refresh (F5) zie ik de gewijzigde data, dus hij onthoud het in zijn cache.
    1
    2
    3
    4
    <?php
    header
    ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
    ?>


    zie ook http://www.php.net/header :-)
    Tijndonderdag 26 juni 2008 @ 10:36
    quote:
    Op donderdag 26 juni 2008 10:20 schreef saban het volgende:

    Is het mogelijk om in PHP mee te geven dat de browser de pagina niet moet cachen?
    1
    2
    3
    4
    <?php
    header
    ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
    ?>


    Wat Tiemie zegt dus
    #ANONIEMdonderdag 26 juni 2008 @ 10:46
    quote:
    Op donderdag 26 juni 2008 10:36 schreef Tijn het volgende:

    [..]
    [ code verwijderd ]

    Wat Tiemie zegt dus
    Om helemaal bitneukerig te zijn kan je zelfs stellen dat dit HTTP headers zijn, geen PHP headers

    [ Bericht 0% gewijzigd door #ANONIEM op 26-06-2008 10:53:48 ]
    Tijndonderdag 26 juni 2008 @ 10:50
    quote:
    Op donderdag 26 juni 2008 10:46 schreef Scorpie het volgende:

    [..]

    Om helemaal bitneukerig te zijn kan je zelfs stellen dat dit HTML headers zijn, geen PHP headers
    Het zijn HTTP-headers. Met HTML heeft dit weinig te maken.
    #ANONIEMdonderdag 26 juni 2008 @ 10:54
    quote:
    Op donderdag 26 juni 2008 10:50 schreef Tijn het volgende:

    [..]

    Het zijn HTTP-headers. Met HTML heeft dit weinig te maken.
    Je hebt helemaal gelijk Maakte die typo omdat ik met een cursus HTML bezig ben voor mijn zwager
    GIdonderdag 26 juni 2008 @ 11:39
    HTML naar HTTP is geen typo. Das gewoon een fout
    Dzydonderdag 26 juni 2008 @ 11:56
    Of gewoon 2 typo's
    #ANONIEMdonderdag 26 juni 2008 @ 12:15
    quote:
    Op donderdag 26 juni 2008 11:39 schreef GI het volgende:
    HTML naar HTTP is geen typo. Das gewoon een fout
    Ik haalde die 2 door elkaar. Bedoelde HTTP headers te schrijven, schreef ipv daarvan HTML
    EN NU WEER BACK ONTOPIC JA!
    slacker_nldonderdag 26 juni 2008 @ 13:51
    quote:
    Op woensdag 25 juni 2008 17:08 schreef slacker_nl het volgende:
    Joy... Een raar probleem:
    [ code verwijderd ]

    Ik maak gebruik van Net_LDAP2 (een PEAR package) en op mijn eigen machine werkt dit:
    [ code verwijderd ]
    http://pear.php.net/bugs/bug.php?id=14240

    Dit lijkt op een probleem met php 5.1.x, 5.2.x versie hebben de bug niet. Dus aan een ieder die deze bug tegenkomt (mochten jullie net_ldap2 gebruiken): PHP upgraden.
    Tijndonderdag 26 juni 2008 @ 13:53
    quote:
    Op donderdag 26 juni 2008 13:51 schreef slacker_nl het volgende:

    [..]

    PHP upgraden
    Helaas staat dat credo bij de meeste hostingproviders niet zo hoog in het vaandel
    slacker_nldonderdag 26 juni 2008 @ 14:13
    quote:
    Op donderdag 26 juni 2008 13:53 schreef Tijn het volgende:

    [..]

    Helaas staat dat credo bij de meeste hostingproviders niet zo hoog in het vaandel
    Ik ga er niet vanuit dat op het moment dat je met LDAP connect dat je je sites extern host (en dus ook afhankelijk bent van je hoster om PHP te upgraden).
    Tijndonderdag 26 juni 2008 @ 14:14
    quote:
    Op donderdag 26 juni 2008 14:13 schreef slacker_nl het volgende:

    [..]

    Ik ga er niet vanuit dat op het moment dat je met LDAP connect dat je je sites extern host (en dus ook afhankelijk bent van je hoster om PHP te upgraden).
    Ik bedoelde het meer in het algemeen
    sabandonderdag 26 juni 2008 @ 14:22
    quote:
    Op donderdag 26 juni 2008 10:36 schreef Tiemie het volgende:

    [..]
    [ code verwijderd ]

    zie ook http://www.php.net/header :-)
    Ik dank u mijnheer.
    urseldonderdag 26 juni 2008 @ 14:26
    quote:
    Op dinsdag 24 juni 2008 15:59 schreef ursel het volgende:
    Kheb er weer eentje

    Met de exec functie probeer ik het programma ABC Amber Excel Converter aan te sturen. Heb echter al vele manieren ondertussen geprobeerd, maar tot nog toe zonder resultaat.

    Als ik de ingevoerde executable in cmd knal werkt het proces wel gewoon goed.

    De volgende command moet aangestuurd worden:
    "C:\Program Files\ABC Amber Excel Converter\abcexcel.exe" "C:\demo.xls" "C:\demo.pdf" 3 1

    Zoals je kan zien draait het dus op windows / IIS..

    Overigens draaien we nog een ander programma vanaf de exec functie. Deze werkt wel gewoon goed. Permissies op beide exe files zijn identiek en zover ik heb kunnen achterhalen is op dit niveau geen verschil.
    quote:
    Op woensdag 25 juni 2008 14:05 schreef ursel het volgende:

    [..]

    Even snel alle varianten hier op een simpelle manier weergegeven.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $command = '"C:\Progra~1\ABC_Amber_Excel_Converter\abcexcel.exe" "D:\wwwroot\dev\tmp\file.xls" "D:\wwwroot\dev\tmp\file.csv"  0 1';
    $command = '\"C:\\Progra~1\\ABC_Amber_Excel_Converter\\abcexcel.exe\" \"D:\\wwwroot\\dev\\tmp\\file.xls\" \"D:\\wwwroot\\dev\\tmp\\file.csv\"  0 1';
    $command = 'C:\Progra~1\ABC_Amber_Excel_Converter\abcexcel.exe D:\wwwroot\dev\tmp\file.xls D:\wwwroot\dev\tmp\file.csv 0 1';
    $command = '"C:/Progra~1/ABC_Amber_Excel_Converter/abcexcel.exe" "D:/wwwroot/dev/tmp/file.xls" "D:/wwwroot/dev/tmp/file.csv"  0 1';
    $command = '\"C:\/Progra~1\/ABC_Amber_Excel_Converter\/abcexcel.exe\" \"D:\/wwwroot\/dev\/tmp\/file.xls\" \"D:\/wwwroot\/dev\/tmp\/file.csv\"  0 1';
    $command = 'C:/Progra~1/ABC_Amber_Excel_Converter/abcexcel.exe D:/wwwroot/dev/tmp/file.xls D:/wwwroot/dev/tmp/file.csv 0 1';

    $result = exec('"'.$command.'"');
    $result = exec($command);
    quote:
    Waarij de combinaties (regel nummers) :
    1-9
    2-9
    5-9
    2-8
    5-8

    een CGI error gaven. Alle andere varianten werden wel doorlopen door PHP, maar er werd niets uitgevoerd. (Te controleren aan de hand dat er geen file.csv was. )
    Toch nog een wanhopig kickje..
    Farenjidonderdag 26 juni 2008 @ 16:53
    Ursel, onder welke user draait de webserver? Heeft die schrijfrechten op de betreffende mappen?
    Zie je in de logfiles niks wat je verder kan helpen?
    qu63donderdag 26 juni 2008 @ 17:12
    En misschien Program Files voluit schrijven?
    urseldonderdag 26 juni 2008 @ 17:29
    Draait onder de IISUSER. Alle andere processen draaien goed. De temp is een generieke folder welke voor andere processen ook benaderd wordt.
    Daarnaast hebben we nog een andere software welke we aansturen vanuit exec. Deze program files folder heeft dezelfde rechten als ABC converter.

    Deze wordt ook benaderd als Progra~1 zonder problemen. Toch nog even snel een test gedaan echter zonder succes.

    Geen relaterende logs nog kunnen vinden. Niet vanuit PHP, nog windows of IIS.

    [ Bericht 15% gewijzigd door ursel op 26-06-2008 17:35:03 ]
    Tijndonderdag 26 juni 2008 @ 17:32
    En als je een batch-file maakt die het commando aanroept wat je nodig hebt? Werkt het dan wel als je die batchfile uitvoert?
    Chandlerdonderdag 26 juni 2008 @ 20:46
    Ik zit weer eens te sjitten met die stomme regexjes en heb het volgende

    Country: NETHERLANDS (NL)
    City: Groningen
    Latitude: 53.2167
    Longitude: 6.56667

    Nu wil ik de volgende gegevens filteren.
    Netherlands
    NL
    Groningen
    53.2167
    6.56667

    Nu had ik reeds het volgende
    !Country: \w+[:space:]\([A-Z]){2}\)
    City: (\w+)
    Latitude: \d+.\d+
    Longitude: \d+.\d+/ism

    maar helaas, krijg er niets uit... waar ga ik nu weer de fout in?

    De longitude kan trouwens ook een min getal bevatten...
    Lightdonderdag 26 juni 2008 @ 22:39
    quote:
    Op donderdag 26 juni 2008 20:46 schreef Chandler het volgende:
    Ik zit weer eens te sjitten met die stomme regexjes en heb het volgende

    Country: NETHERLANDS (NL)
    City: Groningen
    Latitude: 53.2167
    Longitude: 6.56667

    Nu wil ik de volgende gegevens filteren.
    Netherlands
    NL
    Groningen
    53.2167
    6.56667

    Nu had ik reeds het volgende
    !Country: \w+[:space:]\([A-Z]){2}\)
    City: (\w+)
    Latitude: \d+.\d+
    Longitude: \d+.\d+/ism

    maar helaas, krijg er niets uit... waar ga ik nu weer de fout in?

    De longitude kan trouwens ook een min getal bevatten...
    Om het leuker te maken, ook latitude kan negatief zijn. Heb je altijd dezelfde opmaak die je probeert te parsen?
    HuHudonderdag 26 juni 2008 @ 22:47
    Waarom doe je niet zoiets:

    1
    2
    3
    4
    <?php
    $temp 
    explode(' ''Latitude: 53.2167');
    $latitude $temp[1];
    ?>


    Al je benodigde informatie wordt toch voorafgegaan door een spatie, dus dat is geen probleem lijkt me.
    SuperRembodonderdag 26 juni 2008 @ 23:40
    quote:
    Op donderdag 26 juni 2008 20:46 schreef Chandler het volgende:
    [...]
    Country: NETHERLANDS (NL)
    City: Groningen
    Latitude: 53.2167
    Longitude: 6.56667
    [...]
    Voor het parsen van de hostip.info data pak ik 't veel simpeler aan.
  • Eerst spillten op \n zodat je losse regels krijgt
  • Dan heb je per regel iets van "Key: value"
  • Aan de hand van de key parse je dan de value
  • Xcaliburvrijdag 27 juni 2008 @ 08:26
    Of je replaced gewoon de country / city / etc eraf
    Chandlervrijdag 27 juni 2008 @ 09:49
    Het probleem is dat ik het nu uit ga lezen met fsockopen aangezien ik daar gebruik kan maken van een timeout tijd en met file, get_file_content niet...En fsockopen geeft veel meer info terug dan ik eingelijk wil

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    HTTP/1.1 200 OK
    Connection: close
    Transfer-Encoding: chunked
    X-Powered-By: PHP/5.2.0
    Content-Type: text/plain; charset=iso-8859-1
    Expires: Sat, 28 Jun 2008 08:03:29 GMT
    Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
    Cache-Control: public, max-age=86400
    Pragma: !invalid
    Date: Fri, 27 Jun 2008 08:03:29 GMT
    Server: lighttpd/1.4.8

    4e
    Country: NETHERLANDS (NL)
    City: Groningen
    Latitude: 53.2167
    Longitude: 6.56667
    0


    nu wil ik graag via een regexje de inhoud filteren. en aangezien de headers altijd kunnen veranderen leek een regexje mij de perfecte oplossing.

    Heb het volgende ook geprobeerd maar wederom zonder succes

    1
    2
    3
    4
    '/Country: ([^\r\n]
    City: ([^\r\n]
    Latitude: ([-+]?[0-9]*\.?[0-9]+)
    Longitude:  ([-+]?[0-9]*\.?[0-9]+)/ism'
    Farenjivrijdag 27 juni 2008 @ 10:13
    De methode van SuperRembo is inderdaad verreweg het handigst. Eerst splitten op enters, daarna splitten op spaties, en dan ben je eigenlijk al zo goed als klaar. Is ook veel minder foutgevoelig dan zo'n superregexp die je probeert te bouwen.
    Chandlervrijdag 27 juni 2008 @ 10:18
    Hoezo minder foutgevoelig? als je weet wat voor gegevens je zou kunnen vinden, kun je daar de regex toch op instellen? en stel de server van hostip wordt veranderd en ik krijg er een extra header bij, dan zit ik alweer met de sores
    slacker_nlvrijdag 27 juni 2008 @ 10:37
    quote:
    Op vrijdag 27 juni 2008 10:18 schreef Chandler het volgende:
    Hoezo minder foutgevoelig? als je weet wat voor gegevens je zou kunnen vinden, kun je daar de regex toch op instellen? en stel de server van hostip wordt veranderd en ik krijg er een extra header bij, dan zit ik alweer met de sores
    Ik zou gewoon met split werken als ik jouw was, met is_numeric kan je zien of een getal een float is (en dus heb je geen regexp nodig voor (negatieve) getallen).

    Tis minder foutgevoelig, het feit dat je nu al loopt te kloten met een (simpele) regexp geeft aan dat op het moment dat er een bug in je regexp hebt dat je dagen ermee bezig bent om het op te lossen, terwijl als je met split werkt, dat je veel sneller de fout gevonden hebt. In een regexp doe je het misschien in minder regels, maar met split kan je de regels onafhankelijk van wat de values zijn eruit trekken en daarna kan je de values checken of ze wel goed zijn. Ik zou trouwens splitten op ': '. Je hebt geen regexp kennis nodig om deze values uitelkaar te trekken.

    Je regexp voor country moet trouwens zijn:

    ^\w+:((?:\s+\S+)+)

    Hoe je de (NL) uit die regel trekt, dat mag je zelf uitzoeken..

    [ Bericht 28% gewijzigd door slacker_nl op 27-06-2008 10:46:47 ]
    Tijnvrijdag 27 juni 2008 @ 11:01
    Some people, when faced with a problem, think "I know! I'll use regular expressions!". Now they have two problems.
    GIvrijdag 27 juni 2008 @ 11:02
    slacker_nlvrijdag 27 juni 2008 @ 11:10
    quote:
    Op vrijdag 27 juni 2008 11:02 schreef GI het volgende:
    [ afbeelding ]
    Hahahaha, die heb ik al een keertje eerder gepost in deze topicreeks.


    Maar ik heb een ubern00b question.

    Kan je <a href="http://server/page.php?search=something">klik hier</a> ook dmv van een POST submitten? Dit wordt standaard een GET, nu kan ik wel met mod_rewrite aan de slag, maar volgens mij moet het op een andere manier ook kunnen. Iemand een idee?
    Chandlervrijdag 27 juni 2008 @ 11:13
    Je hebt gelijk slacker_nl maar al zou je een regex per 'onderdeel' doen, dan leek het mij toch sneller, alle kleine beetjes helpen.

    Ik heb het trouwens nu zo opgelost

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
            $lines 
    explode("\n"$buf);
            
            
    $geopIp = array();
            
            foreach (
    $lines AS $id => $content)
            {
                if (
    substr($content08) == "Country:")
                {
                    
    $str substr($content9strlen($content) - 9);
                    
                    
    $i strpos($str"(");
                    
                    if (
    $i 0)
                    {
                        
    $geoIp['country'] = trim(substr($str0$i));
                        
    $geoIp['country_code'] = trim(substr($str$i+12));
                    }
                    else
                    {
                        
    $geoIp['country'] = trim($str);
                    }
                }
                elseif (
    substr($content05) == "City:")
                {
                    
    $str substr($content6strlen($content) - 6);
                    
                    
    $i strpos($str",");
                    
                    if (
    $i 0)
                    {
                        
    $geoIp['city'] = trim(substr($str0$i));
                        
    $geoIp['state'] = trim(substr($str$istrlen($str) - $i));
                    }
                    else
                    {
                        
    $geoIp['city'] = trim($str);
                        
    $geoIp['state'] = "";
                    }
                }
                elseif (
    substr($content09) == "Latitude:")
                {
                    
    $geoIp['latitude'] = trim(substr($content10strlen($content) - 10));
                }
                elseif (
    substr($content010) == "Longitude:")
                {
                    
    $geoIp['longitude'] = trim(substr($content11strlen($content) - 11));
                }
            }
    ?>


    uitvoer

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Array
    (
        [country] => NETHERLANDS
        [country_code] => NL
        [city] => Groningen
        [state] => 
        [latitude] => 53.2167
        [longitude] => 6.56667
    )
    Dzyvrijdag 27 juni 2008 @ 11:15
    quote:
    Op vrijdag 27 juni 2008 11:10 schreef slacker_nl het volgende:

    [..]

    Hahahaha, die heb ik al een keertje eerder gepost in deze topicreeks.


    Maar ik heb een ubern00b question.

    Kan je <a href="http://server/page.php?search=something">klik hier</a> ook dmv van een POST submitten? Dit wordt standaard een GET, nu kan ik wel met mod_rewrite aan de slag, maar volgens mij moet het op een andere manier ook kunnen. Iemand een idee?
    Niet in puur HTML, je kunt wel een linkje maken en met JavaScript een onClick event maken die een form submit.
    #ANONIEMvrijdag 27 juni 2008 @ 11:16
    quote:
    Op vrijdag 27 juni 2008 11:13 schreef Chandler het volgende:
    Je hebt gelijk slacker_nl maar al zou je een regex per 'onderdeel' doen, dan leek het mij toch sneller, alle kleine beetjes helpen.

    Ik heb het trouwens nu zo opgelost
    [ code verwijderd ]

    uitvoer
    [ code verwijderd ]
    Brrrr, dat kan veel mooier Chandler! Ga eens met eigen gemaakte functies werken
    Tiemievrijdag 27 juni 2008 @ 11:16
    quote:
    Op vrijdag 27 juni 2008 09:49 schreef Chandler het volgende:
    Het probleem is dat ik het nu uit ga lezen met fsockopen aangezien ik daar gebruik kan maken van een timeout tijd en met file, get_file_content niet...En fsockopen geeft veel meer info terug dan ik eingelijk wil
    [ code verwijderd ]

    nu wil ik graag via een regexje de inhoud filteren. en aangezien de headers altijd kunnen veranderen leek een regexje mij de perfecte oplossing.

    Heb het volgende ook geprobeerd maar wederom zonder succes
    [ code verwijderd ]


    is cURL geen optie voor je? daarmee kun je namelijk zelf instellen of je wél of géén headers wilt én je kan een timeout opgeven.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    function doRequest($url) {
        
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL$url);
        
    curl_setopt($chCURLOPT_HEADERfalse); // geen header
        
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
        
    curl_setopt($chCURLOPT_TIMEOUT10);
        
    $contents curl_exec($ch);
        
    curl_close($ch);
        return 
    $contents;
    }
    var_dump(doRequest('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true')); // adres bestaat
    var_dump(doRequest('http://bla')); // geeft false terug <img class="rde_img_smiley" src="http://i.fok.nl/s/smile.gif" width="15" height="15" alt="" />
    ?>
    slacker_nlvrijdag 27 juni 2008 @ 11:18
    quote:
    Op vrijdag 27 juni 2008 11:15 schreef Dzy het volgende:

    [..]

    Niet in puur HTML, je kunt wel een linkje maken en met JavaScript een onClick event maken die een form submit.
    Javascript heb ik nog geen kaas van gegeten, heb je ergens een stukje code liggen waarmee ik kan spelen?
    GIvrijdag 27 juni 2008 @ 11:22
    <a href="javascript:document.formName.submit();">Submit Form</a>
    GIvrijdag 27 juni 2008 @ 11:23
    Al is
    <a href="#" onclick="document.formName.submit();">Submit Form</a>

    netter natuurlijk
    Tijnvrijdag 27 juni 2008 @ 11:24
    Nadeel van zo'n truc is natuurlijk wel dat clients die geen javascript ondersteunen of dat bewust uit hebben staan je website niet meer kunnen gebruiken.

    Wat is überhaupt je probleem met GET?
    slacker_nlvrijdag 27 juni 2008 @ 11:30
    quote:
    Op vrijdag 27 juni 2008 11:13 schreef Chandler het volgende:
    Je hebt gelijk slacker_nl maar al zou je een regex per 'onderdeel' doen, dan leek het mij toch sneller, alle kleine beetjes helpen.

    Ik heb het trouwens nu zo opgelost
    [ code verwijderd ]

    uitvoer
    [ code verwijderd ]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    $stuff 
    = array("Country: NETHERLANDS (NL)""City: Groningen""Latitude: 53.2167""Longitude: 6.56667");

    $result = array();
    foreach(
    $stuff as $v) {
        
    $arr split(': '$v);
        
    $k strtolower(array_shift($arr));
        
    $result[$k] = join(": "$arr);
    }

    if (
    array_key_exists("country"$result)) {
        list(
    $result['country'], $result['tla']) = split("\("$result['country']);
        
    $result['country'] = trim($result['country']);
        
    $result['tla'] = str_replace(")"""$result['tla']);
    }

    /* Voeg nog is_numeric checks toe voor langitude en longitude */

    print_r($result);
    ?>
    slacker_nlvrijdag 27 juni 2008 @ 11:32
    quote:
    Op vrijdag 27 juni 2008 11:24 schreef Tijn het volgende:
    Nadeel van zo'n truc is natuurlijk wel dat clients die geen javascript ondersteunen of dat bewust uit hebben staan je website niet meer kunnen gebruiken.

    Wat is überhaupt je probleem met GET?
    Ik wil die ?search=something niet in m'n adresbalk (het is een cosmetisch ding, verder niet). En mensen die geen javascript hebben aanstaan, die moeten het gewoon aanzetten.
    Tijnvrijdag 27 juni 2008 @ 11:39
    quote:
    Op vrijdag 27 juni 2008 11:32 schreef slacker_nl het volgende:

    [..]

    Ik wil die ?search=something niet in m'n adresbalk (het is een cosmetisch ding, verder niet).
    Dan zou je ook eerst de GET-variabelen kunnen processen en daarna de user doorsturen naar een pagina met een cleanere URL.
    quote:
    En mensen die geen javascript hebben aanstaan, die moeten het gewoon aanzetten.
    Wat als dat niet kan, omdat ze bijvoorbeeld gebruik maken van een text-mode browser via een shell, een mobiele browser die Javascript niet ondersteunt of een Screenreader?
    slacker_nlvrijdag 27 juni 2008 @ 11:46
    quote:
    Op vrijdag 27 juni 2008 11:39 schreef Tijn het volgende:

    [..]

    Dan zou je ook eerst de GET-variabelen kunnen processen en daarna de user doorsturen naar een pagina met een cleanere URL.
    [..]

    Wat als dat niet kan, omdat ze bijvoorbeeld gebruik maken van een text-mode browser via een shell, een mobiele browser die Javascript niet ondersteunt of een Screenreader?
    Mmm, text browsing kan op die site, dus dat mag inderdaad niet breken.. Al kan Elinks wel Javascript aan...
    Tijnvrijdag 27 juni 2008 @ 11:47
    quote:
    Op vrijdag 27 juni 2008 11:46 schreef slacker_nl het volgende:

    [..]

    Mmm, text browsing kan op die site, dus dat mag inderdaad niet breken..
    Niks mis met Javascript om dingen te verfraaien hoor. Maar het is altijd jammer als de basisfunctionaliteit van een site verloren gaat als het niet wordt ondersteund.
    GIvrijdag 27 juni 2008 @ 11:48
    Herbouw dan gewoon een beetje waardoor je http://site/search/query kan doen. Ziet er gelikt zat uit
    slacker_nlvrijdag 27 juni 2008 @ 11:50
    quote:
    Op vrijdag 27 juni 2008 11:48 schreef GI het volgende:
    Herbouw dan gewoon een beetje waardoor je http://site/search/query kan doen. Ziet er gelikt zat uit
    Ik zat te hopen dat ik niet teveel hoef aan te passen aangezien mijn HTML kennis echt niet top is. Ik kan een default pagina bouwen, maar zodra er wat meer moet kunnen dan default houdt het echt op.

    Maar we hebben als een ?search=bla in de post, als je meer dan 1 resultaat te terugkrijgt kom je in een table die alle resultaten teruggeeft met wat info. Als je meer info wilt hebben klik je op een linkje en daar zit ?search=found in (zeg maar), die link met ?search=found wil ik niet met een GET hebben, maar in een POST...
    Chandlervrijdag 27 juni 2008 @ 13:05
    quote:
    Op vrijdag 27 juni 2008 11:16 schreef Scorpie het volgende:
    Brrrr, dat kan veel mooier Chandler! Ga eens met eigen gemaakte functies werken
    Kan idd veel mooier, maar dit is toch goed genoeg? lijkt mij
    quote:
    Op vrijdag 27 juni 2008 11:16 schreef Tiemie het volgende:
    is cURL geen optie voor je? daarmee kun je namelijk zelf instellen of je wél of géén headers wilt én je kan een timeout opgeven.
    [ code verwijderd ]
    Ik ben idd nog niet echt heel veel mer cURL bezig geweest maar idd was een handige optie. Maar nu heb ik het reeds met fsockopen, is het een groot voordeel als ik cURL gebruik?
    quote:
    Op vrijdag 27 juni 2008 11:30 schreef slacker_nl het volgende:
    [ code verwijderd ]
    Ziet er ook heel netjes uit maar is dat van mij dan zo langdradig ofzo?
    slacker_nlvrijdag 27 juni 2008 @ 13:41
    quote:
    Op vrijdag 27 juni 2008 13:05 schreef Chandler het volgende:

    Ik ben idd nog niet echt heel veel mer cURL bezig geweest maar idd was een handige optie. Maar nu heb ik het reeds met fsockopen, is het een groot voordeel als ik cURL gebruik?

    Ziet er ook heel netjes uit maar is dat van mij dan zo langdradig ofzo?
    Denk dat met curl je code schoner wordt. Ikzelf zou voor curl kiezen ipv zelf een socket openen en de data fetchen. Al is het een leuke 'for science approach' om het zelf met fsockopen te doen. Maar ik zou het in een productieomgeving niet doen, tenzij er een echt goede reden is om het wel te doen. Je wilt niet te low-level bezig zijn, dus de curl abstractielaag erboven is gewoon prettiger werken.

    Je codebase is met 50% verminderd, dus je code was langdradig. Waarom iets doen in 50 regels als het in 20 kan? De footprint lijkt hetzelfde te zijn, dus je kan je eigen code gewoon houden

    [ Bericht 4% gewijzigd door slacker_nl op 27-06-2008 14:08:57 ]
    Farenjivrijdag 27 juni 2008 @ 16:50
    quote:
    Op vrijdag 27 juni 2008 13:05 schreef Chandler het volgende:

    Ik ben idd nog niet echt heel veel mer cURL bezig geweest maar idd was een handige optie. Maar nu heb ik het reeds met fsockopen, is het een groot voordeel als ik cURL gebruik?
    Een groot voordeel? Essentieel!
    Misschien wil je ooit nog eens iets over SSL doen ofzo, en als je dat met fsockopen wil gaan doen.... succes!
    Het is handig om zo breed en ver mogelijk te kijken, zodat je niet alleen de problemen oplost die je nu op dit moment tegenkomt maar ook klaar bent voor eventuele uitbreidingen die later kunnen komen. En dat je dus niet heel je applicatie weer vanaf de grond opnieuw moet opbouwen omdat je niet generiek en breed genoeg hebt ontworpen. Zonde van de tijd en moeite.
    slacker_nlvrijdag 27 juni 2008 @ 17:26
    quote:
    Op vrijdag 27 juni 2008 11:47 schreef Tijn het volgende:

    [..]

    Niks mis met Javascript om dingen te verfraaien hoor. Maar het is altijd jammer als de basisfunctionaliteit van een site verloren gaat als het niet wordt ondersteund.
    Ik ben eruit dat dat gedeelte van de site mag breken indien ik JS ga gebruiken om die ?search=stuff uit de adresbalk te krijgen.

    Die pagina maakt toch gebruik van een klasse die ik zelf heb geschreven en dat heb ik nu ook in een CLI ding zitten, dus.. JS its going to be. De enige die een tekstbrowser zullen gebruiken zullen toch wel van mijn CLI script gebruik gaan maken, dus het is geen ramp..
    Chandlervrijdag 27 juni 2008 @ 17:28
    Maar wat is het voordeel nou precies? als het er alleen schoner van wordt vind ik het niet reden genoeg
    slacker_nlvrijdag 27 juni 2008 @ 17:33
    quote:
    Op vrijdag 27 juni 2008 17:28 schreef Chandler het volgende:
    Maar wat is het voordeel nou precies? als het er alleen schoner van wordt vind ik het niet reden genoeg
    Lees de documentatie van curl. Je wilde ook het voordeel van PDO niet inzien...
    Chandlerzondag 29 juni 2008 @ 10:36
    Ik heb de documentatie doorgelezen maar er staat echt nergens wat nu het voordeel is ten opzichte van fsockopen, maar goed... cURL is idd ook niet al te moeilijk

    Verder een andere vraag; is er een manier om de fouten die mysql genereerd op te vangen met een errorhandler zonder aan iedere mysql_query een or doeiets() funcie vast te plakken?
    #ANONIEMzondag 29 juni 2008 @ 11:09
    quote:
    Op zondag 29 juni 2008 10:36 schreef Chandler het volgende:
    Verder een andere vraag; is er een manier om de fouten die mysql genereerd op te vangen met een errorhandler zonder aan iedere mysql_query een or doeiets() funcie vast te plakken?
    Niet echt. Maar je hoeft ook niet aan elke mysql query "handmatig" die errorhandling functie toe te voegen.

    Stel je hebt een db class en daarin heb je de functie query. In die functie query laat je de errorhandling over aan de class errorhandling.

    Hierdoor heb je dus maar 1 keer je errorhandling vast te leggen.
    Chandlerzondag 29 juni 2008 @ 11:11
    Correct, maar mijn DB class was nogal aan de zuigende kant en heb ik uit het huidige project gesloopt... Maar er moet toch een manier zijn om ook die fouten af te vangen?
    #ANONIEMzondag 29 juni 2008 @ 11:38
    quote:
    Op zondag 29 juni 2008 11:11 schreef Chandler het volgende:
    Correct, maar mijn DB class was nogal aan de zuigende kant en heb ik uit het huidige project gesloopt... Maar er moet toch een manier zijn om ook die fouten af te vangen?
    Als je OO werkt, hoef je het maar op 1 plek af te vangen
    ralfiezondag 29 juni 2008 @ 12:01
    kan ik

    1
    2
    UPDATE tbl SET x='y' WHERE z=0
    UPDATE tbl SET x='q' WHERE z=3

    op de een of andere manier in één querie doen?

    (ben wat ouwe code aan het optimizen, vandaar de vraag)
    SuperRembozondag 29 juni 2008 @ 12:05
    1
    2
    3
    UPDATE tbl 
    SET x = CASE z WHEN 0 THEN 'y' ELSE 'q' END
    WHERE z = IN (0, 3)
    ralfiezondag 29 juni 2008 @ 13:34
    danke
    Qunixzondag 29 juni 2008 @ 20:22
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    for ($i date("Y"); $i 1989$i--) {
        if (
    $i date("Y")) {
            echo 
    "<li><h3>" $i " - " . ($i+1) . "</h3></li>\n";
        } elseif (
    $i date("Y")+1) {
            echo 
    "<li><h4>" $i " - " . ($i+1) . "</h4></li>\n";
        } else {
            echo 
    "<li>" $i " - " . ($i+1) . "</li>\n";
        }
    }
    ?>


    Kan iemand mij helpen met het volgende. Wat ik wil hebben is een lijst met jaartallen en dit jaar moet hij in <h3> zijn en vorig jaar in <h4>.
    Wat hierboven staat doet het niet helemaal... Als ik de if uit sloop laat hij het juist zien. Hij komt nu in een eindeloze loop.

    Wie kan mij helpen?
    Tijnzondag 29 juni 2008 @ 20:24
    == ipv = ?
    Qunixzondag 29 juni 2008 @ 20:27
    quote:
    Op zondag 29 juni 2008 20:24 schreef Tijn het volgende:
    == ipv = ?
    Oef... Denk dat ik te lang aan het coderen ben.. Thanks!
    #ANONIEMmaandag 30 juni 2008 @ 08:58
    quote:
    Op zondag 29 juni 2008 20:27 schreef Qunix het volgende:

    [..]

    Oef... Denk dat ik te lang aan het coderen ben.. Thanks!
    Als je te lang aan het coderen bent maak je juist niet zulke fouten
    slacker_nlmaandag 30 juni 2008 @ 13:38
    quote:
    Op zondag 29 juni 2008 10:36 schreef Chandler het volgende:
    Ik heb de documentatie doorgelezen maar er staat echt nergens wat nu het voordeel is ten opzichte van fsockopen, maar goed... cURL is idd ook niet al te moeilijk
    libcurl kan ssh, ftp, sftp, http, https, etc etc aan, daar waar je dit niet voor elkaar krijgt met fsockopen, zoals eerder gezegd.
    quote:
    http://curl.haxx.se/

    curl is a command line tool for transferring files with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume, proxy tunneling and a busload of other useful tricks.
    quote:
    http://devzone.zend.com/a(...)and-libcurl-with-PHP

    cURL and libcurl are libaries that allow a webserver to transfer files with a remote computer using a variety of Internet protocols. The libaries are highly configurable, allowing practically any type of client-server request to be peformed. By using these tools, a webserver can act as a client, creating and responding to requests using any technology built on HTTP, like XML-RPC, SOAP, or WebDAV.
    Het voordeel: Jij hoeft niet alles zelf te implementeren, je maakt gebruik van curl en je kan zo HTTPS/HTTP gaan praten zonder al teveel code aan te passen. Wat is het voordeel van curl tov fsockopen? Waarom zou je zelf iets bedenken als libcurl bijna standaard wordt meegeleverd (op Unix), en het werkt ook op Windows machines..

    De curl documentatie is duidelijk, ik wil de documentatie van jouw eigen functie wel eens zien. Anders gezegd, als je libcurl gebruikt kunnen andere mensen de documentatie van curl erbij pakken en het geheel uitbreiden. Dat kan ook met je eigen functies, maar dat kost toch meer tijd en er is minder documentatie van, plus het is niet een standaard oplossing.

    De voordelen van curl:
    * Standaard library
    * Documentatie
    * Code is makkelijker over te dragen / te begrijpen door anderen.
    sabanmaandag 30 juni 2008 @ 14:08
    Is dit samen te voegen tot een korter/kleiner query?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
            $bezetQuery        
    =    "SELECT `computernr`, `student`, `starttijd` FROM `computers` WHERE `computernr` = '$rij[0]'";
            
    $bezetSql        =    mysql_query($bezetQuery);
            
            
    $studentnr        =    mysql_result($bezetSql0student);
            
    $starttijd        =    mysql_result($bezetSql0starttijd);
            
            
    $stuinfoQuery    =    "SELECT `studentnr`, `voornaam`, `achternaam` FROM `studenten` WHERE `studentnr` = '$studentnr'";
            
    $stuinfoSql        =    mysql_query($stuinfoQuery);
            
            
    $studentvnaam    =    mysql_result($stuinfoSql0voornaam);
            
    $studentanaam    =    mysql_result($stuinfoSql0achternaam);
    ?>
    GImaandag 30 juni 2008 @ 14:12
    Ja. Join op student naar studentnr li[jkt mij zo.
    urselmaandag 30 juni 2008 @ 16:19
    quote:
    Op donderdag 26 juni 2008 17:32 schreef Tijn het volgende:
    En als je een batch-file maakt die het commando aanroept wat je nodig hebt? Werkt het dan wel als je die batchfile uitvoert?
    Zo, weer even wat tijd hiervoor gevonden om eraan te knutselen..

    Ben nu steeds meer ermee aan het stoeien. Heb het nu zo gemaakt dat het systeem zelf een bat-file aanmaakt met daarin de uit te voeren command. Aanmaken van de bat-file gaat goed.
    Echter wordt de bat-file ook niet aangestuurd door exec.

    Log ik in op de server, dan kan ik de bat-file wel gewoon uitvoeren door er dubbel op te klikken en door het uit te voeren in cmd.exe. Dus de bat-file is gewoon goed.

    Toch wordt exec niet aangestuurd. php.ini heeft overigens safe_mode off staan.

    Rechten is het ook niet, we hebben de IISUSER zelfs toegevoegd aan de admin groep en dat mocht ook niet baten.
    schwa78dinsdag 1 juli 2008 @ 08:44
    Ik heb een website waar bezoekers quizzen kunnen ontwerpen. Nu is het een tijdje mogelijk geweest om quizzen te verwijderen zonder daar de daarbij behorende vragen en uitkomsten te verwijderen.

    Hoe kan ik nu het makkelijkst deze orphan vragen en uitkomsten terugvinden om te kunnen verwijderen?

    Indeling:
    tabel quiz
    -- id

    tabel quiz_vragen
    -- id
    -- qid

    tabel quiz_uitkomsten
    -- id
    -- qid
    GIdinsdag 1 juli 2008 @ 08:48
    Snelle gok : "delete from quiz_vragen where .id not IN (Select quiz.id From quiz)" en natuurlijk een uitkomsten variant
    Lightdinsdag 1 juli 2008 @ 08:56
    quote:
    Op dinsdag 1 juli 2008 08:48 schreef GI het volgende:
    Snelle gok : "delete from quiz_vragen where .id not IN (Select quiz.id From quiz)" en natuurlijk een uitkomsten variant
    delete from quiz_vragen where qid not IN (Select quiz.id From quiz)

    Denk ik zomaar.
    GIdinsdag 1 juli 2008 @ 08:57
    Whoops .
    GIdinsdag 1 juli 2008 @ 08:58
    Ik kan niet zeggen dat het een typo is he ? Aangezien de q en de . best wel een beetje ver van elkaar af zitten op het toestenbord.
    schwa78dinsdag 1 juli 2008 @ 09:21
    Dan zou het dus zo moeten zijn toch?

    DELETE FROM quiz_vragen WHERE qid NOT IN (SELECT quiz.id FROM quiz)

    Zeker weten? Dat ik niet zo in 1 keer de hele tabel leegmaak
    GIdinsdag 1 juli 2008 @ 09:24
    Altijd een backup maken
    schwa78dinsdag 1 juli 2008 @ 09:33
    Ja, maar met een live database met > 300.000 quizvragen is ook het terugzetten van een backup geen leuke bezigheid.
    Lightdinsdag 1 juli 2008 @ 09:38
    quote:
    Op dinsdag 1 juli 2008 09:33 schreef schwa78 het volgende:
    Ja, maar met een live database met > 300.000 quizvragen is ook het terugzetten van een backup geen leuke bezigheid.
    Het maken van een kopie van een tabel is niet zo heel veel werk. En het terugzetten ook niet. Overigens verwacht ik geen problemen, maar better safe than sorry.
    GIdinsdag 1 juli 2008 @ 09:38
    Mwah, valt wel mee. Je maakt een kopie van de tabel, test de query en draait hem daarna nog een keer op de live tabel
    Lightdinsdag 1 juli 2008 @ 09:39
    quote:
    Op dinsdag 1 juli 2008 08:58 schreef GI het volgende:
    Ik kan niet zeggen dat het een typo is he ? Aangezien de q en de . best wel een beetje ver van elkaar af zitten op het toestenbord.
    Als je aan de verkeerde kant van je toetsenbord zit dan klopt het weer wel. Maar dan snap ik weer niet hoe je de rest wel goed kreeg
    #ANONIEMdinsdag 1 juli 2008 @ 09:45
    Backup, backup, always make a backup backup!
    urseldinsdag 1 juli 2008 @ 09:48
    quote:
    Op dinsdag 1 juli 2008 09:33 schreef schwa78 het volgende:
    Ja, maar met een live database met > 300.000 quizvragen is ook het terugzetten van een backup geen leuke bezigheid.
    Testen op een live environment..
    schwa78dinsdag 1 juli 2008 @ 10:25
    quote:
    Op dinsdag 1 juli 2008 09:48 schreef ursel het volgende:

    [..]

    Testen op een live environment..
    Ja, dat is eigenlijk best wel slecht van me.

    Kan iemand mij een boek aanraden waarin dieper ingegaan wordt met het omgaan met grote websites en databases. Dus over test environments en het maken van backups en dergelijke.
    Xcaliburdinsdag 1 juli 2008 @ 12:29
    een testenvironment is echt niet alleen voor grote sites hoor.... en het maken van backups al helemaal niet!
    Lightdinsdag 1 juli 2008 @ 13:17
    quote:
    Op dinsdag 1 juli 2008 09:48 schreef ursel het volgende:

    [..]

    Testen op een live environment..
    Ach, dat heeft iedereen toch wel eens gedaan?
    Swetseneggerdinsdag 1 juli 2008 @ 13:21
    quote:
    Op dinsdag 1 juli 2008 13:17 schreef Light het volgende:

    [..]

    Ach, dat heeft iedereen toch wel eens gedaan?
    regelmatig.
    #ANONIEMdinsdag 1 juli 2008 @ 13:39
    OTAP OTAP OTAP
    Geqxondinsdag 1 juli 2008 @ 13:59
    Waarom de moeite doen een testomgeving te gebruiken als de klant gierig is?
    GIdinsdag 1 juli 2008 @ 14:05
    quote:
    Op dinsdag 1 juli 2008 13:59 schreef Geqxon het volgende:
    Waarom de moeite doen een testomgeving te gebruiken als de klant gierig is?
    Gooi daar eens wat context bij, want op deze manier is het gewoon een lose kreet in de ruimte.
    urseldinsdag 1 juli 2008 @ 14:12
    quote:
    Op dinsdag 1 juli 2008 13:17 schreef Light het volgende:

    [..]

    Ach, dat heeft iedereen toch wel eens gedaan?
    En van geleerd..
    Farenjidinsdag 1 juli 2008 @ 15:37
    quote:
    Op dinsdag 1 juli 2008 13:17 schreef Light het volgende:

    [..]

    Ach, dat heeft iedereen toch wel eens gedaan?
    Doe het nog wel eens. Live bugs fixen op een drukbezochte site.
    Meestal gewoon uit tijdgebrek. Er is uiteraard wel een nette testomgeving met gescheiden database, maar als ik bepaalde grote databases wil exporteren en importeren in de testomgeving ben je soms zomaar een paar uur verder. Die tijd heb ik lang niet altijd.
    Het is nog nooit echt fout gegaan eigenlijk! *heel hard afklopt*

    Maar schwa, wat wil je precies weten over het werken met testomgevingen en backups enzo?
    sabandinsdag 1 juli 2008 @ 15:44
    Ik heb een database (autos) met ongeveer 50 tabellen erin (merken).
    Echter moet ik in ieder tabel een paar cellen toevoegen, is dit mogelijk om in 1x de rijen toe te voegen in alle tabellen?

    Dit is de code voor AlfraRomeo, echter wil ik niet 1 voor 1 voor ieder merk de tabel naam wijzigen.
    quote:
    ALTER TABLE `AlfaRomeo`
    ADD `f_aantal` INT( 1 ) NOT NULL ,
    ADD `f_1` VARCHAR( 12 ) NOT NULL ,
    ADD `f_2` VARCHAR( 12 ) NOT NULL ,
    ADD `f_3` VARCHAR( 12 ) NOT NULL ;
    #ANONIEMdinsdag 1 juli 2008 @ 16:04
    Maak een script die je sql statements uitpoept voor jou?
    HuHudinsdag 1 juli 2008 @ 16:06
    En is het niet handiger om 1 tabel te hebben met als extra veld het merk?
    Geqxondinsdag 1 juli 2008 @ 16:09
    quote:
    Op dinsdag 1 juli 2008 14:05 schreef GI het volgende:

    [..]

    Gooi daar eens wat context bij, want op deze manier is het gewoon een lose kreet in de ruimte.
    Een test omgeving opzetten en onderhouden kost nou eenmaal geld. Bij mijn bedrijf wordt dat naar de klant doorberekend. Dan maar geen test omgeving.
    Tiemiedinsdag 1 juli 2008 @ 16:26
    quote:
    Op dinsdag 1 juli 2008 15:44 schreef saban het volgende:
    Ik heb een database (autos) met ongeveer 50 tabellen erin (merken).
    Echter moet ik in ieder tabel een paar cellen toevoegen, is dit mogelijk om in 1x de rijen toe te voegen in alle tabellen?

    Dit is de code voor AlfraRomeo, echter wil ik niet 1 voor 1 voor ieder merk de tabel naam wijzigen.
    [..]


    Heb je voor ieder merk een eigen tabel?
    Chandlerdinsdag 1 juli 2008 @ 17:33
    quote:
    Op maandag 30 juni 2008 13:38 schreef slacker_nl het volgende:

    libcurl kan ssh, ftp, sftp, http, https, etc etc aan, daar waar je dit niet voor elkaar krijgt met fsockopen, zoals eerder gezegd.
    [..]

    Het voordeel: Jij hoeft niet alles zelf te implementeren, je maakt gebruik van curl en je kan zo HTTPS/HTTP gaan praten zonder al teveel code aan te passen. Wat is het voordeel van curl tov fsockopen? Waarom zou je zelf iets bedenken als libcurl bijna standaard wordt meegeleverd (op Unix), en het werkt ook op Windows machines..

    De curl documentatie is duidelijk, ik wil de documentatie van jouw eigen functie wel eens zien. Anders gezegd, als je libcurl gebruikt kunnen andere mensen de documentatie van curl erbij pakken en het geheel uitbreiden. Dat kan ook met je eigen functies, maar dat kost toch meer tijd en er is minder documentatie van, plus het is niet een standaard oplossing.

    De voordelen van curl:
    * Standaard library
    * Documentatie
    * Code is makkelijker over te dragen / te begrijpen door anderen.
    Je hebt gelijk idd, ik zal het eens proberen om te bouwen!

    Verder gelijk een andere vraag, stel een connectie timed out via cURL, kun je deze dan ook afvangen zonder direct een PHP fout te krijgen?
    Xcaliburdinsdag 1 juli 2008 @ 18:49
    quote:
    Op dinsdag 1 juli 2008 16:09 schreef Geqxon het volgende:
    Een test omgeving opzetten en onderhouden kost nou eenmaal geld. Bij mijn bedrijf wordt dat naar de klant doorberekend. Dan maar geen test omgeving.
    Ik weet niet wat jullie onder een testomgeving verstaan, maar effe een site en een database op een andere locatie uploaden hoeft toch geen kwartier te duren?
    Farenjidinsdag 1 juli 2008 @ 19:36
    quote:
    Op dinsdag 1 juli 2008 18:49 schreef Xcalibur het volgende:

    [..]

    Ik weet niet wat jullie onder een testomgeving verstaan, maar effe een site en een database op een andere locatie uploaden hoeft toch geen kwartier te duren?
    Ik vraag me ook af hoe je in godsnaam kan ontwikkelen zonder een aparte ontwikkel/testomgeving. Een bug live fixen, okay, maar development doen op een liveomgeving is absoluut not done.
    HuHudinsdag 1 juli 2008 @ 19:39
    quote:
    Op dinsdag 1 juli 2008 19:36 schreef Farenji het volgende:

    [..]

    Ik vraag me ook af hoe je in godsnaam kan ontwikkelen zonder een aparte ontwikkel/testomgeving. Een bug live fixen, okay, maar development doen op een liveomgeving is absoluut not done.
    Je kunt best live development doen op het moment dat het product toch nog niet gebruikt wordt. Zo heb ik pas een site "live" gemaakt, aangezien er toch nog geen bezoekers kwamen. En nu, in de beginfase, met 10 bezoekers per dag kan ik ook nog best live dingen fixen. Zodra het echt druk wordt kan dat niet meer natuurlijk, maar tot die tijd is er geen probleem.
    Farenjidinsdag 1 juli 2008 @ 19:40
    quote:
    Op dinsdag 1 juli 2008 15:44 schreef saban het volgende:
    Ik heb een database (autos) met ongeveer 50 tabellen erin (merken).
    Echter moet ik in ieder tabel een paar cellen toevoegen, is dit mogelijk om in 1x de rijen toe te voegen in alle tabellen?

    Dit is de code voor AlfraRomeo, echter wil ik niet 1 voor 1 voor ieder merk de tabel naam wijzigen.
    [..]
    http://www.google.nl/search?q=database+normalization
    Xcaliburdinsdag 1 juli 2008 @ 20:24
    quote:
    Op dinsdag 1 juli 2008 19:39 schreef HuHu het volgende:

    Je kunt best live development doen op het moment dat het product toch nog niet gebruikt wordt. Zo heb ik pas een site "live" gemaakt, aangezien er toch nog geen bezoekers kwamen. En nu, in de beginfase, met 10 bezoekers per dag kan ik ook nog best live dingen fixen. Zodra het echt druk wordt kan dat niet meer natuurlijk, maar tot die tijd is er geen probleem.
    Mja, maar dat lijkt me een uitzondering?
    En waarom zou je dat dan doen, als je voor de rest van je sites wel een development (lokaal) en testomgeving hebt?

    Overigens wordt het op die manier ook wel hoogst onduidelijk wanneer de site nou "live" is, en wanneer jij dus klaar bent met je werk en wat er meerwerk is.... Live ontwikkelen lijkt me eigenlijk in alle opzichten een slecht idee