abonnement Unibet Coolblue Bitvavo
pi_59826529

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, 60


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

    Game on
  • pi_59826569
    De laatste post:
    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
    pi_59827461
    Vraagje, iemand hier die een goede HTML parser kent? Ik gebruik momenteel simple_html_dom.php hiervoor, maar ik heb last van een memory issue en ik wil even uitsluiten dat het door deze parser komt.

    Uiteraard zijn ervaringen over PHP code profilers en debuggers (open source, linux) meer dan welkom.
      dinsdag 1 juli 2008 @ 22:15:37 #4
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_59828920
    Oe.. even bookmarken..
      woensdag 2 juli 2008 @ 05:11:24 #5
    32768 DionysuZ
    Respect my authority!
    pi_59833321
    quote:
    Op dinsdag 1 juli 2008 20:28 schreef Xcalibur het volgende:
    De laatste post:
    [..]

    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
    Je kunt een site ook semi-live zetten, zoals ik dat altijd doe. Op mijn eigen server een subdomein aanmaken zodat de klant ten alle tijden kan checken hoe het staat met de ontwikkeling. Of op de server van de klant onder een bepaald subdomein. Het kan allemaal. Maar direct live op de plek waar het resultaat dient te komen, lijkt me idd een slecht plan.

    verkapte tvp
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59834131
    tvp
    pi_59835262
    quote:
    Op woensdag 2 juli 2008 08:41 schreef Scorpie het volgende:
    tvp
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 2 juli 2008 @ 12:37:24 #8
    187069 slacker_nl
    Sicko pur sang
    pi_59839157
    quote:
    Op dinsdag 1 juli 2008 21:10 schreef slakkie het volgende:
    Vraagje, iemand hier die een goede HTML parser kent? Ik gebruik momenteel simple_html_dom.php hiervoor, maar ik heb last van een memory issue en ik wil even uitsluiten dat het door deze parser komt.

    Uiteraard zijn ervaringen over PHP code profilers en debuggers (open source, linux) meer dan welkom.
    Ben met xdebug icm Kcachegrind aan de gang gegaan:

    De zut die voor problemen zorgt:
    http://www.euronet.nl/users/wesleys/wic/WicMassgate.png

    Voor zover ik kan zien is het de dom_parser die inderdaad voor problemen zorgt. Hoewel mijn functies veel "kosten" zie je dat de kosten vooral terecht komen in de bewuste parser.. Wat ik ertegen kan doen is een andere vraag...

    Dit is overigens de bewuste parser: http://simplehtmldom.sourceforge.net/

    [ Bericht 6% gewijzigd door slacker_nl op 02-07-2008 13:23:17 ]
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 2 juli 2008 @ 13:00:47 #9
    14612 _GdR_
    3.1415926536
    pi_59839645
    ik open een topic met een vraag maar werd hiernaar toe verwezen.
    hopelijk kunnen jullie me helepen
    quote:
    Hallo,

    Ik vraag me af of het volgende mogelijk is.
    Ik heb een flash/php applicatie gemaakt. en dit draait op een pc die door mij uitgegeven wordt. dus waar ik in principe alles op kan aanpassen/installeren.

    Nu heb ik 1 hoofdflash movie die bestaat uit losse 'kleine' flash movies die met elkaar communiceren. eerst was het mijn bedoeling dat ik de losse flash movies op de server wel ging updaten indien mogelijk. maar flash laat dit dus niet toe.

    Dus nu heb ik een soort van update script nodig. die de flash bestanden kopieert naar de HD van de pc. als het even kan moet dit 'onzichtbaar' gebeuren.

    met .NET weet ik dat dit kan. (httppost oid?) nu dus de vraag. kan dit met PHP ook?

    Alvast bedankt!
    Out! out! flapoor your father! | DaFan's moeder
      woensdag 2 juli 2008 @ 15:02:47 #10
    14612 _GdR_
    3.1415926536
    pi_59842862
    laat maar. is al opgelost.
    Out! out! flapoor your father! | DaFan's moeder
    pi_59855437
    Vraagje mensen...

    Ik wil graag zo'n tagcloud gaan maken enkel is mijn vraag hoe kan ik dit precies doen? Heb namelijk hulp nodig bij database structuur.

    - Heb een tabel waarin alle tags staan...
    - Heb een tabel waarin de artikelen staan...

    Nu hoe zorg ik ervoor dat ik meerdere tags kan koppelen aan 1 artikel?

    Nu kan ik zeg maar gewoon bij de tabel van artikelen gewoon een nieuwe kolom maken 'tag' genaamd en wanneer een artikel meerdere tags bevat deze hierin te voegen en door een komma te laten scheiden van elkander. Echter wordt later dan wel (niet) erg moeilijk waarschijnlijk, maar wel imho niet netjes, hoe je dan alle artikelen selecteert die bij 1 tag hoort. Want je kunt dan namelijk niet 'WHERE tag='internet' gebruike omdat er misschien de inhoud van de tag kolom bestaat uit 'internet,grappig,fok' bestaat bijvoorbeeld. Je zou dus van alle artikelen de kolom tag moeten ophalen om vervolgens bij iedere kolom te kijken of er niet meerdere tags in staan d.m.v. even de komma's te filteren en de gespleten tags in X variabelen te zetten.

    Dus kortom het lijkt me zeer onwaarschijnlijk dat het zo wordt uitgevoerd maar ik weet zelf eigenlijk geen andere manier hoe het wel zou moeten iemand die mij misschien een duwtje wilt geven in de goede weg?
      donderdag 3 juli 2008 @ 00:29:58 #12
    32768 DionysuZ
    Respect my authority!
    pi_59855835
    of een extra tabel met daarin een artikel-id en een tag-id
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59855888
    Hmmm hmmmmmmmmmmm weet je wat ik moet hebben een tabel met een artikel-id en een tag-id


    bedankt was er zelf niet opgekomen
    pi_59858253
    quote:
    Op donderdag 3 juli 2008 00:34 schreef Wouser het volgende:
    Hmmm hmmmmmmmmmmm weet je wat ik moet hebben een tabel met een artikel-id en een tag-id


    bedankt was er zelf niet opgekomen
    Koppeltabellen zijn redelijk gemeengoed in (genormaliseerde) databases Zeker als je veel 1 op meer relaties hebt, of meer op meer relaties.
      donderdag 3 juli 2008 @ 09:36:29 #15
    204038 insomaniak
    hahah ha ha ha
    pi_59858943
    Is dit ook het goede topic om scriptjes aan te vragen??
    Wie het laatst lacht,
    Heeft de grap niet begrepen!
    pi_59859326
    quote:
    Op donderdag 3 juli 2008 09:36 schreef insomaniak het volgende:
    Is dit ook het goede topic om scriptjes aan te vragen??
    Nou, zelf wat input en moeite erin stoppen zou gewaardeerd worden.
      donderdag 3 juli 2008 @ 10:02:44 #17
    204038 insomaniak
    hahah ha ha ha
    pi_59859425
    quote:
    Op donderdag 3 juli 2008 09:56 schreef Scorpie het volgende:

    [..]

    Nou, zelf wat input en moeite erin stoppen zou gewaardeerd worden.
    Echt als ik zou kunnen, zou ik meteen aan de slag gaan...
    Helaas heb ik er zelf echt geen bal verstand van maar zou wel iets willen wat gebruiksklaar is.
    Ik ben ook bereid ervoor te betalen
    Wie het laatst lacht,
    Heeft de grap niet begrepen!
    pi_59859579
    quote:
    Op donderdag 3 juli 2008 10:02 schreef insomaniak het volgende:

    [..]

    Echt als ik zou kunnen, zou ik meteen aan de slag gaan...
    Helaas heb ik er zelf echt geen bal verstand van maar zou wel iets willen wat gebruiksklaar is.
    Ik ben ook bereid ervoor te betalen
    Helaas, het vragen van dit soort services, dat mag niet
    maar je kan altijd een pm sturen naar mij
      donderdag 3 juli 2008 @ 10:14:08 #19
    204038 insomaniak
    hahah ha ha ha
    pi_59859639
    Okee sorry voor mijn illegale activiteiten
    Wie het laatst lacht,
    Heeft de grap niet begrepen!
    pi_59859978
    Kleine vraag m.b.t instellen van index van tabellen.

    Ik heb een tabel met de volgende gegevens.

    id - auto incr
    datum - date
    tekst - varchar 128
    hits - int

    nu staat ID op primary, maar wil eingeljk ook het ID geindexeerd hebben, als ik ID als index neerzet krijg ik de melding van PhpMyAdmin dat dit eingelijk niet mag.

    Hoe los ik dit op? moet ik id van primary afhalen en er een index van maken of hoe lossen jullie dit op?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_59860029
    quote:
    Op donderdag 3 juli 2008 10:29 schreef Chandler het volgende:
    Kleine vraag m.b.t instellen van index van tabellen.

    Ik heb een tabel met de volgende gegevens.

    id - auto incr
    datum - date
    tekst - varchar 128
    hits - int

    nu staat ID op primary, maar wil eingeljk ook het ID geindexeerd hebben, als ik ID als index neerzet krijg ik de melding van PhpMyAdmin dat dit eingelijk niet mag.

    Hoe los ik dit op? moet ik id van primary afhalen en er een index van maken of hoe lossen jullie dit op?
    Volgens mij is een primary key al een index op zichzelf, maar kan me vergissen.
    pi_59864591
    quote:
    Op woensdag 2 juli 2008 12:37 schreef slacker_nl het volgende:

    Ben met xdebug icm Kcachegrind aan de gang gegaan:

    De zut die voor problemen zorgt:
    http://www.euronet.nl/users/wesleys/wic/WicMassgate.png

    Voor zover ik kan zien is het de dom_parser die inderdaad voor problemen zorgt. Hoewel mijn functies veel "kosten" zie je dat de kosten vooral terecht komen in de bewuste parser.. Wat ik ertegen kan doen is een andere vraag...

    Dit is overigens de bewuste parser: http://simplehtmldom.sourceforge.net/
    Issue is fixed, circular references geven de garbage collection van PHP problemen (memory wordt nooit vrijgemaakt indien je een circular reference gebruikt). Dat moet je oplossen door unset() te gebruiken.... En voorlopig gaan ze deze bug in PHP ook nog niet oplossen.

    Nu roep ik een clear method aan van de parser en ik heb geen memory leak meer.. Wiee
      donderdag 3 juli 2008 @ 13:44:48 #23
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_59864916
    Probleem met mijn excel -> CSV converter schijnt toch steeds meer richting het programma zelf te gaan..
    Andere bat files worden netjes door de exec uitgevoerd en een output wordt getoont..
    Net nog de netwerk specialist erbij gehaald. Het programma heeft de benodigde permissies en mag geen beperkingen hebben. Echter blijft het aanmaken van de file leeg..

    Wordt dus maar even de makers contacteren..

    Zijn er misschien nog andere suggesties om via een automatisch process een excel file te converteren naar CSV, waarbij de format zoals ze in excel zijn ingevoerd bewaard blijven?
    pi_59865401
    Ik heb een probleem met mod_rewrite (wilde hier heen apart topic voor openen).

    De bestanden:

    .htaccess
    1
    2
    RewriteEngine On
    RewriteRule ^rewrite/(.*)/(.*)/ rewrite.php?id=$1&pid=$2


    rewrite.php
    1
    2
    3
    <?php
    echo $_GET['id'];
    ?>


    Als ik de volgende URL opvraag: http://localhost/rewrite/123/456/

    Dan moet er op de scherm 123 verschijnen, echter krijg ik een wit pagina.
    quote:
    Loaded Modules core mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_mime mod_negotiation mod_php5 mod_rewrite mod_setenvif mod_status
    Verder staat AllowOverride ook goed:
    quote:
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    # This directive allows us to have apache2's default start page
    # in /apache2-default/, but still have / go to the right place
    RedirectMatch ^/$ /apache2-default/
    </Directory>


    [ Bericht 16% gewijzigd door saban op 03-07-2008 14:08:52 ]
    ne okuyon, bokmu var?
    pi_59865701
    @Chandler: de primary key is inderdaad een index

    @Saban: ik denk dat je de slashes moet escapen
    pi_59866091
    quote:
    Op donderdag 3 juli 2008 14:09 schreef Xcalibur het volgende:
    @Chandler: de primary key is inderdaad een index

    @Saban: ik denk dat je de slashes moet escapen
    Welke slashes? En waarom?
    ne okuyon, bokmu var?
    pi_59867561
    quote:
    Op donderdag 3 juli 2008 13:59 schreef saban het volgende:
    Ik heb een probleem met mod_rewrite (wilde hier heen apart topic voor openen).

    De bestanden:

    .htaccess
    [ code verwijderd ]
    Probeer het eens met ^/rewrite/(.+)/(.+)/

    En ik kan het niet vaak genoeg herhalen, enable je RewriteLog en zet je loglevel lekker hoog, dan zie je precies waar het fout gaat in je rewrite
    pi_59867690
    quote:
    Op donderdag 3 juli 2008 13:44 schreef ursel het volgende:
    Zijn er misschien nog andere suggesties om via een automatisch process een excel file te converteren naar CSV, waarbij de format zoals ze in excel zijn ingevoerd bewaard blijven?
    In Perl is dit "redelijk" makkelijk te doen.

    http://www.codeplex.com/PHPExcel
    http://www.ibm.com/developerworks/opensource/library/os-phpexcel/
    http://devzone.zend.com/a(...)preadsheets-with-PHP
    pi_59873259
    quote:
    Op donderdag 3 juli 2008 15:21 schreef slakkie het volgende:

    [..]

    Probeer het eens met ^/rewrite/(.+)/(.+)/

    En ik kan het niet vaak genoeg herhalen, enable je RewriteLog en zet je loglevel lekker hoog, dan zie je precies waar het fout gaat in je rewrite
    Probleem is al opgelost;
    Mijn .htaccess klopte, echter moest MultiViews uitstaan.

    Nu stuit ik aan op een ander probleem:
    De link mag geen slash aan het eind bevatten, hoe filter ik op een makkelijke manier de laatste slash (indien die er is) eruit.
    ne okuyon, bokmu var?
    pi_59873690
    Nou ik ben dus verder gegaan met mijn tagcloud en heb nu zeg maar dus 3 tabellen.

    1 tabel voor mijn blogs. ID, titel, subtitel, datum, content.
    1 tabel voor mijn tags. ID, naam.
    1 tabel voor de relatie tussen blogs en tags heb ik blogtag genoemd en bevat blog_id en tag_id.

    Nu wou ik dus een query maken waarbij ik dus gelijk mijn blog en tag kan selecteren nu was ikzelf op dit gekomen...

    1
    2
    3
    4
    SELECT blog.title, blog.subtitle, blog.date, blog.content, tagcloud.name 
    FROM blog, tagcloud
    INNER JOIN blogtag 
       ON tagcloud.id = blogtag.tag_id


    en ik krijg dan als resultaat...
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Array 

       [0] => Array 
       ( 
          [title] => Test Title 
          [subtitle] => Test Subtitle 
          [date] => 2008-07-03 
          [content] => This is a test message for my system. 
          [name] => Internet 
       ) 
       [1] => Array 
       ( 
          [title] => Test Title 
          [subtitle] => Test Subtitle 
          [date] => 2008-07-03 
          [content] => This is a test message for my system. 
          [name] => FOK 
       ) 


    Alleen wou ik dit eigenlijk niet hebben had me eigenlijk liever zoiets hebben...
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Array 

       [title] => Test Title 
       [subtitle] => Test Subtitle 
       [date] => 2008-07-03 
       [content] => This is a test message for my system. 
       [tag] => array 
       (
          [0] => Internet
          [1] => FOK
       )


    Iemand die me wilt helpen?

    ps. en volgens mij krijg ik wanneer ik meer blogs ga toevoegen ook straks problemen met de tags...
      donderdag 3 juli 2008 @ 20:35:05 #31
    85514 ralfie
    !Yvan eht nioj
    pi_59874037
    quote:
    Op donderdag 3 juli 2008 20:19 schreef Wouser het volgende:
    Nou ik ben dus verder gegaan met mijn tagcloud en heb nu zeg maar dus 3 tabellen.

    1 tabel voor mijn blogs. ID, titel, subtitel, datum, content.
    1 tabel voor mijn tags. ID, naam.
    1 tabel voor de relatie tussen blogs en tags heb ik blogtag genoemd en bevat blog_id en tag_id.

    Nu wou ik dus een query maken waarbij ik dus gelijk mijn blog en tag kan selecteren nu was ikzelf op dit gekomen...
    [ code verwijderd ]

    en ik krijg dan als resultaat...
    [ code verwijderd ]

    Alleen wou ik dit eigenlijk niet hebben had me eigenlijk liever zoiets hebben...
    [ code verwijderd ]

    Iemand die me wilt helpen?

    ps. en volgens mij krijg ik wanneer ik meer blogs ga toevoegen ook straks problemen met de tags...
    dat zul je zelf in php moeten gaan regelen, mysql kan veel maar arrays in arrays teruggeven gaat gewoonweg niet.
    pi_59874103
    Ok dan weet ik dat maar is bijvoorbeeld zoiets:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Array 

       [title] => Test Title 
       [subtitle] => Test Subtitle 
       [date] => 2008-07-03 
       [content] => This is a test message for my system. 
       [tag1] => Internet
       [tag2] => FOK


    dan ook niet mogelijk?
      donderdag 3 juli 2008 @ 21:14:08 #33
    67978 HenryHill
    Fake it 'till you make it
    pi_59874911
    quote:
    Op donderdag 3 juli 2008 20:38 schreef Wouser het volgende:
    Ok dan weet ik dat maar is bijvoorbeeld zoiets:
    [ code verwijderd ]

    dan ook niet mogelijk?
    Nja. Tenzij je een harde beperking hebt op het aantal tags per blog (bijv. 'nooit meer dan 3 tags') zou ik het je sterk afraden. Je moet je nl. realiseren dat elke Tag1, Tag2, etc. een aparte kolom wordt. Voor de meeste blogs zul je de helft van de kolommen niet gebruiken, en als je een blog hebt met toevallig een tag meer, dan past 'ie niet in de resultset. Slecht plan.

    Wat je dan beter kunt doen is je query splitsen: een query om de gegevens van een blog op te halen (resultaat is een enkele rij), en een tweede query om alle tags voor een blog op te halen (resultaat telt zoveel rijen als er tags zijn voor die blog).

    Een derde mogelijkheid is om je originele query te handhaven, en met order by af te dwingen dat alle rijen die betrekking hebben op dezelfde blog onder elkaar staan (maw: order by blogid). Je kunt dan vanuit PHP door je resultset heenlopen, waarbij je alleen een nieuw blog begint wanneer het blogid op die rij verschilt met die van de vorige rij. Alle tags die je tegenkomt totaan het volgende blogid horen dan bij het huidige blog. Maar dit is misschien een brug te ver om mee te beginnen
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
    pi_59874951
    quote:
    Op donderdag 3 juli 2008 20:38 schreef Wouser het volgende:
    Ok dan weet ik dat maar is bijvoorbeeld zoiets:
    [ code verwijderd ]

    dan ook niet mogelijk?
    Niet met alleen MySQL. Het kan wel als je vooraf precies weet hoeveel tags een item heeft, maar dan heb je geen nette oplossing.
    Beter maak je gewoon twee (of drie) queries, 1 voor de items en 1 voor de tags.
      donderdag 3 juli 2008 @ 21:27:02 #35
    67978 HenryHill
    Fake it 'till you make it
    pi_59875202
    quote:
    Op donderdag 3 juli 2008 20:38 schreef Wouser het volgende:
    Ok dan weet ik dat maar is bijvoorbeeld zoiets:
    [ code verwijderd ]

    dan ook niet mogelijk?
    Trouwens, nog even een wat meer algemere opmerking over wat mogelijk is en wat niet: onthoud dat voor zowel een tabel als een resultset (= het resultaat van een SQL query) het volgende geldt: Het kan een variabel aantal rijen hebben, maar het heeft altijd een vast aantal kolommen. Dit is ook logisch als je bedenkt dat rijen geen naam hebben, maar kolommen wel.
    So this is how liberty dies... with thunderous applause.
    Truth? What's so great about the truth? Try lying for a change, it's the currency of the world
    pi_59876134
    quote:
    Op donderdag 3 juli 2008 20:00 schreef saban het volgende:

    [..]

    Probleem is al opgelost;
    Mijn .htaccess klopte, echter moest MultiViews uitstaan.

    Nu stuit ik aan op een ander probleem:
    De link mag geen slash aan het eind bevatten, hoe filter ik op een makkelijke manier de laatste slash (indien die er is) eruit.
    ^rewrite/(.*)/(.*)/?

    In dit geval is de laatste / optioneel.
    pi_59876703
    Ok harstikke bedankt voor jullie hulp heb nu gewoon dan maar 2 queries gedaan en heb vervolgens de tags als een array bij het de array met de blog gegevens gedaan.
    pi_59904672
    Ik ben al een tijdje bezig met een soort framework waarop ik al mijn sites ga bouwen en ik ben nu mijn oude cookie login onder de loep aan het nemen, maar volgens mij is het niet erg veilig.

    Op dit moment als iemand bij het inloggen kiest voor [v] Remember me, dan worden de loginnaam en het password (in md5) bij de gebruiker als cookie opgeslagen. Komt de gebruiker op een willekeurig moment met een nieuwe sessie weer op mijn site, dan zal hij aan de hand van die gegevens de gebruiker inloggen.
    Het probleem hiervan is alleen, dat zodra iemand die cookie weet te stelen, hij op naam van die persoon kan inloggen.

    Hoe is dit goed op te lossen?
    Een mogelijkheid is om het IP adres erbij op te slaan, maar dan sluit ik de groep met een dynamic IP adres uit. Of is dit toch zoals veel websites het doen?


    Ik heb overigens op google al wat rond gekeken, maar ik kreeg stukken code waarin werd gecontroleerd op login OF password en dan mocht je inloggen.
    -
    pi_59905080
    quote:
    Op zaterdag 5 juli 2008 09:31 schreef splendor het volgende:
    Ik ben al een tijdje bezig met een soort framework waarop ik al mijn sites ga bouwen en ik ben nu mijn oude cookie login onder de loep aan het nemen, maar volgens mij is het niet erg veilig.

    Op dit moment als iemand bij het inloggen kiest voor [v] Remember me, dan worden de loginnaam en het password (in md5) bij de gebruiker als cookie opgeslagen. Komt de gebruiker op een willekeurig moment met een nieuwe sessie weer op mijn site, dan zal hij aan de hand van die gegevens de gebruiker inloggen.
    Het probleem hiervan is alleen, dat zodra iemand die cookie weet te stelen, hij op naam van die persoon kan inloggen.

    Hoe is dit goed op te lossen?
    Een mogelijkheid is om het IP adres erbij op te slaan, maar dan sluit ik de groep met een dynamic IP adres uit. Of is dit toch zoals veel websites het doen?


    Ik heb overigens op google al wat rond gekeken, maar ik kreeg stukken code waarin werd gecontroleerd op login OF password en dan mocht je inloggen.
    Ipadres koppelen idd. Dat is de enige manier waarop je de gebruiker nog enigzins uniek kan identificeren.
    Wat je ook eventueel zou kunnen doen is browserinformatie die je kan lospeuteren gebruiken.

    [ Bericht 3% gewijzigd door #ANONIEM op 05-07-2008 10:33:21 ]
      zaterdag 5 juli 2008 @ 20:28:11 #40
    32768 DionysuZ
    Respect my authority!
    pi_59913974
    wachtwoord opslaan in een cookie is not done, zelfs niet gehasht. Je kunt beter een willekeurig gegenereerde string opslaan in het cookie en dan in de db een tabel met daarin deze string gekoppeld aan de gebruiker en het IP.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59915027
    Je kan ook alleen naar de eerste 3 getallen van het ipadres kijken, en die koppelen aan de sessie, om mensen met een dynamisch ip ook de mogelijkheid te geven om langer ingelogd te blijven.
    En idd zoals DionusuZ zegt, maak een willekeurig session ID aan en zet die in de cookie, de rest van alle data sla je op de server op, gekoppeld aan dat session ID.
    Als je dan iemands anders sessie wil kapen dan moet je het session ID hebben (dat moet die persoon dan in de praktijk zelf vrijwillig aan je geven) en een ip in dezelfde range hebben als die gebruiker. Dat is veilig genoeg hoor.
    pi_59961568
    Niet echt een PHP vraag, maar de meesten hier zullen ook wel wat van Apache weten.

    De tijd op mijn server staat 6 minuten achter. Hoe kan ik dit aanpassen?

    Ik hoef niet een cronjob dat elke dag de tijd gelijk zet. Zo belangrijk is het nou ook weer niet.
    pi_59961968
    Dat heeft niks met php of apache te maken maar is gewoon de interne klok van je pc. Misschien wil je een ntp client installeren, zodat je van tijd tot tijd kunt synchroniseren met een tijdserver zodat je server altijd gelijk loopt. Ik denk dat je dat beter in [Linux/Unix] [/Gurus/helpen/newbies]$ ./deel 20 kunt vragen, tenminste dat neem ik dan maar aan.
    pi_59965893
    Ik heb ff een eventueel noob vraagje:
    Ik heb 3 vars, die wil ik checken of ze leeg zijn:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    if (empty($naam)) {
        die(
    'Naam niet ingevuld');
    }
    if (empty(
    $email)) {
        die(
    'Email niet ingevuld');
    }
    if (empty(
    $vraag)) {
        die(
    'U heeft geen vraag ingevuld!');
    }
    ?>

    Ik wil eigenlijk dat hij pas "died" nadat hij heeft gecheckt of er een vraag is ingevuld. Moet ik daar dan één groot If Else blok van maken?
      dinsdag 8 juli 2008 @ 10:16:44 #45
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_59966189
    quote:
    Op dinsdag 8 juli 2008 09:57 schreef Flaccid het volgende:
    Ik heb ff een eventueel noob vraagje:
    Ik heb 3 vars, die wil ik checken of ze leeg zijn:
    [ code verwijderd ]

    Ik wil eigenlijk dat hij pas "died" nadat hij heeft gecheckt of er een vraag is ingevuld. Moet ik daar dan één groot If Else blok van maken?
    Je kan ook je meldingen in een variabelle opvangen en de variabelle in de die zetten.
    En je Die dus uit de if halen
    pi_59970844
    Hallo,

    Ik ben bezig met een galerie waarbij de PHP code de bestanden zelf opzoekt (a la http://www.yeuxmarrons.com - maar daar gebruik ik de FlickAPI voor) waar ik de volgene code gebruik
    1
    2
    3
    4
    5
    6
    echo "<a style=\"color:#2f2f2f\;\" rel=\"lightbox[roadtrip]\" href=\"$file\" Title=\"<B>Title<B> <BR> Gebruik de pijltjestoetsen.. <BR>( <a href=<\"$file\"\; rel=\"lightbox\"  

    onclick=\"window.open('$file', 'Title')\; return false\">origineel</a> )\">n
    <img style=\"border-color:#000000\;  border=2\; margin-right: 30px\;margin-bottom: 30px\;\" alt=\"Title\" 

    title=\"title\" src=\"$file\"></a>n\";


    Maar ik krijg dan de foutmelding
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/yeuxmarrons.com/www/photos/agnieska/images/default.php on line 74

    Met mijn domme hoofd dacht ik dat het volstond om een backslash voor de puntkomma te zetten, maar dat werkt dus niet. Wie weet raad????
    De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
      dinsdag 8 juli 2008 @ 13:59:46 #47
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_59971346
    quote:
    Op dinsdag 8 juli 2008 13:42 schreef tim2308 het volgende:
    Hallo,

    Ik ben bezig met een galerie waarbij de PHP code de bestanden zelf opzoekt (a la http://www.yeuxmarrons.com - maar daar gebruik ik de FlickAPI voor) waar ik de volgene code gebruik
    [ code verwijderd ]

    Maar ik krijg dan de foutmelding
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/yeuxmarrons.com/www/photos/agnieska/images/default.php on line 74

    Met mijn domme hoofd dacht ik dat het volstond om een backslash voor de puntkomma te zetten, maar dat werkt dus niet. Wie weet raad????
    Volgens mij zit je een beetje te hannessen met je enkele en dubbelle quootjes
    Je haakje sluiten valt niet in je echo.
    pi_59973658
    Dit: '$file'
    gaat sowieso niet werken trouwens.... binnen single quotes worden geen variabelen gereplaced
      dinsdag 8 juli 2008 @ 15:42:00 #49
    32768 DionysuZ
    Respect my authority!
    pi_59974131
    n\"; ziet eruit alsof je \n"; wilt gebruiken.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      dinsdag 8 juli 2008 @ 15:42:43 #50
    32768 DionysuZ
    Respect my authority!
    pi_59974151
    quote:
    Op dinsdag 8 juli 2008 15:26 schreef Xcalibur het volgende:
    Dit: '$file'
    gaat sowieso niet werken trouwens.... binnen single quotes worden geen variabelen gereplaced
    wel binnen single quotes in dubbel quotes
    echo "bla '{$file}'"; zou gewoon moeten werken.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59975467
    quote:
    Op dinsdag 8 juli 2008 13:42 schreef tim2308 het volgende:
    Hallo,

    Ik ben bezig met een galerie waarbij de PHP code de bestanden zelf opzoekt (a la http://www.yeuxmarrons.com - maar daar gebruik ik de FlickAPI voor) waar ik de volgene code gebruik
    1
    2
    3
    4
    5
    6
    cho "<a style=\"color:#2f2f2f\;\" rel=\"lightbox[roadtrip]\" href=\"$file\" Title=\"<B>Title<B> <BR> Gebruik de pijltjestoetsen.. <BR>( <a href=<\"$file\"\; rel=\"lightbox\"  

    onclick=\"window.open('$file', 'Title')\; return false\">origineel</a> )\">n
    <img style=\"border-color:#000000\;  border=2\; margin-right: 30px\;margin-bottom: 30px\;\" alt=\"Title\" 

    title=\"title\" src=\"$file\"></a>n\";

    Maar ik krijg dan de foutmelding
    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/yeuxmarrons.com/www/photos/agnieska/images/default.php on line 74

    Met mijn domme hoofd dacht ik dat het volstond om een backslash voor de puntkomma te zetten, maar dat werkt dus niet. Wie weet raad????
    Dit moet worden:

    1
    2
    3
    4
    5
    6
    7
    $onclick="window.open('$file', 'Title')\; return false>origineel</a> )>";

    # Maar je kan beter dit proberen:
    $onclick = sprintf('window.open("%s", "Title"); return false>origineel</a>', $title);

    # of 
    $onclick = 'window.open(". $title . '", "Title"); return false>en meer';


    Persoonlijk vind ik sprintf hiervoor wel makkelijk.
    pi_59985721
    Merci voor jullie hulp. Uiteindelijk heb ik het opgelost door ".chr(59)." toe te voegen op de plaatsen waar een puntkomma stond en het werkt...
    De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
      woensdag 9 juli 2008 @ 10:39:22 #53
    32768 DionysuZ
    Respect my authority!
    pi_59990645
    quote:
    Op dinsdag 8 juli 2008 23:43 schreef tim2308 het volgende:
    Merci voor jullie hulp. Uiteindelijk heb ik het opgelost door ".chr(59)." toe te voegen op de plaatsen waar een puntkomma stond en het werkt...
    ik denk dat je dan onbewust de echte fout eruit hebt gehaald. Want ik zie niet in hoe een echo van een puntkomma fouten zou moeten opleveren.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59991062
    Ik dacht dat de puntkomma's in de echo verward werden met de puntkomma's die het einde van de regel aangeven, zodat alles na de eerste puntkomma niet meer wordt geinterpreteerd.
    De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
      woensdag 9 juli 2008 @ 11:40:02 #55
    32768 DionysuZ
    Respect my authority!
    pi_59991722
    quote:
    Op woensdag 9 juli 2008 11:04 schreef tim2308 het volgende:
    Ik dacht dat de puntkomma's in de echo verward werden met de puntkomma's die het einde van de regel aangeven, zodat alles na de eerste puntkomma niet meer wordt geinterpreteerd.
    Onjuist, de puntkomma's die het einde van de regel aangeven staan buiten de quotes/dubbele quotes:

    echo "bla; bla";
    of
    echo 'bla; bla';

    levert gewoon:
    bla; bla
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 9 juli 2008 @ 11:41:24 #56
    32768 DionysuZ
    Respect my authority!
    pi_59991751
    als je kijkt naar het einde van de code die je hebt gepaste in deze topic:

    1src=\"$file\"></a>n\";


    Dan zie je dat de " aan het einde escaped wordt, zodat de regel nog niet ten einde is.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_59993050
    Mmm... er zaten inderdaad wat zoek-en vervang foutjes in de code maar uiteindelijk werkt het in ieder geval allemaal. Ik gooi een bulk fotos in een directory, gooi er een index.php bij en er komt iets moois uit! (althans mooi genoeg voor mijn toepassing)

    Het is wel wennen hoor, al twintig jaar in basic en zijn varianten gescrhreven en nu PHP. Een stuk minder intuitiever maar het zal vast wennen.
    De wijze houdt zich op de achtergrond, in werkelijkheid staat hij vooraan
    pi_59995890
    Ik zit met het volgende, iets waar ik zelf niet uitkom.

    Ik heb een tabel met ip adressen en hostnames en wil pas een item toevoegen als deze niet bestaat

    Eerst lees ik deze uit.
    SELECT id FROM stats_ip WHERE ip = '83.161.xxx.xxx'

    Bij 0 resultaten doe ik het volgende

    INSERT INTO `stats_ip` (`ip`, `hostname`) VALUES ('83.161.xxx.xxx','xxxxx.domein.nl');

    Echter krijg ik soms een melding:
    String: Duplicate entry '83.161.xxx.xxx' for key 2

    Maar ik wil geen dubbele items in mijn database, daarom heb ik op het veld IP een unieke gezet...

    Wat doe ik fout of kan het zijn dat het script 2x op dezelfde tijd aangeroepen wordt??
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 9 juli 2008 @ 14:34:15 #59
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_59995998
    Key 2, is dat niet dat er op hostname ook een unieke is gezet?
    pi_59996486
    kan je niet beter REPLACE INTO / ON DUPLICATE KEY gebruiken?
    Dan kan je dit soort problemen in ieder geval voorkomen
    pi_60022378
    Idd

    Ik zal eens kijken wat ik hier mee kan.

    Een andere vraag; is het mogelijk om middels php een afbeelding te converteren van GIF/JPG te converteren zonder dat het bestand x10 groter wordt. zoals nu het geval is.

    bv $im = loadGIF("plaatje.gif"); imagePNG($im, "plaatje,gif", 9, FILTERS_ALL);

    anyone?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60024881
    quote:
    Op donderdag 10 juli 2008 16:19 schreef Chandler het volgende:
    Idd

    Ik zal eens kijken wat ik hier mee kan.

    Een andere vraag; is het mogelijk om middels php een afbeelding te converteren van GIF/JPG te converteren zonder dat het bestand x10 groter wordt. zoals nu het geval is.

    bv $im = loadGIF("plaatje.gif"); imagePNG($im, "plaatje,gif", 9, FILTERS_ALL);

    anyone?
    Van GIF/JPG naar PNG bedoel je? Dan moet je er wel rekening mee houden dat PNG altijd groter is dan GIF.
    pi_60026585
    quote:
    Op donderdag 10 juli 2008 18:25 schreef Light het volgende:
    Dan moet je er wel rekening mee houden dat PNG altijd groter is dan GIF.
    Hoe kom je daar bij
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60027956
    quote:
    Op donderdag 10 juli 2008 19:56 schreef SuperRembo het volgende:

    [..]

    Hoe kom je daar bij
    Nou ok, da's mijn ervaring.
    pi_60028077
    quote:
    Op donderdag 10 juli 2008 20:58 schreef Light het volgende:

    [..]

    Nou ok, da's mijn ervaring.
    Dat ligt er natuurlijk maar helemaal aan wat voor soort plaatje het is. Een simpel gifje met veel egale vlakken zal waarschijnljik groter zijn als png bestand, maar een gedetailleerde foto in gif formaat zal meestal groter zijn dan dezelfde foto in png formaat.
    pi_60029968
    't compressiealgoritme dat in png wordt gebruikt is efficiënter dan dat van gif. Bij gif moet het aantal kleuren een macht van 2 zijn.

    En Light, waarom is je usericon een jpeg?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60036098
    Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf

    En heeft iemand een link naar een tutoriaal over replce into etc want als ik via google zoek en de comments lees wordt ik er niet echt heel veel wijzer van

    Ik wil namelijk het volgende.

    Kijk of ip adres bestaat?
    -- Ja --> lees ID
    -- Nee -> insert data -> return ID

    het gaat mij alleen om het terug gegeven ID

    [ Bericht 50% gewijzigd door Chandler op 11-07-2008 10:11:14 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 11 juli 2008 @ 10:18:55 #68
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60036365
    quote:
    Op vrijdag 11 juli 2008 10:03 schreef Chandler het volgende:
    Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf

    En heeft iemand een link naar een tutoriaal over replce into etc want als ik via google zoek en de comments lees wordt ik er niet echt heel veel wijzer van

    Ik wil namelijk het volgende.

    Kijk of ip adres bestaat?
    -- Ja --> lees ID
    -- Nee -> insert data -> return ID

    het gaat mij alleen om het terug gegeven ID
    SELECT LAST_INSERT_ID();
    pi_60038854
    @ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60038999
    quote:
    Op vrijdag 11 juli 2008 12:34 schreef Chandler het volgende:
    @ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
    Wel als je aan het inserten bent, want ID`s zijn per definitie auto-increment keys. Whats the use otherwise?
      vrijdag 11 juli 2008 @ 12:43:39 #71
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60039061
    quote:
    Op vrijdag 11 juli 2008 12:34 schreef Chandler het volgende:
    @ursel, het ID hoeft dus niet per defenitie de laatste ID te zijn
    Volgens jouw beschrijving :
    Nee -> insert data -> return ID
    Wil je direct je de ID terug krijgen van je insert. Daar gebeurd niets tussen volgens je uitleg.

    Op de link die ik meegaf staat een hoop uitleg over last_insert_id.
    Zover ik begrijp levert dat namelijk het ID terug die hij aanmaakt in je auto incremental field.

    Als je wat anders wil moet je denk ik iets duidelijker zijn..
    pi_60041543
    Ik heb bv een tabel met ip adressen

    10 10.10.10.1
    11 10.10.10.2
    12.10.10.10.3

    Nu wil ik kijken of een ip adres bestaat, zo niet gelijk toevoegen.

    SELECT id FROM ip WHERE ip='10.10.10.4'

    MySQL returned 0 oftewel geen ID gevonden

    Daarna doe ik een insert (ip) maar krijg een error dat 10.10.10.4 wel bestaat, raar!? deze stond er net nog niet in!

    Dus genereerd mijn script een fout.

    Wat wil ik nu? een manier vinden voor het voorkomen van dit probleem, een IF NOT EXISTS INSERT oid en daarna het ID van dit ip adres uitlezen, afvangen.

    Hopelijk ben ik nu duidelijker.

    PS. iemand nog een oplossing voor mijn kleine probleem met omzetten van GIF/JPG naar PNG?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60046322
    quote:
    Op vrijdag 11 juli 2008 10:03 schreef Chandler het volgende:
    Ik had een jpgje van 56KB omgezet middels bovenstaande code naar PNG en kwam op een bestand uit van ruim 250KB!? beetje te gek vind ik zelf
    Dat is logisch. Jpeg is lossy, png is lossless. Png en gif zijn geschikt voor plaatjes met weinig verschillende kleuren. Jpeg is geschikt voor plaatjes met veel verschillende kleuren waarbij het niet erg is als er kleine foutjes geintroduceerd worden.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60046606
    quote:
    Op vrijdag 11 juli 2008 14:35 schreef Chandler het volgende:
    Ik heb bv een tabel met ip adressen

    10 10.10.10.1
    11 10.10.10.2
    12.10.10.10.3

    Nu wil ik kijken of een ip adres bestaat, zo niet gelijk toevoegen.

    SELECT id FROM ip WHERE ip='10.10.10.4'

    MySQL returned 0 oftewel geen ID gevonden

    Daarna doe ik een insert (ip) maar krijg een error dat 10.10.10.4 wel bestaat, raar!? deze stond er net nog niet in!

    Dus genereerd mijn script een fout.

    Wat wil ik nu? een manier vinden voor het voorkomen van dit probleem, een IF NOT EXISTS INSERT oid en daarna het ID van dit ip adres uitlezen, afvangen.

    Hopelijk ben ik nu duidelijker.
    Gewoon die replace into gebruiken... Maar hoe ziet je code eruit, want ik snap niet echt wat er fout kan gaan met deze queries.

    Never mind, ben erachter wat je fout mogelijk kan zijn:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    mysql> create table ip ( id INT NOT NULL PRIMARY KEY, ip TEXT );
    Query OK, 0 rows affected (0.05 sec)

    mysql> insert into ip (ip) VALUES ('10.0.0.1');
    Query OK, 1 row affected, 1 warning (0.03 sec)

    mysql> insert into ip (ip) VALUES ('10.0.0.2');
    ERROR 1062 (23000): Duplicate entry '0' for key 1

    -- drop table ip 

    mysql> create table ip ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ip TEXT );
    Query OK, 0 rows affected (0.00 sec)

    mysql> insert into ip (ip) VALUES ('10.0.0.2');
    Query OK, 1 row affected (0.00 sec)

    mysql> insert into ip (ip) VALUES ('10.0.0.2');
    Query OK, 1 row affected (0.00 sec)

    mysql> insert into ip (ip) VALUES ('10.0.0.2');
    Query OK, 1 row affected (0.00 sec)


    Maw, check je table ff, denk dat daar de fout in zit, en niet in je php/mysql code in je script.

    [ Bericht 45% gewijzigd door slakkie op 11-07-2008 18:48:11 ]
    pi_60047011
    Chandler, check ook wat voor index je op je ip table hebt zitten, en of die index wel lang genoeg is. Heb je een unique index van bijv 10 dan zijn voor mysql 10.123.123.123 en 10.123.123.222 hetzelfde en zal dat een error triggeren als je ze allebei insert. Je moet de index voor een ip een grootte van 15 geven voor ipv4 adressen.
    pi_60047127
    quote:
    Op donderdag 10 juli 2008 22:25 schreef SuperRembo het volgende:

    En Light, waarom is je usericon een jpeg?
    Gewoon, ruim binnen de 10240 bytes en nooit zin gehad om het gevonden plaatje aan te passen.
      vrijdag 11 juli 2008 @ 22:18:15 #77
    107951 JortK
    Immer kwaliteitsposts
    pi_60055605
    quote:
    Op vrijdag 11 juli 2008 18:23 schreef SuperRembo het volgende:

    [..]

    Dat is logisch. Jpeg is lossy, png is lossless. Png en gif zijn geschikt voor plaatjes met weinig verschillende kleuren. Jpeg is geschikt voor plaatjes met veel verschillende kleuren waarbij het niet erg is als er kleine foutjes geintroduceerd worden.
    Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
    quote:
    Op vrijdag 11 juli 2008 18:42 schreef slakkie het volgende:

    [..]

    Gewoon die replace into gebruiken... Maar hoe ziet je code eruit, want ik snap niet echt wat er fout kan gaan met deze queries.

    Never mind, ben erachter wat je fout mogelijk kan zijn:
    [ code verwijderd ]

    Maw, check je table ff, denk dat daar de fout in zit, en niet in je php/mysql code in je script.
    Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

    Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60055723
    quote:
    Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:

    [..]

    Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
    [..]

    Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

    Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
    Check je indexen eens....
    pi_60055858
    quote:
    Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:

    [..]

    Wat raad je me aan dan? hoe kan ik toch zorgen dat deze afbeeldingen kleiner worden?
    Wat voor plaatje is het dan, en moet het wel kleiner dan 50 kb? Je kunt ook GIF proberen, of de kwaliteit wat naar beneden zetten ofzo.
    pi_60056134


    Kwam ik net ergens tegen leuk hoor

    Mijn index is

    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE `ip` (
      `id` int(11) NOT NULL auto_increment,
      `ip` varchar(15) NOT NULL,
      `hostname` varchar(128) NOT NULL,
      PRIMARY KEY  (`id`),
      UNIQUE KEY `ip_2` (`ip`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18371 


    zoals je ziet alleen een index op IP en verder nix dus snap ik niet wat ik fout doe!
    quote:
    Op zaterdag 12 juli 2008 10:08 schreef Light het volgende:
    Wat voor plaatje is het dan, en moet het wel kleiner dan 50 kb? Je kunt ook GIF proberen, of de kwaliteit wat naar beneden zetten ofzo.
    Ik had de compressie al op 9 gezet maar dat werkte ook niet echt
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60056473
    Net even een compressie scriptje geschreven, valt me mee qua comprimeren (3e en 4e test)

    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
    <?php
    $img 
    "image.jpg";
    $img_new "image.png";


    // first test
    $im imagecreatefromJPEG($img);

    $im_new imagecreatetruecolor(imagesx($im), imagesy($im));

    imagecopyresampled $im_new
                         
    $im
                         
    0
                         
    0
                         
    0
                         
    0
                         
    imagesx($im), 
                         
    imagesy($im), 
                         
    imagesx($im), 
                         
    imagesy($im));

    imagePng($im_new$img_new9);

    echo 
    'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
    echo 
    '<img src="' $img_new '"><br />';

    unset(
    $im);
    unset(
    $im_new);

    // second test

    $im imagecreatefromJPEG($img);
    imagePng($im$img_new9);

    echo 
    'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
    echo 
    '<img src="' $img_new '"><br />';

    unset(
    $im);
    unset(
    $im_new);

    // third test

    $im imagecreatefromJPEG($img);

    $im_new imagecreate(imagesx($im), imagesy($im));

    imagecopyresampled $im_new
                         
    $im
                         
    0
                         
    0
                         
    0
                         
    0
                         
    imagesx($im), 
                         
    imagesy($im), 
                         
    imagesx($im), 
                         
    imagesy($im));

    imagePng($im_new$img_new9);

    echo 
    'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
    echo 
    '<img src="' $img_new '"><br />';

    unset(
    $im);
    unset(
    $im_new);


    // 4th test

    // third test

    $im imagecreatefromJPEG($img);

    $im_new imagecreate(imagesx($im), imagesy($im));

    imagecopy $im_new
                         
    $im
                         
    0
                         
    0
                         
    0
                         
    0
                         
    imagesx($im), 
                         
    imagesy($im));

    imagePng($im_new$img_new9);

    echo 
    'Org:' filesize($img) . " - new: " filesize($img_new) . '<br />';
    echo 
    '<img src="' $img_new '"><br />';

    unset(
    $im);
    unset(
    $im_new);
    ?>


    Org:28747 - new: 109391

    Org:28747 - new: 109391

    Org:28747 - new: 31038

    Org:28747 - new: 31038
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60056498
    quote:
    Op zaterdag 12 juli 2008 09:33 schreef Chandler het volgende:
    Helaas, het heeft niets te maken met autoincrement, er staan namelijk al meer dan 40.000 ip adressen in deze tabel waarbij dit probleem af en toe voorkomt

    Waarschijnlijk doordat het script 2x op bijna dezelfde tijd geladen wordt oid?
    Dat laatste zal het wel zijn dan maar wij kunnen niet zien waar en wanneer dat script aangeroepen wordt.
    pi_60057043
    quote:
    Op zaterdag 12 juli 2008 11:12 schreef Chandler het volgende:
    Net even een compressie scriptje geschreven, valt me mee qua comprimeren (3e en 4e test)
    [edit]
    Wat wil je hier nou mee testen/aantonen? Png en jpeg hebben ieder hun eigen toepassing. Waarom moet het per see png worden?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60058048
    quote:
    Op zaterdag 12 juli 2008 11:14 schreef Farenji het volgende:
    Dat laatste zal het wel zijn dan maar wij kunnen niet zien waar en wanneer dat script aangeroepen wordt.
    Maar iemand nog een duidelijke tutoriaal over on replace?
    quote:
    Op zaterdag 12 juli 2008 12:03 schreef SuperRembo het volgende:
    [edit]
    Wat wil je hier nou mee testen/aantonen? Png en jpeg hebben ieder hun eigen toepassing. Waarom moet het per see png worden?
    Omdat ik graag binnen het systeem 1 bestandstype support. Of is dit onzin?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60058292
    quote:
    Op zaterdag 12 juli 2008 13:19 schreef Chandler het volgende:

    [..]

    Maar iemand nog een duidelijke tutoriaal over on replace?
    Je zou eens hier of hier kunnen kijken.
    quote:
    Omdat ik graag binnen het systeem 1 bestandstype support. Of is dit onzin?
    Het voegt niets toe in vergelijking met het ondersteunen van gif/jpg/png.
    pi_60059467
    Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

    Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

    Anyone suggesties?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60060487
    quote:
    Op zaterdag 12 juli 2008 14:59 schreef Chandler het volgende:
    Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

    Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

    Anyone suggesties?
    Ja, tijd voor een andere aanpak.

    Eerst met INSERT IGNORE de gegevens invoeren. Een dubbele rij wordt genegeerd door die IGNORE. Dan ga je met ROW_COUNT() of mysql_affected_rows() ofzo uitzoeken of er 0 of 1 rijen zijn toegevoegd. Als 0, dan heb je een SELECT query nodig om de id te achterhalen. Als 1 dan kun je dat met LAST_INSERT_ID() of mysql_insert_id() dat id uitzoeken.

    Of het kan nog anders. Eerst met INSERT IGNORE een rij toevoegen. Daarna weet je zeker dat de waarde in de database staat en kun je de id er met een SELECT weer uithalen.
    pi_60065489
    quote:
    Op zaterdag 12 juli 2008 14:59 schreef Chandler het volgende:
    Ik heb even de insert gelezen maar wil eingelijk bij duplicate niets doen... helaas ben ik denk ik verplicht om een veld aan te passen oid

    Liefst zou ik gewoon bij een ON DUPLICATE niets doen, maar dan krijg ik ook niets terug met LAST_INSERT_ID()

    Anyone suggesties?
    Kan je on duplicate niet de bestaande rij updaten met dezelfde waarde?
    Dan verandert er niks maar heb je wel hetzelfde resultaat?
    pi_60078044
    @Chandler:

    Waarom gebruik je het ip adres zelf niet als primary key, aangezien je /32 opslaat (1 ip adres), welke dus eigenlijk al uniek is.

    Je kan dan gewoon REPLACE INTO iptables (ip, hostname, rest) VALUES ( '127.0.0.1', 'localhost', 'overige'); uitvoeren.

    Je kan trouwens ook dit doen:

    INSERT INTO ... ON DUPLICATE KEY UPDATE, zie hier: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

    Tevens wil ik ook even vermelden dat niet alle IP's een hostname zullen hebben.. Je kan mogelijk problemen daarmee krijgen als ISP's even niet opletten en een range niet definieren in hun zonefile (aangezien je NOT NULL hebt gedefinieerd op dat veld).

    [ Bericht 19% gewijzigd door slakkie op 13-07-2008 17:18:03 ]
    pi_60092534
    Ik zal eens wat uitprinten over ON DUPLICATE KEY en het eens rustig doornemen.

    Indien een IP geen hostname heeft staat daar gewoon het IP adres!

    ik kan ook inet_atom gebruiken om IP adressen op te slaan, zit erg te twijfelen of ik die niet beter kan gebruiken ipv varchar!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60092607
    Heb nu SQL server 2005 draaien en nu wil het dat ik met acces gegevens daar vanaf wil halen maar acces kan SQL gewoon niet vinden. Ik gebruik Office 2003 met Windows XP.
    Het AT maakt meer kapot dan je lief is
    pi_60093395
    Ik heb net even een opzetje gemaakt met 25000 ip adressen

    met varchar 16 heb ik 2,5MB aan data
    met unsigned int (10) heb ik 1,6MB aan data

    invoeren met inet_atom en uitlezen met inet_ntoa

    Helaas kon ik niet een groot verschil met uitlezen zien daarvoor had ik nog te weinig ip adressen.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 14 juli 2008 @ 12:30:32 #94
    85514 ralfie
    !Yvan eht nioj
    pi_60093697
    quote:
    Op maandag 14 juli 2008 12:16 schreef Chandler het volgende:
    Ik heb net even een opzetje gemaakt met 25000 ip adressen

    met varchar 16 heb ik 2,5MB aan data
    met unsigned int (10) heb ik 1,6MB aan data

    invoeren met inet_atom en uitlezen met inet_ntoa

    Helaas kon ik niet een groot verschil met uitlezen zien daarvoor had ik nog te weinig ip adressen.
    en als je nou vier TINYINT's doet
    pi_60094279
    volgens mij blijft het dan net zo groot als het niet groter wordt
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 14 juli 2008 @ 13:52:41 #96
    85514 ralfie
    !Yvan eht nioj
    pi_60095701
    wacht, int is 4 bits, nevermind
    pi_60101023
    quote:
    Op maandag 14 juli 2008 13:52 schreef ralfie het volgende:
    wacht, int is 4 bitsbytes, nevermind
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 14 juli 2008 @ 18:38:43 #98
    85514 ralfie
    !Yvan eht nioj
    pi_60102587
    quote:
    Op maandag 14 juli 2008 17:20 schreef SuperRembo het volgende:

    [..]


    wacht, int is 4 bytes, nevermind
    pi_60103657
    Een numerieke index is altijd veel beter, zelfs 4 tinyints is nog beter dan varchar, maar een INT is echt het beste. Met een INT kolom heb je met 4 bytes unsigned precies genoeg mogelijkheden voor alle mogelijke IPv4 adressen, niet meer, niet minder, optimaler kan niet. En een index op een numerieke kolom van 4 bytes is natuurlijk veel kleiner en sneller dan op een string van max 15 karakters, da's bijna 4 keer zoveel!! Bovendien is het heel makkelijk rekenen en vergelijken met ips als INTs, ontzettend veel makkelijker en efficienter dan met strings. Hoe meer data je krijg, hoe inefficienter een varchar kolom wordt tov de int kolom. Met 25000 rows ga je dat nog niet echt merken maar op een gegeven moment echt wel, in opslagruimte en dus ook geheugengebruik, maar ook in processorbelasting.
      maandag 14 juli 2008 @ 23:03:52 #100
    85514 ralfie
    !Yvan eht nioj
    pi_60109268
    1
    2
    3
    4
    SELECT tpc.topic_id, tpc.topic_poster AS author, tpc.topic_first_poster_name, tpc.topic_replies, pf.categories, pf.raters, pf.rating, pf.changed
    FROM phpbb_topics tpc, phpbb_posts p, portfolios pf
    WHERE tpc.topic_id=pf.id AND p.post_id = tpc.topic_first_post_id
    ORDER BY tpc.topic_first_poster_name ASC, pf.rating DESC LIMIT 50


    ok, even snel. Het gaat op mysql 5.0 ( 5.0.51a-community )

    volgens mysql.com is ORDER BY {string} case-insensitive. Ondanks dat geeft bovenstaande query bij deze mysql toch echt case-sensitive gesorteerde meuk. What gives? Iemand idee waarom?

    Terwijl ik dit typ bedenk ik mij dat in phpbb3 (wat ik aan het modden ben) de waarde die ik ORDER als BLOB opslaat. Kan dit de reden zijn? Iets aan te doen (behalve die tabel aanpassen, dat is geen optie)? En zo niet, is er een andere manier van oplossen behalve ORDER BY CAST(tpc.topic_first_poster_name AS CHAR) ? (of is performance impact daarbij nihil?)

    [ Bericht 5% gewijzigd door ralfie op 14-07-2008 23:17:18 ]
    pi_60109885
    wat als je die pf.rating wegflikkert uit je order by statement?

    hier werkt het namelijk als verwacht, mysql Ver 14.12 Distrib 5.0.38, for pc-linux-gnu (i486) using readline 5.2

    Never mind, je maakt gebruik van een BLOB wat weer anders is met sorteren:

    BLOB columns have no character set, and sorting and comparison are based on the numeric values of the bytes in column values.

    Misschien heb je hier wat aan:
    http://dev.mysql.com/doc/refman/5.0/en/blob.html
    quote:
    Another way to use GROUP BY or ORDER BY on a BLOB or TEXT column containing long values when you want more than max_sort_length bytes to be significant is to convert the column value into a fixed-length object. The standard way to do this is with the SUBSTRING() function. For example, the following statement causes 2000 bytes of the comment column to be taken into account for sorting:

    mysql> SELECT id, SUBSTRING(comment,1,2000) FROM t
    -> ORDER BY SUBSTRING(comment,1,2000);


    [ Bericht 66% gewijzigd door slakkie op 14-07-2008 23:35:50 ]
    pi_60110011
    quote:
    Op maandag 14 juli 2008 11:38 schreef bobsqaud het volgende:
    Heb nu SQL server 2005 draaien en nu wil het dat ik met acces gegevens daar vanaf wil halen maar acces kan SQL gewoon niet vinden. Ik gebruik Office 2003 met Windows XP.
    Als je een odbc aanmaakt vind hij je sql dan wel
      maandag 14 juli 2008 @ 23:37:04 #103
    177810 Evenveel
    en niet minder
    pi_60110246
    Hoe kan ik MySQL Stored Procedures direct aanmaken in PHP via bijvoorbeeld een mysql_query? SP's worden namelijk op geen enkele manier geaccepteerd. Tabellen maken is geen probleem... Volgens een aantal andere fora op het internet is het niet mogelijk om in PHP een SP in MySQL te schieten. Wat denken/vinden/weten jullie?
    Doei.
    pi_60110696
    misschien heb je hier wat aan:
    http://coderamblings.blogspot.com/2007/02/myspl.html

    Al zou ik niet weten waarom je stored procedures zou aanmaken in je PHP code.
    pi_60113756
    quote:
    Op maandag 14 juli 2008 23:03 schreef ralfie het volgende:
    Terwijl ik dit typ bedenk ik mij dat in phpbb3 (wat ik aan het modden ben) de waarde die ik ORDER als BLOB opslaat.
    topic_first_poster_name is een blob? Welke idioot heeft dat bedacht
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 15 juli 2008 @ 10:08:18 #106
    85514 ralfie
    !Yvan eht nioj
    pi_60115116
    quote:
    Op dinsdag 15 juli 2008 08:11 schreef SuperRembo het volgende:

    [..]

    topic_first_poster_name is een blob? Welke idioot heeft dat bedacht
    in phpbb3 zijn zo'n beetje alle strings van niet-vaste waarde een BLOB. Geen wonder dat het forum zo traag als dikke stront is

    @slakkie:
    heb even wat test gedaan en wat blijkt? order by substring(..., 1,1000) is 1.5x zo snel als de CAST (... AS CHAR). Dus die gaan we gebruiken. thnx!
    pi_60118348
    np
      dinsdag 15 juli 2008 @ 17:37:54 #108
    87680 Mirel
    Mirel wil een bongophone.
    pi_60125139
    Hallo, met Mirel, php kleuter.
    Ik wil voor een website een soort van text editor hebben, waarin je je allemaal dingen typt, en die op een pagina worden gezet. Heb een héél simpele tutorial gevonden die ik heb gedaan en hier even geupload om te testen.

    Wat ie nu doet is tekst op een pagina zetten, maar als je nieuwe tekst erop typt, dan wist ie de andere uit. Wat moet ik in de code toevoegen dat ie dat niet doet?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <html>
    <head>
    <title>Really Simple CMS</title>
    </head>
    <body>
    <h1>Really Simple CMS</h1>

    <?php
    mysql_connect("bla", "bla", "bla");
    $result = @mysql_query("SELECT contents from bla");
    while ($row = mysql_fetch_assoc($result)){
    $contents = $row['contents']; 
    }
    ?>
    <form name="form1" method="post" action="updatepage.php">
    Enter page content:<br><textarea rows="10" cols="60" name="contents"><?php echo "$contents" ?></textarea>
    <input type="submit" name="Submit" value="Update Page">
    </form>
    </body>
    </html>


    Of moet ik nu iets totaal anders doen, ben echt een php leek.

    Ik lees nu ondertussen iets over kant en klare WYSIWYG editors waarmee waarschijnlijk hetzelfde bereikt kan worden, weet iemand daar iets meer over te vertellen?
    When all else fails, you always have delusion.
    pi_60126715
    Je probleem met het kwijtraken van de tekst snap ik niet, ik krijg de tekst die in het venster staat. Als je die weghaalt, is ie weg, als je em laat staan blijft ie staan... beetje wat je zou verwachten zeg maar

    Wat betreft de WYSIWYG editor: kijk eens op http://tinymce.moxiecode.com of zoek eens naar FCKeditor
      dinsdag 15 juli 2008 @ 18:53:36 #110
    85514 ralfie
    !Yvan eht nioj
    pi_60126739
    quote:
    Op dinsdag 15 juli 2008 17:37 schreef Mirel het volgende:
    Hallo, met Mirel, php kleuter.
    Ik wil voor een website een soort van text editor hebben, waarin je je allemaal dingen typt, en die op een pagina worden gezet. Heb een héél simpele tutorial gevonden die ik heb gedaan en hier even geupload om te testen.

    Wat ie nu doet is tekst op een pagina zetten, maar als je nieuwe tekst erop typt, dan wist ie de andere uit. Wat moet ik in de code toevoegen dat ie dat niet doet?
    [ code verwijderd ]

    Of moet ik nu iets totaal anders doen, ben echt een php leek.

    Ik lees nu ondertussen iets over kant en klare WYSIWYG editors waarmee waarschijnlijk hetzelfde bereikt kan worden, weet iemand daar iets meer over te vertellen?
    wat wil je ermee gaan doen? als je een soort van nieuwspagina wil maken zit je al gauw aan wat ingewikkeldere code, een kant-en-klaar CMS kan dan makkelijker voor je zijn.

    als je iets simpels snel in elkaar wil flanzen, bijvoorbeeld voor een enkele pagina, dan kun je textarea's zoals in je voorbeeld, of wat ingewikkeldere editors als FCKeditor (zelf goede ervaringen mee) gebruiken, die zul je dan wel zelf in je pagina moeten knutselen.
      dinsdag 15 juli 2008 @ 19:12:53 #111
    87680 Mirel
    Mirel wil een bongophone.
    pi_60127196
    Het is voor een website die ik beheer, en het betreft één pagina ja.
    quote:
    Op dinsdag 15 juli 2008 18:52 schreef Xcalibur het volgende:
    Je probleem met het kwijtraken van de tekst snap ik niet, ik krijg de tekst die in het venster staat. Als je die weghaalt, is ie weg, als je em laat staan blijft ie staan... beetje wat je zou verwachten zeg maar

    Wat betreft de WYSIWYG editor: kijk eens op http://tinymce.moxiecode.com of zoek eens naar FCKeditor
    Ja ik zie het nu ook pas. :'0
    When all else fails, you always have delusion.
    pi_60127426
    quote:
    Op dinsdag 15 juli 2008 19:12 schreef Mirel het volgende:
    Het is voor een website die ik beheer, en het betreft één pagina ja.
    [..]

    Ja ik zie het nu ook pas. :'0
    Het opslaan van de pagina gebeurt in updatepage.php en die heb je niet gepost. Het is heel simpel om ipv tekst te vervangen iets toe te voegen. Waarschijnlijk zou je dat door updatepage.php te bekijken in combinatie met de pagina die je hebt gepost, en wat basis SQL kennis, gewoon door het betere copy/paste werk best zelf voorelkaar kunnen krijgen, maar als dat echt niet lukt, post het script hier ff, het is nl een kleine aanpassing.

    En idd tinyMCE is heel makkelijk op te zetten, daarmee kun je bijv van alle textarea's eenvoudig een volledige WYSIWYG editor maken.
    pi_60191223
    Even een leuke vraag,

    Hoe moeilijk is het om middels php stackbased te parsen?

    bv

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {ifset %express%}
         {loop=%express%}
             {if %express%==1} laat dit zien {/if}
             {if %express%==2} laat dit zien {/if}
         {/loop}
    {/ifset}

    {ifset %test%}
        {ifset %testobject} yes {/ifset}
    {/ifset}


    Ik heb al eens een poging gedaan maar echt goed ging het niet :{
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 18 juli 2008 @ 16:10:27 #114
    151520 1DIOOT
    Koekoek 3 uur
    pi_60192046
    1
    2
    3
    4
    5
    6
    7
    <?php
    if (isset ($express)) {
         
    $loop $express;
            if (
    $express == 1) { echo "brul 1"; }
            if (
    $express == 2) { echo "brul2"; }
    }
    ?>


    zoiets bedoel je?
    DUCK MY SICK OR SOMETHING LIKE THAT!
    WHAT? ARE YOU NUCKING FUTS???!!!
    opzoute ! Ik denk niet zoals jij bent :(
    IK BEN HOOGBEVAAGD!
    pi_60193576
    quote:
    Op vrijdag 18 juli 2008 15:37 schreef Chandler het volgende:
    Even een leuke vraag,

    Hoe moeilijk is het om middels php stackbased te parsen?

    bv
    [ code verwijderd ]

    Ik heb al eens een poging gedaan maar echt goed ging het niet
    Is dit smarty?
    pi_60207769
    quote:
    Op vrijdag 18 juli 2008 16:10 schreef 1DIOOT het volgende:

    [ code verwijderd ]

    zoiets bedoel je?
    Zo zou het geintrepeteerd moeten worden
    quote:
    Op vrijdag 18 juli 2008 17:30 schreef slakkie het volgende:
    Is dit smarty?
    nee, gisteren even uit het handje geklopt. Maar de vraag is hoe je zo iets stackbased kunt parsen!?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60208345
    quote:
    Op zaterdag 19 juli 2008 14:16 schreef Chandler het volgende:

    [..]

    Zo zou het geintrepeteerd moeten worden
    [..]

    nee, gisteren even uit het handje geklopt. Maar de vraag is hoe je zo iets stackbased kunt parsen!?
    Met een stack waarschijnlijk.
    pi_60208556
    Maar vertel eens hoe ik dat moet gaan aanpakken?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60212234
    quote:
    Op zaterdag 19 juli 2008 14:59 schreef Chandler het volgende:
    Maar vertel eens hoe ik dat moet gaan aanpakken?
    Kijk eens naar de parser van phpbb of gebruik gewoon het voorstel van 1DIOOT. Dat is altijd nog de snelste oplossing.
      zaterdag 19 juli 2008 @ 19:28:39 #120
    85514 ralfie
    !Yvan eht nioj
    pi_60213126
    quote:
    Op zaterdag 19 juli 2008 14:59 schreef Chandler het volgende:
    Maar vertel eens hoe ik dat moet gaan aanpakken?
    ik geloof niet dat iemand hier nu snapt wat je wil...
    pi_60213390
    quote:
    Op zaterdag 19 juli 2008 19:28 schreef ralfie het volgende:

    [..]

    ik geloof niet dat iemand hier nu snapt wat je wil...
    Ik vraag me af of hij het zelf wel snapt...
    pi_60215069
    Wat een onzin reacties, mocht je een beetje kennis hebben van scripten, dan zien jullie gelijk dat het om een template gaat waarin bepaalde zaken geparsed moeten worden.

    Ik heb al een tijd gezocht naar een manier om efficient een template te parsen zonder al te veel extra routines.

    Om het dus kort te houden; ik wil graag weten hoe je het beste een template kan parsen waar gekeken wordt naar de statements tussen de { en } waarbij binnen een blok een subblok mogelijk is

    voorbeeld van een blok:
    1
    2
    3
    {ifset %variabel%}
    laat dit zien
    {/ifset}


    voorbeeld van een blok in een blok
    1
    2
    3
    4
    5
    {ifset %variabel%}
        {ifset %variabel2%}
        laat dit zien
        {/ifset}
    {/ifset}


    beetje het zelfde als een quote in een quote dat mogelijk is op verschillende fora's.

    Hopelijk heb ik mij nu wat duidelijker uitgedrukt!.
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60215086
    Waarom probeer je in vredesnaam smarty na te maken?

    Overigens: php parse templates in google en de eerste twee hits geven een tutorial voor hoe je zelf een template parser kan maken..
    pi_60215156
    quote:
    Op zaterdag 19 juli 2008 21:39 schreef Chandler het volgende:
    Wat een onzin reacties, mocht je een beetje kennis hebben van scripten, dan zien jullie gelijk dat het om een template gaat waarin bepaalde zaken geparsed moeten worden.
    Zo'n idee had ik.
    quote:
    Ik heb al een tijd gezocht naar een manier om efficient een template te parsen zonder al te veel extra routines.
    Gebruik Smarty.
    quote:
    Om het dus kort te houden; ik wil graag weten hoe je het beste een template kan parsen waar gekeken wordt naar de statements tussen de { en } waarbij binnen een blok een subblok mogelijk is
    Zoals bij Smarty? Dat kun je gewoon gebruiken, veel makkelijker en sneller dan zelf opnieuw het wiel uitvinden.
    quote:
    voorbeeld van een blok:
    [ code verwijderd ]

    voorbeeld van een blok in een blok
    [ code verwijderd ]

    beetje het zelfde als een quote in een quote dat mogelijk is op verschillende fora's.

    Hopelijk heb ik mij nu wat duidelijker uitgedrukt!.
    Ja. Je wilt Smarty
      zaterdag 19 juli 2008 @ 22:01:48 #125
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60215358
    Duidelijk Smarty ja..
    Linkje
    pi_60216926
    Jezus chandler wat kun je soms toch kansloos overkomen. Met je "stackbased parsen", heb je weer ergens een termpje opgevangen?
    pi_60217182
    Smarty
    pi_60221713
    Wat is er mist met een native PHP template?

    Dat is altijd nog het snelst.
    pi_60222008
    quote:
    Op zondag 20 juli 2008 11:31 schreef super-muffin het volgende:
    Wat is er mist met een native PHP template?

    Dat is altijd nog het snelst.
    True Maar dan moet je wel steeds <?php ... ?> gebruiken, en da's misschien niet altijd wenselijk. Uiteindelijk is het gewoon een keuze.
    pi_60222043
    @super-muffin: de verleiding is vaak heel groot om dan logica in je template te zetten

    Natuurlijk kan het prima, maar je moet dan zelf wel heel consequent zijn. Met een template engine dwing je jezelf tot een bepaalde manier van werken
    pi_60242225
    quote:
    Op zaterdag 19 juli 2008 23:40 schreef Farenji het volgende:
    Jezus chandler wat kun je soms toch kansloos overkomen. Met je "stackbased parsen", heb je weer ergens een termpje opgevangen?
    Jou post is nogal kansloos vriend, stackbased parsen zit al ruim 4 jaar in mijn hoofd maar is er nog nooit uitgekomen qua scripten.

    Verder zou ik zeggen tegen iedereen die zegt dat ik het wiel niet opnieuw moet uitvinden om dan maar lekker te stoppen met scripten want volgens mij is alles al eens een keertje gemaakt.

    Ik wil gewoon mijn kennis vergroten door uit te vogelen hoe ik middels php op een goede manier een parser kan maken die idd stackbased werkt (dus niet met regexjes de content aanpassen).

    Zelf gebruik ik voor een aantal projecten mijn eigen geschreven parser plus dat ik voor heel veel andere sites gewoon inline php in de templates gebruik.

    Maar toch, nog iemand hier die mij wel op het juiste pad kan zetten hoe ik toch lekker eigenzinnig een stackbased parser kan maken?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 21 juli 2008 @ 13:02:35 #132
    187069 slacker_nl
    Sicko pur sang
    pi_60243193
    quote:
    Op maandag 21 juli 2008 12:19 schreef Chandler het volgende:
    Verder zou ik zeggen tegen iedereen die zegt dat ik het wiel niet opnieuw moet uitvinden om dan maar lekker te stoppen met scripten want volgens mij is alles al eens een keertje gemaakt.
    Tuurlijk, maar je kan ook gebruik maken van modules/libraries/etc om zo je eigen code base kleiner te maken/oiverzichtelijker te houden. Zo wilde ik een LDAP API maken welke OO based was, maar die bleek er al te zijn in de vorm van Net_LDAP2. Dan ga ik niet nogmaals het wiel uitvinden als mensen mij al voor zijn..

    Maar goed, blijf vooral het wiel opnieuw uitvinden, niemand die je tegenhoudt. Maar kijk dan niet gek op als mensen tegen je zeggen dat je het wiel opnieuw probeert uit te vinden...

    Google is je beste vriend: http://www.google.nl/search?q=stacked+based+parser+php
    In theory there is no difference between theory and practice. In practice there is.
    pi_60244136
    quote:
    Op maandag 21 juli 2008 12:19 schreef Chandler het volgende:

    [..]

    Jou post is nogal kansloos vriend, stackbased parsen zit al ruim 4 jaar in mijn hoofd maar is er nog nooit uitgekomen qua scripten.
    Nou, eerlijk gezegd denk ik (ook nav je codefragmentje) een beetje dat je niet weet wat er precies met een stack bedoeld wordt (en dus ook niet waarom/wanneer het beter is dan andere manieren van parsen) maar dat je het wel interessant vindt klinken.
    pi_60244203
    True true,

    maar bedankt slacker_nl, ik ga eens een stack based UBB parser van a-z bestuurderen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60249193
    Ook heel bruikbaar / leerzaam: een parser van .oisyn.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60251769
    Op wat voor manier meten / testen jullie de snelheid van jullie webservers? ( Apache / PHP / MySQL)
    Op vrijdag 12 augustus 2005 01:46 schreef ElisaB het volgende:
    Wat is SHERMAN leuk he Bloes O+
    pi_60252745
    wat bedoel je precies?
    pi_60252767
    Tnx SR
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60253698
    quote:
    Op maandag 21 juli 2008 20:49 schreef Xcalibur het volgende:
    wat bedoel je precies?
    Ik heb een Windows 2003 server (2 dual cores, 6Gb) met Apache, PHP en MySQL. Hierop draait een soort van helpdesk tool op. Probleem is de webpagina van de een op de andere dag bagger traag is geworden.

    - reboot werkt niet
    - server staat volgens Windows niks te doen
    - in de mysql status pagina (die ik via MyPHPAdmin zie) zag ik wat problemen met cache langs komen
    - hier op heb ik in de mysql config de mem config omhoog gegooid (na wat googlen)

    Nog steeds is het traag, bagger traag.

    Ik ben nu eigenlijk op zoek naar een tool of iets om te zien waar het fout gaat op de server aangezien ik geen ideeen meer heb..
    Op vrijdag 12 augustus 2005 01:46 schreef ElisaB het volgende:
    Wat is SHERMAN leuk he Bloes O+
    pi_60255963
    quote:
    Op maandag 21 juli 2008 21:29 schreef SHERMAN het volgende:

    [..]

    Ik heb een Windows 2003 server
    Voila.
    pi_60256214
    Je moet even kijken of je langlopende queries hebt, weet niet precies meer welke commando's je daarvoor nodig hebt, maar het is redelijk makkelijk te achterhalen..
    pi_60274551
    in PHPmyadmin zit volgens mij ook een tooltje om trage queries te checken?
    Met EXPLAIN moet je ook een eind kunnen komen

    Verder kan je natuurlijk een timertje maken om verschillende punten in je script te timen. Dan kan je in ieder geval achterhalen op welk stuk script hij hangt
    pi_60275978
    Weet iemand waarom:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
       
       <dl>         
          <dt onmouseover="javascript:montre('smenu1');"><a href="http://www.pestforum.nl/forum" target = blank>Forum</a></dt>
             <dd id="smenu1">
                <ul>
                   <li><a href="http://www.pestforum.nl/forum">Bezoek het forum</a></li>
                   <li><a href="http://pestforum.nl/forum/index.php?act=Reg&CODE=00">Registreer een account</a></li>
                   <li><a href="http://pestforum.nl/forum/index.php?showtopic=1855">Bekijk de regels</a></li>

                </ul>

             </dd>
       </dl>



    Dit wel werkt, maar zodra ik hetzelfde parse vanuit PHP niet:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
       


               <dl>
              <dt onmouseover='javascript:montre('smenu1');'><a href='http://www.pestforum.nl/forum' target = blank>Forum</a></dt>
             <dd id='smenu1'>
                <ul>
                   <li><a href='http://www.pestforum.nl/forum'>Bezoek het forum</a></li>
                   <li><a href='http://pestforum.nl/forum/index.php?act=Reg&CODE=00'>Registreer een account</a></li>
                   <li><a href='http://pestforum.nl/forum/index.php?showtopic=1855'>Bekijk de regels</a></li>

                </ul>
                       </dd>
       </dl>


    Het is een roll-out menu, voorbeeldjes staan op
    http://pestforum.nl/users/test.htm
    http://pestforum.nl/users/test.php

    (het uitrol deel werkt dus niet :) ).

    Alvast dank voor de hulp :)
    pi_60276212
    door de single quotes om je onmouseover
    die confliteren met de single quotes in de functie aanroep 'smenu1'
    pi_60276446
    ah, stik. Hoe kon je daar ook alweer omheen werken, iets van / ervoor en dan " gebruiken toch?

    (dus /" ipv ' ?)
    pi_60276548
    Zoiets:

    $tekst = "blabla \"tussen dubbele quotes\" 'en single quotes' bla bla";

    Als je dit print krijg je

    blabla "tussen dubbele quotes" 'en single quotes' bla bla
    pi_60277591
    Gelukt, dankjewel :) Ben ik alleen bij het volgende probleem aanbeland...

    Onderstaande code werkt, haalt info op uit een database, en tekent een menu uit. En de submenu's.

    Dat gaat goed. 1x. Ik heb nl. 2 menu's in de database staan (Forum en Informatie) en ik krijg er maar 1..

    Werking te zien op http://pestforum.nl/users/test.php

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <?php
    <div id="menu">
        <
    dl>
            <
    dt onmouseover="javascript:montre();"><a href="http://www.pestforum.nl" title="Terug naar de startpagina">Home</a></dt>
        </
    dl>
        


    //Lets get the menu here!
           
    include('connect.php');
           
    $Counter 0;
           
    $sql "SELECT * FROM cmsmnu WHERE Mother = 0 ORDER BY Position";
           
    $query mysql_query($sql) or die(mysql_error());
           while (
    $result mysql_fetch_array($query)) {
              
    $Counter++;
              
    $MnuID $result['ID'];
              
    $MnuText $result['Text'];
              
    $MnuLink $result['Link'];
              
    $MnuMother $result['Mother'];
              
    $MnuNewPage $result['Newpage'];
              
    $MnuTarget ''// Reset!
              
    If ($MnuNewPage == 1) {
                
    $MnuTarget 'target = blank';
              }
              echo
    "
                <dl>
              <dt onmouseover=\"javascript:montre('smenu$Counter');\"><a href='$MnuLink' $MnuTarget>$MnuText</a></dt>
              <dd id='smenu$Counter'>
              <ul>
              "
    ;


             
    //Now check if there is a submenu for this menu, and generate it!
                 
    $sql "SELECT * FROM cmsmnu WHERE Mother = '$MnuID' ORDER BY Position";
                 
    $query mysql_query($sql) or die(mysql_error());
                 while (
    $result mysql_fetch_array($query)) {
                              
    $MnuText $result['Text'];
                              
    $MnuLink $result['Link'];
                              
    $MnuMother $result['Mother'];
                              
    $MnuNewPage $result['Newpage'];
                              
    $MnuTarget ''// Reset!
                              
    If ($MnuNewPage == 1) {
                                
    $MnuTarget 'target = blank';

                              }
                              echo 
    "                          <li><a href='$MnuLink' $MnuTarget>$MnuText</a></li>";

                              }
                 echo 
    "</ul></dd>  ";
           }


    </
    dl>
    </
    div>
    ?>
      dinsdag 22 juli 2008 @ 21:22:31 #148
    85514 ralfie
    !Yvan eht nioj
    pi_60278686
    quote:
    Op dinsdag 22 juli 2008 20:38 schreef LeeHarveyOswald het volgende:
    Gelukt, dankjewel Ben ik alleen bij het volgende probleem aanbeland...

    Onderstaande code werkt, haalt info op uit een database, en tekent een menu uit. En de submenu's.

    Dat gaat goed. 1x. Ik heb nl. 2 menu's in de database staan (Forum en Informatie) en ik krijg er maar 1..

    Werking te zien op http://pestforum.nl/users/test.php
    [ code verwijderd ]


    het ziet er naar uit dat je $query als mysql result overschrijft...
    pi_60279674
    Ah wat stom!
    pi_60280088
    quote:
    Op dinsdag 22 juli 2008 20:38 schreef LeeHarveyOswald het volgende:
    Werking te zien op http://pestforum.nl/users/test.php
    [ code verwijderd ]
    Oh heerlijk, php, html, javascript en mysql dwars door elkaar
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60280182
    Ja, je moet wat, als je je menustructuur uit een database wilt halen en wilt laten uittekenen
    pi_60284284
    quote:
    Op dinsdag 22 juli 2008 22:03 schreef LeeHarveyOswald het volgende:
    Ja, je moet wat, als je je menustructuur uit een database wilt halen en wilt laten uittekenen :D
    Je hebt nu 2x praktisch dezelfde query staan. Daar kan je makkelijk 1 functie van maken die een array met menu-item data geeft. Dat maakt het een stuk leesbaarder:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $counter = 0;
    $mainMenuItems = readMenu(0);
    foreach ($mainMenuItems as $item)
    {
       ++$counter;
       printf('<dl>...</dl>', 
          $counter,
          htmlspecialchars($item['Link']),
          htmlspecialchars($item['Text']),
          ...);

       $subMenuItems = readMenu($item['ID']);
       foreach ($subMenuItems as $subItem)
       {
          printf('<li>...</li>', 
             htmlspecialchars($subItem['Link']),
             htmlspecialchars($subItem['Text']),
             ...);
       }
    }
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60284534
    Ik snap hem niet helemaal? Hoe kan ik die 2e query dan uitsluiten, terwijl ik pas 1 stap verder weet welke subitems ik op wil halen? (kan het tijdstip zijn hoor .. )
    pi_60284951
    quote:
    Op dinsdag 22 juli 2008 23:59 schreef LeeHarveyOswald het volgende:
    Ik snap hem niet helemaal? Hoe kan ik die 2e query dan uitsluiten, terwijl ik pas 1 stap verder weet welke subitems ik op wil halen? (kan het tijdstip zijn hoor .. )
    Oh dat kan ook niet
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60287598
    ja, ik kan wel janken
    debuggen wordt ook een stuk lastiger op deze manier volgens mij....

    en nou ga ik op vakantie
      woensdag 23 juli 2008 @ 14:05:44 #156
    85514 ralfie
    !Yvan eht nioj
    pi_60294846
    iemand goed bekend met mod_rewrite?

    Ik zoek

    http://localhost/includepagina => http://localhost/index.php?page=includepagina

    maar dan alleen voor de pagina's in httpRoot/includes/*.php

    (dus, als httproot/includes/test.php bestaat moet ie http://localhost/test WEL pakken, anders NIET.

    Ik meen me te herinneren dat dit mogelijk is, maar kan het commando niet meer vinden. Iemand die het weet?
    pi_60296782
    1
    2
    3
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # hier je RewriteRule

    Hier staat dus als de opgevraagde URL geen bestaande bestand of map is hij de RewriteRule moet pakken.
      woensdag 23 juli 2008 @ 17:05:53 #158
    85514 ralfie
    !Yvan eht nioj
    pi_60298945
    quote:
    Op woensdag 23 juli 2008 15:35 schreef super-muffin het volgende:

    [ code verwijderd ]

    Hier staat dus als de opgevraagde URL geen bestaande bestand of map is hij de RewriteRule moet pakken.
    dat werkt op zich wel, maar dat betekent wel dat die rewriterule altijd gebruikt wordt wanneer de url zelf niet bestaat, ook al is dat doordat de url parameters bevat... (ik wil namelijk alle $_GET netjes wegwerken. Dus, dit is mijn probleem:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    wwwRoot
    +index.php
    +includes\
       +test.php
       +deze_ook.php
       +dezeniet.txt
    +folder\
       +deze_niet.gif
       +deze_ook_niet.php
    +etc.


    http://localhost gaat naar index.php
    http://localhost/test gaat naar index.php?page=test
    (want test.php bestaat in /includes/ )
    http://localhost/test/parameter/parameters gaat naar index.php?page=test¶meters
    (parameters kan ik zelf wel verwerken, het gaat meer om de mogelijkheid om)
    http://localhost/folder/* gaat naar localhost/folder*
    http://localhost/nee geeft een 404/303 of whatever

    Het is dus echt de bedoeling dat wanneer de eerste parameter van de URI, dus http://localhost/deze/hiernogwat/zooi een bestaand php bestand in de includes-directory is, dat dan, en alleen dan de rewriterule uitgevoerd wordt.

    Dus basically zoek ik
    1RewriteCond %{REQUEST_URI} ^/(deze_ook|test)$

    maar dan eentje die zelf kijkt of de betreffende bestanden bestaan

    Dat is mogelijk, toch?

    [ Bericht 10% gewijzigd door ralfie op 23-07-2008 17:18:22 ]
    pi_60306119
    Je moet mod_rewrite alleen gebruiken waarvoor ie bedoeld is - urls rewriten. Checken of een bestand bestaat doe je in je applicatie.
      woensdag 23 juli 2008 @ 22:54:10 #160
    85514 ralfie
    !Yvan eht nioj
    pi_60308158
    ok, ik heb al iets in elkaar geflansd, was doodsimpel eigenlijk toen ik erachter kwam dat je references vanuit vorige RewriteConds kon gebruiken...
    1
    2
    3
    4
    5
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !-f
    RewriteCond %{REQUEST_URI} ^/([^/]+).*$
    RewriteCond "C:/Program Files/WAMP/www/includes/$1.php" -f
    RewriteRule ^([^/]+)/?(.*)$ index.php?page=$1¶ms=$2

    nog ff testen of het eenvoudiger kan, maar het werkt iig. toch bedankt
    pi_60309064
    quote:
    Op woensdag 23 juli 2008 22:54 schreef ralfie het volgende:
    ok, ik heb al iets in elkaar geflansd, was doodsimpel eigenlijk toen ik erachter kwam dat je references vanuit vorige RewriteConds kon gebruiken...
    [ code verwijderd ]

    nog ff testen of het eenvoudiger kan, maar het werkt iig. toch bedankt
    Zo gaat het uiteraard alleen op jouw pc werken. Dat kan genoeg zijn maar als je die site ooit eens ergens anders wilt draaien, heb je een probleem.
    pi_60315611
    quote:
    Op woensdag 23 juli 2008 23:24 schreef Light het volgende:

    [..]

    Zo gaat het uiteraard alleen op jouw pc werken. Dat kan genoeg zijn maar als je die site ooit eens ergens anders wilt draaien, heb je een probleem.
    Beetje ongenuanceerde dit is niet portable gezeik, IMHO. Als je zooi van server A naar B gaat overzetten hoef je alleen de paden in je rewrite rule aan te passen, zo moeilijk is het niet. IIS kan zoiezo niet met rewrite rules overweg (lees mod_rewrite, aangezien IIS een andere rewrite engine heeft..), dus het gebruik van mod_rewrite is sowieso niet portable.
    pi_60315859
    Ik zei niet voor niks om dit soort dingen in je applicatiecode te doen en niet met mod_rewrite, dan kun je namelijk gewoon een config bestand/class hiervoor gebruiken, zoals het hoort. Een pad aanpassen in een rewrite rule is zo gebeurd maar je wil dit soort dingen centraal, op 1 plek kunnen configureren. Als je op tig plekken allerlei paden moet gaan aanpassen voordat je app werkt, dat is gewoon bad practice.
    pi_60316876
    Dit is alleen een mod_rewrite ding, dus dat is makkelijk te doen. Overige shizzle kan je inderdaad in een configfile gooien (of in een DB, whatever je voorkeur heeft). Persoonlijk vind ik een configfile prettiger dan een DB aangezien ik een file makkelijker vind met updaten.
      donderdag 24 juli 2008 @ 14:11:27 #165
    85514 ralfie
    !Yvan eht nioj
    pi_60320132
    quote:
    Op donderdag 24 juli 2008 11:17 schreef Farenji het volgende:
    Ik zei niet voor niks om dit soort dingen in je applicatiecode te doen en niet met mod_rewrite, dan kun je namelijk gewoon een config bestand/class hiervoor gebruiken, zoals het hoort. Een pad aanpassen in een rewrite rule is zo gebeurd maar je wil dit soort dingen centraal, op 1 plek kunnen configureren. Als je op tig plekken allerlei paden moet gaan aanpassen voordat je app werkt, dat is gewoon bad practice.
    joh, boeiend. Ben geen commercieel pakket aan het maken, maar gewoon een amateur website aan het verfraaien. De eerste plaats waar ik instellingen mbt rewriterules ga zoeken is in een htaccess bestand, dus daar staat het goed in mijn geval. Dat dit algemeen als bad practice gezien wordt, boeiend, als het maar (goed) werkt. en dat doet het nu.
    pi_60339055
    Kleine vraag m.b.t. mysql.

    Als ik op een bepaalde pagina met zo'n 15 queries voor't eerst klik zie ik dat de parse tijd (totaal incl queries) zo'n 1,2 seconden is.

    Druk ik op F5 dan opeens is het 0,7 secs
    en nogmaals op F5 en het is 0,01 secs?

    Doet MySQL aan cachen? kan dit namelijk niet inzien!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60340114
    quote:
    Op vrijdag 25 juli 2008 12:17 schreef Chandler het volgende:
    Als ik op een bepaalde pagina met zo'n 15 queries voor't eerst klik zie ik dat de parse tijd (totaal incl queries) zo'n 1,2 seconden is.

    Druk ik op F5 dan opeens is het 0,7 secs
    en nogmaals op F5 en het is 0,01 secs?
    Bedoel je de tijd die het de server kost om de html te genereren of de tijd die het de browser kost om de pagina te laden?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60340725
    Het eerste
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 25 juli 2008 @ 14:05:28 #169
    187069 slacker_nl
    Sicko pur sang
    pi_60341562
    mysql heeft een cache ja.
    In theory there is no difference between theory and practice. In practice there is.
    pi_60349437
    cURL ondersteunt in safe mode geen CURLOPT_FOLLOWLOCATION. Dat heb ik wel nodig. Heeft iemand daar een werkende oplossing voor?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60349751
    <?php echo 'tvp'; ?>
    quote:
    Op dinsdag 15 juli 2008 17:37 schreef Mirel het volgende:
    Hallo, met Mirel, php kleuter.
    Ik wil voor een website een soort van text editor hebben, waarin je je allemaal dingen typt, en die op een pagina worden gezet. Heb een héél simpele tutorial gevonden die ik heb gedaan en hier even geupload om te testen.

    Wat ie nu doet is tekst op een pagina zetten, maar als je nieuwe tekst erop typt, dan wist ie de andere uit. Wat moet ik in de code toevoegen dat ie dat niet doet?
    [ code verwijderd ]

    Of moet ik nu iets totaal anders doen, ben echt een php leek.

    Ik lees nu ondertussen iets over kant en klare WYSIWYG editors waarmee waarschijnlijk hetzelfde bereikt kan worden, weet iemand daar iets meer over te vertellen?
    Tip: Bij het laten zien (index.php) de functie nl2br() om de data (tekst) heen wrappen.
    pi_60352563
    quote:
    Op vrijdag 25 juli 2008 20:58 schreef SuperRembo het volgende:
    cURL ondersteunt in safe mode geen CURLOPT_FOLLOWLOCATION. Dat heb ik wel nodig. Heeft iemand daar een werkende oplossing voor?
    Ik begrijp hieruit dat curl, indien safemode aanstaat, de locatie van de 30X message niet volgt.

    Wat krijg je terug als je een request doet in safe mode?

    Aangezien je kan proberen om de location uit te lezen en dan opnieuw een request te doen naar de nieuwe locatie..

    Heb het even getest, dit moet je op weg helpen, je moet misschien alleen wat erbij bouwen voor max_redirects, want daar heb ik geen rekening meegehouden.

    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
    # php 5.2.1

    $ch curl_init();

    $curl_opts = array();

    $curl_opts[CURLOPT_VERBOSE] = 0;
    $curl_opts[CURLOPT_RETURNTRANSFER] = 1;

    function 
    curl_sm_exec($ch$opts$url) {

        if(
    ini_get('safe_mode')) {
            
    $opts[CURLOPT_HEADER] = 1;
            
    $opts[CURLOPT_CUSTOMREQUEST] = "HEAD";
        }

        
    $opts[CURLOPT_URL] = $url;
        
    curl_setopt_array($ch$opts);

        
    $bla curl_exec($ch);

        
    $arr split("\n"$bla);

        foreach(
    $arr as $v) {
            if (
    preg_match('/^Location: (.*)/'$v$matches)) {
                return 
    curl_sm_exec($ch$opts$matches[1]);
            }
        }
        
    $opts[CURLOPT_HEADER] = 0;
        
    $opts[CURLOPT_CUSTOMREQUEST] = "GET";
        
    curl_setopt_array($ch$opts);
        return 
    curl_exec($ch);
    }

    $res curl_sm_exec($ch$curl_opts'www.euronet.nl');
    print 
    $res "\n";
    ?>


    [ Bericht 42% gewijzigd door slakkie op 25-07-2008 23:58:51 ]
    pi_60353348
    Ik gebruik deze 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
    39
    40
    41
    42
    43
    44
    45
    46
    function curl_redir_exec($ch)
    {
       static $curl_loops = 0;
       static $curl_max_loops = 20;
       
       if ($curl_loops++ >= $curl_max_loops)
       {// Maximum number of redirects exceeded
          $curl_loops = 0;
          return false;
       }
       
       curl_setopt($ch, CURLOPT_HEADER, true);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       $data = curl_exec($ch);
       $debbbb = $data;
       
       list($header, $data) = explode("\n\n", $data, 2);
       
       $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
       
       if (!($http_code == 301 || $http_code == 302))
       {
          $curl_loops = 0;
          return $debbbb;
       }
       
       $matches = array();
       preg_match('#Location:(.*?)\n#i', $header, $matches);
       $url = @parse_url(trim(array_pop($matches)));
       if (!$url)
       { // Couldn't process the url to redirect to
          $curl_loops = 0;
          return $data;
       }
       
       $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
       if (!$url['scheme']) $url['scheme'] = $last_url['scheme'];
       if (!$url['host']) $url['host'] = $last_url['host'];
       if (!$url['path']) $url['path'] = $last_url['path'];
                    
       $new_url = $url['scheme'] .'://'. $url['host'] . $url['path'] . ($url['query'] ? '?'.$url['query'] : '');

       curl_setopt($ch, CURLOPT_URL, $new_url);
       
       return curl_redir_exec($ch);
    }


    (gebaseerd op code uit de comments van de php curl_setopt pagina)

    Zonder dat script krijg ik inderdaad een 30X header en een location.
    Maar met dit script gaat er wat mis op de server waar ik de pagina probeer op te vragen (Ik krijg een ASP.NET error pagina :') ). De oorspronkelijke request die ik doe is een post naar een aspx pagina, ik stuur o.a. de viewstate mee en een sessie cookie.

    Lokaal heb ik php (natuurlijk) niet in safe mode draaien. Daar werkt 't opvragen van de pagina zonder problemen.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60353817
    Je code werkt hier zonder problemen, met deze kleine uitzondering:

    Notice: Undefined offset: 1 in /home/wesleys/sbox/php/bin/curl.php on line 57

    Zit in de explode("\n\n", $data, 2);

    Weet niet of je lokaal aan het developen bent, maar ik zou safe mode wel even enablen, test wat makkelijker (maar goed, ik test met de cli versie waardoor ik mijn apache php.ini niet hoef aan te raken).

    Je kan ook php6 gaan draaien, safe mode bestaat daar niet meer
    pi_60357099
    Ik denk dat er wat nieuwe cookies worden meegestuurd die ik niet (goed) afhandel. Ik ben echt een cURL n00b
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60382967
    Hm, ik wilde OpenPhotoVR eens lokaal proberen, dus ik die source gedownload, uitgepakt in m'n XAMPP htdocs en wil een afbeelding uploaden, krijg ik een foutmelding waarschuwing. Wat er op neer komt dat hij het bestand niet kan vinden. Nu voert die code wat bewerkingen uit op een afbeelding middels het volgende script:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
        
    while (true)
        {
            
    array_push($to_unlink$tmp_name);
            `
    convert -crop 256x256 $tmp_name ./data/$id/$levels-%d.jpg`;
            if (
    $levels == 1)
                break;
            
    $levels -= 1;
            
    $new_tmp_name tempnam("./temp"$id) . ".jpg";
            `
    convert -resize 50%x50% $tmp_name $new_tmp_name`;
            
    $tmp_name $new_tmp_name;
        }
        foreach (
    $to_unlink as $name)
            
    unlink($name);

        `
    convert -resize 50%x50% ./data/$id/1-0.jpg ./data/$id/thumbnail.jpg`;

        
    header("Location: ./?edit=true&id=$id");
    ?>


    Dat "`convert" zit het hem denk ik in, is dat ImageMagick? Ik heb die geïnstalleerd en hij komt te voorschijn in de phpinfo(); maar krijg nog steeds de error waarschuwing dat hij het bestand niet vinden kan.

    Of roept die `convert iets anders aan wat ik mogelijk niet heb?

    Dit is de foutmelding waarschuwing overigens:
    1
    2
    3
    4
    5
    6
    7
    Warning: unlink(C:\Documents and Settings\Frank\Local Settings\Temp\7sM249.tmp.jpg) [function.unlink]: No such file or directory in C:\xampp\htdocs\vr\add_image.php on line 55

    Warning: unlink(C:\Documents and Settings\Frank\Local Settings\Temp\7sM24A.tmp.jpg) [function.unlink]: No such file or directory in C:\xampp\htdocs\vr\add_image.php on line 55

    Warning: unlink(C:\Documents and Settings\Frank\Local Settings\Temp\7sM24B.tmp.jpg) [function.unlink]: No such file or directory in C:\xampp\htdocs\vr\add_image.php on line 55

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\vr\add_image.php:55) in C:\xampp\htdocs\vr\add_image.php on line 59


    [ Bericht 34% gewijzigd door DaFrenk op 27-07-2008 22:08:14 ]
    Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
    Dwight K. Schrute: Impossible to say. I can't see myself.
      zondag 27 juli 2008 @ 21:20:56 #177
    3677 SuperRembo
    Sinds 1998
    pi_60384087
    Je krijgt geen foutmeldingen maar waarschuwingen. En de eerste 3 gaan er duidelijk over dat unlink() het bestand dat verwijderd zou moeten worden niet bestaat.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60384895
    quote:
    Op zondag 27 juli 2008 21:20 schreef SuperRembo het volgende:
    Je krijgt geen foutmeldingen maar waarschuwingen. En de eerste 3 gaan er duidelijk over dat unlink() het bestand dat verwijderd zou moeten worden niet bestaat.
    Oké Waarschuwingen.. klopt. Maar ik heb een vermoeden dat die bestanden niet bestaan omdat de actie die hij uitvoert met "`convert" niet gedaan kan worden omdat hij iets mist?
    Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
    Dwight K. Schrute: Impossible to say. I can't see myself.
    pi_60385646
    quote:
    Op zondag 27 juli 2008 22:05 schreef DaFrenk het volgende:

    [..]

    Oké Waarschuwingen.. klopt. Maar ik heb een vermoeden dat die bestanden niet bestaan omdat de actie die hij uitvoert met "`convert" niet gedaan kan worden omdat hij iets mist?
    Denk dat je die array_push naar to_unlink te vroeg doet, staan je bestanden in ./temp?

    Je kan beter ook nog even if file exists then unlink, dan krijg je die warnings niet.

    En tevens stuur je je header te laat op.
      maandag 28 juli 2008 @ 10:38:45 #180
    85514 ralfie
    !Yvan eht nioj
    pi_60391445
    of @unlink(); De @ onderdrukt de waarschuwing. Neemt niet weg dat het kan zijn dan je idd door een fout die bestanden niet hebt, dus dat zou ik eerst uitzoeken.
    pi_60391760
    quote:
    Op zondag 27 juli 2008 22:40 schreef slakkie het volgende:

    [..]

    Denk dat je die array_push naar to_unlink te vroeg doet, staan je bestanden in ./temp?
    D'oh! Er was geen "temp" mapje, nu ik die aangemaakt heb werkt het wel.

    Overigens is dat geen code van mij, maar van een project genaamd OpenPhotoVR, probeer het lokaal te draaien om eens wat ermee te experimenteren, maar dat ging dus niet. Maar bedankt voor de tip! Had helemaal over die "./temp" heen gekeken!
    Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
    Dwight K. Schrute: Impossible to say. I can't see myself.
      maandag 28 juli 2008 @ 15:39:58 #182
    187069 slacker_nl
    Sicko pur sang
    pi_60397416
    quote:
    Op maandag 28 juli 2008 10:38 schreef ralfie het volgende:
    of @unlink(); De @ onderdrukt de waarschuwing. Neemt niet weg dat het kan zijn dan je idd door een fout die bestanden niet hebt, dus dat zou ik eerst uitzoeken.
    Is ook een manier. Kwam laatst ergens een quote tegen van iemand die code had gezien in de trant van:

    error_reporting(E_ALL);

    @dit($dat);
    @dat($dit);
    @etc($etc, $etc, $etc);

    Niet dat jij dit doet, maar mensen die errorreporting aanzetten en dan alles gaan @'en zijn lachwekkend
    In theory there is no difference between theory and practice. In practice there is.
      maandag 28 juli 2008 @ 19:25:37 #183
    85514 ralfie
    !Yvan eht nioj
    pi_60402151
    quote:
    Op maandag 28 juli 2008 15:39 schreef slacker_nl het volgende:

    [..]

    Is ook een manier. Kwam laatst ergens een quote tegen van iemand die code had gezien in de trant van:

    error_reporting(E_ALL);

    @dit($dat);
    @dat($dit);
    @etc($etc, $etc, $etc);

    Niet dat jij dit doet, maar mensen die errorreporting aanzetten en dan alles gaan @'en zijn lachwekkend
    ik doe het deels unlink, mysql_connect en mysql_select_db hebben bij mij standaard een @'tje. De rest niet
      woensdag 30 juli 2008 @ 12:52:11 #184
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60441519
    * WyriHaximus zit weer eens te kwijlen bij het lezen van nieuwe features:
    http://wiki.php.net/rfc/closures
    https://trac.cakephp.org/wiki/Proposals/2.0ToDoList
    phluphy for president!
    pi_60446778
    Vandaag voor het eerst IIS + PHP + MySQL geinstalleerd. Alles werkt, alleen ondersteund PHP5 standaard geen MySQL. Ik heb tig tutorials gevolgd, en deze zeggen allemaal dat ik de php.ini moet wijzigen en deze regels bij de extensions toe moet voegen:
    quote:
    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamic Extensions ;
    ;;;;;;;;;;;;;;;;;;;;;;
    ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ;
    ; extension=modulename.extension
    ;
    ; For example, on Windows:
    ;
    ; extension=msql.dll
    ;
    ; ... or under UNIX:
    ;
    ; extension=msql.so
    ;
    ; Note that it should be the name of the module only; no directory information
    ; needs to go here. Specify the location of the extension with the
    ; extension_dir directive above.


    ; Windows Extensions
    ; Note that ODBC support is built in, so no dll is needed for it.
    ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
    ; extension folders as well as the separate PECL DLL download (PHP 5).
    ; Be sure to appropriately set the extension_dir directive.

    extension=php_mysql.dll
    extension=php_mysqli.dll
    .... maar bij mij als resultaat:
    quote:
    1PHP Warning: PHP Startup: Unable to load dynamic library './php_mysql.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library './php_mysqli.dll' - The specified module could not be found. in Unknown on line 0
    Iemand verder nog tips?
      woensdag 30 juli 2008 @ 16:33:50 #186
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60446882
    Misschien een stomme vraag, maar de dll bestaan wel in je PHP/ext folder??
    pi_60446923
    De DLL staat in de root van PHP en in ook in system32.

    Maar het probleem ga ik simpeler oplossen door PHP4 te gebruiken, want daar was hij tenminste wel pre-compiled.
      woensdag 30 juli 2008 @ 16:38:47 #188
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60446999
    quote:
    Op woensdag 30 juli 2008 16:35 schreef Geqxon het volgende:
    De DLL staat in de root van PHP en in ook in system32.

    Maar het probleem ga ik simpeler oplossen door PHP4 te gebruiken, want daar was hij tenminste wel pre-compiled.
    Dat zeg ik, je moet hem in PHP/ext flikkeren..

    En daarnaast, terug gaan naar PHP4 om je probleem te ontlopen..
    Mijn code werkt nagenoeg niet meer in 4, dus dat forceert me tenminste om te zorgen dat ik niet terug ga naar PHP4.
    pi_60447029
    De map "ext" in "C:\Program Files\PHP", die bestaat hier niet. Aanmaken dus? Vreemd dat die er standaard niet bij staat, ik dacht dat PHP gebruiksvriendelijk was...
    pi_60447057
    A, kijk:
    quote:
    extension_dir = "./"
    Je kletst dus uit je nek met je ext folder. Ik dacht al, hier klopt iets niet.

    -------------------------------

    Het probleem zit hem bij mij met name in de falende tutorials, zelfs de officieele van PHP zelf, aangezien ook die met verouderde informatie werkt.

    -------------------------------

    En na wat pielen:
    quote:
    1PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files\PHP\ext\php_mysql.dll' - The specified procedure could not be found. in Unknown on line 0
    En dat terwijl 'C:\Program Files\PHP\ext\php_mysql.dll' recht voor mijn neus staat!

    [ Bericht 29% gewijzigd door Geqxon op 30-07-2008 16:50:48 ]
      woensdag 30 juli 2008 @ 16:52:35 #191
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60447311
    quote:
    Op woensdag 30 juli 2008 16:41 schreef Geqxon het volgende:
    A, kijk:
    [..]

    Je kletst dus uit je nek met je ext folder. Ik dacht al, hier klopt iets niet.

    -------------------------------

    Het probleem zit hem bij mij met name in de falende tutorials, zelfs de officieele van PHP zelf, aangezien ook die met verouderde informatie werkt.

    -------------------------------

    En na wat pielen:
    [..]

    En dat terwijl 'C:\Program Files\PHP\ext\php_mysql.dll' recht voor mijn neus staat!
    No comments verder.. Succes verder met je PHP4
    pi_60447397
    Waar heb je het over ursel? Je lacht me uit omdat de extensions niet in de ext directory staat, en by default bestaat die niet. Ik vind dat vreemd gedrag.
      woensdag 30 juli 2008 @ 17:02:08 #193
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60447517
    quote:
    Op woensdag 30 juli 2008 16:56 schreef Geqxon het volgende:
    Waar heb je het over ursel? Je lacht me uit omdat de extensions niet in de ext directory staat, en by default bestaat die niet. Ik vind dat vreemd gedrag.
    Je melding geeft het anders wel default aan en je verklaart dat ik uit mijn nek lul..
    Verder staat het hier wel allemaal gewoon netjes in een ext folder, dus ja, om dan gelijk te roepen dat iemand uit zijn nek lult die je probeert te helpen..
    pi_60447617
    quote:
    Op woensdag 30 juli 2008 17:02 schreef ursel het volgende:

    [..]

    Je melding geeft het anders wel default aan en je verklaart dat ik uit mijn nek lul..
    Verder staat het hier wel allemaal gewoon netjes in een ext folder, dus ja, om dan gelijk te roepen dat iemand uit zijn nek lult die je probeert te helpen..
    Goed, communicatie foutje. Sorry

    Inmiddels PHP5 in "c:\php\" geinstalleerd, "c:\php\ext\" aangemaakt en hier de twee php_mysql en php_mysqli DLL files in gezet. In PHP.ini vervolgens de extension_dir laten verwijzen naar "c:\php\ext" en de twee DLL files in de PHP.ini laten laden. Helaas helaas:
    quote:
    Unable to load dynamic library 'c:\php\ext\php_mysql.dll' - The specified procedure could not be found.
    Morgen verder.
      woensdag 30 juli 2008 @ 17:16:56 #195
    75592 GlowMouse
    l'état, c'est moi
    pi_60447791
    Doe gewoon een handmatige installatie, dan weet je zeker dat alles goed gaan. Deze documentatie is up-to-date.

    Merk ook op dat hij niet zegt 'file not found' maar 'the specified procedure could not be found', dat is heel wat anders.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_60447881
    Haha, ik heb het met de GUI installer opgelost. Zo, dat was simpel.
    pi_60457576
    Een testscript dat ik deze middag gebruikt heb:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if (false){
    ?>
    PHP doesn't work
    <?php
    }
    ?>

    <?php
    @mysql_connect("localhost","root","tardis");

    if (@mysql_get_server_info()){
       echo "PHP & MySQL both work";
    }
    else{
       echo "PHP works, MySQL doesn't";
    }
    ?>


    Werkt flawless, handig om spul te testen.
      donderdag 31 juli 2008 @ 09:57:47 #198
    12221 Tijn
    Powered by MS Paint
    pi_60461163
    Handig om je rootpasswoord hier neer te gooien, Gex
    pi_60515269
    Ik wilde even wat met jullie delen, aangezien ik zelf een klein probleem had m.b.t. het invoeren van dubbele data op unieke velden, waar ik helaas niets aan kon doen m.b.t. snelheid van connecties op de database.

    Nu heb ik de oplossing in MySQL zelf gevonden.

    Stel ik heb een tabel
    ID (auto_ince) - IP (uniek)

    en ik wil zonder fouten invoeren en uitlezen.

    Eerst deed ik het met
    1
    2
    3
    4
    SELECT id 
    FROM tabel 
    WHERE ip = 'IPADRES' 
    LIMIT 1

    0 items -> insert en lees nieuw ID
    1 items -> lees item id

    echter ging het af en toe fout en ontving ik foutmeldingen dat ik een unieke row wilde toevoegen, hoe dit mogelijk was? geen flauw idee maar ik wil de het voorkomen.

    Nu heb ik na een uurtje MySQL documentatie doorgelezen te hebben de oplossing gevonden (ook na tips van FOK!users)

    Oplossing:
    1
    2
    3
    INSERT INTO `stats_ip` (`ip`)
    VALUES ('1448150902')
    ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), ip = '1448150902'


    Normaal zou ik met MYSQL_INSERT_ID() het laatste gegeven ID ontvangen, maar in dit geval ontvang ik het geupdate ID

    Altijd handig!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 2 augustus 2008 @ 20:45:26 #200
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60515438
    Ff een specialiste vraagje tussen door zijn er hier mensen die voor cakephp datasources hebben gebouwt?
    phluphy for president!
    pi_60515745
    ik ga me straks of morgen eens inlezen hoe dat nou werkt met classes en extenden enzo

    Ik gebruik wel classes, maar die staan altijd apart van elkaar.... Ik heb nu een wat complexer geheel waarbij ik wat algemene functies heb, en soms wat extra, specifieke, functies. Volgens mij kan ik dat mooi daarmee oplossen, zonder dat ik allerlei dubbele code krijgt.... maar het is me nog niet helemaal duidelijk
    pi_60524086
    quote:
    Op zaterdag 2 augustus 2008 21:04 schreef Xcalibur het volgende:
    ik ga me straks of morgen eens inlezen hoe dat nou werkt met classes en extenden enzo

    Ik gebruik wel classes, maar die staan altijd apart van elkaar.... Ik heb nu een wat complexer geheel waarbij ik wat algemene functies heb, en soms wat extra, specifieke, functies. Volgens mij kan ik dat mooi daarmee oplossen, zonder dat ik allerlei dubbele code krijgt.... maar het is me nog niet helemaal duidelijk
    Ja. Het principe heet OOP:

    http://en.wikipedia.org/wiki/Object_oriented
      zondag 3 augustus 2008 @ 13:57:45 #203
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60525882
    quote:
    Op zondag 3 augustus 2008 12:17 schreef Scorpie het volgende:

    [..]

    Ja. Het principe heet OOP:

    http://en.wikipedia.org/wiki/Object_oriented
    Aye en OOP is erg geil tof .
    phluphy for president!
    pi_60528292
    I know

    Ik werk ook wel met classes, alleen dat extenden is nog nieuw
    Heb al even in de PHP documentatie gekeken, dat ziet er vrij overzichtelijk uit...
    pi_60528758
    quote:
    Op zondag 3 augustus 2008 16:05 schreef Xcalibur het volgende:
    I know

    Ik werk ook wel met classes, alleen dat extenden is nog nieuw
    Heb al even in de PHP documentatie gekeken, dat ziet er vrij overzichtelijk uit...
    OOP is niet iets wat je uit PHP documentatie kan leren, het is een manier van ontwerpen en programmeren. Die leer je beter door een algemene tutorial over OOP door te nemen.
    pi_60529616
    Ik moet zeggen dat ik de Perl OO tutorial wel erg prettig vond om te lezen. Zie het Perl topic voor de linkjes
    pi_60538628
    het principe snap ik wel, ik gebruik het alleen maar beperkt
    Maar toch bedankt
    pi_60558447
    Nog een korte vraag m.b.t. on duplicate,

    voor een script moet ik heel veel ID's achterhalen, en indien deze niet bestaat de regel toevoegen, is het handiger om toch een query te doen om te kijken of deze bestaat of gewoon altijd een insert waarbij ik de on duplicate gebruik? want het resultaat is praktisch het zelfde...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60558513
    Waarom heb je de ID's nodig?
    pi_60558548
    Chandler, moet je avatar trouwens m'n browser versie en OS raden?
    pi_60558902
    nou, dat hoop ik niet, want ik zie IE7.0 / Windows XP terwijl ik op Safari op de Mac zit

    Wat betreft on duplicate: ik zou on duplicate gebruiken, dan doe je in 1 query wat je anders in 2 queries doet
    Waarom zou je het niet doen?
    pi_60558965
    quote:
    Op maandag 4 augustus 2008 20:29 schreef slakkie het volgende:
    Waarom heb je de ID's nodig?
    Voor mijn statistieken systeem ala ipcounter.nl, had in mijn nieuwe systeem vaak een probleem dat een uniek veld dubbel geschreven werdt. Even om duidelijk te zijn.

    In het oude systeem deed ik.

    Query voor kijken of item bestaat
    JA -> fetch en return ID
    Nee -> Insert en return mysql_insert_id()

    In het nieuwe systeem heb ik dit allemaal verwijderd door de simpele INSERT INTO.... ON DUPLICATE KEY id = MYSQL_LAST_ID(id) waarbij de output precies het zelfde is, echter vraag ik me af of dit op den duur het systeem niet erg traag zou maken!?
    quote:
    Op maandag 4 augustus 2008 20:30 schreef slakkie het volgende:
    Chandler, moet je avatar trouwens m'n browser versie en OS raden?
    Dat is inderdaad de bedoeling? zie je een fout gegeven dan?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60559022
    quote:
    Op maandag 4 augustus 2008 20:45 schreef Xcalibur het volgende:
    nou, dat hoop ik niet, want ik zie IE7.0 / Windows XP terwijl ik op Safari op de Mac zit

    Wat betreft on duplicate: ik zou on duplicate gebruiken, dan doe je in 1 query wat je anders in 2 queries doet
    Waarom zou je het niet doen?
    Zou je mij jou BROWSER informatie string willen sturen? zodat ik deze kan verwerken?

    http://www.useragentstring.com/

    Ik wil zeker weten dat ik mijn systeem niet verkloot, liefst voordat ik deze online zet, helaas kan ik de preformance van de servers niet inzien aangezien het een shared hosting server is (en ik geen toestemming voor het inzien krijg)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60559207
    quote:
    Op maandag 4 augustus 2008 20:48 schreef Chandler het volgende:

    [..]

    Voor mijn statistieken systeem ala ipcounter.nl, had in mijn nieuwe systeem vaak een probleem dat een uniek veld dubbel geschreven werdt. Even om duidelijk te zijn.

    In het oude systeem deed ik.

    Query voor kijken of item bestaat
    JA -> fetch en return ID
    Nee -> Insert en return mysql_insert_id()

    In het nieuwe systeem heb ik dit allemaal verwijderd door de simpele INSERT INTO.... ON DUPLICATE KEY id = MYSQL_LAST_ID(id) waarbij de output precies het zelfde is, echter vraag ik me af of dit op den duur het systeem niet erg traag zou maken!?
    [..]
    Die vraag heb ik al eens beantwoord, maar je kan het in 1 query doen, waarom 2 queries gaan doen?
    REPLACE INTO ip (ip, hostname) VALUES ('127.0.0.1', 'localhost').
    quote:
    Dat is inderdaad de bedoeling? zie je een fout gegeven dan?
    Joh... XP en FF3 terwijl ik Ubuntu 6.10 / FF2.0.0.14 draai.
    pi_60559472
    quote:
    Op maandag 4 augustus 2008 20:55 schreef slakkie het volgende:
    Die vraag heb ik al eens beantwoord, maar je kan het in 1 query doen, waarom 2 queries gaan doen?
    REPLACE INTO ip (ip, hostname) VALUES ('127.0.0.1', 'localhost').
    Mja het gaat mij er continue om om bepaalde ID's te achterhalen en te zetten, oftewel veel al insert en update wat ik dus nu in 1 query doe maar goed, ik vertrouw er nu op dat het niet zo goed is als eerst zoeken, dan plaatsen of uitlezen...
    quote:
    Joh... XP en FF3 terwijl ik Ubuntu 6.10 / FF2.0.0.14 draai.
    Mag ik jou useragentstring dan ook?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60559832
    quote:
    Op maandag 4 augustus 2008 21:05 schreef Chandler het volgende:
    Mja het gaat mij er continue om om bepaalde ID's te achterhalen en te zetten, oftewel veel al insert en update wat ik dus nu in 1 query doe maar goed, ik vertrouw er nu op dat het niet zo goed is als eerst zoeken, dan plaatsen of uitlezen...
    Je wilt geen update doen als het record gelijk is aan wat je gaat invoeren?
    quote:
    Mag ik jou useragentstring dan ook?
    Zitten in je access logs.
    pi_60564134
    quote:
    Op maandag 4 augustus 2008 21:18 schreef slakkie het volgende:
    Je wilt geen update doen als het record gelijk is aan wat je gaat invoeren?
    In heel veel gevallen wil ik iets lezen, tenzij het niet bestaat dan invoeren. Laten we zeggen dat 95% uit lezen bestaat en 5% uit invoeren cq updaten.
    quote:
    Zitten in je access logs.
    Duidelijk
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      dinsdag 5 augustus 2008 @ 12:14:55 #218
    187069 slacker_nl
    Sicko pur sang
    pi_60572332
    quote:
    Op maandag 4 augustus 2008 23:44 schreef Chandler het volgende:

    [..]

    In heel veel gevallen wil ik iets lezen, tenzij het niet bestaat dan invoeren. Laten we zeggen dat 95% uit lezen bestaat en 5% uit invoeren cq updaten.
    [..]

    Duidelijk
    Je gaat daarna nog wat met het ID doen? Ik snap echt niet wat je nou precies aan het doen bent. Maar als je 95% van de tijd alleen interesse hebt in de ID's kan je net zo goed de ID opvragen en dan verder gaan, de overhead die je in met de overige 5% hebt is dan verder te verwaarlozen. In de huidige constructie ben je 100% bezig met read/write acties en anders ben je 95% read en 5% write acties aan het uitvoeren. De overhead van altijd updaten lijkt me meer wegen dan een tweede query voor een write actie.
    In theory there is no difference between theory and practice. In practice there is.
    pi_60590310
    Hallo,

    vroeger had ik ergens een heel simpel script gevonden. (althans het zag er heel simpel uit qua looks)

    Je kon in het bestand een eindsaldo invullen en een saldo wat je uit eindelijk hebt. dat berekende hij door in een percentage wat er dus nog gespaard moest worden.

    het uiteindelijke plaatje was dus echt heel simpel. Links groen rechts rood en verders hellemaal niets. geen tekst niets. weet iemand waar ik dat sciptje weer kan vinden. had het ergens van een site geplukt.
    Kus-Kus
    pi_60593234
    quote:
    Op dinsdag 5 augustus 2008 12:14 schreef slacker_nl het volgende:

    [..]

    Je gaat daarna nog wat met het ID doen? Ik snap echt niet wat je nou precies aan het doen bent. Maar als je 95% van de tijd alleen interesse hebt in de ID's kan je net zo goed de ID opvragen en dan verder gaan, de overhead die je in met de overige 5% hebt is dan verder te verwaarlozen. In de huidige constructie ben je 100% bezig met read/write acties en anders ben je 95% read en 5% write acties aan het uitvoeren. De overhead van altijd updaten lijkt me meer wegen dan een tweede query voor een write actie.
    Slacker_nl, ik zou graag wat dieper hier op in gaan maar kan dat helaas niet op het forum, ik wil je met plezier laten zien waar ik dit alles voor gebruik! PM voor meer info indien je geintresseerd bent
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      woensdag 6 augustus 2008 @ 10:46:23 #221
    187069 slacker_nl
    Sicko pur sang
    pi_60595335
    Je hebt een pm.
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 6 augustus 2008 @ 17:03:56 #222
    65516 gieling
    Live from NYC
    pi_60604164
    Ik heb een probleempje, dus eerst maar even hier voorleggen.

    Ik heb sinds kort een mac en daarop MAMP geinstalleerd... alleen als ik nu een script draai die postgegevens uit een form haalt, herkent hij de POST data niet. GET is verder geen probleem. Het script draait ook op een andere server dus het ligt zeker niet aan de code.

    Iemand een idee waar het aan kan liggen?
      woensdag 6 augustus 2008 @ 17:07:25 #223
    12221 Tijn
    Powered by MS Paint
    pi_60604236
    Hoe ziet je script eruit?
      woensdag 6 augustus 2008 @ 17:14:22 #224
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60604383
    quote:
    Op woensdag 6 augustus 2008 17:03 schreef gieling het volgende:
    Ik heb een probleempje, dus eerst maar even hier voorleggen.

    Ik heb sinds kort een mac en daarop MAMP geinstalleerd... alleen als ik nu een script draai die postgegevens uit een form haalt, herkent hij de POST data niet. GET is verder geen probleem. Het script draait ook op een andere server dus het ligt zeker niet aan de code.

    Iemand een idee waar het aan kan liggen?
    Heel misschien omdat de ene machine case sensitive is en de ander niet?
    Dan kan het mogelijk nog steeds aan je code liggen..
      woensdag 6 augustus 2008 @ 17:19:38 #225
    65516 gieling
    Live from NYC
    pi_60604500
    Bijvoorbeeld deze, maar ook bij andere forms is het het geval..


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    if($_GET["page"]=='edit') {

        
    $get_cat_info=mysql_query("SELECT * FROM categories WHERE id=".$cid."")or die(mysql_error());
        
    $cat_info=mysql_fetch_assoc($get_cat_info);

    if(
    $cat_info["status"]=='open') {
            
    $open='selected';
        }else{
            
    $closed='selected';
        }
        
            
    $content='<b>Categorie - Wijzigen</b><br><br>
    <form title="add" action="categorie.php?page=edit2&cid='
    .$_GET["cid"].'" method="post">Titel voor categorie (Nederlands):&nbsp;<input title="title" type="text" size="30" class="form" value="'.$cat_info["title"].'" /><br><br>
    Titel voor categorie (Engels):&nbsp;<input title="title_en" type="text" size="30" class="form" value="'
    .$cat_info["title_en"].'" /><br><br>
    Status van de Categorie:&nbsp;<select title="status" size="1" class="form"><option value="Open" '
    .$open.'>Open</option><option value="close
    d" '
    .$closed.'>closed</option></select><br><br>Toevoegen:&nbsp;<input type="submit" title="Submit" value="Toevoegen" class="form" /></form>';
        
    }
    if(
    $_GET["page"]=='edit2') {

            
    mysql_query("UPDATE categories SET title='".$_POST["title"]."',title_en='".$_POST["title_en"]."',status='".$_POST["status"]."' WHERE id=".$_GET["cid"]."")or die(mysql_error());
        
            
    $content='<b>Categorie - Wijzigen</b><br /><br />De categorie is succesvol gewijzigd. Klik <a href="categorie.php">hier</a> om verder te gaan.';
    }
    ?>
      woensdag 6 augustus 2008 @ 17:27:20 #226
    187069 slacker_nl
    Sicko pur sang
    pi_60604662
    Ipv _POST en _GET kan je beter _REQUEST gebruiken... _POST en _GET zitten gewoon in _REQUEST:

    http://nl3.php.net/manual/en/reserved.variables.request.php
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 6 augustus 2008 @ 17:30:32 #227
    65516 gieling
    Live from NYC
    pi_60604726
    quote:
    Op woensdag 6 augustus 2008 17:27 schreef slacker_nl het volgende:
    Ipv _POST en _GET kan je beter _REQUEST gebruiken... _POST en _GET zitten gewoon in _REQUEST:

    http://nl3.php.net/manual/en/reserved.variables.request.php
    Geprobeerd maar haalt niks uit
      woensdag 6 augustus 2008 @ 17:37:26 #228
    187069 slacker_nl
    Sicko pur sang
    pi_60604871
    Dat lijkt me sterk...

    Een URL met daarin debug info, zodat we kunnen zien wat er fout gaat?
    In theory there is no difference between theory and practice. In practice there is.
      woensdag 6 augustus 2008 @ 17:44:49 #229
    32768 DionysuZ
    Respect my authority!
    pi_60605014
    en verder zou ik me eens inlezen in sql injecties, want die code is erg vulnerable.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      woensdag 6 augustus 2008 @ 17:58:54 #230
    65516 gieling
    Live from NYC
    pi_60605301
    quote:
    Op woensdag 6 augustus 2008 17:37 schreef slacker_nl het volgende:
    Dat lijkt me sterk...

    Een URL met daarin debug info, zodat we kunnen zien wat er fout gaat?
    Code draait local he Of hoe doe ik het anders
    quote:
    Op woensdag 6 augustus 2008 17:44 schreef DionysuZ het volgende:
    en verder zou ik me eens inlezen in sql injecties, want die code is erg vulnerable.
    yes i know, maar script is toegankelijk voor één persoon (verder geen excuus)
    pi_60605624
    quote:
    Op woensdag 6 augustus 2008 17:27 schreef slacker_nl het volgende:
    Ipv _POST en _GET kan je beter _REQUEST gebruiken... _POST en _GET zitten gewoon in _REQUEST:

    http://nl3.php.net/manual/en/reserved.variables.request.php
    $_REQUEST heeft ook nadelen. Je weet niet meer of een waarde via GET of POST (of COOKIE) geset is. En het is meer typen.
    pi_60606412
    quote:
    Op woensdag 6 augustus 2008 18:18 schreef Light het volgende:

    [..]

    $_REQUEST heeft ook nadelen. Je weet niet meer of een waarde via GET of POST (of COOKIE) geset is. En het is meer typen.
    Mja, _GET en _POST zijn nagenoeg hetzelfde, in JSP moet je ook een _get en een _post functie maken, waarbij je 9 vd 10 keer _get doorsluist naar de _post functie.

    _COOKIE kan ik het nog begrijpen, maar je weet toch zelf wel waar je de value vandaan haalt...

    En if ($_REQUEST['val'] == 'blaat') is korter dan: if ($_GET['val'] == "blaat" || $_POST['val'] == "blaat").
      woensdag 6 augustus 2008 @ 19:34:55 #233
    75592 GlowMouse
    l'état, c'est moi
    pi_60607225
    quote:
    Op woensdag 6 augustus 2008 18:59 schreef slakkie het volgende:
    Mja, _GET en _POST zijn nagenoeg hetzelfde, in JSP moet je ook een _get en een _post functie maken, waarbij je 9 vd 10 keer _get doorsluist naar de _post functie.
    Daar gaat de illusie dat JSP professioneel is verschil GET/POST
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_60607383
    quote:
    Op woensdag 6 augustus 2008 18:59 schreef slakkie het volgende:

    [..]

    Mja, _GET en _POST zijn nagenoeg hetzelfde, in JSP moet je ook een _get en een _post functie maken, waarbij je 9 vd 10 keer _get doorsluist naar de _post functie.
    _GET bevat alle variabelen die via de url (na het vraagteken) of via een formulier met method="get" worden meegezonden
    _POST bevat alle variabelen die via een formulier met method="post" worden meegezonden. Da's niet hetzelfde.
    Als je _REQUEST gebruikt kan ik een linkje bouwen dat hetzelfde doet als een formuliertje. Door dan iemand op dat linkje te laten klikken (klik hier om 1 miljoen euro te winnen), kunnen er dingen gebeuren die jij niet had voorzien. Het effect kan onbeduidend zijn maar ook tot gekkere dingen leiden.
    quote:
    _COOKIE kan ik het nog begrijpen, maar je weet toch zelf wel waar je de value vandaan haalt...

    En if ($_REQUEST['val'] == 'blaat') is korter dan: if ($_GET['val'] == "blaat" || $_POST['val'] == "blaat").
    Je moet dan ook of if('blaat' == $_GET['val']) of if('blaat' == $_POST['val']) gebruiken. En ja, ik heb de constante expres vooraan gezet in die vergelijkingen.
    pi_60608370
    quote:
    Op woensdag 6 augustus 2008 19:42 schreef Light het volgende:

    [..]

    _GET bevat alle variabelen die via de url (na het vraagteken) of via een formulier met method="get" worden meegezonden
    _POST bevat alle variabelen die via een formulier met method="post" worden meegezonden. Da's niet hetzelfde.

    Als je _REQUEST gebruikt kan ik een linkje bouwen dat hetzelfde doet als een formuliertje. Door dan iemand op dat linkje te laten klikken (klik hier om 1 miljoen euro te winnen), kunnen er dingen gebeuren die jij niet had voorzien. Het effect kan onbeduidend zijn maar ook tot gekkere dingen leiden.
    _REQUEST geeft preference op _POST en niet op _GET, dus als jij data post en je zorgt dat de link ?val=bla bevat (om zo de data van _POST te overwriten) dan kom je bedrogen uit aangezien de _POST var voorrang heeft in de _REQUEST var. Dus waarom zou je dan in de problemen komen? Verder is het zo dat als je met _POST of _GET gaat werken dat je meer code moet kloppen (met debuggen gebruik je vaak een GET, en in live situaties ga je POST gebruiken). Jij moet voor deze twee gevallen extra code gaan kloppen terwijl ik alleen met _REQUEST gebruik en dus nergens m'n code hoef aan te passen.... Dus zowel met de GET als de POST kan ik op een generieke wijze overweg.
    quote:
    Je moet dan ook of if('blaat' == $_GET['val']) of if('blaat' == $_POST['val']) gebruiken. En ja, ik heb de constante expres vooraan gezet in die vergelijkingen.
    Uhm, ik zie hier iemand _POST en _GET door elkaar gebruiken, en m.i. moet je een call kunnen maken met zowel POST als GET en hetzelfde resultaat krijgen. _REQUEST is gewoon makkelijker, aangezien je je niet druk hoeft te maken over hoe de variablen in je request terecht komen, via GET of POST.

    Het boeit mij verder niet waar je de constante neerzet, zolang ie maar aan de juiste voorwaarde voldoet.
    pi_60609479
    quote:
    Op woensdag 6 augustus 2008 20:24 schreef slakkie het volgende:

    [..]

    _REQUEST geeft preference op _POST en niet op _GET, dus als jij data post en je zorgt dat de link ?val=bla bevat (om zo de data van _POST te overwriten) dan kom je bedrogen uit aangezien de _POST var voorrang heeft in de _REQUEST var. Dus waarom zou je dan in de problemen komen? Verder is het zo dat als je met _POST of _GET gaat werken dat je meer code moet kloppen (met debuggen gebruik je vaak een GET, en in live situaties ga je POST gebruiken). Jij moet voor deze twee gevallen extra code gaan kloppen terwijl ik alleen met _REQUEST gebruik en dus nergens m'n code hoef aan te passen.... Dus zowel met de GET als de POST kan ik op een generieke wijze overweg.
    REQUEST bevat idd eerst GET en dan POST, als een variabele in beide geset wordt dan krijg je alleen de POST-waarde.
    Het verwerken van formulierdata wil je meestal niet doen met variabelen die uit een GET komen. Voorbeeldje. Je hebt een formuliertje om dingen te verwijderen. Dat formuliertje gebruikt post en stuurt data (id=123) naar example.com/delete.php . In de verwerking wordt _REQUEST gebruikt.
    Als ik dan iemand laat klikken op example.com/delete.php?id=123 ziet het formulier ook een id en wordt er dus ook iets verwijderd. En ja, het kan nog zo zijn dat voor die actie bepaalde rechten nodig zijn. Dan moet ik iemand met voldoende rechten op die link laten klikken. Da's niet zo moeilijk als het misschien lijkt.

    Had je echter _POST gebruikt dan doet het klikken op het linkje niets, omdat er geen waarde via POST wordt verzonden. En ja, ik weet dat er meer manieren zijn en dat het ook mogelijk is om met bijvoorbeeld javascript een post-request uit te voeren. Maar je maakt het wel lastiger op die manier.
    Ander voorbeeld. Stel je hebt een weblog waar bezoekers anoniem kunnen reageren. Dat gaat via een post-formuliertje. Iemand komt erachter dat het ook werkt als je de waardes in de url zet ipv via het formuliertje en zet die url op een forum ofzo. Gevolg, je krijgt 10.000 reacties van "anoniempje" met de tekst "slakkie is gek".
    quote:
    Uhm, ik zie hier iemand _POST en _GET door elkaar gebruiken, en m.i. moet je een call kunnen maken met zowel POST als GET en hetzelfde resultaat krijgen. _REQUEST is gewoon makkelijker, aangezien je je niet druk hoeft te maken over hoe de variablen in je request terecht komen, via GET of POST.
    Ik kan me situaties voorstellen waarin een deel van de velden via _GET en een deel via _POST komt of waarbij je beide opties wilt kunnen gebruiken. Maar _REQUEST is niet de oplossing die ik wil prediken als juist in alle situaties. Het kan een oplossing zijn, maar dan moet het wel goed doordacht worden.
    quote:
    Het boeit mij verder niet waar je de constante neerzet, zolang ie maar aan de juiste voorwaarde voldoet.
    True. Het grootste verschil is dat je meteen een dikke foutmelding om je oren krijgt als de constante eerst staat en je een = vergeet. Dat kan debugtijd schelen.
    pi_60611039
    quote:
    Op woensdag 6 augustus 2008 21:07 schreef Light het volgende:
    REQUEST bevat idd eerst GET en dan POST, als een variabele in beide geset wordt dan krijg je alleen de POST-waarde.
    Het verwerken van formulierdata wil je meestal niet doen met variabelen die uit een GET komen. Voorbeeldje. Je hebt een formuliertje om dingen te verwijderen. Dat formuliertje gebruikt post en stuurt data (id=123) naar example.com/delete.php . In de verwerking wordt _REQUEST gebruikt.
    Als ik dan iemand laat klikken op example.com/delete.php?id=123 ziet het formulier ook een id en wordt er dus ook iets verwijderd. En ja, het kan nog zo zijn dat voor die actie bepaalde rechten nodig zijn. Dan moet ik iemand met voldoende rechten op die link laten klikken. Da's niet zo moeilijk als het misschien lijkt.

    Had je echter _POST gebruikt dan doet het klikken op het linkje niets, omdat er geen waarde via POST wordt verzonden. En ja, ik weet dat er meer manieren zijn en dat het ook mogelijk is om met bijvoorbeeld javascript een post-request uit te voeren. Maar je maakt het wel lastiger op die manier.

    Ander voorbeeld. Stel je hebt een weblog waar bezoekers anoniem kunnen reageren. Dat gaat via een post-formuliertje. Iemand komt erachter dat het ook werkt als je de waardes in de url zet ipv via het formuliertje en zet die url op een forum ofzo. Gevolg, je krijgt 10.000 reacties van "anoniempje" met de tekst "slakkie is gek".
    Als je een delete.php form niet de GET accepteert maar in je code staat alleen dat het dmv POST opgestuurd wordt, dan klop je zelf wat stuut je een linkje op: http://opperschaap.net/ditwerktniet en zodra je daar op klikt wordt er een POST verzoek uitgevoerd naar example.com/delete.php met id=1234&hoedje=papier. Problem solved .

    Kortom, als je vanwege security redenen iets niet GET zet maar in POST ben je enigsinds naief bezig. Je houdt misschien het beginnende lastpakje buiten de deur, maar anderen die iets meer verstand hebben kunnen die POST wel scripten en die proberen wel wat meer dan 10.000 keer zeggen dat ik gek ben (wat wel klopt overigens ).

    Als je echt niet wilt dat bepaalde acties uitgevoerd worden dan ga je access toelaten op basis van IP adres (in Apache, of via je netwerk devices, etc), en zou je in de applicatie laag ook nog gebruik kunnen maken van ACL's (Xins is hier een voorbeeld van, daar kan je calls naar functies toelaten op basis van IP adresses, of je het nou via een GET of een POST uitvoert). En zo kan je van meer dingen gebruik maken om ervoor te zorgen dat er geen oneigenlijk gebruik wordt gemaakt van je systeem/applicatie.
    pi_60611516
    quote:
    Op woensdag 6 augustus 2008 22:03 schreef slakkie het volgende:

    [..]

    Als je een delete.php form niet de GET accepteert maar in je code staat alleen dat het dmv POST opgestuurd wordt, dan klop je zelf wat stuut je een linkje op: http://opperschaap.net/ditwerktniet en zodra je daar op klikt wordt er een POST verzoek uitgevoerd naar example.com/delete.php met id=1234&hoedje=papier. Problem solved .

    Kortom, als je vanwege security redenen iets niet GET zet maar in POST ben je enigsinds naief bezig. Je houdt misschien het beginnende lastpakje buiten de deur, maar anderen die iets meer verstand hebben kunnen die POST wel scripten en die proberen wel wat meer dan 10.000 keer zeggen dat ik gek ben (wat wel klopt overigens ).
    Als een browser iets kan, is het ook te scripten. Maar er zijn wel dingen om het lastiger te maken. En een post-request doen met een (server-side) script gaat vaak niet werken, omdat je niet over de juiste koekjes beschikt. Dus je moet het door een browser laten doen. Is ook best mogelijk met wat javascript, daar niet van.
    quote:
    Als je echt niet wilt dat bepaalde acties uitgevoerd worden dan ga je access toelaten op basis van IP adres (in Apache, of via je netwerk devices, etc), en zou je in de applicatie laag ook nog gebruik kunnen maken van ACL's (Xins is hier een voorbeeld van, daar kan je calls naar functies toelaten op basis van IP adresses, of je het nou via een GET of een POST uitvoert). En zo kan je van meer dingen gebruik maken om ervoor te zorgen dat er geen oneigenlijk gebruik wordt gemaakt van je systeem/applicatie.
    Da's ook geen 100% garantie. Als ik een actie http://opperschaap.net/ditwerktniet wil laten uitvoeren zonder dat ik de rechten heb (lees: op het goede ip zit) dan moet ik zorgen dat ik iemand met de goede rechten op die link laat klikken. Dan kan ik jou wel een mail sturen met een blaatverhaal over die site en een link om aan te klikken. Als je dan half oplet en ziet dat die link naar http://example.org/ gaat dan is dat verdacht en klik je niet. Maar een link naar het goede domein valt minder op, dus is de kans dat je klikt groter.

    Maar ik denk dat we het nooit helemaal eens zullen worden.
    pi_60611865
    Dat denk ik ook
    pi_60611958
    Los van het security issue. Bij een GET request moet je er *per definitie* van kunnen uitgaan, dat er niks zichtbaar wijzigt. Alleen met een POST operatie moet je records kunnen aanmaken, wijzigen, wissen etc. Dat is voor mensen niet zo belangrijk want wij zien het verschil nauwelijks, maar voor bijv webservices is het belangrijk. Die moeten ondubbelzinnig weten welke operatie iets aan de data van de webapplicatie verandert, en welke niet. En daar is het GET/POST onderscheid zeer bruikbaar voor.

    Betekent dus dat je in je applicatiecode ook onderscheid moet maken tussen GET en POST, zodat een operatie die bedoeld is om gePOST te worden, nooit werkt dmv een GET request.

    Het is een beetje de discussie tabellen vs divs+css: het werkt allebei en je kan met beide methodes alles wel voor elkaar krijgen, maar het is gewoon het beste om wel duidelijk onderscheid tussen GET en POST te maken. Het is absoluut essentieel als je bijv een RESTful webinterface maakt - sterker nog het is een van de hoekstenen van het RESTful principe. Niet zonder reden.

    Als illustratie het vast wel bekende verhaal van iemand die een CMS had gebouwd, en daar alleen GET methodes in had gebruikt. Er werd een hele site ingezet, met veel data. Hij had er geen wachtwoord voorgezet, en het CMS werd op een gegeven moment gespiderd door Google. Gevolg: de hele site gewist. Want alle delete-knoppen waren gewoon linkjes met een GET querystring.
    pi_60613207
    quote:
    Op woensdag 6 augustus 2008 22:36 schreef Farenji het volgende:

    Als illustratie het vast wel bekende verhaal van iemand die een CMS had gebouwd, en daar alleen GET methodes in had gebruikt. Er werd een hele site ingezet, met veel data. Hij had er geen wachtwoord voorgezet, en het CMS werd op een gegeven moment gespiderd door Google. Gevolg: de hele site gewist. Want alle delete-knoppen waren gewoon linkjes met een GET querystring.
    Priceless
    Wel een leuk trucje tegen vervelende klanten, als je een site handig opzet Als een spider langskomt ben je in zeer korte tijd zeer veel data kwijt, met die GETs.
      donderdag 7 augustus 2008 @ 09:15:31 #242
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60619535
    quote:
    Op woensdag 6 augustus 2008 22:36 schreef Farenji het volgende:
    Als illustratie het vast wel bekende verhaal van iemand die een CMS had gebouwd, en daar alleen GET methodes in had gebruikt. Er werd een hele site ingezet, met veel data. Hij had er geen wachtwoord voorgezet, en het CMS werd op een gegeven moment gespiderd door Google. Gevolg: de hele site gewist. Want alle delete-knoppen waren gewoon linkjes met een GET querystring.
    Whehehehe . (Je kan me hier opvegen .) Is natuurlijk wel het ubervoorbeeld hoe het niet moet .
    phluphy for president!
    pi_60630840
    quote:
    Op donderdag 7 augustus 2008 09:15 schreef WyriHaximus het volgende:

    [..]

    Whehehehe . (Je kan me hier opvegen .) Is natuurlijk wel het ubervoorbeeld hoe het niet moet .
    Tja je zal de mensen de kost moeten geven... en de eerlijkheid gebiedt me te zeggen dat ik zelf ook wel zulke fouten heb gemaakt - al was ik altijd wel zo slim om er een wachtwoord voor te plempen
    pi_60631522
    quote:
    Op donderdag 7 augustus 2008 16:18 schreef Farenji het volgende:

    [..]

    Tja je zal de mensen de kost moeten geven... en de eerlijkheid gebiedt me te zeggen dat ik zelf ook wel zulke fouten heb gemaakt - al was ik altijd wel zo slim om er een wachtwoord voor te plempen
    Ik denk dat iedereen wel eens zo'n fout gemaakt heeft.
    pi_60631949
    quote:
    Op donderdag 7 augustus 2008 16:42 schreef Light het volgende:

    [..]

    Ik denk dat iedereen wel eens zo'n fout gemaakt heeft.
    Echt niet Haha

    Farenji, volgens de RFC heb je wel gelijk (alleen is het wel zo dat de RFC zegt dat een GET wel zaken mag aanpassen maar dat de gebruiker er niet verantwoordelijk voor gehouden kan worden). Tevens moet/behoort een GET cachable zijn, dus 2 calls naar delete.php?id=123 moet hetzelfde resultaat geven. Wat dus niet zal gebeuren als de GET ook geprocessed wordt.
      donderdag 7 augustus 2008 @ 17:05:58 #246
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60632031
    quote:
    Op donderdag 7 augustus 2008 16:42 schreef Light het volgende:

    [..]

    Ik denk dat iedereen wel eens zo'n fout gemaakt heeft.
    Idd, vallen en opstaan, vallen en opstaan babe .
    phluphy for president!
      donderdag 7 augustus 2008 @ 19:33:06 #247
    32768 DionysuZ
    Respect my authority!
    pi_60635087
    kan iemand me even helpen met een regexp?

    1eregi("^[a-z0-9_/\-\=]{1,100}$",$var)


    Deze matcht goed tegen bijv test/id=22132
    Maar als ik test/id=-22312 probeer, dan matcht ie weer niet..?

    [ Bericht 0% gewijzigd door DionysuZ op 07-08-2008 19:40:46 ]
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      donderdag 7 augustus 2008 @ 19:43:07 #248
    32768 DionysuZ
    Respect my authority!
    pi_60635297
    uhm ik heb het opgelost:

    1eregi("^[a-z0-9_/\=-]{1,100}$",$var)


    werkt dan weer wel. Kan iemand me vertellen waarom? :P
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_60635699
    Het ligt aan het streepje, als je daarop wil matchen binnen een [ en een ] dan moet je hem altijd achteraan of helemaal vooraan zetten. Anders wordt ie echt als een range operator geinterpreteerd, blijkbaar zelfs als je hem escapet met een backslash (wat op zich best wel raar is).
    pi_60635741
    Je vertelt niet wat precies de bedoeling is, en dat is meestal wel handig om te weten om te begrijpen of iets wel of niet "werkt". Welke tekens mogen er voorkomen in de string?
    Je wil een streepje - gebruiken in een set, als die niet aan het begin of eind van de set staat, dan moet je die escapen met een backslash. Een set met letters, cijfers, streepje en gelijkteken wordt dan [a-z0-9\-=]. Deze set zet je in een string, daarbij moet je tekens als " en \ escapen met een backslash: "[a-z0-9\\-=]".

    Is preg_match() niet sneller dan eregi()?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      donderdag 7 augustus 2008 @ 22:00:33 #251
    32768 DionysuZ
    Respect my authority!
    pi_60638346
    quote:
    Op donderdag 7 augustus 2008 20:04 schreef SuperRembo het volgende:
    Je vertelt niet wat precies de bedoeling is, en dat is meestal wel handig om te weten om te begrijpen of iets wel of niet "werkt". Welke tekens mogen er voorkomen in de string?
    De tekens die mogen voorkomen in de string zijn alfanumerieke waarden (hoofd- en kleine letters), de /, de _, - en de =.

    De bedoeling is eigenlijk heel simpel. Ik heb een pagina url, bijvoorbeeld:
    http://www.test.nl/directory/sub_dir/tijd/desc/id=-100

    Die met .htaccess wordt herschreven naar http://www.test.nl/index.php?dir=directory&sub=sub_dir&options=tijd/desc/id=-100

    Ik wil dan eerst kijken of $_GET["options"] voldoet aan de voorwaarden, daarna deze exploden zodat ik de options kan gebruiken (in dit geval gebruik ik het om een lijst te sorteren op 'tijd' in richting 'desc' voor alle velden met id=-100).
    quote:
    Je wil een streepje - gebruiken in een set, als die niet aan het begin of eind van de set staat, dan moet je die escapen met een backslash. Een set met letters, cijfers, streepje en gelijkteken wordt dan [a-z0-9\-=]. Deze set zet je in een string, daarbij moet je tekens als " en \ escapen met een backslash: "[a-z0-9\\-=]".
    En dat was juist het vreemde. Ik had eerst de - escaped met een \, maar toen deed hij het dus niet. Toen ik hem achteraan zette werkte hij weer wel.
    quote:
    Is preg_match() niet sneller dan eregi()?
    Ja, preg_match() is sneller dan eregi(). Maar in dit geval is het snelheidsverschil verwaarloosbaar, ik match gewoon een redelijk kleine string, en doe dat maar 1x per gelaadde pagina.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_60639166
    quote:
    Op donderdag 7 augustus 2008 22:00 schreef DionysuZ het volgende:
    [..]
    En dat was juist het vreemde. Ik had eerst de - escaped met een \, maar toen deed hij het dus niet. Toen ik hem achteraan zette werkte hij weer wel.
    Je moet dus 2x escapen:1x voor de regexp zelf, en 1x voor de php string.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      vrijdag 8 augustus 2008 @ 16:05:16 #253
    181657 LordNemephis
    computer says no
    pi_60658626
    hoi iedereen. nog even een vraagje voor het weekend aan:

    ik ben bezig met het upgraden van een website van iemand. Onderdeel van die site is een vragenlijst met onder meer een vraag waarop meerdere antwoorden mogelijk die dmv checkboxes kunnen worden aangevinkt.

    Op het einde wordt een overzicht gegeven van de gegeven antwoorden en om de een of andere reden krijg ik het maar niet voor elkaar een array simpel uit te lezen |:(

    Dit zijn de vragen:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2003">2003
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2004">2004
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2005">2005
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2006">2006
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2007">2007
    <INPUT TYPE="checkbox" NAME="belasting_jaar[]" VALUE="2008">2008
    ?>

    en dit het stukje code wat op het einde het antwoord op die vraag moet laten zien:
    1
    2
    3
    4
    5
    <?php
    foreach( $POST['belasting_jaar'] as $iets ) { 
    print_r$iets ); 
    }
    ?>

    deze variatie heb ik ook geprobeerd:
    1
    2
    3
    4
    5
    <?php
    foreach ( $POST['belasting_jaar'] as &$iets ) { 
    print_r($iets);
    }
    ?>


    ik doe vast iets heel doms verkeerd maar ik kijk er overheen...anyone?
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
      vrijdag 8 augustus 2008 @ 16:06:22 #254
    75592 GlowMouse
    l'état, c'est moi
    pi_60658667
    Doe eens een var_dump($POST) en een var_dump($_POST). En ga ook bedenken of je nou html of xhtml wilt gebruiken (nog uit je vorige post).
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_60660410
    $_POST gebruiken ipv $POST.
      vrijdag 8 augustus 2008 @ 19:00:01 #256
    32768 DionysuZ
    Respect my authority!
    pi_60663874
    Stel je wil een animated gif die ergens op een andere site staat dynamisch ophalen met php en naar de browser schrijven. Hoe moet dat dan?

    Ik heb het volgende geprobeerd:
    1
    2
    3
    4
      $url = "http://www.link.to/gif.file";
      header('Content-type: image/gif');
      header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
      readfile($url);

    Maar dan krijg ik slechts het eerste beeldje. Iemand een idee?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_60663967
    Het voordeel van een browser is toch dat je de image locatie ook van de andere site kan trekken...

    Mijn voorstel:

    <img src="http://de.andere.server/hetplaatje.gif" alt="Bewegend plaatje van een andere server" />
      vrijdag 8 augustus 2008 @ 19:09:36 #258
    75592 GlowMouse
    l'état, c'est moi
    pi_60664082
    Je stuurt geen Content-Length header mee.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      vrijdag 8 augustus 2008 @ 19:12:10 #259
    32768 DionysuZ
    Respect my authority!
    pi_60664142
    quote:
    Op vrijdag 8 augustus 2008 19:04 schreef slakkie het volgende:
    Het voordeel van een browser is toch dat je de image locatie ook van de andere site kan trekken...

    Mijn voorstel:

    <img src="http://de.andere.server/hetplaatje.gif" alt="Bewegend plaatje van een andere server" />
    mjah het heeft meer te maken met dat dat plaatje om de 5 minuten anders is, en ik die wil herladen in de browser. Het gaat om dit plaatje



    En die wil ik dus d.m.v. javascript om de x minuten herladen. Maar aangezien veel browsers dan gewoon het plaatje uit de cache halen en een dummy string erachter (&rnd=21312312 bijv.) niet werkt in dit geval, wilde ik een kleine omweg maken
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      vrijdag 8 augustus 2008 @ 19:12:39 #260
    32768 DionysuZ
    Respect my authority!
    pi_60664153
    quote:
    Op vrijdag 8 augustus 2008 19:09 schreef GlowMouse het volgende:
    Je stuurt geen Content-Length header mee.
    Dat probeerde ik dus eerst wel, maar filesize($url) poepte een error uit.
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_60664239
    Kan je dan geen no-cache opties meegeven aan de pagina waarin de link naar het plaatje gegeven wordt?
    pi_60664475
    Maar feitelijk kan je gewoon met copy($url, $local); het plaatje opslaan en dan een $img tag neerpleuren op je lokale disk. Een no-cache optie erbij flikkeren, en done. Als copy niet werkt moet je ff met curl de file ophalen saven naar disk en hetzelfde geintje doen.

    Of shift-reload gebruiken
    pi_60664558
    quote:
    Op vrijdag 8 augustus 2008 19:12 schreef DionysuZ het volgende:
    en een dummy string erachter (&rnd=21312312 bijv.) niet werkt in dit geval
    Echt wel.
      vrijdag 8 augustus 2008 @ 19:42:06 #264
    75592 GlowMouse
    l'état, c'est moi
    pi_60664906
    quote:
    Op vrijdag 8 augustus 2008 19:12 schreef DionysuZ het volgende:
    En die wil ik dus d.m.v. javascript om de x minuten herladen. Maar aangezien veel browsers dan gewoon het plaatje uit de cache halen en een dummy string erachter (&rnd=21312312 bijv.) niet werkt in dit geval, wilde ik een kleine omweg maken
    Waarom werkt dat niet?
    En je weet dat je zowel via filesize als via readfile het bestand van buienradar downloadt? En dat tweemaal downloaden om het 1x te serveren allesbehalve efficient is?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 9 augustus 2008 @ 21:16:36 #265
    98700 cygnusx
    Manisch Positief
    pi_60691009
    Ik ben nu al een paar uur aan het proberen om via php het voor elkaar te krijgen om met een script het mogelijk te maken om een karakter naar het scherm op de (ubuntu) pc te krijgen waar de webserver op draait.
    Nu ben ik zover dat het me is gelukt om via een ssh verbinding met het commando xte een karakter naar X te sturen. Dit is dus wat ik wil, maar als ik dat probeer met het volgende werkt dat niet terwijl hetzelfde commando met dezelfde user via ssh wel werkt.

    Waarom wil dit maar niet lukken, of is er een veel simpelere manier hiervoor? Alvast dank!

    1
    2
    3
    <?php
    shell_exec
    ('xte -x :0.0 "key Right"'); 
    ?>
    Jesus loves you, the rest of us think you`re an idiot.
    pi_60702665
    Ik wil graag eens weten hoe ik dit om kan zetten naar CURL

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    if ($sock = @fsockopen("whois.ripe.net",
                               
    43,
                               &
    $errno,
                               &
    $errstr,
                               
    WHOIS_SERVER_TIMEOUT))
        {
            
    fputs ($sock$ip_adres "\n");
            while (!
    feof($sock))
            {
                
    $ripeBuffer .= fgets($sock10240);
            }
            
    fclose ($sock);
    }
    ?>


    want ik weet nu wel hoe ik gewoon een 'pagina' kan uitlezen maar niet hoe ik commando's moet versturen zoals deze...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zondag 10 augustus 2008 @ 13:00:52 #267
    75592 GlowMouse
    l'état, c'est moi
    pi_60702952
    @cygnusx: permissieprobleem?

    @Chandler: Curl intro: libcurl currently supports the http, https, ftp, gopher, telnet, dict, file, and ldap protocols. Telnet is de enige waarbij je kunt hopen dat het werkt, maar dat protocol is niet zo goed gedocumenteerd icm curl. Het is waarschijnlijk makkelijker de online whois op ripe.net te raadplegen via curl.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_60705028
    Ja, opzich zou ik het ook kunnen uitlezen. Maar indien het wel met cURL kunt uitlezen, hoe moet ik dit aanpakken!?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60706047
    Lijkt erop dat het whois protocol niet gesupport wordt door curl. Als je dat wel wilt doen moet je C gaan proggen:

    http://curl.haxx.se/docs/internals.html
    quote:
    Curl_do() makes sure the proper protocol-specific function is called. The
    functions are named after the protocols they handle. Curl_ftp(),
    Curl_http(), Curl_dict(), etc. They all reside in their respective files
    (ftp.c, http.c and dict.c). HTTPS is handled by Curl_http() and FTPS by
    Curl_ftp().

    The protocol-specific functions of course deal with protocol-specific
    negotiations and setup. They have access to the Curl_sendf() (from
    lib/sendf.c) function to send printf-style formatted data to the remote
    host and when they're ready to make the actual file transfer they call the
    Curl_Transfer() function (in lib/transfer.c) to setup the transfer and
    returns.

    If this DO function fails and the connection is being re-used, libcurl will
    then close this connection, setup a new connection and re-issue the DO
    request on that. This is because there is no way to be perfectly sure that
    we have discovered a dead connection before the DO function and thus we
    might wrongly be re-using a connection that was closed by the remote peer.

    Some time during the DO function, the Curl_setup_transfer() function must
    be called with some basic info about the upcoming transfer: what socket(s)
    to read/write and the expected file tranfer sizes (if known).
    pi_60727649
    Kan iemand mij helpen aan een eenvoudig maar veilig inlogscript?

    Heb er al vele geprobeerd maar kom er niet altijd uit (liefst 1die niet objectgeoriënteerd geprogrammeerd is, dat gaat me helemaal niet lukken vrees ik).
      maandag 11 augustus 2008 @ 11:10:53 #271
    107951 JortK
    Immer kwaliteitsposts
    pi_60727752
    quote:
    Op maandag 11 augustus 2008 11:06 schreef Erik het volgende:
    Kan iemand mij helpen aan een eenvoudig maar veilig inlogscript?

    Heb er al vele geprobeerd maar kom er niet altijd uit (liefst 1die niet objectgeoriënteerd geprogrammeerd is, dat gaat me helemaal niet lukken vrees ik).
    http://www.hotscripts.com
      maandag 11 augustus 2008 @ 11:12:53 #272
    187069 slacker_nl
    Sicko pur sang
    pi_60727802
    Een veilig inlogscript?

    Dit is geen script aanvraag plek, plus als je een veilig inlogscript wilt hebben zou ik eerst eens eisen gaan opstellen. Waarmee moet het connecten om de user te valideren, etc etc etc.

    Ik zal je op weg helpen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $login 
    "jij";
    $passwd "hij";

    if (
    $login == "jij" && $passwd "niethij") {
        print(
    "Login succesvol\n");
    } else {
        die(
    "Login niet succesvol\n");
    }
    ?>
    In theory there is no difference between theory and practice. In practice there is.
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 11:13:19 #273
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60727814
    Ik val weer even binnen met een query vraag.

    Ik heb 3 (relevante) tabellen.

    product
    Beschrijft het product, relevante cellen:
    ID | IS_ACTIVE | CODE

    product_download
    Beschrijft een download, relevante cellen
    ID | DOWNLOAD_TYPE_ID

    product_download_link
    Koppelt een download aan een product, relevante cellen
    ID | PRODUCT_ID | DOWNLOAD_ID

    Nu wil ik een lijst hebben met alle actieve productcode's die GEEN download hebben van DOWNLOAD_TYPE_ID=4

    Ik loop te kutten met innerjoins, maar krijg steeds syntax errors.
      maandag 11 augustus 2008 @ 11:18:26 #274
    187069 slacker_nl
    Sicko pur sang
    pi_60727920
    select product.id
    from product, product_download_link
    where
    product_download_link.product_id = product.id
    and
    product_download_link.download_id NOT IN ( select id from product_download where DOWNLOAD_TYPE_ID = 4)
    and product.is_active = 1

    -- in reactie op swets reactie hieronder --

    select product.id
    from product, product_download_link
    where
    /* Products die wel downloads hebben uit 4 skippen we*/
    product.id not in (
    select product.id
    from product, product_download_link
    where
    product_download_link.product_id = product.id
    and
    product_download_link.download_id IN ( select id from product_download where DOWNLOAD_TYPE_ID = 4)
    and product.is_active = 1
    )
    AND product.is_active = 1
    AND product_download_link.product_id = product.id

    [ Bericht 14% gewijzigd door slacker_nl op 11-08-2008 11:52:27 ]
    In theory there is no difference between theory and practice. In practice there is.
      maandag 11 augustus 2008 @ 11:18:41 #275
    107951 JortK
    Immer kwaliteitsposts
    pi_60727926
    quote:
    Op maandag 11 augustus 2008 11:13 schreef Swetsenegger het volgende:
    Ik val weer even binnen met een query vraag.

    Ik heb 3 (relevante) tabellen.

    product
    Beschrijft het product, relevante cellen:
    ID | IS_ACTIVE | CODE

    product_download
    Beschrijft een download, relevante cellen
    ID | DOWNLOAD_TYPE_ID

    product_download_link
    Koppelt een download aan een product, relevante cellen
    ID | PRODUCT_ID | DOWNLOAD_ID

    Nu wil ik een lijst hebben met alle actieve productcode's die GEEN download hebben van DOWNLOAD_TYPE_ID=4

    Ik loop te kutten met innerjoins, maar krijg steeds syntax errors.
    Zo misschien even snel:

    1
    2
    3
    4
    SELECT p.code FROM product p WHERE p.is_active = 1
    AND p.id NOT IN 
    (SELECT pdl.PRODUCT_ID FROM product_download pdl 
    INNER JOIN product_download_link pd ON pd.DOWNLOAD_ID = pdl.ID WHERE pdl.DOWNLOAD_TYPE_ID = 4)
      maandag 11 augustus 2008 @ 11:21:57 #276
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_60728008
    SELECT * FROM product WHERE id NOT IN (SELECT PRODUCT_ID FROM product_download_link)
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 11:28:50 #277
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60728149
    Ik vergat te zeggen dat per product meerdere downloads voor kunnen komen. Dus bv de PD001 heeft WEL een download type 1 en type 2. Met bovenstaande queries krijg de PD001 dus wel terug.
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 11:33:44 #278
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60728270
    Hmz, nee dat lijkt aan mijn toegevoegde group by te liggen
    -edit- nee toch niet
    pi_60728781
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT
       * -- of wat je ook nodig denkt te hebben
    FROM
       `product`
    LEFT JOIN
       `product_download_link`
    ON
       `product`.`id` = `product_download_link`.`product_id`
    WHERE
       `product_download_link`.`download_id` != 4
    AND
       `product`.`is_active` = 1


    :?
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 12:00:46 #280
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60728935
    Nee, zelfde probleem als bovenstaande. Ik krijg dus nu elk product terug dat een download gekoppeld heeft, alleen niet de downloads type 4. Maar als een product geen type 4 download heeft (ongeacht de andere downloads) moet ik hem dus helemaal niet terug krijgen
      maandag 11 augustus 2008 @ 12:02:28 #281
    187069 slacker_nl
    Sicko pur sang
    pi_60728978
    swets, m'n edit gezien?
    In theory there is no difference between theory and practice. In practice there is.
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 12:30:55 #282
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60729743
    Ik zie hem nu en dit lijkt inderdaad het juiste resultaat te geven

    Even controleren -edit- klopt.
    Bedankt

    [ Bericht 24% gewijzigd door Swetsenegger op 11-08-2008 12:37:51 ]
    pi_60731762
    Oke, ik heb het volgende:
    1
    2
    3
    4
    5
    <select name=test[] multiple > 
              <option value=item1 >item1</option> 
              <option value=item2 >item2</option> 
              <option value=item3 >item3</option> 
    </select>


    Nu moet 'item1' in veld1 komen, 'item2' in veld2, en 'item3' in veld3. Als het niet is geselecteerd moet er een '0' in het juiste veld ge-insert worden, als een item wel is geselecteerd een '1'. Hoe wordt mijn MySQL query dan (en waarschijnlijk ook een stukje php)? Ik heb geen idee hoe ik dit moet aanpakken.
    pi_60733712
    ehm wat doet die test[] daar?

    Leg eens uit wat je probeert te doen, 10 tegen 1 dat er een betere manier is.
    pi_60735447
    Ik denk dat hij met die [] meerdere resultaten verwacht uit de select (multiple)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_60735495
    Als er nieuws wordt toegevoegd moeten er meerdere platformen geselecteerd worden, die aan het nieuwsbericht gekoppeld worden. Per platform moet het nieuwsbericht weer 'gelezen' kunnen worden. Als bijv. het platform: PS3 is geselecteerd en de Xbox niet, moet op de PS3-pagina het nieuwsbericht komen, maar op de Xbox pagina niet.
    pi_60735666
    quote:
    Op maandag 11 augustus 2008 11:18 schreef slacker_nl het volgende:
    [...]
    -- in reactie op swets reactie hieronder --

    select product.id
    from product, product_download_link
    where
    /* Products die wel downloads hebben uit 4 skippen we*/
    product.id not in (
    select product.id
    from product, product_download_link
    where
    product_download_link.product_id = product.id
    and
    product_download_link.download_id IN ( select id from product_download where DOWNLOAD_TYPE_ID = 4)
    and product.is_active = 1
    )
    AND product.is_active = 1
    AND product_download_link.product_id = product.id
    Ziet er niet erg efficiënt en overzichtelijk uit. Volgens mij komt dit op hetzelfde neer:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT p.code
    FROM product p
    WHERE
       p.active = 1
       AND p.id NOT IN 
       (
          SELECT l.product_id
          FROM product_download_link l
          INNER JOIN product_download d ON d.id = l.download_id
          WHERE d.DOWNLOAD_TYPE_ID = 4)
       )
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      maandag 11 augustus 2008 @ 16:38:40 #288
    187069 slacker_nl
    Sicko pur sang
    pi_60736102
    Behalve de join die je doet is ie precies hetzelfde. Impliciet doe ik een join, dus dat maakt verder weinig uit, en je moet weten of het product uberhaupt gedownload is.

    Wat zijn de redenen dat het niet efficient zou zijn of overzichtelijk? Ik gebruik geen code tags, maar verder is het een redelijk straight forward approach.

    Ahh, ik zie het al, je hebt een selectie ding eruit gehaald. Fair enough.
    In theory there is no difference between theory and practice. In practice there is.
      FOK!-Schrikkelbaas maandag 11 augustus 2008 @ 16:51:51 #289
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60736419
    Ik had 'm maar eenmalig nodig om een lijstje te generen van producten die een bepaalde download nog niet hebben zodat die toegevoegd kan worden

    Dus in dit geval was performance van weinig belang, maar in het kader van dit topic is een verbeterde query als leerobject altijd meegenomen.
    pi_60749138
    Veel mensen zullen me een zeikerd vinden wat betreft structuur van een query, maar als je sql netjes opschrijft, dan wordt het geheel vaak veel beter leesbaar en beter te begrijpen. En dat leidt weer tot minder fouten en minder overbodige dingen, wat weer tot efficiëntere code kan leiden.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_60749196
    quote:
    Op maandag 11 augustus 2008 23:46 schreef SuperRembo het volgende:
    Veel mensen zullen me een zeikerd vinden wat betreft structuur van een query, maar als je sql netjes opschrijft, dan wordt het geheel vaak veel beter leesbaar en beter te begrijpen. En dat leidt weer tot minder fouten en minder overbodige dingen, wat weer tot efficiëntere code kan leiden.
    Dat is met alles zo, als je het netjes programmeer/script dan is het teruglezen 10 makkelijk.

    het is net het echte leven.
      FOK!-Schrikkelbaas dinsdag 12 augustus 2008 @ 08:27:10 #292
    1972 Swetsenegger
    Egocentrische Narcist
    pi_60753411
    quote:
    Op maandag 11 augustus 2008 23:46 schreef SuperRembo het volgende:
    Veel mensen zullen me een zeikerd vinden wat betreft structuur van een query, maar als je sql netjes opschrijft, dan wordt het geheel vaak veel beter leesbaar en beter te begrijpen. En dat leidt weer tot minder fouten en minder overbodige dingen, wat weer tot efficiëntere code kan leiden.
    Nee hoor, ben het volkomen met je eens.
      dinsdag 12 augustus 2008 @ 14:45:03 #293
    136730 PiRANiA
    All thinking men are atheists.
    pi_60763118
    Wie heeft een tip voor me hoe ik het makkelijkst 38000 records weer kan importeren in een database? Het wil maar niet werken:
    quote:
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 467248 bytes) in /var/www/PMA/libraries/sqlparser.
      dinsdag 12 augustus 2008 @ 15:20:31 #294
    12221 Tijn
    Powered by MS Paint
    pi_60764142
    quote:
    Op dinsdag 12 augustus 2008 14:45 schreef PiRANiA het volgende:
    Wie heeft een tip voor me hoe ik het makkelijkst 38000 records weer kan importeren in een database? Het wil maar niet werken:
    [..]
    Met PHPMyAdmin heb de optie om de query in stukjes te hakken om timeouts te voorkomen. Misschien dat dat helpt?
      dinsdag 12 augustus 2008 @ 15:41:19 #295
    136730 PiRANiA
    All thinking men are atheists.
    pi_60764770
    quote:
    Op dinsdag 12 augustus 2008 15:20 schreef Tijn het volgende:

    [..]

    Met PHPMyAdmin heb de optie om de query in stukjes te hakken om timeouts te voorkomen. Misschien dat dat helpt?
    Lijkt me wel! Waar vind ik dat?
      dinsdag 12 augustus 2008 @ 15:58:50 #296
    12221 Tijn
    Powered by MS Paint
    pi_60765418
    quote:
    Op dinsdag 12 augustus 2008 15:41 schreef PiRANiA het volgende:

    [..]

    Lijkt me wel! Waar vind ik dat?
    Onder "import" bij "partial import".

      dinsdag 12 augustus 2008 @ 16:10:23 #297
    84926 WyriHaximus
    Release the hounds smithers!
    pi_60765751
    Vergeet niet dat PMA sowieso de sql moet parsen voordat i het in stukken kan braken. Dus als die error op dat punt voorkomt dat zul je het met de hand moeten doen .
    phluphy for president!
    pi_60769130
    LOAD DATA vanuit een .csv file?
    Dan zit het in een fractie van een seconde in je database
    pi_60770653
    heeft mysql ook een sqlloader achtige constructie dan (de oracle variant)?

    Jep, zie http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html

    [ Bericht 52% gewijzigd door slakkie op 12-08-2008 19:30:46 ]
      woensdag 13 augustus 2008 @ 09:32:26 #300
    152215 ManAtWork
    Maar nu even niet,...
    pi_60785723
    In mijn SQL script heb ik de volgende voorwaarde staan.
    quote:
    WHERE (reknr LIKE ' 8%') AND (oms25_0 LIKE '% nieuwe auto's N%')
    Maar dit gaat niet goed omdat er een ' staat in auto's. SQL gooit de ' eruit en geeft dan geen resultaat (logisch,...)
    Ik heb al even zitten zoeken maar kan zo snel niet de oplossing vinden (blokhaken werken niet) om wel op auto's te laten selecteren.
    Iemand een oplossing?
    Als toeval niet bestaat, waarom hebben ze er dan een woord voor uitgevonden?
    Niet storen, ik ben al gestoord genoeg,...
    Vrouwen zijn om van te houden, niet om te begrijpen.
      woensdag 13 augustus 2008 @ 09:41:11 #301
    46383 Tiemie
    sowieso wel!
    pi_60785913
    quote:
    Op woensdag 13 augustus 2008 09:32 schreef ManAtWork het volgende:
    In mijn SQL script heb ik de volgende voorwaarde staan.
    [..]

    Maar dit gaat niet goed omdat er een ' staat in auto's. SQL gooit de ' eruit en geeft dan geen resultaat (logisch,...)
    Ik heb al even zitten zoeken maar kan zo snel niet de oplossing vinden (blokhaken werken niet) om wel op auto's te laten selecteren.
    Iemand een oplossing?
    escapen met mysql_real_escape_string.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')