FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 71
Lightzondag 12 april 2009 @ 13:44

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, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70

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

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • qu63zondag 12 april 2009 @ 13:47
    quote:
    Op zondag 12 april 2009 13:43 schreef Light het volgende:

    [..]

    Iets met open(new Topic()), denk ik
    Chandlermaandag 13 april 2009 @ 03:31
    tijd voor post
    slacker_nlmaandag 13 april 2009 @ 14:39
    $this->post("tvp");
    urselmaandag 13 april 2009 @ 14:49
    DirkZzmaandag 13 april 2009 @ 16:19
    quote:
    Op maandag 13 april 2009 14:39 schreef slacker_nl het volgende:
    $this->post("tvp");
    JortKdinsdag 14 april 2009 @ 14:15
    Intrepiditydinsdag 14 april 2009 @ 15:05
    Hoe kan ik vanuit een abstracte klasse refereren naar de daadwerkelijk aangeroepen child-klasse? Voorbeeld:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    abstract class A
    {
      public static function 
    foo()
      {
         
    self::bar(); // Werkt niet, geeft melding dat bar() niet bestaat in klasse A
      
    }
    }

    class 
    extends A
    {
      public static function 
    bar()
      {
        
    // Deze functie wil ik dus laten aanroepen
      
    }
    }

    B::foo();
    ?>


    self werkt hier dus niet, omdat het ondanks de child-klasse altijd naar de abstracte klasse zal verwijzen.. Hoe los ik dit op?
    Er zijn meerdere klassen die A extenden, en die allemaal een eigen implementatie van bar() hebben..
    Thomassdinsdag 14 april 2009 @ 15:08
    Als je in een php script een bestand maakt (er wordt iets geüpload, bijhouden van een log, ..) dan is de owner van dat bestand een pid (van Apache / PHP), anyway

    Wanneer je later als niet-admin dit bestand wel wil keilen kan het natuurlijk niet. Op deze manier krijg je een hoop gebruikers met bestanden die de public_html directory vervuilen

    Hoe los je zoiets op? In het phpscript chownen nadat je een bestand maakt / verplaatst kan je een keer vergeten natuurlijk, is er een beter oplossing?
    Thomassdinsdag 14 april 2009 @ 15:09
    quote:
    Op dinsdag 14 april 2009 15:05 schreef Intrepidity het volgende:
    Hoe kan ik vanuit een abstracte klasse refereren naar de daadwerkelijk aangeroepen child-klasse? Voorbeeld:
    [ code verwijderd ]

    self werkt hier dus niet, omdat het ondanks de child-klasse altijd naar de abstracte klasse zal verwijzen.. Hoe los ik dit op?
    Er zijn meerdere klassen die A extenden, en die allemaal een eigen implementatie van bar() hebben..
    Je moet de aanwezigheid van bar garanderen, dus hem als abstract declaren in A
    Intrepiditydinsdag 14 april 2009 @ 15:13
    quote:
    Op dinsdag 14 april 2009 15:09 schreef Thomass het volgende:

    [..]

    Je moet de aanwezigheid van bar garanderen, dus hem als abstract declaren in A
    Dat werkt ook niet:
    Fatal error: Cannot call abstract method A::bar() in C:\domains\etc\etc\blaat.php on line huppeldepup
    Arjan321dinsdag 14 april 2009 @ 19:52
    Ik denk dat het wel werkt als je ze niet static maakt.. Betwijfel of overerving werkt bij statics, aangezien die niet gevonden zijn aan een instantie maar aan een klasse.
    Lightdinsdag 14 april 2009 @ 20:10
    quote:
    Op dinsdag 14 april 2009 15:05 schreef Intrepidity het volgende:
    Hoe kan ik vanuit een abstracte klasse refereren naar de daadwerkelijk aangeroepen child-klasse? Voorbeeld:
    [ code verwijderd ]

    self werkt hier dus niet, omdat het ondanks de child-klasse altijd naar de abstracte klasse zal verwijzen.. Hoe los ik dit op?
    Er zijn meerdere klassen die A extenden, en die allemaal een eigen implementatie van bar() hebben..
    Waarom zijn foo() en bar() static? Als je de verwijzing static weghaalt en self:: vervangt door $this-> dan moet het gewoon werken.
    Intrepiditydinsdag 14 april 2009 @ 20:50
    quote:
    Op dinsdag 14 april 2009 19:52 schreef Arjan321 het volgende:
    Ik denk dat het wel werkt als je ze niet static maakt.. Betwijfel of overerving werkt bij statics, aangezien die niet gevonden zijn aan een instantie maar aan een klasse.
    Daar heeft het weinig mee te maken.. klasse B is een uitbreiding op klasse A en erft dus al zijn properties en methodes, static of niet, en moet die ook kunnen gebruiken.. dat de PHP compiler niet snapt dat het in dit geval tijdens runtime self:: moet vervangen door B:: lijkt mij een foutje.. De methodes zijn static omdat ik die juist wil gebruiken om een object te instantieren op een bepaalde manier. Concreet: bar() is een functie die een database-record omzet naar een instantie van een object, foo() wordt een functie die een hele array databaserijen in een keer kan omzetten naar een array met objecten. Aangezien alleen de implementatie van bar() verschillend is per overervende klasse en foo() slechts een domme foreach loop is die tig keer bar() moet aanroepen (die ik niet wil copy-pasten in iedere subclass, das nou juist het idee van OO) leek dit me de juiste oplossing..
    Xcaliburdinsdag 14 april 2009 @ 20:54
    quote:
    Op dinsdag 14 april 2009 15:08 schreef Thomass het volgende:
    Hoe los je zoiets op? In het phpscript chownen nadat je een bestand maakt / verplaatst kan je een keer vergeten natuurlijk, is er een beter oplossing?
    Als je dat standaard doet na een upload / copy gaat het altijd goed natuurlijk
    Dit is iig wel de manier waarop ik het doe, als je iets beters hebt wil ik het graag weten
    Arjan321dinsdag 14 april 2009 @ 21:04
    quote:
    Op dinsdag 14 april 2009 20:50 schreef Intrepidity het volgende:

    [..]

    Daar heeft het weinig mee te maken.. klasse B is een uitbreiding op klasse A en erft dus al zijn properties en methodes, static of niet, en moet die ook kunnen gebruiken.. dat de PHP compiler niet snapt dat het in dit geval tijdens runtime self:: moet vervangen door B:: lijkt mij een foutje.. De methodes zijn static omdat ik die juist wil gebruiken om een object te instantieren op een bepaalde manier. Concreet: bar() is een functie die een database-record omzet naar een instantie van een object, foo() wordt een functie die een hele array databaserijen in een keer kan omzetten naar een array met objecten. Aangezien alleen de implementatie van bar() verschillend is per overervende klasse en foo() slechts een domme foreach loop is die tig keer bar() moet aanroepen (die ik niet wil copy-pasten in iedere subclass, das nou juist het idee van OO) leek dit me de juiste oplossing..
    Hm, ja daar heb je denk ik wel een punt.

    Ik denk dat een upgrade hiervoor nodig is. Als ik deze site even snel lees,
    http://nl3.php.net/manual(...)-static-bindings.php lijkt het in php 5.3 gefixed.

    Ergens anders (http://socket7.net/article/php-5-static-and-inheritance) had ik dit gevonden:
    quote:
    ... static method calls are resolved at compile time. When using an explicit class name the method is already identified completely and no inheritance rules apply. If the call is done by self then self is translated to the current class, that is the class the code belongs to. Here also no inheritance rules apply.
    daReaperdinsdag 14 april 2009 @ 22:13
    Hoe herschrijf ik deze functie zodat ik die switch niet nodig heb en het ook werkt met meer dan 2 elementen in $args?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
      
    public function __call($name$args) {
        switch(
    sizeof($args)) {
          case 
    1:
            return 
    $this->template->$name($args[0]);
            break;
          case 
    2:
            return 
    $this->template->$name($args[0], $args[1]);
            break;
          default:
            return 
    $this->template->$name();
            break;
        }
      }
    ?>
    nightsleeperdinsdag 14 april 2009 @ 22:30
    quote:
    Op dinsdag 14 april 2009 22:13 schreef daReaper het volgende:
    Hoe herschrijf ik deze functie zodat ik die switch niet nodig heb en het ook werkt met meer dan 2 elementen in $args?
    [ code verwijderd ]
    Zoiets misschien?
    1
    2
    3
      public function __call($name, $args) {
        return call_user_func_array(this->template->$name, $args);
      }
    daReaperdinsdag 14 april 2009 @ 22:42
    quote:
    Op dinsdag 14 april 2009 22:30 schreef nightsleeper het volgende:

    [..]

    Zoiets misschien?
    [ code verwijderd ]


    ik krijg:

    Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, '' was given in C:\severjanin\includes\functions.php on line 29
    Lightdinsdag 14 april 2009 @ 23:00
    quote:
    Op dinsdag 14 april 2009 20:50 schreef Intrepidity het volgende:

    [..]

    Daar heeft het weinig mee te maken.. klasse B is een uitbreiding op klasse A en erft dus al zijn properties en methodes, static of niet, en moet die ook kunnen gebruiken.. dat de PHP compiler niet snapt dat het in dit geval tijdens runtime self:: moet vervangen door B:: lijkt mij een foutje.. De methodes zijn static omdat ik die juist wil gebruiken om een object te instantieren op een bepaalde manier. Concreet: bar() is een functie die een database-record omzet naar een instantie van een object, foo() wordt een functie die een hele array databaserijen in een keer kan omzetten naar een array met objecten. Aangezien alleen de implementatie van bar() verschillend is per overervende klasse en foo() slechts een domme foreach loop is die tig keer bar() moet aanroepen (die ik niet wil copy-pasten in iedere subclass, das nou juist het idee van OO) leek dit me de juiste oplossing..
    Aan de andere kant is een static functie geen onderdeel van een specifiek object. Het is een onderdeel van de class en alle objecten van die class hebben exact dezelfde functie. Dat effect is nog duidelijker bij een static variabele, als je die in object1 aanpast, heeft object2 dezelfde aanpassing gezien.

    Als je dingen uit een database leest en in een specifieke class wilt stoppen dan kun je ook eens kijken naar mysql_fetch_object()
    Intrepiditywoensdag 15 april 2009 @ 09:49
    quote:
    Op dinsdag 14 april 2009 23:00 schreef Light het volgende:

    [..]

    Aan de andere kant is een static functie geen onderdeel van een specifiek object. Het is een onderdeel van de class en alle objecten van die class hebben exact dezelfde functie. Dat effect is nog duidelijker bij een static variabele, als je die in object1 aanpast, heeft object2 dezelfde aanpassing gezien.

    Als je dingen uit een database leest en in een specifieke class wilt stoppen dan kun je ook eens kijken naar mysql_fetch_object()
    Maar we hebben het hier ook niet over objecten maar over de klasse. Klasse B is een A, dus heeft alle methoden van A ook.. Een static methode is inderdaad geen onderdeel van een object, maar daar heb ik het ook helemaal niet over. Ik roep iets static aan op B, wat overerft van A, en dat dus ook moet kunnen gebruiken. Overerving gaat niet op object-niveau maar op klasse-niveau...

    Ik fetch mijn data inderdaad al naar een stdClass vanuit de database (maar srsly, gebruikt er nog iemand mysql_* functies tegenwoordig?), maar daar verlies ik flexibiteit mee. Ik wil de mogelijkheid hebben om bijvoorbeeld een categorie_id property in de stdClass om te zetten naar een Categorie-object. Dit kan niet met fetch object, of fetch class, of whatever, dus schrijf ik hier een eigen functie voor. OO werken en dan vervolgens nog klooien met id's lijkt me ook weer niet handig..

    Anyway, blijkbaar kan het gewoon niet ofzo Dan maar een minder elegante methode toepassen
    daReaperwoensdag 15 april 2009 @ 10:22
    quote:
    Op woensdag 15 april 2009 09:49 schreef Intrepidity het volgende:

    [..]

    maar srsly, gebruikt er nog iemand mysql_* functies tegenwoordig?
    Wat is het alternatief, als ik jullie discussie even onderbreken mag?
    Intrepiditywoensdag 15 april 2009 @ 10:35
    quote:
    Op woensdag 15 april 2009 10:22 schreef daReaper het volgende:

    [..]

    Wat is het alternatief, als ik jullie discussie even onderbreken mag?
    mysqli, of PDO. Zelf gebruik ik al een poos PDO, werkt erg prettig
    Lightwoensdag 15 april 2009 @ 10:41
    quote:
    Op woensdag 15 april 2009 09:49 schreef Intrepidity het volgende:

    [..]

    Maar we hebben het hier ook niet over objecten maar over de klasse. Klasse B is een A, dus heeft alle methoden van A ook.. Een static methode is inderdaad geen onderdeel van een object, maar daar heb ik het ook helemaal niet over. Ik roep iets static aan op B, wat overerft van A, en dat dus ook moet kunnen gebruiken. Overerving gaat niet op object-niveau maar op klasse-niveau...
    Als ik een class A heb met een static variabele, en die class heeft 2 subclasses, namelijk B en C, dan hebben B en C diezelfde static variabele. Verander ik de waarde bij B dan verandert ook de waarde bij C (tenzij er in C een static variabele met dezelfde naam is gedeclareerd).
    quote:
    Ik fetch mijn data inderdaad al naar een stdClass vanuit de database (maar srsly, gebruikt er nog iemand mysql_* functies tegenwoordig?), maar daar verlies ik flexibiteit mee. Ik wil de mogelijkheid hebben om bijvoorbeeld een categorie_id property in de stdClass om te zetten naar een Categorie-object. Dit kan niet met fetch object, of fetch class, of whatever, dus schrijf ik hier een eigen functie voor. OO werken en dan vervolgens nog klooien met id's lijkt me ook weer niet handig..
    Ik gebruik nog wel mysql_* functies. Weliswaar niet direct, maar gewoon aangeroepen vanuit een database-class, maar evengoed wordt er mysql_* gebruikt. En het ging mij er gewoon om dat je met mysql_fetch_object een class kunt opgeven. Eerst worden de databasevelden in het object geladen, daarna wordt de constructor aangeroepen. Dus je kunt ook in de constructor al het een en ander doen met de velden.
    quote:
    Anyway, blijkbaar kan het gewoon niet ofzo Dan maar een minder elegante methode toepassen
    Gewoon foo() kopieren naar de Klasse B. Dan gaat het wel goed.
    WyriHaximuswoensdag 15 april 2009 @ 10:45
    1
    2
    3
    4
    <?php
    $this
    ->Posts->create();
    $this->Posts->save(array('body' => 'TVP'));
    ?>
    Intrepiditywoensdag 15 april 2009 @ 10:47
    quote:
    Op woensdag 15 april 2009 10:41 schreef Light het volgende:

    Gewoon foo() kopieren naar de Klasse B. Dan gaat het wel goed.
    Mja, maar het gaat hier om een groot project met ongeveer 25 subclasses onder A. OO is er nou juist voor bedoeld om code te kunnen hergebruiken, niet om alsnog generieke stukken code overal te plakken..
    Lightwoensdag 15 april 2009 @ 11:22
    quote:
    Op woensdag 15 april 2009 10:47 schreef Intrepidity het volgende:

    [..]

    Mja, maar het gaat hier om een groot project met ongeveer 25 subclasses onder A. OO is er nou juist voor bedoeld om code te kunnen hergebruiken, niet om alsnog generieke stukken code overal te plakken..
    Daar heb je wel een punt. En code 25 keer kopieren is ook niet bevorderlijk voor de onderhoudbaarheid. Dus zul je op zoek moeten naar een oplossing zonder static functies.
    Mordrethdonderdag 16 april 2009 @ 09:39
    tvp
    GIdonderdag 16 april 2009 @ 09:57
    tvp
    markiemarkdonderdag 16 april 2009 @ 16:27
    dmv cronjobs en uitlezen van feeds kopieer ik dagelijks automatisch images vanaf een andere site.
    dit lijkt ergens fout te gaan.
    ik gebruik de copy functie van php. de meeste images gaan overigens gewoon goed, maar sommigen worden helemaal zwart, Ik gebruik de volgende code:

    copy("http://www.zijnsite.com/images/markiemark.jpg", "http://www.mijnsite.com/images/markiemark.jpg");

    kan het hier in fout gaan?
    Darkomendonderdag 16 april 2009 @ 16:46
    Geen idee of het daarbij fout is gegaan, krijg je een foutmelding/

    Ik gebruik zelf altijd http://nl3.php.net/file_get_contents en dan via fwrite opslaan op je eigen server.
    Nog geen problemen ondervonden.
    markiemarkdonderdag 16 april 2009 @ 23:30
    Nou ja, zie morgen wel.. bedenk me net dat er ook nog e.e.a wordt geresized, daar kan het ook fout gaan natuurlijk...
    Meteen ff wat anders. Eigenlijk niet echt php, maar als het in een ander topic thuis hoort, hoor ik het wel!

    Ik roep dmv ajax een pagina aan. Binnen deze pagina wil ik een jquery functie gebruiken, maar dat werkt niet. In testfile geprobeerd, daar werkt het prima. Als ik het in de door Ajax aangeroepen pagina probeer negeert ie mijn commando..


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script src="includes/jquery-1.3.2.js" type="text/javascript"></script>
    <script src="includes/jquery.imgpreview.js" type="text/javascript"></script>
        
    <script type="text/javascript">
    $(document).ready(function() {
       $('ul#first a').imgPreview();
    });    
    </script>
    <ul id="first">
    <li><a href="test/thumb/Blauweheuvels.jpg">AAA</a></li>
    </ul>
    Intrepidityvrijdag 17 april 2009 @ 00:08
    Misschien dat 'ie omdat het een AJAX request is het ready-event nooit gooit? Het document is immers al lang ready voordat die extra content dmv AJAX wordt ingeladen.. Kun je niet eens een alert of wat anders in $(document).ready zetten om te kijken of ie dat event uberhaupt wel tegenkomt?
    Probeer dit anders eens:
    http://docs.jquery.com/Ajax/load#urldatacallback
    Door middel van jquery een AJAX-request uitvoeren, waarbij je een callback op kunt geven, waarin je dus je je jQuery-code kunt uitvoeren.
    markiemarkvrijdag 17 april 2009 @ 00:23
    quote:
    Op vrijdag 17 april 2009 00:08 schreef Intrepidity het volgende:
    Misschien dat 'ie omdat het een AJAX request is het ready-event nooit gooit? Het document is immers al lang ready voordat die extra content dmv AJAX wordt ingeladen.. Kun je niet eens een alert of wat anders in $(document).ready zetten om te kijken of ie dat event uberhaupt wel tegenkomt?
    Probeer dit anders eens:
    http://docs.jquery.com/Ajax/load#urldatacallback
    Door middel van jquery een AJAX-request uitvoeren, waarbij je een callback op kunt geven, waarin je dus je je jQuery-code kunt uitvoeren.
    Heb dit in de door ajax gelaadde pagina gegooid; wordt geen alert getoond...
    1
    2
    3
    4
    5
    <script type="text/javascript">
    $(document).ready(function() {
       alert('Test Test');
    });    
    </script>
    DionysuZvrijdag 17 april 2009 @ 02:59
    1
    2
    3
    4
    5
    6
    <?
      if ($topic->title == "[PHP/(My)SQL] voor dummies - Deel 71") {
        require_once("/user/DionysuZ");
        $post = new tvp;
      }
    ?>
    markiemarkvrijdag 17 april 2009 @ 11:39
    quote:
    Op vrijdag 17 april 2009 00:23 schreef markiemark het volgende:

    [..]

    Heb dit in de door ajax gelaadde pagina gegooid; wordt geen alert getoond...
    [ code verwijderd ]


    Ik kan niet eens een js functie direct aanroepen vanuit die pagina. Wel in de onmouseover een alertje, maar zo wil ik het niet...
    Intrepidityvrijdag 17 april 2009 @ 12:21
    quote:
    Op vrijdag 17 april 2009 11:39 schreef markiemark het volgende:

    [..]

    Ik kan niet eens een js functie direct aanroepen vanuit die pagina. Wel in de onmouseover een alertje, maar zo wil ik het niet...
    quote:
    Probeer dit anders eens:
    http://docs.jquery.com/Ajax/load#urldatacallback
    Door middel van jquery een AJAX-request uitvoeren, waarbij je een callback op kunt geven, waarin je dus je je jQuery-code kunt uitvoeren.
    markiemarkvrijdag 17 april 2009 @ 12:47
    quote:
    Op vrijdag 17 april 2009 12:21 schreef Intrepidity het volgende:

    [..]


    [..]


    Zou dit ook moeten werken als het document de ready status heeft? In tegenstelling tot de 'gewone' javascript functie waar ik de alert aanroep?
    daReapervrijdag 17 april 2009 @ 17:55
    Ik ben overgestapt naar mysqli en ik gebruik de OOP variant, alleen nu zit ik met het volgende. Elke keer dat ik nu mysql wil aanspreken in een functie, moet ik $db eerst "globallen". Is hier geen andere manier voor?

    [ Bericht 89% gewijzigd door daReaper op 17-04-2009 18:23:20 ]
    Intrepidityvrijdag 17 april 2009 @ 19:32
    quote:
    Op vrijdag 17 april 2009 17:55 schreef daReaper het volgende:
    Ik ben overgestapt naar mysqli en ik gebruik de OOP variant, alleen nu zit ik met het volgende. Elke keer dat ik nu mysql wil aanspreken in een functie, moet ik $db eerst "globallen". Is hier geen andere manier voor?
    Een klasse schrijven om mysqli heen met het singleton patroon is de gebruikelijke optie
    Chandlerzaterdag 18 april 2009 @ 15:25
    Weet iemand een regex onderdeel waarmee ik het volgende kan vervangen.

    1
    2
    dit is
       een test


    nu zie je in bovenstaande tekst meerdere spaties en een enter staan.

    stel ik wil 'dit is een test' vervangen met 'this is an test' (dus naar het engels vertalen).

    dan doe ik dat normaal zo

    $code = preg_replace("$1this is an test$2",
    "#([>^_-])' . preg_quote("dit is een test") . "([<^_-])#ism",
    $code);

    echter neemt hij dan woorden niet mee die meer spaties bevatten en of een enter in de zin hebben, dit wil ik nu wel.. hoe kan ik dit oplossen? heb zelf al geprobeerd om alle spaties met ([:space:]+?[\r\n]+) te vervangen waardoor ik dacht dat deze zou werken.. maar helaas..

    Anyone?
    daReaperzaterdag 18 april 2009 @ 15:35
    quote:
    Op zaterdag 18 april 2009 15:25 schreef Chandler het volgende:
    Weet iemand een regex onderdeel waarmee ik het volgende kan vervangen.
    [ code verwijderd ]

    nu zie je in bovenstaande tekst meerdere spaties en een enter staan.

    stel ik wil 'dit is een test' vervangen met 'this is an test' (dus naar het engels vertalen).

    dan doe ik dat normaal zo

    $code = preg_replace("$1this is an test$2",
    "#([>^_-])' . preg_quote("dit is een test") . "([<^_-])#ism",
    $code);

    echter neemt hij dan woorden niet mee die meer spaties bevatten en of een enter in de zin hebben, dit wil ik nu wel.. hoe kan ik dit oplossen? heb zelf al geprobeerd om alle spaties met ([:space:]+?[\r\n]+) te vervangen waardoor ik dacht dat deze zou werken.. maar helaas..

    Anyone?
    ik zou beginnen met de juiste vertaling: "this is a test".

    1
    2
    3
    4
    5
    <?php
    $s 
    "dit is\n    een test"
    $s preg_replace("/dit\s+is\s+een\s+test/""this is a test"$s); 
    print 
    $s;
    ?>


    [ Bericht 34% gewijzigd door daReaper op 18-04-2009 15:40:30 ]
    Chandlerzaterdag 18 april 2009 @ 15:52
    Het werkt idd, ik had wat fout gedaan en binnen de preg_quote de \s+ gezet, logisch dat het niet werkte want de \s+ werdt vertaald in \\s+

    Maar iig TNX! je hebt me inzicht gegeven
    Mirelzaterdag 18 april 2009 @ 16:20
    Over www.pikler.nl
    Ik moet een aantal menu items toevoegen aan een pagina, maar ze worden niet gevonden. Het is een hoofdmenu item met 3 submenuitems. Een voorbeeld van de bestanden die er al zijn:

    kinderopvang.php
    kinderopvang_uitgangspunten.php
    kinderopvang_aanbod.php
    kinderopvang_ervaringen.php

    De URL naar bijv. aanbod is dit: http://pikler.nl/kinderopvang/aanbod . Alle paginabestanden staan gewoon in /pages.

    Vanuit de index worden die zo opgeroepen:
    1
    2
    3
    4
    5
    6
    $menu['kinderopvang'] = array('Kinderopvang', 'kinderopvang',
    array(
       array('Pedagogie', 'uitgangspunten'),
       array('Aanbod', 'aanbod'),
       array('Ervaringen', 'ervaringen'),
    ));


    Kinderopvang.php ziet er dan zo uit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php

    if ($spec1 == $menu["kinderopvang"][2][0][1])   include("pages/kinderopvang_uitgangspunten.php");
    if ($spec1 == $menu["kinderopvang"][2][1][1])   include("pages/kinderopvang_aanbod.php");
    if ($spec2 == 'introductie')               include("pages/kinderopvang_aanbod_introductie.php");
    if ($spec1 == $menu["kinderopvang"][2][2][1])   include("pages/kinderopvang_ervaringen.php");


    ?>


    Nou mijn probleem:
    -------------------------

    In de index heb ik een agenda menuitem toegevoegd. precies zoals kinderopvang de code in de index.
    1
    2
    3
    4
    5
    6
    $menu['agenda'] = array('Agenda', 'agenda',
    array(
       array('Ouders', 'ouders'),
       array('Kinderopvang', 'kinderopvang'),
       array('Voor alle geinteresseerden', 'geinteresseerden'),
    ));

    Heb in agenda.php dit staan:
    1
    2
    3
    4
    5
    6
    7
    <?php

    if ($spec1 == $menu["agenda"][2][0][1])   include("pages/agenda_ouders.php");
    if ($spec1 == $menu["agenda"][2][1][1])   include("pages/agenda_kinderopvang.php");
    if ($spec1 == $menu["agenda"][2][2][1])   include("pages/agenda_geinteresseerden.php");

    ?>

    Maar ik krijg dus een 'file not found' error. Hoe de paginas in de code hierboven geinclude worden, zo'n naam hebben ze als bestand ook. Naar mijn weten zijn alle namen goed getypt, maar ik krijg toch de file not found error.
    DionysuZzaterdag 18 april 2009 @ 19:39
    staat agenda.php ook in pages/?
    Mirelzaterdag 18 april 2009 @ 19:55
    ja
    Xcaliburzaterdag 18 april 2009 @ 20:12
    Ik denk dat ergens de slashes (in agenda/ouders.php) nog gerewrite worden naar underscores (dus agenda_ouders.php)... en die bestaat nog niet voor agenda, waardoor de pagina niet gevonden wordt.

    Zo niet; geen idee
    DionysuZzaterdag 18 april 2009 @ 20:39
    quote:
    Op zaterdag 18 april 2009 19:55 schreef Mirel het volgende:
    ja
    dan klopt de include natuurlijk niet. Als je vanuit directory "pages/" een pagina opvraagt als "pages/agenda_ouders.php" dan include hij vanuit de root directory "pages/pages/agenda_ouders.php".
    DionysuZzaterdag 18 april 2009 @ 21:30
    als ik bijv. je pagina's rechtstreeks opvraag krijg ik het volgende resultaat:

    http://pikler.nl/pages/kinderopvang.php
    quote:
    Warning: main(pages/kinderopvang_uitgangspunten.php) [function.main]: failed to open stream: No such file or directory in /home/sites/site6046/web/pages/kinderopvang.php on line 3

    ...
    http://pikler.nl/pages/agenda.php
    quote:
    Warning: main(pages/agenda_ouders.php) [function.main]: failed to open stream: No such file or directory in /home/sites/site6046/web/pages/agenda.php on line 3

    ...
    Met als grote verschil dat kinderopvang.php ook in de root (http://pikler.nl/kinderopvang.php) bestaat, en agenda.php niet.


    dus agenda.php in de root of veranderen naar:
    1
    2
    3
    4
    5
    6
    7
    <?php

    if ($spec1 == $menu["agenda"][2][0][1])   include("agenda_ouders.php");
    if ($spec1 == $menu["agenda"][2][1][1])   include("agenda_kinderopvang.php");
    if ($spec1 == $menu["agenda"][2][2][1])   include("agenda_geinteresseerden.php");

    ?>


    (en dan wel consequent bij de rest ook doen ).
    Mirelzaterdag 18 april 2009 @ 22:44
    D'r zit niks in de root, geen kinderopvang, geen enkele pagina. Heb om te testen agenda.php daarin gezet maar het doet niks.
    Alle paginas zitten in /pages. In de root zit enkel de index, en in de index heb ik op dezelfde manier de menuitems aangemaakt zoals bij de bestaande.
    En heb /agenda uit de includes gehaald maar dat doet ook niks. Alles is precies hetzelfde zoals bij de andere paginas. Maar ja. Zal er morgen wel weer naar kijken.

    Oh ja dat include dingetje, dat is trouwens als je op de hoofdmenu knop klikt. Als je op de site kijkt dan zie je dat dat bij elk hoofdmenu item hetzelfde is. Die bestanden zitten samen met de rest allemaal in /pages. waarom ze op die manier geinclude worden weet ik niet. Maar zo was het toen ik de adminshit overnam.

    [ Bericht 23% gewijzigd door Mirel op 18-04-2009 22:54:41 ]
    Mirelzaterdag 18 april 2009 @ 23:15
    Ohhhhh in htaccess miste een verwijzing. :) gefixed.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    RewriteCond %{REQUEST_URI} ^/emmipikler [OR]
    RewriteCond %{REQUEST_URI} ^/emmi-pikler [OR]
    RewriteCond %{REQUEST_URI} ^/pedagogische-visie [OR]
    RewriteCond %{REQUEST_URI} ^/stichting [OR]
    RewriteCond %{REQUEST_URI} ^/ouders [OR]
    RewriteCond %{REQUEST_URI} ^/kinderopvang [OR]
    RewriteCond %{REQUEST_URI} ^/agenda [OR]
    RewriteCond %{REQUEST_URI} ^/contact
    RewriteRule (.*) /index.php
    Swetseneggerzondag 19 april 2009 @ 10:58
    Goedemorgen!

    Ik ben weer eens gestart met een website en daarbij loop ik tegen een probleem aan. Stel je een interesse gebaseerde community voor, zoals bv lastfm. De muziek collectie van de gebruikers wordt ingevuld, en een van de features is dat mensen op basis van smaak aan elkaar gekoppeld worden.

    Dus iemand met veel harddrock ziet in een lijstje andere gebruikers met een voorkeur voor hardrock. Nu heb ik hier wel eens eerder gevraagd hoe je dat het best kan doen.

    Want stel je voor dat ik 5 nummers heb waarvan 3 van Metallica, dan is mijn voorkeur voor 60% Metallica. Maar als iemand 100 nummers heeft waarvan dezelfde 3 van Metallica dan is zijn voorkeur maar 3% voor Metallica. Heb je dan dus wel een match....?

    Iemand hier een slim idee voor?
    Mirelzondag 19 april 2009 @ 11:09
    In dat geval kijkt ie toch naar de hoeveelheid in stuks, ipv procenten?
    Swetseneggerzondag 19 april 2009 @ 11:11
    quote:
    Op zondag 19 april 2009 11:09 schreef Mirel het volgende:
    In dat geval kijkt ie toch naar de hoeveelheid in stuks, ipv procenten?
    Nou niet als het om smaak gaat vind ik. Die persoon met 3 van de 100 voor Metallica zal lang niet zo'n grote voorkeur hebben voor Metallica dan die ander toch?

    En je wil mensen op basis van voorkeur aan elkaar koppelen.
    Mirelzondag 19 april 2009 @ 11:19
    Dan hou je het toch op procenten? En 5 liedjes in totaal tegenover 100 is wel extreem. Naarmate de tijd strijkt, zal het vast wel beter tot z'n recht komen.
    Swetseneggerzondag 19 april 2009 @ 11:28
    quote:
    Op zondag 19 april 2009 11:19 schreef Mirel het volgende:
    Dan hou je het toch op procenten? En 5 liedjes in totaal tegenover 100 is wel extreem. Naarmate de tijd strijkt, zal het vast wel beter tot z'n recht komen.
    Ja... dank je wel voor je oplossing....
    Lightzondag 19 april 2009 @ 11:28
    quote:
    Op zondag 19 april 2009 11:11 schreef Swetsenegger het volgende:

    [..]

    Nou niet als het om smaak gaat vind ik. Die persoon met 3 van de 100 voor Metallica zal lang niet zo'n grote voorkeur hebben voor Metallica dan die ander toch?

    En je wil mensen op basis van voorkeur aan elkaar koppelen.
    Niet voor Metallica, maar misschien wel voor het genre metal. Dus je moet verder kijken dan alleen de nummers van Metallica.
    Mirelzondag 19 april 2009 @ 11:32
    Ik heb geen oplossing. Zeg alleen wat ik er van vind. Ben hartstikke php noob.
    Swetseneggerzondag 19 april 2009 @ 11:33
    quote:
    Op zondag 19 april 2009 11:28 schreef Light het volgende:

    [..]

    Niet voor Metallica, maar misschien wel voor het genre metal. Dus je moet verder kijken dan alleen de nummers van Metallica.
    Nou ja goed, daar geldt natuurlijk hetzelfde voor. Verander 'metallica' door 'metal nummers'. Hoewel je op genre al beter gaat matchen natuurlijk.

    Je kan natuurlijk ook 2 kanten op matchen. Dus A heeft een match met B, maar andersom heeft B geen match met A. en dan aparte lijstjes maken ofzo 'U matched met de volgende personen" en "De volgende personen matchen met u" ofzo.
    Lightzondag 19 april 2009 @ 12:26
    quote:
    Op zondag 19 april 2009 11:33 schreef Swetsenegger het volgende:

    [..]

    Nou ja goed, daar geldt natuurlijk hetzelfde voor. Verander 'metallica' door 'metal nummers'. Hoewel je op genre al beter gaat matchen natuurlijk.
    Het probleem blijft natuurlijk dat je moet bepalen wanneer er een match is, of hoe goed een match is. Dat zijn niet altijd duidelijk omschreven criteria. Ik denk dat je eerst voor jezelf duidelijk moet krijgen wanneer iets een match is (of hoe goed een match is), dan kun je daarna gaan proberen dat te bouwen.
    quote:
    Je kan natuurlijk ook 2 kanten op matchen. Dus A heeft een match met B, maar andersom heeft B geen match met A. en dan aparte lijstjes maken ofzo 'U matched met de volgende personen" en "De volgende personen matchen met u" ofzo.
    Hmmja, het hoeft natuurlijk niet hetzelfde te zijn. Maakt het nog leuker
    Pizzahutzondag 19 april 2009 @ 12:58
    Heb in de OP in de wiki even een linkje aangepast van de cheatsheet. ILoveJakDaniels bestond niet meer.
    Het is nu dit geworden:
    http://www.addedbytes.com/cheat-sheets/php-cheat-sheet/
    Mordrethzondag 19 april 2009 @ 13:09
    quote:
    Op zondag 19 april 2009 11:11 schreef Swetsenegger het volgende:

    [..]

    Nou niet als het om smaak gaat vind ik. Die persoon met 3 van de 100 voor Metallica zal lang niet zo'n grote voorkeur hebben voor Metallica dan die ander toch?

    En je wil mensen op basis van voorkeur aan elkaar koppelen.
    Ik denk dat dat pas gaat werken als de personen beiden meerdere nummers in hun lijstje hebben. De kans dat een match dan klopt is vele malen hoger dan als een persoon maar 5 nummers heeft ingevuld.
    Swetseneggerzondag 19 april 2009 @ 14:12
    quote:
    Op zondag 19 april 2009 13:09 schreef Mordreth het volgende:

    [..]

    Ik denk dat dat pas gaat werken als de personen beiden meerdere nummers in hun lijstje hebben. De kans dat een match dan klopt is vele malen hoger dan als een persoon maar 5 nummers heeft ingevuld.
    Ja dat is het probleem. Als de spoeling van persoon a een stuk dunner is dan die van persoon B zeg maar.

    Nou ja, ik denk er nog even over na
    slacker_nlzondag 19 april 2009 @ 14:24
    quote:
    Op zaterdag 18 april 2009 21:30 schreef DionysuZ het volgende:
    als ik bijv. je pagina's rechtstreeks opvraag krijg ik het volgende resultaat:

    http://pikler.nl/pages/kinderopvang.php
    [..]

    http://pikler.nl/pages/agenda.php
    [..]

    Met als grote verschil dat kinderopvang.php ook in de root (http://pikler.nl/kinderopvang.php) bestaat, en agenda.php niet.


    dus agenda.php in de root of veranderen naar:
    [ code verwijderd ]

    (en dan wel consequent bij de rest ook doen ).
    Je hoeft geen enkele pagina te verplaatsen als je ervoor zorgt dat je ini_set("include_path", '/home/sites/site6046/web/') definieert. Dan kan je gewoon overal include("pages/whatever.php") includen.

    Zie deze post: [PHP/(My)SQL] voor dummies - deel 60

    [ Bericht 5% gewijzigd door slacker_nl op 19-04-2009 14:55:36 ]
    Swetseneggerzondag 19 april 2009 @ 15:00
    quote:
    Op zondag 19 april 2009 14:24 schreef slacker_nl het volgende:

    [..]

    Je hoeft geen enkele pagina te verplaatsen als je ervoor zorgt dat je ini_set("include_path", '/home/sites/site6046/web/') definieert. Dan kan je gewoon overal include("pages/whatever.php") includen.

    Zie deze post: [PHP/(My)SQL] voor dummies - deel 60
    Hmz, misschien moeten we eens op de fok wiki handige code snippets gaan opslaan.
    slacker_nlzondag 19 april 2009 @ 19:13
    quote:
    Op zondag 19 april 2009 15:00 schreef Swetsenegger het volgende:

    [..]

    Hmz, misschien moeten we eens op de fok wiki handige code snippets gaan opslaan.
    +1
    Xcaliburzondag 19 april 2009 @ 22:39
    quote:
    Op zaterdag 18 april 2009 23:15 schreef Mirel het volgende:
    Ohhhhh in htaccess miste een verwijzing. gefixed.
    [ code verwijderd ]


    Ik had gelijk
    whoopsmaandag 20 april 2009 @ 16:05
    Er is mij de vraag gesteld of het mogelijk is om een organogram dynamisch te laten beheren. Nu wil ik dit in PHP/MySQL doen, met wellicht JavaScript om het te presenteren.

    Nu snap ik dat ik kan googlen en daar wat vinden, maar ik ben eigenlijk op zoek naar mensen die hier ervaring mee hebben, wat is een goeie (de beste?) manier om dit te doen?
    urselmaandag 20 april 2009 @ 16:11
    quote:
    Op maandag 20 april 2009 16:05 schreef whoops het volgende:
    Er is mij de vraag gesteld of het mogelijk is om een organogram dynamisch te laten beheren. Nu wil ik dit in PHP/MySQL doen, met wellicht JavaScript om het te presenteren.

    Nu snap ik dat ik kan googlen en daar wat vinden, maar ik ben eigenlijk op zoek naar mensen die hier ervaring mee hebben, wat is een goeie (de beste?) manier om dit te doen?
    Google is inderdaad een goede manier om te gaan zoeken. Ook al kan je best een andere zoekmachine proberen.
    whoopsmaandag 20 april 2009 @ 16:23
    quote:
    Op maandag 20 april 2009 16:11 schreef ursel het volgende:

    [..]

    Google is inderdaad een goede manier om te gaan zoeken. Ook al kan je best een andere zoekmachine proberen.
    Lol
    slacker_nlmaandag 20 april 2009 @ 18:43
    http://webscripts.softped(...)rganogram-22035.html
    Darkomenmaandag 20 april 2009 @ 19:42
    controleer je link eens
    slacker_nlmaandag 20 april 2009 @ 22:44
    wat is er mis mee?
    Darkomendinsdag 21 april 2009 @ 11:34
    "Missing project object in project template "
    Lightdinsdag 21 april 2009 @ 12:00
    quote:
    Op dinsdag 21 april 2009 11:34 schreef Darkomen het volgende:
    "Missing project object in project template "
    Hier doet'ie het gewoon hoor.
    Darkomendinsdag 21 april 2009 @ 12:08
    Raar, ik klik helemaal door naar de site (via download) en dan krijg ik dat te zien.

    leek mij namelijk wel een leuk script
    Lightdinsdag 21 april 2009 @ 12:26
    quote:
    Op dinsdag 21 april 2009 12:08 schreef Darkomen het volgende:
    Raar, ik klik helemaal door naar de site (via download) en dan krijg ik dat te zien.

    leek mij namelijk wel een leuk script
    Ow, het gaat om de download die niet werkt. Da's een andere link natuurlijk

    Even gekeken, en die download werkt hier ook niet.
    Darkomendinsdag 21 april 2009 @ 12:44
    jammer, leek me een mooi script.
    whoopsdinsdag 21 april 2009 @ 15:47
    Hier doet die link het ook niet, maar vroeg ook niet om een script maar om ervaringen hoe zoiets te doen... Lezen blijft blijkbaar erg lastig

    Ondertussen ben ik zelf begonnen met de implementatie, Common Sense helpt me erbij...
    slacker_nldinsdag 21 april 2009 @ 17:47
    quote:
    Op dinsdag 21 april 2009 15:47 schreef whoops het volgende:
    Hier doet die link het ook niet, maar vroeg ook niet om een script maar om ervaringen hoe zoiets te doen... Lezen blijft blijkbaar erg lastig

    Ondertussen ben ik zelf begonnen met de implementatie, Common Sense helpt me erbij...
    Ik kan wel lezen, maar ik ben eigenwijs, you of all people should know that
    whoopsdinsdag 21 april 2009 @ 18:02
    quote:
    Op dinsdag 21 april 2009 17:47 schreef slacker_nl het volgende:

    [..]

    Ik kan wel lezen, maar ik ben eigenwijs, you of all people should know that
    Daarnaast heb je gewoon erg weinig ervaring...
    slacker_nldinsdag 21 april 2009 @ 18:22
    Ben inderdaad niet zo bekend met organisatie structuren, trek me er nooit wat van aan!
    Xcaliburdinsdag 21 april 2009 @ 21:35
    @whoops: leg eens wat duidelijk uit wat je wilt
    Ik vind je vraag wel interessent, maar ik heb geen idee wat je nu wilt...
    whoopswoensdag 22 april 2009 @ 10:46
    quote:
    Op dinsdag 21 april 2009 21:35 schreef Xcalibur het volgende:
    @whoops: leg eens wat duidelijk uit wat je wilt
    Ik vind je vraag wel interessent, maar ik heb geen idee wat je nu wilt...
    Ik ben bezig om er voor te zorgen dat mensen op een simpele wijze een organogram kunnen publiceren op het web. Op dit moment worden er plaatjes gebruikt dit in Visio, Word of Powerpoint gemaakt worden, maar dat is niet ideaal, zeker niet als er een kleine update moet gebeuren.

    Om dit op te lossen ben ik gister bezig geweest om de boel via JavaScript weer te geven, en dat is best aardig gelukt al zeg ik het zelf, preview vind je hier: http://x.bvirtual.nl/flowchart/ .

    Waar ik nu mee bezig moet is volgens mij het lastigste, het opslaan van deze structuur in de database, dit is hetgene waar ik het meest mee zit, wat is een handige manier om dit te doen...

    Enkele mogelijkheden die ik zie:
    - Data per FlowChart cell in de DB zetten, tree door PHP/SQL laten genereren, printen als JavaScript Array en als invoer gebruiken
    - Complete structuur in 1 JavaScript Array (JSON?) en dit opslaan in de database, dus complete flowchart per Table Row (makkelijke backend)

    Vooral het maken van de Tree uit PHP/MySQL lijkt me lastig, als ik dit kan voorkomen (en het dan via JavaScript oplossen) zou me dat wel wat waard zijn, maar ben benieuwd naar ervaringen...
    Xcaliburwoensdag 22 april 2009 @ 11:02
    Je site doet het niet?

    Een tree opslaan in een database is altijd een gezeik. Ik ben niet zo handig met javascript, dus dat zou wel mijn oplossing zijn ... Maar daar zijn voldoende scripts voor te vinden die dat voor je kunnen en een nette array genereren
    whoopswoensdag 22 april 2009 @ 11:14
    quote:
    Op woensdag 22 april 2009 11:02 schreef Xcalibur het volgende:
    Je site doet het niet?

    Een tree opslaan in een database is altijd een gezeik. Ik ben niet zo handig met javascript, dus dat zou wel mijn oplossing zijn ... Maar daar zijn voldoende scripts voor te vinden die dat voor je kunnen en een nette array genereren
    Server is weer up als het goed is
    qu63woensdag 22 april 2009 @ 11:19
    quote:
    Op woensdag 22 april 2009 11:14 schreef whoops het volgende:

    [..]

    Server is weer up als het goed is
    Ziet er gaaf uit!
    urselwoensdag 22 april 2009 @ 11:21
    quote:
    Op woensdag 22 april 2009 11:14 schreef whoops het volgende:

    [..]

    Server is weer up als het goed is
    Ziet er inderdaad keun uit.
    Kan je het opslaan niet net zo doen als de manier dat je een menu opslaat? Of ben ik dan te kort door de bocht.
    Werken met een parents enzo.
    whoopswoensdag 22 april 2009 @ 11:31
    Thanks

    @Ursel, ja heb nu een structuur die met ID's en Parents werkt... Dat is de way to go als ik het via PHP/MySQL wil laten doen...

    Ik moet nu een ander deel van dit project doen dus laat dit voor nu even rusten, eens goed nadenken wat het makkelijkste is.

    Ervaringen (ook met opslaan van JS arrays) blijven welkom
    Xcaliburwoensdag 22 april 2009 @ 11:36
    quote:
    Op woensdag 22 april 2009 11:31 schreef whoops het volgende:
    @Ursel, ja heb nu een structuur die met ID's en Parents werkt... Dat is de way to go als ik het via PHP/MySQL wil laten doen...
    Niet per se
    Maar het is qua queries wel makkelijkste manier...

    Ziet er verder wel netjes uit idd
    GIwoensdag 22 april 2009 @ 11:42
    Ik zou lekker met parents en ID's gaan werken.
    markiemarkdonderdag 23 april 2009 @ 09:09
    quote:
    Op woensdag 22 april 2009 11:42 schreef GI het volgende:
    Ik zou lekker met parents en ID's gaan werken.
    Het opslaan lijkt me op zich niet zo'n probleem... Het weergeven lijkt me lastiger moet ik zeggen.
    Ben erg benieuwd hoe je dat gaat doen!
    slacker_nldonderdag 23 april 2009 @ 09:12
    http://www.sitepoint.com/article/hierarchical-data-database/
    Xcaliburdonderdag 23 april 2009 @ 13:47
    Goed artikel ja... ik gebruik altijd het nested set model
    het is effe een gezeik om je queries te bouwen, maar als je die 1x hebt is het ideaal imho
    Swetseneggerdonderdag 23 april 2009 @ 16:19
    Ik gebruik nested set in mijn CMS'je
    super-muffinvrijdag 24 april 2009 @ 10:25
    Wie kan mij helpen met non-WSDL SOAP? Ik moet een XML sturen naar een SOAP server, maar het wordt mij niet echt duidelijk hoe

    Met WSDL heb ik wel ervaring, maar dit is net even wat anders. En het staat ook nergens goed gedocumenteerd of ook maar een klein voorbeeld. Kan iemand mij in de goede richting schoppen?
    Xcaliburvrijdag 24 april 2009 @ 10:54
    de opbouw van de XML is toch hetzelfde in principe?
    Weet je wel hoe die gestructureerd moet worden?

    Ik doe het ook altijd met WSDL, dus echt helpen kan ik je niet vrees ik...
    super-muffinvrijdag 24 april 2009 @ 12:29
    Die XML krijg ik wel opgebouwd, maar hoe ik 'em naar de server stuur geen idee.
    SuperRembovrijdag 24 april 2009 @ 12:45
    quote:
    Op vrijdag 24 april 2009 12:29 schreef super-muffin het volgende:
    Die XML krijg ik wel opgebouwd, maar hoe ik 'em naar de server stuur geen idee.
    In principe is het gewoon een http post request.
    DaFrenkvrijdag 24 april 2009 @ 13:33
    Iemand enig idee van een gratis MySQL database met daarin alle landen en bijbehorende provincies/districten van West-Europa?
    HuHuvrijdag 24 april 2009 @ 13:40
    quote:
    Op vrijdag 24 april 2009 13:33 schreef DaFrenk het volgende:
    Iemand enig idee van een gratis MySQL database met daarin alle landen en bijbehorende provincies/districten van West-Europa?
    Ik ben er ook op zoek naar geweest, maar niet echt gevonden. Het ging mij niet om West-Europa, maar om de hele wereld, maar het was niet te vinden.

    Wel ontdekte ik dat drupal een hele verzameling PHP-bestanden heeft waarin voor elk land alle districten staan opgeslagen in een PHP-array. Die heb ik vervolgens gebruikt in mijn applicatie.

    Je zou drupal kunnen downloaden, die bestanden kunnen inlezen en zo zelf je eigen database samenstellen.
    DaFrenkvrijdag 24 april 2009 @ 13:43
    quote:
    Op vrijdag 24 april 2009 13:40 schreef HuHu het volgende:

    [..]

    Ik ben er ook op zoek naar geweest, maar niet echt gevonden. Het ging mij niet om West-Europa, maar om de hele wereld, maar het was niet te vinden.

    Wel ontdekte ik dat drupal een hele verzameling PHP-bestanden heeft waarin voor elk land alle districten staan opgeslagen in een PHP-array. Die heb ik vervolgens gebruikt in mijn applicatie.

    Je zou drupal kunnen downloaden, die bestanden kunnen inlezen en zo zelf je eigen database samenstellen.
    Thanks! Dat gaan we eens bekijken!

    Tja, er zijn wel van die databases. Maar niet kosteloos dus.
    HuHuvrijdag 24 april 2009 @ 13:51
    quote:
    Op vrijdag 24 april 2009 13:43 schreef DaFrenk het volgende:

    [..]

    Thanks! Dat gaan we eens bekijken!

    Tja, er zijn wel van die databases. Maar niet kosteloos dus.
    Klopt, maar met een beetje creativiteit kom je een heel eind met die Drupal bestanden .
    urselvrijdag 24 april 2009 @ 13:52
    Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
    qu63vrijdag 24 april 2009 @ 13:59
    quote:
    Op vrijdag 24 april 2009 13:52 schreef ursel het volgende:
    Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
    Dit werkt ook: http://kvdb.net/projects/6pp/
    DaFrenkvrijdag 24 april 2009 @ 14:03
    quote:
    Op vrijdag 24 april 2009 13:51 schreef HuHu het volgende:

    [..]

    Klopt, maar met een beetje creativiteit kom je een heel eind met die Drupal bestanden .
    Whehe, da's geen bezwaar.

    Echter, waar kan ik die bestanden vinden? Ik zie een shitload aan *.inc bestanden, maar daarin vind ik niet echt iets wat op een dergelijke array lijkt. Of moet ik Drupal eerst installeren?
    DaFrenkvrijdag 24 april 2009 @ 14:04
    quote:
    Op vrijdag 24 april 2009 13:59 schreef qu63 het volgende:

    [..]

    Dit werkt ook: http://kvdb.net/projects/6pp/
    Wow! Da's een instant bookmark!
    HuHuvrijdag 24 april 2009 @ 14:10
    quote:
    Op vrijdag 24 april 2009 14:03 schreef DaFrenk het volgende:

    [..]

    Whehe, da's geen bezwaar.

    Echter, waar kan ik die bestanden vinden? Ik zie een shitload aan *.inc bestanden, maar daarin vind ik niet echt iets wat op een dergelijke array lijkt. Of moet ik Drupal eerst installeren?
    Hier: http://drupal.org/project/location En dan in het mapje supported, daar staat alles in.
    DaFrenkvrijdag 24 april 2009 @ 14:17
    quote:
    Op vrijdag 24 april 2009 14:10 schreef HuHu het volgende:

    [..]

    Hier: http://drupal.org/project/location En dan in het mapje supported, daar staat alles in.
    Gevonden, thanks! Die bijbehorende mysql postcodedatabases voor o.a. Duitsland zien er ook interessant uit!
    qu63vrijdag 24 april 2009 @ 14:18
    quote:
    Op vrijdag 24 april 2009 14:04 schreef DaFrenk het volgende:

    [..]

    Wow! Da's een instant bookmark!
    Zeker! Ook de afstand tussen 2 postcodes kan je daar vinden: http://6pp.kvdb.net/services/distance?start_postcode=1000AA&destination_postcodes=1200
    super-muffinvrijdag 24 april 2009 @ 14:41
    quote:
    Op vrijdag 24 april 2009 12:45 schreef SuperRembo het volgende:

    [..]

    In principe is het gewoon een http post request.
    I know, dat kan ik met cURL doen, maar ik heb toch liever een nettere oplossing. Niemand een idee?
    urselvrijdag 24 april 2009 @ 15:07
    quote:
    Op vrijdag 24 april 2009 14:18 schreef qu63 het volgende:

    [..]

    Zeker! Ook de afstand tussen 2 postcodes kan je daar vinden: http://6pp.kvdb.net/services/distance?start_postcode=1000AA&destination_postcodes=1200
    Hij herkent niet eens mijn postcode, 2563KA
    DaFrenkvrijdag 24 april 2009 @ 15:11
    quote:
    Op vrijdag 24 april 2009 15:07 schreef ursel het volgende:

    [..]

    Hij herkent niet eens mijn postcode, 2563KA
    Nee, ik zie ook dat mijn straat en postcode er niet in voorkomen. Maar het is dan ook een vrijwilligersproject begrijp ik? Misschien kunnen we onze gegevens doorgeven, dan helpen we tenminste mee om het completer te maken
    Xcaliburvrijdag 24 april 2009 @ 15:26
    quote:
    Op vrijdag 24 april 2009 14:41 schreef super-muffin het volgende:
    I know, dat kan ik met cURL doen, maar ik heb toch liever een nettere oplossing. Niemand een idee?
    ik gebruik de NuSOAP class altijd, die regelt het dan lekker voor me
    urselvrijdag 24 april 2009 @ 15:31
    quote:
    Op vrijdag 24 april 2009 15:26 schreef Xcalibur het volgende:

    [..]

    ik gebruik de NuSOAP class altijd, die regelt het dan lekker voor me
    Hier ook..
    super-muffinvrijdag 24 april 2009 @ 16:08
    Dan ga ik daar maar eens naar kijken
    beertenzaterdag 25 april 2009 @ 10:27
    Hoi,

    vraagje, voor velen gesneden koek, ik klungel er nog wat mee.

    Ik wil de broncode van een pagina inlezen. Alle HTML/javascript/etc. er uit gooien en alle woorden in een array zetten. Teneinde een zoekmachine te construeren.

    Broncode inlezen en alle HTML verwijderen gaat nog wel. fgetss() is erg handig (strip_tags achtige functie) Hiermee wordt alles tussen <...> verwijderd. Echter Javascript tussen niet tussen <...> maar tussen <script>JAVASCRIPT</script>. Oftewel alles tussen die tags wordt meegenomen. In dit geval het woord JAVASCRIPT
    Kan dat nou niet anders?

    Ik wil alles tussen "<script" en "</script>" verwijderen.

    Probleem is concreet: hoe zit dat ook al weer met die resource handler $handle? Hoe kan ik in onder staand stukje code de file inlezen, de java strippen en dan woord voor woord verder scannen? Nu wordt met fgetss() het bestand regel voor regel doorlopen, de $filehandler. Ik wil eigenlijk de string doorlopen. Toch???
    Het komt er op neer dat ik eerst de tekst moet opschonen van alles wat ik niet wil hebben om als allerlaatste pas de content als losse woorden in een array te stoppen.

    Iets doe ik nu niet handig. Maar hoe kan ik het wel handig doen? Iemand goede aanwijzingen?

    Het volgende stukje code heb ik.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    error_reporting (E_ALL);
    // vars aanmaken
    $word_array=array();
    $words='';
    // ongewenste leestekens
    $char_arr=array(":",
                    ";",
                    "?",
                    ",",
                    "(",
                    ")",
                    ".",
                    "'",
                    "\"");
    // bestand aanroepen
    $handle = fopen("http://www.mijndomein.nl/index.php", "r");
    if($handle)
     {
      // Hier ergens moet alles tussen "<script" en "</script> verwijderd worden
      //[....]

      // bestand regel voor regel, woord voor woord inlezen
      while (!feof($handle))
       {
        $buffer = fgetss($handle, 4096);
        // leestekens verwijderen
        $words.=str_replace($char_arr," ",$buffer);
       }
      fclose($handle);
     }
    // spaties verwijderen
    $words=trim($words);
    // string converteren naar array met woorden
    $word_array=explode(" ", $words);
    // lege keys of keys met spaties verwijderen
    foreach($word_array as $key => $value)
     {
      $value=trim($value);
      if($value == "" OR strlen($value) < 4)
       {
        unset($word_array[$key]);
       }
     }
    //output
    print_r($word_array);
    ?>


    P.S.: het verwijderen van de blokken java is een bewerking die uitgevoerd moet worden. In een later stadium wil ik ook o.a. eerst de metatags uitlezen alvorens ik die weggooi met fgetss(). Wellicht kom ik nog meer van dit soort zaken tegen. Als ik maar weet hoe dit gaat, op welk moment ik met die $handle etc. omga.

    [ Bericht 0% gewijzigd door beerten op 25-04-2009 10:32:46 ]
    SuperRembozaterdag 25 april 2009 @ 10:54
    Even logisch nadenken over wat er moet gebeuren:
  • Bestand/pagina lezen
  • Script blokken verwijderen
  • HTML strippen
  • Woordenlijst opbouwen

    En dat dan gebruiken om nette code te schrijven.
  • beertenzaterdag 25 april 2009 @ 11:07
    quote:
    Op zaterdag 25 april 2009 10:54 schreef SuperRembo het volgende:
    Even logisch nadenken over wat er moet gebeuren:
  • Bestand/pagina lezen
  • Script blokken verwijderen
  • HTML strippen
  • Woordenlijst opbouwen

    En dat dan gebruiken om nette code te schrijven.
  • Thnx, ik snap wat je bedoelt. Ik zat vast met fgetss()
    file_get_contents() is veel makkelijker in dit geval.

    Je noemt nette code. Is mijn code in jouw ogen niet net? Inspringen doe ik inderdaad anders dan de ongeschreven regels voorschrijven. Ik sta open voor suggesties. Het is echter een notatie die ik altijd en consequent gebruik.

    Onderstaand mijn oplossing. Voor zover ik nu getest heb werkende. Pas als ik het in een crawler inbouw komen alle bugs boven.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <?php
    error_reporting (E_ALL);
    $char_arr=array(":",
                    ";",
                    "?",
                    ",",
                    "(",
                    ")",
                    ".",
                    "'",
                    "\"",
                    "[",
                    "]",
                    "-",
                    "_",
                    "?",
                    "!",
                    "+",
                    "=",
                    "&",
                    "#",
                    "$",
                    "%",
                    "^",
                    "*",
                    "~");
    $word_array=array();
    $words='';
    $filename="http://www.mijndomein.nl/index.php";
    $words=file_get_contents($filename);

    //Alle woorden in lowercase weergeven
    $words=strtolower($words);

    // Metatags uitlezen
    $tags = get_meta_tags($filename);
    echo 'Author = '.$tags['author'].'<br>';
    echo 'keywords = '.$tags['keywords'].'<br>';
    echo 'Description = '.$tags['description'].'<br>';
    echo 'Robots = '.$tags['robots'].'<br>';

    $index_tag=explode(",",$tags['robots']);
    print_r($index_tag);
    print '<br>';
    if(in_array("index",$index_tag))
     {
      print 'Ja, "index" is toegestaan<br>';
     }
    else
     {
      print 'Indexeren niet toegestaan<br>';
     }
    if(in_array("follow",$index_tag))
     {
      print 'Ja, "follow" is toegestaan<br>';
     }
    else
     {
      print 'Links volgen niet toegestaan<br>';
     }
    function get($a,$b,$c)
     { // Gets a string between 2 strings
      $y = explode($b,$a);
      $x = explode($c,$y[1]);
      return $x[0];
     }
    echo 'titel = '.get($words, "<title>", "</title").'<br>';

    // <h1>Titel</h1><p>Inhoud</p> levert de twee woorden
    // op aan elkaar TitelInhoud Deze moeten gescheiden worden.
    // In eerste instantie worden alle "</" vervangen door een "."
    // Dit scheidt de woorden en de "." wordt later weer verwijderd.
    $words=str_replace("</",".</",$words);

    // Verwijderen van blokken code
    $pattern[0] = "/<script\b[^>]*>(.*?)<\/script>/i";
    $pattern[1] = "/<style\b[^>]*>(.*?)<\/style>/i";
    // Blokken code vervangen door
    $replace = " ";
    // De blokken code verwijderen
    $words = preg_replace($pattern, $replace, $words);

    // Alle HTML-tags er uit halen
    $words=strip_tags($words);

    // Onnodige spaties verwijderen
    $words=trim($words);

    // Alle ongewenste (lees)tekens verwijderen
    // Aandachtspuntje: in de HTML borncode staan alle speciale
    // tekens zoals "&',<",">" als htmlentities gecodeerd.
    // Ook die moeten er uit. Dit kan door alle gecodeerde
    // tekens te decoderen naar het oorspronkelijke karakter
    // Alle leestekens decoderen
    $words=html_entity_decode($words);
    // Alle speciale leestekens verwijderen
    $words=str_replace($char_arr," ",$words);

    // Alle losse worden in een array stoppen
    // Lege waarden en woorden met minder dan 4 tekens verwijderen
    $word_array=explode(" ", $words);
    foreach($word_array as $key => $value)
     {
      $value=trim($value);
      if($value == "" OR strlen($value) < 4)
       {
        unset($word_array[$key]);
       }
     }

    // Output naar scherm
    asort($word_array);
    foreach($word_array as $key => $value)
     {
      print $key .' = '.$value.'</br />';
     }
    ?>


    Edit: voor de geinteresseerden en de zoekfunctie gecompleteerd met metatags en titel, robots index/follow opzetje.
    Voldoende als basis om zelf mee te knutselen.

    [ Bericht 46% gewijzigd door beerten op 25-04-2009 19:40:13 ]
    Thomasszaterdag 25 april 2009 @ 14:16
    quote:
    Op vrijdag 24 april 2009 13:52 schreef ursel het volgende:
    Ik heb wel ooit eens ergens een postcode database gekregen. Maar volgens mij was die echt gigantische groot, en voor mijn gratis hosting ging dat nou ook weer niet echt samen..
    Ik heb m ook nog, 12 megabytes is ie.. en in dit formaat:
    1
    2
    3
    4
    1011AA 487930.970 122233.208
    1011AB 487895.710 122264.842

    ...


    432.144 postcodetjes
    qu63zaterdag 25 april 2009 @ 22:39
    quote:
    Op zaterdag 25 april 2009 14:16 schreef Thomass het volgende:

    [..]

    Ik heb m ook nog, 12 megabytes is ie.. en in dit formaat:
    [ code verwijderd ]

    432.144 postcodetjes
    postcode + lat/lon?
    Xcaliburzaterdag 25 april 2009 @ 22:42
    Kan je die postcode database ergens ter download aanbieden?
    hoe volledig is die denk je?
    DaFrenkzondag 26 april 2009 @ 08:50
    quote:
    Op zaterdag 25 april 2009 22:42 schreef Xcalibur het volgende:
    Kan je die postcode database ergens ter download aanbieden?
    hoe volledig is die denk je?
    Ik hou me ook aanbevolen
    Swetseneggerzondag 26 april 2009 @ 08:59
    Ik zoek eigenlijk meer een postcode/adres relatie DB.
    Lastpostzondag 26 april 2009 @ 09:07
    Ook hier maar even een tvp, vanuit het niets (qua kennis) begonnen met het opbouwen van een site-idee dat in m'n hoofd zat en ik zal vast nog wel wat vragen hebben als dummie zijnde.
    HuHuzondag 26 april 2009 @ 10:20
    quote:
    Op zondag 26 april 2009 08:59 schreef Swetsenegger het volgende:
    Ik zoek eigenlijk meer een postcode/adres relatie DB.
    Die zijn er eigenlijk niet. Er is de officiële van TNT, die je voor héél veel euro's mag kopen.
    quote:
    Een licentie voor de postcode database is verkrijgbaar vanaf ¤ 2.730,- voor de initiële aanschaf en ¤ 1.350,- per jaar voor de wekelijkse mutaties.

    http://www.postcode.nl/in(...)e-van-nederland.html
    En de volgende open-source variant die gratis is:
    quote:
    Op vrijdag 24 april 2009 13:59 schreef qu63 het volgende:

    [..]

    Dit werkt ook: http://kvdb.net/projects/6pp/
    Thomasszondag 26 april 2009 @ 12:55
    quote:
    Op zaterdag 25 april 2009 22:42 schreef Xcalibur het volgende:
    Kan je die postcode database ergens ter download aanbieden?
    hoe volledig is die denk je?
    quote:
    Op zondag 26 april 2009 08:50 schreef DaFrenk het volgende:

    [..]

    Ik hou me ook aanbevolen
    Alstublieft, ik weet er verder heel weinig over. Ik kwam m ooit tegen op t web en heb het opgeslagen, dus als jullie kunnen uitvinden wát die coordinaten in godsnaam zijn (latitude & longitude / rijksdriehoekscoordinaten / ...) laat het hier even weten

    http://rapidshare.com/files/225899148/postcodes.rar.html
    qu63zondag 26 april 2009 @ 13:19
    quote:
    Op zondag 26 april 2009 08:59 schreef Swetsenegger het volgende:
    Ik zoek eigenlijk meer een postcode/adres relatie DB.
    Je zou met behulp van Google(Maps) wel de adressen kunnen krijgen die bij bepaalde postcodes/coördinaten horen
    Thomasszondag 26 april 2009 @ 13:22
    quote:
    Op zondag 26 april 2009 08:59 schreef Swetsenegger het volgende:
    Ik zoek eigenlijk meer een postcode/adres relatie DB.
    Als je een cd foongids hebt.. http://www.foondump.nl/

    DaFrenkzondag 26 april 2009 @ 15:24
    quote:
    Op zondag 26 april 2009 12:55 schreef Thomass het volgende:

    [..]


    [..]

    Alstublieft, ik weet er verder heel weinig over. Ik kwam m ooit tegen op t web en heb het opgeslagen, dus als jullie kunnen uitvinden wát die coordinaten in godsnaam zijn (latitude & longitude / rijksdriehoekscoordinaten / ...) laat het hier even weten

    http://rapidshare.com/files/225899148/postcodes.rar.html
    Thanks!

    Hm, goede vraag. Kan ze niet echt herleiden naar lat/long, dus wat het dan is?
    cablegunmasterzondag 26 april 2009 @ 17:40
    ik zat me iets af te vragen
    ik heb een array

    $lev_nr[];
    en daar zitten 2,1,2,2,2,2,1,1,1,1 in
    en nu wou ik in die array zo hebben dat hij hem afgaat zoveel keer als er verschillende getallen in zitten.
    dus ik dacht.

    wacht ik ga hier even over nadenken

    [ Bericht 17% gewijzigd door cablegunmaster op 26-04-2009 17:47:30 ]
    Lightzondag 26 april 2009 @ 18:17
    quote:
    Op zondag 26 april 2009 17:40 schreef cablegunmaster het volgende:
    ik zat me iets af te vragen
    ik heb een array

    $lev_nr[];
    en daar zitten 2,1,2,2,2,2,1,1,1,1 in
    en nu wou ik in die array zo hebben dat hij hem afgaat zoveel keer als er verschillende getallen in zitten.
    dus ik dacht.

    wacht ik ga hier even over nadenken
    Hoe vaak moet moet er dan wat gebeuren bij die cijfers die je noemde?
    HuHuzondag 26 april 2009 @ 18:39
    quote:
    Op zondag 26 april 2009 17:40 schreef cablegunmaster het volgende:
    ik zat me iets af te vragen
    ik heb een array

    $lev_nr[];
    en daar zitten 2,1,2,2,2,2,1,1,1,1 in
    en nu wou ik in die array zo hebben dat hij hem afgaat zoveel keer als er verschillende getallen in zitten.
    dus ik dacht.

    wacht ik ga hier even over nadenken :P :D
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $count 
    count($lev_nr);

    for (
    $i 0$i $count$i++) {
      for (
    $j 0$j $count$j++) {
        
    // iets doen met $lev_nr[$j]
      
    }
    }
    ?>


    Nu loop je de array net zo vaak helemaal af als dat er elementen in de array zitten. Als er 10 elementen in je array zitten wordt elk element dus 10x bezocht.
    cablegunmasterzondag 26 april 2009 @ 19:28
    quote:
    Op zondag 26 april 2009 18:39 schreef HuHu het volgende:

    [..]
    [ code verwijderd ]

    Nu loop je de array net zo vaak helemaal af als dat er elementen in de array zitten. Als er 10 elementen in je array zitten wordt elk element dus 10x bezocht.
    nee maar daarom zeg ik ook even wacht, bedankt voor het meedenken, maar het punt is.
    Als ik 3,4,6 in mn array heb. en dat een paar keer dus 4,3,4,6,3,3,3
    dan wil ik een lijstje krijgen van
    3: 4x
    4: 2x
    6: 1 keer

    de keren hoef ik niet te hebben maar de methodiek dat hij erlangs gaat als het dit getal is in de array is doe een query. maar het getal kan verschillend zijn met een variabele.

    het idee was

    1 voor elke leverancier maakt hij een order aan. als die gevonden word in de array
    2 voor elke leverancier zijn meerdere producten. dus een andere tabel

    dus je hebt een array ( 2,1,21,2,1,2,1)
    en die stelt dus leveranciers nummers voor, omdat er meer zijn stelt het ook het lijstje voor.
    ( andere array is product_nr) en aantal.

    alleen nou moest hij voor elk nieuw leverancier nummer een query maken.
    en de bijhorende producten opzoeken. ( dit via zelfde array stande dus $k bvb)
    GlowMousezondag 26 april 2009 @ 19:32
    Met aantallen: http://nl.php.net/manual/en/function.count-chars.php
    Zonder aantallen: http://nl3.php.net/array_unique
    cablegunmasterzondag 26 april 2009 @ 19:41
    quote:
    Hartelijk bedankt ik zal hier mee verder gaan
    met dank aan glowmouse:

    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
    <?php
    if(!empty($_POST))
        {
            include(
    "content/connect.php");
            
    $tijd date("Y-m-d");
            
    $gewtijd mktime(000date(("m")), date("d"),   date("Y"));
            
    /*
            Voor elke leverancier (die in de array zit)producten controleren op uniekheid.
            Elke leverancier een eigen inkooporder aanmaken
            Per inkooporder de $_POST leverancier array afgaan om te kijken of hij gelijk is met de leverancier uit de unieke array
            alszo, doe een query. en pak de gegevens eruit.
            */
            
    $result array_unique($_POST['leverancier']);
            
    $i count($_POST['leverancier']);
            
    $j count($result);
            
    $k 0;
            
    $l 0;
            
            echo 
    "<br/>".var_dump($result);
            while(
    $k $j)
            {
                
    $sql1 ="INSERT INTO inkooporder (lev_nr,besteldatum,gewdatum,status) VALUES ('".$result[$k]."','".$tijd."','".$gewtijd."','wachtend')";
                
    mysql_query($sql1) or(die());;
                while(
    $l $i)
                {
                if(
    $result[$k] == $_POST['leverancier'][$l])
                    {
                    echo 
    $_POST['leverancier'][$l];
                    echo 
    $_POST['artikel_nr'][$l]."<br/>";
                    
    $sql2 ="SELECT io_nr FROM inkooporder ORDER BY io_nr DESC limit 0,1";
                    
    $test mysql_query($sql2) or( die());
                    
    $inkooporder mysql_fetch_assoc($test);
                    
    $sql3 ="INSERT INTO inkooporderregel(io_nr,art_nr,besteld,geleverd,inkoopprijs) 
                    VALUES ('"
    .$inkooporder['io_nr']."','".$_POST['artikel_nr'][$l]."','".$_POST['besteld'][$l]."','0','".$_POST['prijs'][$l]."')";
                    
    $sql4 "UPDATE artikel SET voorinkopen = voorinkopen + ".$_POST['besteld'][$l]." WHERE art_nr = '".$_POST['artikel_nr'][$l]."'";
                    
    mysql_query($sql3) or(die());;
                    
    mysql_query($sql4) or(die());;
                    }
                    
    $l++;
                }
                
    $l 0;
                
    $k++;
            }
    ?>

    mocht het iemand helpen

    en ja het kan vast beter

    1 vraagje over de gewenste datum hoe kan ik die instellen dat hij + 3 dagen is ?

    [ Bericht 14% gewijzigd door cablegunmaster op 27-04-2009 12:37:03 ]
    SuperRembomaandag 27 april 2009 @ 13:44
    quote:
    Op zaterdag 25 april 2009 11:07 schreef beerten het volgende:
    [..]
    Je noemt nette code. Is mijn code in jouw ogen niet net?
    Bij nette code zie je in een oogopslag de globale structuur. Onderdelen als instellingen, logica en uitvoer zo veel mogelijk gescheiden.
    Bij jou is het een grote lap code waar vanalles in gebeurd. Om te begrijpen wat er gebeurd moet je alles doorlezen. Ergens halverwege staat een functie met de naam "get". Wel netjes dat er commentaar bij staat, al is 't soms wat overbodig, of zou 't overbodig zijn als de indeling logischer was.

    Is de lengte van een lege string niet ook minder dan 4?
    cablegunmastermaandag 27 april 2009 @ 14:12
    1
    2
    3
    4
    5
    <?php
    $date 
    strtotime("+1 day");    
    $date date('Y-m-d H-i-s'$date);
    echo 
    "datum morgen = ".$date;
    ?>


    dit kan netter maar het idee is eral
    slacker_nlmaandag 27 april 2009 @ 14:34
    1
    2
    3
    <?php
    echo "Datum morgen: " date('Y-m-d H-i-s'time() + 3600 24);
    ?>


    done.
    cablegunmastermaandag 27 april 2009 @ 14:42
    quote:
    Op maandag 27 april 2009 14:34 schreef slacker_nl het volgende:

    [ code verwijderd ]

    done.
    het idee hiervan vind ik weer wat onhandig.
    1
    2
    3
    4
    5
    6
    <?php
    function dagenErbij($p)
    {
    return 
    $datum date('Y-m-d H-i-s'time() + 3600 24$P);
    }
    ?>

    zoiets ?
    Intrepiditymaandag 27 april 2009 @ 14:44
    * Intrepidity is sinds vanochtend Zend certified engineer
    cablegunmastermaandag 27 april 2009 @ 14:55
    nog 1 vraagje die auto teller... hoe kan je die resetten ? in de mysql database dat hij weer teruggaat en snapt dat hij de volgende moet pakken ipv doortellen?
    1
    2
    77
    78
    doet hij nu
    GlowMousemaandag 27 april 2009 @ 15:02
    quote:
    Op maandag 27 april 2009 14:55 schreef cablegunmaster het volgende:
    nog 1 vraagje die auto teller... hoe kan je die resetten ? in de mysql database dat hij weer teruggaat en snapt dat hij de volgende moet pakken ipv doortellen?
    1
    2
    77
    78
    doet hij nu
    Wil je dit wel? Leesvoer: http://gathering.tweakers.net/forum/list_messages/1318997/
    cablegunmastermaandag 27 april 2009 @ 15:40
    quote:
    Op maandag 27 april 2009 15:02 schreef GlowMouse het volgende:

    [..]

    Wil je dit wel? Leesvoer: http://gathering.tweakers.net/forum/list_messages/1318997/
    opzich heb je gelijk het was maar een idee
    want nu kun je ongv 66 records niet gebruiken, maar er zijn nog miljarden over .
    slacker_nlmaandag 27 april 2009 @ 16:51
    quote:
    Op maandag 27 april 2009 14:42 schreef cablegunmaster het volgende:

    [..]

    het idee hiervan vind ik weer wat onhandig.
    [ code verwijderd ]

    zoiets :P ?
    Hoezo onhandig? Je ziet zelf hoe makkelijk je het hebt weten aan te passen.. ;)

    1
    2
    3
    4
    5
    <?php
    function dagenErbij($p 1) {
        return 
    date('Y-m-d H-i-s'time() + 3600 24$p);
    }
    ?>


    Zou gewoon dit doen, die $datum heb je niet nodig in dat code block.
    GlowMousemaandag 27 april 2009 @ 17:06
    Wat gebeurt er met die code als het net de volgende dag wintertijd wordt? Mktime is hiervoor de enige betrouwbare functie.
    cablegunmastermaandag 27 april 2009 @ 17:18
    quote:
    Op maandag 27 april 2009 17:06 schreef GlowMouse het volgende:
    Wat gebeurt er met die code als het net de volgende dag wintertijd wordt? Mktime is hiervoor de enige betrouwbare functie.
    hoe zou je dat in het voorbeeld toepassen ?
    GlowMousemaandag 27 april 2009 @ 17:24
    Tweede argument van date wordt mktime(0,0,0,date('n'), date('j')+$p, date('Y'));
    Lightmaandag 27 april 2009 @ 18:44
    quote:
    Op maandag 27 april 2009 14:44 schreef Intrepidity het volgende:
    * Intrepidity is sinds vanochtend Zend certified engineer
    Feli
    beertenmaandag 27 april 2009 @ 19:31
    quote:
    Op maandag 27 april 2009 13:44 schreef SuperRembo het volgende:

    [..]

    Bij nette code zie je in een oogopslag de globale structuur. Onderdelen als instellingen, logica en uitvoer zo veel mogelijk gescheiden.
    Bij jou is het een grote lap code waar vanalles in gebeurd. Om te begrijpen wat er gebeurd moet je alles doorlezen. Ergens halverwege staat een functie met de naam "get". Wel netjes dat er commentaar bij staat, al is 't soms wat overbodig, of zou 't overbodig zijn als de indeling logischer was.

    Is de lengte van een lege string niet ook minder dan 4?
    Voor dit stuk code heb je inderdaad gelijk. Het ontbreekt aan overzicht. Het is echter een eigen manier van inspringen/layout. De logica is er wel degelijk. Maar nog niet in dit stuk. Klopt helemaal.
    beertenmaandag 27 april 2009 @ 20:16
    Hoi,

    vraaje, ik zie het niet. Helaas.

    Ik wil graag iets uitvoeren op het moment dat een string aanwezig is in een array. in_array() is de functie.
    Echter, het werkt niet. Ik krijg er het heen en weer van.

    Het idee is: scan de gehele root op files en directorys.
    Komt een array-value voor in een array met verboden links/files (robots.txt) dan actie niet uitvoeren.

    Zie onderstaande functie. Scan pad ($_SERVER['DOCUMENT_ROOT])
    Als is bestand: kijk of bestandsnaam niet in de robots.txt-array $omit staat. Zo niet, opnemen in array

    Is directory en niet in robots.txt-array $omit, dan scannen. Functie recursief aanroepen. Als de hoofdmap niet toegankelijk is, worden alle onderliggende mappen niet gescand. (toch???)
    En precies dit werkt niet.
    Ik heb de strings gecontroleerd, de array-values. En die komen overeen. En toch wordt de boel uitgevoerd, ondanks dat het geblokkeerd zou moeten zijn.

    Ziet iemand wat ik fout doe?
    Het gaat om
    1
    2
    3
    4
              if(sizeof($omit) == 0 || !!in_array($main_dir,$omit))
               {
                list_folder($path.'/'.$file);
               }


    De code/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
    <?php
    function list_folder($path)
     {
      global $omit;
      global $file_arr;
      if($handle=opendir($path))
       {
        while(false!==($file=readdir($handle)))
         {
          if ($file<>"." AND $file<>"..")
           {
            $pos=strlen($_SERVER['DOCUMENT_ROOT']);
            $path_to_search=substr($path.'/'.$file,$pos);
            if(is_file($path.'/'.$file))
             {
              if(sizeof($omit) == 0 || !!in_array($path_to_search,$omit))
               {
                $file_arr[]=$path.'/'.$file;
               }
             }
            if(is_dir($path.'/'.$file))
             {
              // De hoofddirectory extraheren
              $path_to_search=$path_to_search.'/';
              $pos=strpos(substr($path_to_search,1),'/')+1;
              $main_dir=substr($path_to_search,0,$pos);
              if(sizeof($omit) == 0 || !!in_array($main_dir,$omit))
               {
                list_folder($path.'/'.$file);
               }
             }
           }
         }
       }
     return $file_arr;
     }?>


    [ Bericht 6% gewijzigd door beerten op 27-04-2009 20:25:33 ]
    ralfiemaandag 27 april 2009 @ 20:20
    !! = niet niet ?
    GlowMousemaandag 27 april 2009 @ 20:20
    Eenvoudig debugwerk:
    1
    2
    3
    4
    <?php
    echo ">>{$omit}<< zit niet in";
    print_r($main_dir);
    ?>
    beertenmaandag 27 april 2009 @ 20:28
    quote:
    Op maandag 27 april 2009 20:20 schreef GlowMouse het volgende:
    Eenvoudig debugwerk:
    [ code verwijderd ]
    ??? hmmm, huh?

    Ik volg je even niet. $omit is een array met de "verboden" paden uit robots.yyxy
    $main_dir is de (hoofd)directory van het pad.

    zover ik geïnformeerd ben is het in_array($needle[string], haystack[array])
    http://nl2.php.net/manual/en/function.in-array.php

    De eerste keer werkt het wel, met de bestanden. Het gaat mis bij de directory's
    GlowMousemaandag 27 april 2009 @ 20:33
    Oh, dan omgekeerd. Het blijft gokken met PHP. Maar het idee is duidelijk hoe je zoekt waar de fout zit.
    beertenmaandag 27 april 2009 @ 20:36
    quote:
    Op maandag 27 april 2009 20:33 schreef GlowMouse het volgende:
    Oh, dan omgekeerd. Het blijft gokken met PHP. Maar het idee is duidelijk hoe je zoekt waar de fout zit.
    Ok. Ik zie het echt ff niet. Het vervelende is dat je op zo'n moment rond blijft malen in bekende cirkels/gedachtendingetjes. Waar je niet uitkomt...
    GlowMousemaandag 27 april 2009 @ 20:38
    1
    2
    3
    4
    5
    6
    <?php
              
    if(sizeof($omit) == || !!in_array($main_dir,$omit))
               {
                
    $file_arr[]=$path.'/'.$file;
               }
    ?>

    wordt
    1
    2
    3
    4
    5
    6
    <?php
              
    if(sizeof($omit) == || !in_array($main_dir,$omit))
               {
                
    $file_arr[]=$path.'/'.$file;
               } else { echo 
    ">>{$main_dir}<< zit niet in"print_r($omit); }
    ?>
    beertenmaandag 27 april 2009 @ 21:11
    Misschien beetje gekke vraag...

    wat gebeurd er hier precies???
    [code]
    if(sizeof($omit) == 0 || in_array('$main_dir, $omit))
    {...}

    Ik ben onbekend met deze notatie. Het werkt uitstekend om een bug weg te werken in de in_array() functie.
    Maar wat het doet???
    Xcaliburmaandag 27 april 2009 @ 21:17
    het is een simpele OR
    als de size 0 is, of als hij in_array zit, dan is hij true dus.
    beertenmaandag 27 april 2009 @ 21:25
    quote:
    Op maandag 27 april 2009 21:17 schreef Xcalibur het volgende:
    het is een simpele OR
    als de size 0 is, of als hij in_array zit, dan is hij true dus.
    Het gekke is dat zonder die check op 0 de boel een error geeft Wrong datatype. Ik kan nergens een goede oplossing/uitleg vonden.
    Het enig concrete dat ik tegenkom is op www.php.net/in-array

    Ik weet dat de array bestaat en alle keys hebben values/ Het ding is dus niet leeg. Het bestaat. Dus die check zou overbodig moeten zijn.

    Of zie ik het nu niet???

    Ik wil dat wanneer een item NIET voorkomt in de array, de boel wordt uitgevoerd.
    if(!in_array($main_dir, $omit))
    {
    ...
    }

    Maar als ik dit zo ingeef komt het met een Warning.

    Tekst van www.php.net
    quote:
    Sometimes, you might want to search values in array, that does not exist. In this case php will display nasty warning:
    Wrong datatype for second argument in call to in_array() .

    In this case, add a simple statement before the in_array function:

    if (sizeof($arr_to_searchin) == 0 || !in_array($value, $arr_to_searchin)) { ... }

    In this case, the 1st statement will return true, omitting the 2nd one.
    De fout is volgens mij zo simpel dat ik niet scheel genoeg kan kijken om het te zien. Zo dicht bij...
    Lightmaandag 27 april 2009 @ 21:34
    quote:
    Op maandag 27 april 2009 21:25 schreef beerten het volgende:

    Ik wil dat wanneer een item NIET voorkomt in de array, de boel wordt uitgevoerd.
    if(!in_array($main_dir, $omit))
    {
    ...
    }

    Maar als ik dit zo ingeef komt het met een Warning.
    Welke warning?
    beertenmaandag 27 april 2009 @ 21:57
    quote:
    Op maandag 27 april 2009 21:34 schreef Light het volgende:

    [..]

    Welke warning?
    Warning: in_array() [function.in-array]: Wrong datatype for second argument in pad/naar/bestand.php on line xx

    Ik heb gegoogled maar zonder enig zinnig resultaat.
    Lightmaandag 27 april 2009 @ 22:04
    quote:
    Op maandag 27 april 2009 21:57 schreef beerten het volgende:

    [..]

    Warning: in_array() [function.in-array]: Wrong datatype for second argument in pad/naar/bestand.php on line xx

    Ik heb gegoogled maar zonder enig zinnig resultaat.
    Dan zou het tweede argument dus geen array zijn. Ook geen tikfoutjes gemaakt in de variabelenaam?
    Lightmaandag 27 april 2009 @ 22:37
    1
    2
    3
    4
    5
    6
    <?php
    error_reporting
    (E_ALL);
    $a = array();
    $b 'needle';
    var_dump(in_array($b$a));
    ?>


    Dit levert netjes bool false op, zonder warnings of notices. Als $a geen array is dan krijg ik wel de warning "Wrong datatype for second argument"
    slacker_nldinsdag 28 april 2009 @ 06:38
    quote:
    Op maandag 27 april 2009 17:06 schreef GlowMouse het volgende:
    Wat gebeurt er met die code als het net de volgende dag wintertijd wordt? Mktime is hiervoor de enige betrouwbare functie.
    Note: As of PHP 5.1.0, this parameter became deprecated. As a result, the new timezone handling features should be used instead.

    Denk dat het dus geen enkele drol uitmaakt.
    Lightdinsdag 28 april 2009 @ 06:57
    quote:
    Op dinsdag 28 april 2009 06:38 schreef slacker_nl het volgende:

    [..]

    Note: As of PHP 5.1.0, this parameter became deprecated. As a result, the new timezone handling features should be used instead.

    Denk dat het dus geen enkele drol uitmaakt.
    De parameter is_dst is depricated. Maar die had je toch al niet nodig, want de standaardwaarde was -1. En GlowMouse gebruikte die parameter ook niet.

    Tussen 12:00 op 28 maart 2009 en 12:00 op 29 maart 2009 zit precies 23 uur door het ingaan van de zomertijd. Als je 3600 * 24 doet, kom je daar niet op.
    slacker_nldinsdag 28 april 2009 @ 07:19
    time() geeft een unixtime stamp terug die UTC is, dus geen rekening houd met DST (oftewel winter/zomertijd). Heb het niet getest hoor, maar zet de timestamps van 28/29 maart eens in time2str (of hoe die functie ook heet in php) en kijk wat eruit komt...

    Overigens ben ik voor het afschaffen van dat hele zomertijd/wintertijd gebeuren, maar dat heeft verder te maken met wakker worden enzo
    GlowMousedinsdag 28 april 2009 @ 10:49
    1
    2
    3
    4
    <?php
    $t 
    strtotime('march 28 2009 23:59');
    echo 
    date('m-d-Y H:i'$t) . "\r\n" date('m-d-Y H:i'$t+24*3600);
    ?>

    1
    2
    03-28-2009 23:59
    03-30-2009 00:59
    Ericjuhdinsdag 28 april 2009 @ 10:50
    Ik heb zelf een uploadscript voor foto's gemaakt. Ik heb hier gebruik gemaakt van url_rewrite en dat is opzich allemaal wel gelukt. Het probleem echter is dat het weergeven van een afbeelding niet echt fijn loopt. Zelf heb ik het gevoel dat ik via een grote omweg de plaatjes af laat drukken. Een voorbeeld mijn pagina::



    duidelijk is te zien dat de afbeelding elke keer geladen wordt van de server. Dit valt mij, met ongeveer dezelfde grote afbeeldingen, niet op bij andere hostingpagina's.

    voorbeeld zelfde plaatje maar dan andere hosting:



    Ook krijg ik een gisteren een internal php error. Ik heb het gevoel dat ik de pagina niet netjes heb opgebouwd en, na veel aanvragen, hierdoor een error geeft.

    PHP code die ik gebruik is:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    // Content type
    header('Content-type: image/jpeg');

    // Get new dimensions
    list($width_orig$height_orig) = getimagesize($filename);

    // Resample
    $image_p imagecreatetruecolor($width_orig$height_orig);
    $image imagecreatefromjpeg($filename);
    imagecopy($image_p$image0000$width_orig$height_orig);

    // Output
    imagejpeg($image_pnull100);
    ?>


    wat ik hier eigenlijk doe is dat ik de echt url pak ($filename) en deze met gd library omzet naar een url die ik kan gebruiken voor bijvoorbeeld fok (http://www.sharestuff.nl/img/psjwmlsp/afbeelding_test.JPG). De afbeelding staat namelijk niet echt op http://www.sharestuff.nl/img/psjwmlsp/afbeelding_test.JPG
    slacker_nldinsdag 28 april 2009 @ 16:43
    quote:
    Op dinsdag 28 april 2009 10:49 schreef GlowMouse het volgende:

    [ code verwijderd ]


    [ code verwijderd ]
    Dat is afhankelijk van je timezone settings:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function time_me($TZ "Europe/Amsterdam"$t 'march 28 2009 23:59') {
        
    date_default_timezone_set($TZ) . "\n";
        print 
    date_default_timezone_get() . "\n";
        
    $t strtotime('march 28 2009 23:59');

        echo 
    date('m-d-Y H:i'$t) . "\n";
        echo 
    date('m-d-Y H:i'$t+24*3600) . "\n";
    }

    time_me();
    time_me("UTC");
    ?>


    1
    2
    3
    4
    5
    6
    7
    php time.php
    Europe/Amsterdam
    03-28-2009 23:59
    03-30-2009 00:59
    UTC
    03-28-2009 23:59
    03-29-2009 23:59
    GlowMousedinsdag 28 april 2009 @ 16:53
    quote:
    Op dinsdag 28 april 2009 16:43 schreef slacker_nl het volgende:

    [..]

    Dat is afhankelijk van je timezone settings:
    Mktime niet. En omdat Europe/Amsterdam toch wel een veelgebruikte instelling is hier, zou ik de gok niet wagen en gewoon mktime gebruiken.

    Ericjuh: kijk eens naar caching headers. Ook de Content-Length-header ontbreekt bij jou. Waarom gebruik je ook geen readfile, maar maak je een hele nieuwe jpeg?
    slacker_nldinsdag 28 april 2009 @ 17:01
    quote:
    Op dinsdag 28 april 2009 16:53 schreef GlowMouse het volgende:

    [..]

    Mktime niet. En omdat Europe/Amsterdam toch wel een veelgebruikte instelling is hier, zou ik de gok niet wagen en gewoon mktime gebruiken.

    Ericjuh: kijk eens naar caching headers. Ook de Content-Length-header ontbreekt bij jou. Waarom gebruik je ook geen readfile, maar maak je een hele nieuwe jpeg?
    Voor zover ik de documentatie van mktime lees is deze ook afhankelijk van de timezone:

    Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT message if using the system settings or the TZ environment variable. See also date_default_timezone_set()
    GlowMousedinsdag 28 april 2009 @ 17:07
    quote:
    Op dinsdag 28 april 2009 17:01 schreef slacker_nl het volgende:

    [..]

    Voor zover ik de documentatie van mktime lees is deze ook afhankelijk van de timezone:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function time_me($TZ "Europe/Amsterdam"$t 'march 28 2009 23:59') {
        
    date_default_timezone_set($TZ) . "\n";
        print 
    date_default_timezone_get() . "\n";
        
    $t strtotime($t);

        echo 
    date('m-d-Y H:i'$t) . "\n";
        echo 
    date('m-d-Y H:i'mktime(0,0,0,date('n'$t), date('j'$t)+1date('Y'$t)) ) . "\n";
    }

    time_me();
    time_me("UTC");
    ?>

    1
    2
    3
    4
    5
    6
    Europe/Amsterdam
    03-28-2009 23:59
    03-29-2009 00:00
    UTC
    03-28-2009 23:59
    03-29-2009 00:00

    Juist doordat je zelf de dag opgeeft, kan het niet foutgaan.
    Mireldinsdag 28 april 2009 @ 18:35
    Ik heb een stukje tekst die er fout uitziet op http://pikler.nl/agenda/kinderopvang . Er zit teveel ruimte tussen. Ik kwam erachter dat het door de forward slash komt. (en mogelijk ook door de dubbele punt)

    1
    2
    3
    4
    5
    6
    7
    <p>
    3e Pikler Platformdag voor pedagogisch medewerkers
     en gastouders in de Kinderopvang op
    <i>vrijdag 9 oktober</i> in Utrecht. <br>
    Voor aanmelden en/of informatie mail naar Lucia de Jong: 
    <a href="mailto:bureauvooropvoeders@home.nl">bureauvooropvoeders@home.nl</a>
    </p>


    Ik heb de / proberen te veranderen naar maar de spaties komen nog steeds voor.
    Ook heb ik de : weggehaald voor de zekerheid en dan weer proberen te gebruiken. Maar ik heb nog steeds dat die tekst veel ruimte tussen de onderlinge woorden heeft.

    Dit alles zit in een php pagina die er zo uitziet, dus daarom heb ik het in dit topic gepost:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php

    $title = 'kinderopvang';
    $body =

    <<<HTML

     blablablablabla

    HTML;

    ?>


    [ Bericht 8% gewijzigd door Mirel op 28-04-2009 18:52:45 ]
    Lightdinsdag 28 april 2009 @ 18:47
    quote:
    Op dinsdag 28 april 2009 18:35 schreef Mirel het volgende:
    Ik heb een stukje tekst die er fout uitziet op http://pikler.nl/agenda/kinderopvang. Er zit tevee lruimte tussen. Ik kwam erachter dat het door de forward slash komt. (en mogelijk ook door de dubbele punt)
    [ code verwijderd ]

    Ik heb de / proberen te veranderen naar [ afbeelding ] maar de spaties komen nog steeds voor.
    Ook heb ik de : weggehaald voor de zekerheid en dan weer [ afbeelding ] proberen te gebruiken. Maar ik heb nog steeds dat die tekst veel ruimte tussen de onderlinge woorden heeft.
    Misschien ligt het aan mij, maar ik zie niet wat er mis gaat. Heb je ook een screenshot om de fout te laten zien?
    quote:
    Dit alles zit in een php pagina die er zo uitziet, dus daarom heb ik het in dit topic gepost:
    [ code verwijderd ]
    Nouja, eigenlijk is het geen php-fout
    Lightdinsdag 28 april 2009 @ 18:54
    quote:
    Op dinsdag 28 april 2009 17:07 schreef GlowMouse het volgende:

    [..]
    [ code verwijderd ]


    [ code verwijderd ]

    Juist doordat je zelf de dag opgeeft, kan het niet foutgaan.
    Nouja, 1 minuut later is niet zo spannend, helemaal niet als je naar middernacht gaat.
    Mireldinsdag 28 april 2009 @ 18:55
    Check of de link goed is. De punt ging mee in de URL, die moet je dus even weghalen: http://pikler.nl/agenda/kinderopvang
    HuHudinsdag 28 april 2009 @ 19:00
    Da's geen PHP probleem, maar een CSS probleem. Waarschijnlijk heb je er een text-align:justify op staan, waardoor je dat krijgt.
    GlowMousedinsdag 28 april 2009 @ 19:00
    Dat is een CSS-probleem
    http://pikler.nl/src/pikler.css
    text-align:justify;
    GlowMousedinsdag 28 april 2009 @ 19:01
    HoHo HuHu jij dacht hetzelfde, HaHa.
    Mireldinsdag 28 april 2009 @ 19:25
    HiHi
    slacker_nldinsdag 28 april 2009 @ 19:25
    quote:
    Op dinsdag 28 april 2009 17:07 schreef GlowMouse het volgende:

    [..]
    [ code verwijderd ]


    [ code verwijderd ]

    Juist doordat je zelf de dag opgeeft, kan het niet foutgaan.
    Het gaat fout, aangezien je rekening wilt houden met DST, UTC kent dat probleem niet, als je werkt met UTC kan je daarna de dag omzetten naar je lokale tijd. Hoef je helemaal geen rekening te houden met DST.

    Een cronjob die elke dag om 12 uur draait zal door DST ook een dag kennen van 23 of 25 uur. Dat jij nu gelijke data krijgt is dus gewoon niet goed. die datum is verschillend in UTC en in CET, in het bovenstaande geval klopt het dus gewoon niet.
    beertendinsdag 28 april 2009 @ 19:48
    Ik ga het maar eens anders doen...


    Ik heb 2 arrays.
    1
    2
    3
    <?php
    $a=array('/file.php','index.php',/css/style.css')
    $b=array('file.php','/css/')


    Array $a is een array met alle files op mijn server
    Array b is de array van verboden bestanden uit robots.txt

    Nu wil ik graag dat alle bestanden/paden die in robots.txt voorkomen uit de array met bestanden worden gehaald.
    Als ik deroot-dir scan wil ik dat bestanden/paden die in de verboden array voorkomen niet gescand worden. Die dienen te worden overgeslagen.

    De eerste (doorgestreepte) optie betekent dubbel werk. Het zou wel kunnen.

    Hoe kan ik dit het beste oplossen?
    Ik zou met array_intersect() iets kunnen doen. Logischer is kijken of het bestand/pad voorkomt in de "verboden" array. Zo ja, niet opnemen in uiteindelijke array.

    Hoe kan ik dit het beste doen?

    (Het is een petit peu venijnig: '/css/' is een verboden directory. ALLE onderliggende bestanden/directory's zijn daarmee ook verboden.
    Ericjuhdinsdag 28 april 2009 @ 23:54
    quote:
    Op dinsdag 28 april 2009 16:53 schreef GlowMouse het volgende:

    [..]


    Ericjuh: kijk eens naar caching headers. Ook de Content-Length-header ontbreekt bij jou. Waarom gebruik je ook geen readfile, maar maak je een hele nieuwe jpeg?
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // Content type
    header('Content-type: image/jpeg');
    header('Content-Description: Picture');
    header('Content-Length: ' filesize($filename));

    readfile($filename);
    ?>


    dit ging eigenlijk wel heel makkelijk Keb nooit van het commando gehoord en ben daarom heel verrast dat het zo simpel kan. Dacht idd dat de enige optie was om de afbeelding opnieuw te maken.

    Wat betreft de headers.. zijn er headers die belangrijk zijn en die ik bij het voorbeeld mis? Als ik naar een plaatje van tinypic ga en ik open er één, zoals: http://i39.tinypic.com/28k0ggg.jpg. Als ik dan op f5 blijf drukken dan zie ik dat het plaatje niet weer gedownload word.. tenminste, ik verbruik alleen dataverkeer als ik het plaatje de eerste keer open. Daarna kan ik zo vaak op f5 drukken, maar er komt geen dataverkeer binnen. Ook lijkt het net of het plaatje niet opnieuw geladen word. Als ik bij mijn plaatje dat doe dan kan ik makkelijk een halve MB per seconden downloaden en ververst het plaatje zich bij elke druk op f5. Ik heb het gevoel dat ik daarom iets mis aan de headers (volgens mij Cache-Control).

    Voorbeeld van afbeelding die op mijn server staat (druk regelmatig op f5 en check je binnen komende dataverkeer): http://www.sharestuff.nl/img/psjwmlsp/afbeelding_test.JPG

    [off-topic]
    trouwens best een grappig commando. Zie dat je hierdoor ook pdf kunt uitvoeren en downloadsnelheid kunt aanpassen.

    [ Bericht 28% gewijzigd door Ericjuh op 29-04-2009 00:32:45 ]
    GlowMousewoensdag 29 april 2009 @ 00:36
    Als je kijkt met een tool als Wireshark of een FF-plugin als Live HTTP Headers dan zie je dat tinypic deze headers meestuurt: "Expires: Tue, 05 May 2009 22:34:32 GMT" en "Cache-Control: max-age=604800".

    beerten: ik denk dat je voor iedere url de volledige robots.txt-regels moet doorlopen.
    Ericjuhwoensdag 29 april 2009 @ 02:15
    quote:
    Op woensdag 29 april 2009 00:36 schreef GlowMouse het volgende:
    Als je kijkt met een tool als Wireshark of een FF-plugin als Live HTTP Headers dan zie je dat tinypic deze headers meestuurt: "Expires: Tue, 05 May 2009 22:34:32 GMT" en "Cache-Control: max-age=604800".


    tnx! dit was de info die ik zocht! Zal het morgen ff proberen. Je hoort van mij!
    ralfiewoensdag 29 april 2009 @ 09:58
    quote:
    Op dinsdag 28 april 2009 19:48 schreef beerten het volgende:
    Ik ga het maar eens anders doen...


    Ik heb 2 arrays.
    [ code verwijderd ]

    Array $a is een array met alle files op mijn server
    Array b is de array van verboden bestanden uit robots.txt

    Nu wil ik graag dat alle bestanden/paden die in robots.txt voorkomen uit de array met bestanden worden gehaald.
    Als ik deroot-dir scan wil ik dat bestanden/paden die in de verboden array voorkomen niet gescand worden. Die dienen te worden overgeslagen.

    De eerste (doorgestreepte) optie betekent dubbel werk. Het zou wel kunnen.

    Hoe kan ik dit het beste oplossen?
    Ik zou met array_intersect() iets kunnen doen. Logischer is kijken of het bestand/pad voorkomt in de "verboden" array. Zo ja, niet opnemen in uiteindelijke array.

    Hoe kan ik dit het beste doen?

    (Het is een petit peu venijnig: '/css/' is een verboden directory. ALLE onderliggende bestanden/directory's zijn daarmee ook verboden.
    ik neem aan dat je je directories indexeert met een recursieve functie / loop ? Dan kun je daarin toch checken of het bestand in die array staat vóór je hem gaat recursiveren of in de resultaten gooit? Waar zit anders je probleem?
    Intrepiditywoensdag 29 april 2009 @ 09:59
    Ik heb een googleprobleempje met een website.. Ik heb in het verleden een website gebouwd voor 4 bedrijven onder dezelfde groep. Deze website toont eerst een splashpage waar je een van de 4 bedrijven kunt kiezen. Dit heeft effect op de kleuren van de website, en dingen zoals de adresgegevens die uniek zijn per bedrijf. Deze keuze wordt opgeslagen in een cookie. So far so good. Een aantal maanden later blijkt dat google nog steeds die website niet geindexeerd heeft op de splashpage na. Dom natuurlijk dat ik dacht dat dat zou werken, want google doet niks met cookies en komt dus telkens weer op de splashpage terug. Zoals ik het zie heb ik nu de volgende opties:
    - Een databasetabel met IP + bedrijfskeuze. Slechte oplossing, want mensen vanuit een bedrijfsnetwerk hebben vrijwel altijd hetzelfde externe IP en dus geen vrije keuze
    - De keuze in de URL neerzetten. Kost me veel werk om dit in dit stadium nog om te bouwen, daarnaast niet persistent
    - Google IP-ranges om de tuin leiden door voor die adressen al een kleurenschema te kiezen. Slechte oplossing, want blackhat SEO is bad, mkay?

    Ik kom even niet verder dan dit met denken.. Zijn er andere mogelijkheden? Bij ieder bezoek opnieuw het kleurenschema kiezen is onwenselijk, het moet wel persistent wezen..
    GIwoensdag 29 april 2009 @ 10:04
    1
    2
    3
    <?php
    $_SERVER
    ['HTTP_USER_AGENT'];
    ?>

    Bij google is dat : Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)

    Bij het openen van de pagina door een googlebot-useragent het kleurschema laten kiezen.
    daReaperwoensdag 29 april 2009 @ 10:06
    quote:
    Op woensdag 29 april 2009 09:59 schreef Intrepidity het volgende:
    Ik heb een googleprobleempje met een website.. Ik heb in het verleden een website gebouwd voor 4 bedrijven onder dezelfde groep. Deze website toont eerst een splashpage waar je een van de 4 bedrijven kunt kiezen. Dit heeft effect op de kleuren van de website, en dingen zoals de adresgegevens die uniek zijn per bedrijf. Deze keuze wordt opgeslagen in een cookie. So far so good. Een aantal maanden later blijkt dat google nog steeds die website niet geindexeerd heeft op de splashpage na. Dom natuurlijk dat ik dacht dat dat zou werken, want google doet niks met cookies en komt dus telkens weer op de splashpage terug. Zoals ik het zie heb ik nu de volgende opties:
    - Een databasetabel met IP + bedrijfskeuze. Slechte oplossing, want mensen vanuit een bedrijfsnetwerk hebben vrijwel altijd hetzelfde externe IP en dus geen vrije keuze
    - De keuze in de URL neerzetten. Kost me veel werk om dit in dit stadium nog om te bouwen, daarnaast niet persistent
    - Google IP-ranges om de tuin leiden door voor die adressen al een kleurenschema te kiezen. Slechte oplossing, want blackhat SEO is bad, mkay?

    Ik kom even niet verder dan dit met denken.. Zijn er andere mogelijkheden? Bij ieder bezoek opnieuw het kleurenschema kiezen is onwenselijk, het moet wel persistent wezen..
    Optie 2 is denk ik het beste. Niet iedereen gebruikt immers cookies.
    Intrepiditywoensdag 29 april 2009 @ 10:06
    quote:
    Op woensdag 29 april 2009 10:04 schreef GI het volgende:

    [ code verwijderd ]

    Bij google is dat : Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)

    Bij het openen van de pagina door een googlebot-useragent het kleurschema laten kiezen.
    Is blackhat SEO, gaan we niet doen
    GIwoensdag 29 april 2009 @ 10:21
    quote:
    Op woensdag 29 april 2009 10:06 schreef Intrepidity het volgende:

    [..]

    Is blackhat SEO, gaan we niet doen
    Blackhat SEO is open voor defenitie naar mijn mening. Je bent bezig met Search Engine Optimizing. Zorgen dat er dingen daadwerkelijk gevonden worden door langs de opening pagina heen te werken lijkt mij eigenlijk helemaal niks mis mee. FOK! doet hetzelfde, omdat de googlebot geen javascript aankan krijgt de googlebot (en andere search engines) standaard de text only layout met zich mee.

    Imho heb je pas te maken met Blackhat SEO als je daadwerkelijk andere informatie gaat tonen voor de googlebot. Terwijl je in dit geval alleen de informatie beschikbaar maakt.
    Intrepiditywoensdag 29 april 2009 @ 10:24
    Ja maar dat zal google zijn reet roesten.. Zo af en toe gebruiken ze een andere user agent om te testen of jij andere content aan googlebot aflevert. Als google met een andere user agent ineens wel de splashpagina krijgt in plaats van de standaardlayout lig je uit de index..
    ralfiewoensdag 29 april 2009 @ 10:35
    in de url zetten is de beste optie denk ik. Ik neem aan dat elk van die bedrijven toch ook wel eens een url wil uitgeven in de zin van 'bezoek ons een op www.onsbedrijf.nl'. Lijkt me dat wel zo professioneel om dat niet eerst nog in een splashpagina te moeten kiezen welk bedrijf de bezoeker nou moet hebben. Al is het maar een subdirectory 'www.onzebedrijven.nl/bedrijf1' is dan toch al een stuk beter... zelfs al gaat het maar om subbedrijfjes.
    Intrepiditywoensdag 29 april 2009 @ 10:41
    quote:
    Op woensdag 29 april 2009 10:35 schreef ralfie het volgende:
    in de url zetten is de beste optie denk ik. Ik neem aan dat elk van die bedrijven toch ook wel eens een url wil uitgeven in de zin van 'bezoek ons een op www.onsbedrijf.nl'. Lijkt me dat wel zo professioneel om dat niet eerst nog in een splashpagina te moeten kiezen welk bedrijf de bezoeker nou moet hebben. Al is het maar een subdirectory 'www.onzebedrijven.nl/bedrijf1' is dan toch al een stuk beter... zelfs al gaat het maar om subbedrijfjes.
    Ze hebben allen eigen domeinen, maar die verwijzen wel naar het hoofddomein en dus naar de splashpage.. Wens van de klant, zo is het nou eenmaal
    hello_moto1992woensdag 29 april 2009 @ 15:33
    Ik heb een website, compleet in HTML, maar ik gebruik PHP voor htmltop en htmlbottom. De <title> staat dus in de htmltop. Maar die wil ik aanpassen aan de pagina, die verschilt.

    Zo ziet een bestandje er bij mij dus uit:

    <?php include("htmltop.php"); ?>
    <h1>Home</h1>
    <p>inhoud</p>
    <?php include("htmlbottom.php"); ?>

    Weet iemand een manier om die title steeds met het bestandje te veranderen?
    HuHuwoensdag 29 april 2009 @ 15:39
    1
    2
    3
    4
    <?php
    $titel 
    'De titel';
    include(
    "htmltop.php");
    ?>


    In htmltop.php kun je vervolgens dit doen:

    1<title><?php echo $titel; ?></title>
    beertenwoensdag 29 april 2009 @ 23:31
    quote:
    Op woensdag 29 april 2009 09:58 schreef ralfie het volgende:

    [..]

    ik neem aan dat je je directories indexeert met een recursieve functie / loop ? Dan kun je daarin toch checken of het bestand in die array staat vóór je hem gaat recursiveren of in de resultaten gooit? Waar zit anders je probleem?

    PRECIES!!!!!!!!

    Maar dat lut dus niet... Ik moet bij het indexeren kijken of het bestand/het pad in de "verboden" array voorkomt. in_array(). en precies daar gaat het mis.
    Het idee zoals onderstaand.
    1
    2
    3
    4
    if(!in_array($pad, $verboden_array))
     {
      $file_array[]=$pad;
     }

    En daar gaat ergens iets fout. Ik krijg het niet voor elkaar. Ik had het met mijn stuk code reeds opgegeven en het feitelijke probleem gepost. de oplossing die je aandraagt is qua principe gelijk aan de methode die ik poogde te hanteren.

    Ik kan uit je antwoord concluderen dat de insteek correct is, alleen laat mijn uitvoering te wensen over. Maar ik zie de oplossing niet...


    Ik heb je suggestie nog eens overwogen. Vanaf nul, van voren af aan.
    Het is inderdaad zo simpel. Ik had mijn check op een verkeerde plek in de functie. Ook waren er eenkele foutjes met declaraties van arrays. Foutjes, weet ik eigenlij niet. Heb een en ander veranderd en nu werkt het.

    Ik zie nu in een oogopslag welke bestanden en directory's indexeerbaar zijn voor een zoekmachine.
    Nu nog de pagina's doorzoeken, analyseren, links crawlen en ook die dooorzoeken en indexeren. Maar dat mechanisme/die scripts heb ik reeds. Die gebruik ik voor het aanmaken van sitemaps.
    Thnx!

    [ Bericht 19% gewijzigd door beerten op 30-04-2009 00:23:02 ]
    beertenwoensdag 29 april 2009 @ 23:39
    quote:
    Op woensdag 29 april 2009 15:33 schreef hello_moto1992 het volgende:
    Ik heb een website, compleet in HTML, maar ik gebruik PHP voor htmltop en htmlbottom. De <title> staat dus in de htmltop. Maar die wil ik aanpassen aan de pagina, die verschilt.

    Zo ziet een bestandje er bij mij dus uit:

    <?php include("htmltop.php"); ?>
    <h1>Home</h1>
    <p>inhoud</p>
    <?php include("htmlbottom.php"); ?>

    Weet iemand een manier om die title steeds met het bestandje te veranderen?
    Heel kort getikt komt het hier op neer. Ik gebruik zoiets op mijn sites, werkt uitstekend. Je kan zelfs de metatags variabel maken, indexering door zoekmachines etc.


    htmltop.php
    1
    2
    3
    4
    5
    <head>
    <html>
    <title><php print $title?></title>
    </head>
    <body>


    bottom.php

    htmltop.php
    1
    2
    </body>
    </html>


    De pagina zelf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $title='De titel van de pagina';
    include("htmltop.php");
    ?>
    <h1>koptext</h1>
    <p>De inhoud van de pagina</p>
    <?php
    include("htmlbottom.php");
    ?>
    Mordrethdonderdag 30 april 2009 @ 03:38


    So true.
    WyriHaximusdonderdag 30 april 2009 @ 11:03
    quote:
    Op donderdag 30 april 2009 03:38 schreef Mordreth het volgende:
    [ afbeelding ]

    So true.
    Zo true dat ik hem naast me deur op de muur geplakt heb op kantoor .
    Mordrethdonderdag 30 april 2009 @ 12:26
    quote:
    Op donderdag 30 april 2009 11:03 schreef WyriHaximus het volgende:

    [..]

    Zo true dat ik hem naast me deur op de muur geplakt heb op kantoor .
    Dat is ook het eerste wat ik maandag ga doen .
    Chandlervrijdag 1 mei 2009 @ 12:35
    Een vraagje over een query:

    1
    2
    3
    DELETE FROM `stats_online`
    WHERE stat_id = '" . $statID . "' AND
    (UNIX_TIMESTAMP(lastdate) + 60*15) < UNIX_TIMESTAMP(NOW())


    tabel gegevens:
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE IF NOT EXISTS `stats_online` (
      `stat_id` int(10) unsigned NOT NULL,
      `ip` int(10) unsigned NOT NULL,
      `lastdate` timestamp NULL default '0000-00-00 00:00:00',
      UNIQUE KEY `stat_id` (`stat_id`,`ip`),
      KEY `lastdate` (`lastdate`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;


    Kan ik deze verbeteren? of is mijn query juist?
    GlowMousevrijdag 1 mei 2009 @ 13:11
    Een functie van een veld kan niet geïndexeerd worden. Kijk daarnaast eens naar of het wel nodig is of er naast een index op stat_id wel aanleiding is voor een extra index, en zoja, kijk naar hoe je indexen combineert.
    ralfievrijdag 1 mei 2009 @ 15:11
    quote:
    Op vrijdag 1 mei 2009 12:35 schreef Chandler het volgende:
    Een vraagje over een query:
    [ code verwijderd ]

    tabel gegevens:
    [ code verwijderd ]

    Kan ik deze verbeteren? of is mijn query juist?
    het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
    Lightvrijdag 1 mei 2009 @ 15:18
    quote:
    Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:

    [..]

    het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
    Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.
    Chandlervrijdag 1 mei 2009 @ 16:19
    quote:
    Op vrijdag 1 mei 2009 13:11 schreef GlowMouse het volgende:
    Een functie van een veld kan niet geïndexeerd worden. Kijk daarnaast eens naar of het wel nodig is of er naast een index op stat_id wel aanleiding is voor een extra index, en zoja, kijk naar hoe je indexen combineert.
    De inserts gaan allemaal aardig snel, maar voornamelijk zit het hem in de unix_timestamp conversie
    quote:
    Op vrijdag 1 mei 2009 15:11 schreef ralfie het volgende:
    het is natuurlijk altijd sneller om (bijv in php) je timestamp uit te rekenen waartegen je je rijen wil verwijderen. Hoef je alleen nog maar WHERE timestamp < jewaarde te doen. Stukken sneller als keer op keer die waarde te berekenen. Strikt genomen moet je dan wel rekening houden met tijdsverschillen tussen php en mysql server.
    Tja dat is inderdaad een handig idee. Zal eens kijken of deze stamps gelijk zijn.
    quote:
    Op vrijdag 1 mei 2009 15:18 schreef Light het volgende:
    Maar als je alleen 1 specifieke rij wilt verwijderen (met een uniek id) dan is het weer handiger om daarop te filteren in de WHERE. Dan kun je eventueel nog de timestamp vergelijken om te zien of de rij echt weg moet.
    Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..
    Lightvrijdag 1 mei 2009 @ 17:07
    quote:
    Op vrijdag 1 mei 2009 16:19 schreef Chandler het volgende:

    Nee, het gaat om alle rijen die voldoen aan de gestelde criteria..
    Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.
    hello_moto1992zondag 3 mei 2009 @ 10:40
    quote:
    Op woensdag 29 april 2009 15:39 schreef HuHu het volgende:

    [ code verwijderd ]

    In htmltop.php kun je vervolgens dit doen:
    [ code verwijderd ]


    Late reactie, maar bedankt voor je antwoord
    Chandlermaandag 4 mei 2009 @ 10:12
    quote:
    Op vrijdag 1 mei 2009 17:07 schreef Light het volgende:

    [..]

    Ja, die WHERE kan ik ook lezen. Als je eerste criterium een vergelijking is op stat_id en in de tabel staat stat_id als unieke key, dan heb je het aantal mogelijke treffers al flink beperkt.
    Klopt maar toch kan deze query nog steeds aardig wat tijd in beslag nemen, maar ik denk dat ik maar eens de unix_timestamp moet gaan aanpakken, deze kost namelijk het meeste tijd
    Uw_ergste_nachtmerriemaandag 4 mei 2009 @ 17:21
    Een bijzonder goedemiddag allen, langzamerhand worden de geheimen van php/mysql iets ontrafeld, maar soms kom ik nog dingen (ja hele simpele) tegen die ik niet snap of in de vingers krijg..

    Ik probeer uit deze aanroep met een datumtabel de datum als dd-mm-jjjj te krijgen omdat ik het mooier vind lijken dan de standaard jjjj-mm-dd die uit de database komt rollen..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    include "connect.php"; //verbinding maken
    $query = 'SELECT `Jaar` , `Thuis` , `Gasten` , `Publiek` FROM `Toeschouwers` ORDER BY `Publiek` DESC LIMIT 0, 791 ';
    $sql = mysql_query($query) or die ( mysql_error( ) );
    //query is uitgevoerd
    echo "<table width='70%' border='1' align='left'>
    <tr><td><strong>#</strong></td><td><strong>Datum</strong></td><td><strong>Thuis</strong></td><td><strong>Gasten</strong></td><td><strong>Publiek</strong></td></tr>";
    $positie = 1;
    while($record = mysql_fetch_object($sql)) {
        if ( ($positie == 1) || ($record->Publiek < $vorige)) {
            $print_positie = $positie;
        }
        else {
            $print_positie = " ";
        }
        echo "<tr><td>".$print_positie."</td><td>".$record->Jaar."</td><td>".$record->Thuis."</td><td>".$record->Gasten."</td><td>".$record->Publiek."</td></tr>";
        $vorige = $record->Publiek;
        $positie++;
    }
    echo "</table>";
    ?>


    Nu heb ik meegekregen dat ik dit moet aanroepen:
    1$SELECT DATE_FORMAT('Jaar', '%d %m %y');


    Ik krijg dus elke keer weer errors, wat ik ook probeer (niet erg, want van trial and error leer je weer)
    Iemand die mijn voorzetje in kan koppen?
    Lightmaandag 4 mei 2009 @ 19:30
    Probeer eens
    1SELECT DATE_FORMAT(Jaar, '%d %m %y');


    Overigens vind ik dat de opmaak pas bij het weergeven moet worden bepaald, niet al bij het ophalen uit de database.
    Uw_ergste_nachtmerriemaandag 4 mei 2009 @ 20:07
    Noobish als ik ben weet ik dus niet de juiste positie voor de regel die toegevoegd moet worden..
    Je zegt bij het weergeven dus ga ik er vanuit dat die pas na regel 6 moet komen?
    beertenmaandag 4 mei 2009 @ 20:31
    quote:
    Op maandag 4 mei 2009 20:07 schreef Uw_ergste_nachtmerrie het volgende:
    Noobish als ik ben weet ik dus niet de juiste positie voor de regel die toegevoegd moet worden..
    Je zegt bij het weergeven dus ga ik er vanuit dat die pas na regel 6 moet komen?
    SELECT is het woord SELECT uit je query. Vul het daar eens in

    $Query='SELECT ....
    Uw_ergste_nachtmerriemaandag 4 mei 2009 @ 20:39
    Hmm, dat lukt dus niet. Ik krijg deze melding:

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
    GlowMousemaandag 4 mei 2009 @ 20:42
    Zoek eens op string escaping.
    Uw_ergste_nachtmerriemaandag 4 mei 2009 @ 21:51
    SOrry, dit maakt me alleen maar verwarrender :|
    GlowMousemaandag 4 mei 2009 @ 21:56
    http://nl3.php.net/language.types.string eerste code-voorbeeld.
    Pizzahutmaandag 4 mei 2009 @ 22:33
    Hoi, ik ben opzoek naar een lees verder manier voor een blog.

    Stel ik heb:
    1$string = 'Dit is een string van zeven woorden.';

    Die wil ik bijv. na 3 woorden afkappen.
    1
    2
    3
    4
    $string = 'Dit is een string van zeven woorden.';
    if(strlen($string) > 3) {
           //afkappen
    }


    Verder kom ik eigenlijk niet. Ik wil dus dat als de string (blog) meer dan zoveel tekens is afkappen en er een ...lees verder link bij plakken (dit hoeft niet als hij onder het aantal tekens staat). Liefst nog eigenlijk na de eerstvolgende spatie.

    Iemand een manier?

    Tevens ben ik op zoek naar een manier van paging icm een query.
    dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
    HuHumaandag 4 mei 2009 @ 23:04
    Ik denk dat je op zoek bent naar deze functie: str_word_count.
    Lightmaandag 4 mei 2009 @ 23:14
    quote:
    Op maandag 4 mei 2009 23:04 schreef HuHu het volgende:
    Ik denk dat je op zoek bent naar deze functie: str_word_count.
    Die telt woorden, geen tekens.
    Wat ik vaak doe is een maximaal aantal tekens bepalen, met substr() daarop afkappen en dan met substr() en strrpos() afkappen op de laatste spatie in de string.

    Als je html-berichten gaat inkorten loop je ook nog het risico dat er ineens tags niet goed meer zijn afgesloten. En dat kan vreemde gevolgen hebben
    HuHumaandag 4 mei 2009 @ 23:17
    quote:
    Op maandag 4 mei 2009 23:14 schreef Light het volgende:

    [..]

    Die telt woorden, geen tekens.
    Wat ik vaak doe is een maximaal aantal tekens bepalen, met substr() daarop afkappen en dan met substr() en strrpos() afkappen op de laatste spatie in de string.

    Als je html-berichten gaat inkorten loop je ook nog het risico dat er ineens tags niet goed meer zijn afgesloten. En dat kan vreemde gevolgen hebben
    Dat weet ik, maar hij zegt toch ook: "Die wil ik bijv. na 3 woorden afkappen."
    Lightmaandag 4 mei 2009 @ 23:39
    quote:
    Op maandag 4 mei 2009 23:17 schreef HuHu het volgende:

    [..]

    Dat weet ik, maar hij zegt toch ook: "Die wil ik bijv. na 3 woorden afkappen."
    Dat kan, dan moet je heel goed definieren wat als woord moet worden geteld.
    En ik geef alleen een alternatief
    slacker_nldinsdag 5 mei 2009 @ 11:59
    quote:
    Op maandag 4 mei 2009 22:33 schreef Pizzahut het volgende:
    Hoi, ik ben opzoek naar een lees verder manier voor een blog.

    Stel ik heb:
    [ code verwijderd ]

    Die wil ik bijv. na 3 woorden afkappen.
    [ code verwijderd ]
    1
    2
    3
    4
    5
    6
    7
    <?php
    function afkappen_zin($string$max_words 5) {
        return 
    join(" "array_slice(preg_split("/\s+/"$string), 0$max_words));
    }

    printf("%s\n"afkappen_zin("Dit is een lange zin, vol met woorden en die gaan we afkappen"3));
    ?>
    quote:
    Tevens ben ik op zoek naar een manier van paging icm een query.
    dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
    Chandler heeft iets op z'n blog staan hierover, misschien daar even kijken?
    SuperRembodinsdag 5 mei 2009 @ 12:29
    quote:
    Op dinsdag 5 mei 2009 11:59 schreef slacker_nl het volgende:
    [..]
    [ code verwijderd ]
    [..]
    Als je toch emt een regex aan de gang gaat, gebruik dan ff een regex om in 1 keer de eerste 3 woorden te pakken. Een split en dan weer een join is niet zo efficient.
    Swetseneggerdinsdag 5 mei 2009 @ 12:45
    quote:
    Op maandag 4 mei 2009 22:33 schreef Pizzahut het volgende:

    Tevens ben ik op zoek naar een manier van paging icm een query.
    dus als er bijv. 24 foto's op een pagina staan er een 1, 2, 3 onder komt te staan waar je naar de volgende reeks gaat. (Op google kom ik de vreemste manieren tegen, ooit een keer gemaakt op een makkelijke manier alleen vergeten hoe).
    Ik heb zoiets gemaakt, maar ik heb hem dan wel zodat je ook vorige/volgende/eerste/laatste pagina hebt en dat er maximaal 5 links staan die dus doorschuiven.


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    pagina 1
         [1] 2 3 4 5 > >>

    pagina 2
       < 1 [2] 3 4 5 > >>

    pagina 3
    << < 1 2 [3] 4 5 > >>

    pagina 4
    << < 2 3 [4] 5 6 > >>

    een na laatste pagina
    << < 7 8 9 [10] 11 > 

    laatste pagina
    << < 7 8 9 10 [11] 

    In de url geef ik het pagina nummer welke je aanklikt en de offset waarie moet starten
    slacker_nldinsdag 5 mei 2009 @ 12:47
    ow, omdat we een regexp gebruiken betekend niet dat we gelijk alles maar met een regexp moeten oplossen. Je kan ook split doen op ' ', maar dan pak je geen tabs (en die pakt de \s wel), dat is de enige reden van de regexp in de split, verder vind ik een split/join helemaal niet zo'n probleem als we het hebben over efficientie.

    Maar goed, dit kan ook ja:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function afkappen_zin2($string$max_words 5) {
        if (
    preg_match("/(\S+\s*){0,$max_words}/"$string$matches)) {
            
    array_pop($matches);
            return 
    join(""$matches);
        }
    }
    ?>


    [ Bericht 36% gewijzigd door slacker_nl op 05-05-2009 12:55:23 ]
    Lightdinsdag 5 mei 2009 @ 13:06
    quote:
    Op dinsdag 5 mei 2009 12:47 schreef slacker_nl het volgende:
    ow, omdat we een regexp gebruiken betekend niet dat we gelijk alles maar met een regexp moeten oplossen. Je kan ook split doen op ' ', maar dan pak je geen tabs (en die pakt de \s wel), dat is de enige reden van de regexp in de split, verder vind ik een split/join helemaal niet zo'n probleem als we het hebben over efficientie.

    Maar goed, dit kan ook ja:
    [ code verwijderd ]
    En wat als de if-conditie niet waar bijkt te zijn? Als er bijvoorbeeld helemaal geen spaties inzitten? In de code wordt dan niets teruggegeven, terwijl het m.i. netter is om $string terug te geven.
    slacker_nldinsdag 5 mei 2009 @ 13:35
    Voeg je een else { return "" } toe.

    En zinnen zonder spaties zijn geen zinnen maar heul lange woorden, en die worden gewoon teruggegeven

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    function afkappen_zin($string$max_words 5) {
        return 
    join(" "array_slice(preg_split("/\s+/"$string), 0$max_words));
    }

    function 
    afkappen_zin2($string$max_words 1) {
        if (
    $string || strlen($string)) {
            if (
    preg_match("/(\S+\s*){0,$max_words}/"$string$matches)) {
                
    array_pop($matches);
                return 
    join(""$matches);
            }
        }
        return 
    $string;
    }

    printf("%s\n"afkappen_zin("Dit is een lange zin, vol met woorden en die gaan we afkappen"6));
    printf("%s\n"afkappen_zin2("Dit is een lange zin, vol met woorden en die gaan we afkappen"6));
    printf("%s\n"afkappen_zin("Dit is"1));
    printf("%s\n"afkappen_zin2("ditititititititititiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii"6));
    printf("%s\n"afkappen_zin2("0"6));
    printf("%s\n"afkappen_zin2(""6));
    ?>


    Een string met alleen maar spaties zal alleen maar spaties returnen in afkappen_zin2, maar je zou $string nog kunnen trimmen voordat je ermee aan de slag gaat.

    Dit zou je kunnen doen, maar ik ga niet alle bijzonderheden coden, dit is meer een opzet voor de persoon die zo'n wordwrap wilde uitvoeren (volgens mij bestaat er al een functie binnen php voor wat dit doet, nml http://nl.php.net/wordwrap).

    [ Bericht 99% gewijzigd door slacker_nl op 05-05-2009 13:42:48 ]
    GIdinsdag 5 mei 2009 @ 13:37
    Waarom dan niet gewoon:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function afkappen_zin2($string$max_words 5) {
        if (
    preg_match("/(\S+\s*){0,$max_words}/"$string$matches)) {
            
    array_pop($matches);
        }
        return 
    join(""$matches);
    }
    ?>

    Of zie ik nou iets over het hoofd ?
    slacker_nldinsdag 5 mei 2009 @ 13:51
    quote:
    Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
    Waarom dan niet gewoon:
    [ code verwijderd ]

    Of zie ik nou iets over het hoofd ?
    als ie parsed en "" teruggeeft als er geen matches bestaan, dan lijkt het me dat het klopt.
    GIdinsdag 5 mei 2009 @ 13:56
    Ik heb geen testomgeving, maar het lijkt mij netter dan een dubbele return uit een functie die je op die manier voorkomt.
    slacker_nldinsdag 5 mei 2009 @ 14:50
    Een dubbele return is niet erg hoor, als ie de ene return statement niet haalt gaat ie in dit geval wel naar de andere. En je kan dit heel makkelijk testen door in een klein bestand gewoon die code te gooien, en dan wat testcases om te kijken of het allemaal voldoet, daarna kan je dan die functie gewoon toevoegen aan je echte sources.

    Als je een Linux machine hebt kan je ook nog met php5-cli gaan werken en dan kan je dit gewoon gebruiken: php x.php

    Zo maak ik al mijn php code (zodat ik geen browser nodig heb om bepaalde zaken te testen).
    RHCPeterdinsdag 5 mei 2009 @ 14:51
    Ik heb een vraagje

    Ik wil een tabel maken op mijn site waar bezoekers zelf iets in kunnen zetten Ongeveer hetzelfde principe als dit:

    http://www.iphonefriendcodes.com/games/4-Mafia-Wars

    Weet iemand hoe ik dat kan doen?
    Thomassdinsdag 5 mei 2009 @ 15:27
    Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is

    Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze :') )?

    1
    2
    3
    4
    5
    <?php
        
    return implode(', 'array_map(create_function('$t',
                
    'return "<a href=\"?action=search&amp;query=$t\">$t</a>";'
            
    ), $this->tags));
    ?>


    Klacht: php is kut
    GlowMousedinsdag 5 mei 2009 @ 15:33
    quote:
    Op dinsdag 5 mei 2009 14:50 schreef slacker_nl het volgende:
    Als je een Linux machine hebt kan je ook nog met php5-cli gaan werken en dan kan je dit gewoon gebruiken: php x.php

    Zo maak ik al mijn php code (zodat ik geen browser nodig heb om bepaalde zaken te testen).
    Kan onder Windows ook. php.exe <3
    quote:
    Op dinsdag 5 mei 2009 14:51 schreef RHCPeter het volgende:
    Ik heb een vraagje

    Ik wil een tabel maken op mijn site waar bezoekers zelf iets in kunnen zetten Ongeveer hetzelfde principe als dit:

    http://www.iphonefriendcodes.com/games/4-Mafia-Wars

    Weet iemand hoe ik dat kan doen?
    Zoeken naar een shoutbox.
    quote:
    Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
    Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is

    Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze )?
    [ code verwijderd ]

    Klacht: php is kut
    Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.
    whoopsdinsdag 5 mei 2009 @ 15:43
    quote:
    Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
    Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is

    Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze )?
    [ code verwijderd ]

    Klacht: php is kut
    Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...
    RHCPeterdinsdag 5 mei 2009 @ 15:46
    quote:
    Op dinsdag 5 mei 2009 15:33 schreef GlowMouse het volgende:

    [..]

    Zoeken naar een shoutbox.

    Dank je wel
    Thomassdinsdag 5 mei 2009 @ 16:32
    quote:
    Op dinsdag 5 mei 2009 15:43 schreef whoops het volgende:

    [..]

    Als jij dit geschreven hebt ben jij vooralsnog degene die echt kut is... Dat PHP het toestaat is misschien ook wat jammer, maar echt kut ben jij in deze...
    Dankje . Eikel.
    quote:
    Op dinsdag 5 mei 2009 15:33 schreef GlowMouse het volgende:

    [..]

    Kan onder Windows ook. php.exe <3
    [..]

    Zoeken naar een shoutbox.
    [..]

    Het zou juist jammer zijn als dit niet zou kunnen. Als je de output van een functie niet aan een andere functie mee kon geven, zou je een hoop missen.
    Ik bedoelde dat er dingen in die taal zitten zoals 'create_function' die twee strings accepteerd enzo. Dat moet dan doorgaan voor een anonieme functie
    Lightdinsdag 5 mei 2009 @ 16:36
    quote:
    Op dinsdag 5 mei 2009 15:27 schreef Thomass het volgende:
    Soms vraag ik mezelf af waar ik in godsnaam mee bezig ben als ik prog in PHP, en waarom het zo populair is

    Waarom zitten dit soort `features' in godsnaam in PHP (en waarom gebruik ik ze :') )?
    [ code verwijderd ]
    Klacht: php is kut
    Dat valt wel mee toch? Dit is ook leuk:
    1
    2
    3
    4
    5
    6
    7
    <?php
    $a 
    'String';
    $b 0;
    if(
    $a == true && $b == false && $a == $b) {
        echo 
    'Universe is broken';
    }
    ?>
    slacker_nldinsdag 5 mei 2009 @ 17:38
    quote:
    Op dinsdag 5 mei 2009 15:33 schreef GlowMouse het volgende:

    [..]

    Kan onder Windows ook. php.exe <3
    Windows is kut
    whoopsdinsdag 5 mei 2009 @ 20:49
    quote:
    Op dinsdag 5 mei 2009 16:32 schreef Thomass het volgende:

    [..]

    Dankje . Eikel.
    My pleasure, dummy ...
    sabandinsdag 5 mei 2009 @ 21:41
    Oh mijn topic kon ook hier thuis.
    Reserved words mysql negeren
    Pizzahutdinsdag 5 mei 2009 @ 22:12
    1
    2
    3
    4
    5
    <?php
    function afkappenZin($string$max 5) {
        return 
    join(" "array_slice(preg_split("/\s+/"$string), 0$max));
    }
    ?>


    Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer

    [ Bericht 12% gewijzigd door Pizzahut op 05-05-2009 22:35:35 (Thx Light!) ]
    Lightdinsdag 5 mei 2009 @ 22:22
    quote:
    Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:

    [ code verwijderd ]

    (hoe krijg je die php colors in die code tag?)

    Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer
    Door [ php] en [ /php] te gebruiken.
    slacker_nlwoensdag 6 mei 2009 @ 00:14
    quote:
    Op dinsdag 5 mei 2009 22:12 schreef Pizzahut het volgende:

    [ code verwijderd ]

    Deze lijkt goed te werken! Zou je me kunnen uitleggen hoe deze werkt? (Vanaf de join). Weet ik dat voor de volgende keer :)
    Dit was deze code:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    function afkappenZin($string$max 5) {
        
    /* We splitten de zin op alle whitespace 
           characters als er 1 of meer voorkomen
           dmv een reguliere expressie */
        
    $array preg_split("/\s+/"$string);

        
    /* Aantal woorden dat we willen weergeven
           We willen $max aantal resultaat hebben
           kan met for-loop maar kan ook met 
           array_slice */
        
    $wanted array_slice($array0$max); 

        
    /* wat je al wist */
        
    return join(" "$wanted);
    }
    ?>
    slacker_nlwoensdag 6 mei 2009 @ 00:37
    quote:
    Op dinsdag 5 mei 2009 13:37 schreef GI het volgende:
    Waarom dan niet gewoon:
    [ code verwijderd ]

    Of zie ik nou iets over het hoofd ?
    array_pop moet trouwens array_shift zijn
    Pizzahutwoensdag 6 mei 2009 @ 09:10
    quote:
    Op woensdag 6 mei 2009 00:14 schreef slacker_nl het volgende:

    [..]

    Dit was deze code:
    [ code verwijderd ]
    Thanx Gelijk een stuk duidelijker!
    Maar hoe weet je welke whitespace expressies je moet hebben?
    (Dat zijn toch de /\s+/) ?

    want ik zie ook wel eens /\[s+]\
    slacker_nlwoensdag 6 mei 2009 @ 10:05
    quote:
    Op woensdag 6 mei 2009 09:10 schreef Pizzahut het volgende:

    [..]

    Thanx Gelijk een stuk duidelijker!
    Maar hoe weet je welke whitespace expressies je moet hebben?
    (Dat zijn toch de /\s+/) ?

    want ik zie ook wel eens /\[s+]\
    \s is een whitespace character: spatie, tab, enter, \r etc etc.
    \w is een word character (incl cijfers)
    \d is een digit

    \S is alle non-whitespace characters
    \W is alle non-word characters
    \D is alle non-digits

    [ ] zijn character classes:

    [A-Za-z0-9] == \w
    [0-9] == \d
    [\n\r\t ] = \s

    [\s] = [\n\r\t ]
    [^\s] = \S

    \s+ is een of meerdere whitespaces
    \s* is nul of meerdere whitespaces

    \s{0,} == \s*
    \s{1,} == \s+
    \s{1,4} == 1 tot 4 whitespace characters
    \s{4} == 4 whitspace characters

    Dit is in het kort een beetje de syntax van reguliere expressies. Als ik hier wat meer over moet schrijven ben ik een dag bezig om allerlei voorbeelden uit te werken (en daar heb ik nu geen zin in..).
    bassiedekloonwoensdag 6 mei 2009 @ 15:42
    Hey hey allemaal..

    Ik heb mss een hele domme vraag maar ik kom er niet uit.
    Ik heb dit gemaakt:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
            
    <!-- test room -->
            <
    a href=room.php?room= echo $room1  target=_blank><div class='status'> echo $room1 </div><div class='cam'><a href=room.php?room= echo $room1  target=_blank
            
            if(
    $online1==$time) {
            echo 
    "<http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>";
            }
            else {
            echo 
    "<div class='img'></div>";
            }
            
            </
    a></div><div class='line'></div><div class='btn'>
            <
    a href=room.php?room= echo $room1  target=_blank>Chat</a></div>
            </
    a></div>
            <!-- 
    end test room  -->
    ?>


    Zoals jullie mss al zien staat er een fout op lijn 5, ik krijg dat $room1 niet werkend....
    weet iemand hoe dat wel moet?
    wobbelwoensdag 6 mei 2009 @ 15:42
    Enkele jaren terug had ik een grappig systeem waarmee ik mijn domein.nl/index.php?pagina=contactgegevens kon vermakkelijken naar domein.nl/contactgegevens/

    Dit deed ik doormiddel van een .htaccess die mij doorstuurde naar een 404 pagina bestaande uit PHP, en die keek weer naar wat er in de adresbalk was ingevuld en die riep alsnog intern de pagina "contactgegevens" op.

    Iemand ergens een stukje info hierover?
    ssmm987woensdag 6 mei 2009 @ 15:55
    quote:
    Op woensdag 6 mei 2009 15:42 schreef bassiedekloon het volgende:
    Hey hey allemaal..

    Ik heb mss een hele domme vraag maar ik kom er niet uit.
    Ik heb dit gemaakt:
    [ code verwijderd ]

    Zoals jullie mss al zien staat er een fout op lijn 5, ik krijg dat $room1 niet werkend....
    weet iemand hoe dat wel moet?
    Weet je zeker dat de variabele $online1 en $time gezet zijn? Sommige servers geven foutmeldingen als er gevraagd word om een niet bestaande variabele.
    En staan er puntkomma dingetjes achter alle: echo $room1?
    Als die er niet staan, en er komt nog php code achteraan, resulteert dat ook in foutmeldingen.
    Als het dat niet is, zou je dan de hele foutmelding kunnen posten?
    HuHuwoensdag 6 mei 2009 @ 15:56
    quote:
    Op woensdag 6 mei 2009 15:42 schreef wobbel het volgende:
    Enkele jaren terug had ik een grappig systeem waarmee ik mijn domein.nl/index.php?pagina=contactgegevens kon vermakkelijken naar domein.nl/contactgegevens/

    Dit deed ik doormiddel van een .htaccess die mij doorstuurde naar een 404 pagina bestaande uit PHP, en die keek weer naar wat er in de adresbalk was ingevuld en die riep alsnog intern de pagina "contactgegevens" op.

    Iemand ergens een stukje info hierover?
    Je kunt beter mod_rewrite gebruiken.
    bassiedekloonwoensdag 6 mei 2009 @ 16:08
    quote:
    Op woensdag 6 mei 2009 15:55 schreef ssmm987 het volgende:

    [..]

    Weet je zeker dat de variabele $online1 en $time gezet zijn? Sommige servers geven foutmeldingen als er gevraagd word om een niet bestaande variabele.
    En staan er puntkomma dingetjes achter alle: echo $room1?
    Als die er niet staan, en er komt nog php code achteraan, resulteert dat ook in foutmeldingen.
    Als het dat niet is, zou je dan de hele foutmelding kunnen posten?
    ja $online1 en $time zijn gezet.
    Ik krijg geen foutmelding, het plaatje word gewoon niet afgebeeld.
    En de code die hij maakt is dit:
    1
    2
    3
    4
    5
    6
    7
            <!-- test room -->
            <a href=room.php?room=101 target=_blank><div class='status'>101</div><div class='cam'><a href=room.php?room=101 target=_blank> 
            <http://static.domein.nl/previews/picture'101'.jpg alt=Chat border=0 class=fullborder title=Chat>        </a></div><div class='line'></div><div class='btn'>

            <a href=room.php?room=101 target=_blank>Chat</a></div>
            </a></div>
            <!-- end test room  -->


    het werkt dus bijna ik krijg alleen die ' erbij en die moeten weg.....
    en dat ; wat je zegt, moet dat overal?


    ik zie nu dat er dingen wegvallen in mijn vorige post dus plaats ik het nogmaals:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            <!-- test room -->
            <a href=room.php?room=<?php echo $room1 ?> target=_blank><div class='status'><?php echo $room1 ?></div><div class='cam'><a href=room.php?room=<?php echo $room1 ?> target=_blank> 
            <?php
          if($online1==$time) {
          echo "<http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>";
          }
          else {
          echo "<div class='img'></div>";
          }
          ?>
            </a></div><div class='line'></div><div class='btn'>
            <a href=room.php?room=<?php echo $room1 ?> target=_blank>Chat</a></div>
            </a></div>
            <!-- end test room  -->
    ssmm987woensdag 6 mei 2009 @ 16:15
    1 <http://static.domein.nl/previews/picture'101'.jpg alt=Chat border=0 class=fullborder title=Chat>

    Dit moet de image voorstellen neem ik aan?
    Dat moet dus:
    1<img src=http://static.domein.nl/previews/picture'101'.jpg alt=Chat border=0 class=fullborder title=Chat>

    worden. Regel 5 moet dus dit worden:
    1
    2
    3
    4
    <?php
    echo "<img src=http://static.domein.nl/previews/picture$room1.jpg alt=Chat border=0 class=fullborder title=Chat>";
      
    ?>


    Zo'n simpel foutje dat je er over heen kijkt :)
    HuHuwoensdag 6 mei 2009 @ 16:16
    Staan er dingen als magic_quotes_gpc en magic_quotes_runtime aan in je PHP configuratie?
    bassiedekloonwoensdag 6 mei 2009 @ 16:22
    quote:
    Op woensdag 6 mei 2009 16:15 schreef ssmm987 het volgende:

    [ code verwijderd ]

    Dit moet de image voorstellen neem ik aan?
    Dat moet dus:
    [ code verwijderd ]

    worden. Regel 5 moet dus dit worden:
    [ code verwijderd ]

    Zo'n simpel foutje dat je er over heen kijkt

    YES thnx het werkt helemaal
    ik had van alles geprobeerd en dan is het zoiets kleins
    De_Hertogwoensdag 6 mei 2009 @ 18:51
    Ik wil een menu hebben met twee niveau's, categorie en subcategorie. Nu heb ik een tabel gemaakt a la:
    1
    2
    3
    4
    5
    id parent name
    1  0      Hoofdcategorie 1
    2  0      Hoofdcategorie 2
    3  1      Subcategorie 1
    4  2      Subcategorie 2


    Nu wil ik dat inlezen zodat het er als volgt uit ziet:

  • Hoofdcategorie 1
    ----Subcategorie 1
  • Hoofdcategorie 2

    (waarmee ik maar even aan wil geven dat subcategorie 1 dus ingesprongen onder hoofdcategorie 1 komt te staan. Subcategorie 2 is niet te zien want hoofdcategorie 2 is 'ingeklapt'.)

    Nu kan ik natuurlijk twee queries uitvoeren, of zoeken op 'id = 0 OR 1' en dan de resultaatlijst twee keer doorlopen. Maar iets zegt me dat dit efficiënter kan. De vraag is, hoe?
  • DaFrenkwoensdag 6 mei 2009 @ 18:58
    quote:
    Op woensdag 6 mei 2009 18:51 schreef De_Hertog het volgende:
    Ik wil een menu hebben met twee niveau's, categorie en subcategorie. Nu heb ik een tabel gemaakt a la:
    [ code verwijderd ]

    Nu wil ik dat inlezen zodat het er als volgt uit ziet:

  • Hoofdcategorie 1
    ----Subcategorie 1
  • Hoofdcategorie 2

    (waarmee ik maar even aan wil geven dat subcategorie 1 dus ingesprongen onder hoofdcategorie 1 komt te staan. Subcategorie 2 is niet te zien want hoofdcategorie 2 is 'ingeklapt'.)

    Nu kan ik natuurlijk twee queries uitvoeren, of zoeken op 'id = 0 OR 1' en dan de resultaatlijst twee keer doorlopen. Maar iets zegt me dat dit efficiënter kan. De vraag is, hoe?
  • Ik doe het eigenlijk op de 2 queries manier. Dus een loop voor de hoofdcategorieën, en in die loop een query voor subcategoriën met als parent de hoofcategorie.
    De_Hertogwoensdag 6 mei 2009 @ 19:00
    quote:
    Op woensdag 6 mei 2009 18:58 schreef DaFrenk het volgende:

    [..]

    Ik doe het eigenlijk op de 2 queries manier. Dus een loop voor de hoofdcategorieën, en in die loop een query voor subcategoriën met als parent de hoofcategorie.
    Een van de weinige dingen die ik op internet wèl tegen kwam was de opmerking dat je eigenlijk nooit een query in een loop moet stoppen. Waarschijnlijk omdat ze bang zijn dat de loop wel eens zou kunnen ontsporen of zo. Een nettere oplossing stond er dan weer niet bij.

    Overigens wil ik per keer maar één subcategorie uitklappen, hij hoeft dus niet meerdere subcategoriën tegelijk te werken.
    slacker_nlwoensdag 6 mei 2009 @ 19:35
    Waarom zou dat niet mogen? SQL zelf kent ook loops....
    ssmm987woensdag 6 mei 2009 @ 20:27
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $sql 
    mysql_query("SELECT * FROM `database` WHERE `parent` = 0");
    while(
    $row mysql_query($sql))
    {
     echo 
    "<ul>$row['name']</ul>";
     
    $sql2 mysql_query("SELECT * FROM `database` WHERE `parent` = $row['id']"); 
     while(
    $row2 mysql_query($sql2))
     {
      echo 
    "<li>$row2['name']</li>";
     }
    }
    ?>

    Lijkt mij toch de makkelijkste en snelste manier
    De_Hertogwoensdag 6 mei 2009 @ 20:31
    quote:
    Op woensdag 6 mei 2009 20:27 schreef ssmm987 het volgende:

    [ code verwijderd ]

    Lijkt mij toch de makkelijkste en snelste manier ;-)
    Ik ben nu bezig met een boek en daarin leren ze je aan om de querys, de display-functies en de pagina's geschieden te houden. Ik heb dus één php-bestand voor de pagina zelf, met daarin een aanroep naar de get_data functies in het volgende bestand, en het resultaat daarvan wordt doorgegeven aan display_data in het derde bestand. Ik zou het dan wel prettig vinden om één array uit die data te krijgen om door te geven. Maar ik heb het nu gewoon met twee functies gedaan, werkt inderdaad prima maar is minder 'net'
    ssmm987woensdag 6 mei 2009 @ 20:47
    Ik heb nooit echt boeken gelezen/cursussen gedaan om php te leren, ik zocht gewoon op internet op wat ik nodig had, en aan de hand daarvan heb ik de taal geleerd. Dingen gescheiden houden ed. zijn dingen die ik nooit echt geleerd heb daardoor. Aangezien ik de php taal al aardig beheers , en deze dingen toch wel wil beheersen, zoek ik eigenlijk al een tijdje naar een goede php cursus voor gevorderde. Het liefst zou ik dit adv internet doen, en niet via boeken. Heeft iemand misschien een site waar ik dergelijke dingen kan vinden?
    De_Hertogwoensdag 6 mei 2009 @ 20:54
    quote:
    Op woensdag 6 mei 2009 20:47 schreef ssmm987 het volgende:
    Ik heb nooit echt boeken gelezen/cursussen gedaan om php te leren, ik zocht gewoon op internet op wat ik nodig had, en aan de hand daarvan heb ik de taal geleerd. Dingen gescheiden houden ed. zijn dingen die ik nooit echt geleerd heb daardoor.
    Dat is dus precies wat ik aan het doen ben nu, en de reden dat ik een 'nette' of 'gestructureerde' oplossing zoek Ik gebruik alleen wel een boek, dus kan je helaas niet aan een goede cursus helpen.
    Intrepiditydonderdag 7 mei 2009 @ 07:15
    Verdiep jezelf dan eens in het MVC (Model-View-Controller) pattern.. Stuk netter als je wat grotere webapps maakt
    HuHudonderdag 7 mei 2009 @ 08:39
    quote:
    Op donderdag 7 mei 2009 07:15 schreef Intrepidity het volgende:
    Verdiep jezelf dan eens in het MVC (Model-View-Controller) pattern.. Stuk netter als je wat grotere webapps maakt
    Dat dus. En om het concreet te maken zou je kunnen kijken naar tutorials van het Zend Framework. Uiteraard op de site van Zend zelf, maar ook andere sites bieden goede tutorials over ZF. Let echter wel op dat er heel veel oude tutorials zijn, de ontwikkeling van ZF is de laatste tijd erg snel gegaan en zit momenteel op versie 1.8.

    Dit is wel een hele goede: http://akrabat.com/zend-framework-tutorial/
    Chandlerdonderdag 7 mei 2009 @ 10:12
    Ik heb ook een vraagje! Wederom een regexje!

    Uit bepaalde teksten wil ik iets halen.. voorbeeld:

    {spec_shirt<span style=3D'display:none'>contraststofkra=
    agstof}</span>

    nu wil ik graag <span*> en </span*> uit de teksten verwijderen, alleen dient de <span> etc wel tussen { } te staan... nu heb ik al dit, alleen het werkt gewoon niet... weet niet waar ik de fout in ga

    1
    2
    3
    4
    5
    <?php
    $body 
    ereg_replace("\{[.*?^\}]<span style=3D'display:none'\>[.*?^\}]\}",
    "\\1\\2",
    $body);
    ?>


    Wat doe ik fout?

    -edit-

    Ik heb helaas nog geen oplossing gevonden maar ben denk ik wel een stapje verder!

    1
    2
    3
    $body = ereg_replace("\{[.*?^}]" . preg_quote("<span style=3D'display:none'>") . "[.*?^\}]\}" . preg_quote("</span>"),
    "\\1\\2",
    $body);


    [ Bericht 23% gewijzigd door Chandler op 07-05-2009 10:41:14 ]
    slacker_nldonderdag 7 mei 2009 @ 13:33
    Zoiets?

    1
    2
    3
    4
    5
    6
    <?php
    $string 
    "{spec_shirt<span style=3D'display:none'>contraststofkraagstof}</span>";

    echo 
    $string "\n";
    echo 
    preg_replace('/(?:<span>)?(\{.+\})<.span>/','\\1'$string) . "\n";
    ?>
    Chandlerdonderdag 7 mei 2009 @ 14:18
    Niet geheel, het idee is goed hoor...

    Alleen bevat de tekst veel versies van { } waarin de span verwerkt zit.. alleen moet het alleen de span verwijderen als het na de { komt en eindigd met }</span>

    iig tnx!!!
    ralfiedonderdag 7 mei 2009 @ 14:49
    dus in je voorbeeld moet alleen de eerste span eruit ?
    Chandlerdonderdag 7 mei 2009 @ 14:52
    nee beiden, maar de 2e moet tegen de } aanzitten. en de eerste tussen { en }
    slacker_nldonderdag 7 mei 2009 @ 14:58
    {spec_shirt<span style=3D'display:none'>contraststofkraagstof}</span>

    moet worden:

    <span style=3D'display:none'>{spec_shirtcontraststofkraagstof}</span>

    ?
    Chandlerdonderdag 7 mei 2009 @ 15:05
    nee, {spec_shirtcontraststofkraagstof}
    Darkomendonderdag 7 mei 2009 @ 15:42
    Nu jullie toch lekker aan het regexen zijn:
    Ik wil een woord volledig in hoofdletters, met mogelijk een spatie erin, hoeft niet uit een text halen

    1
    2
    3
    if (preg_match('/^[A-Z ]{0,50}$/, $part)) { 
             $plaats[$i] .=  $part.' ';
     }


    Ik dacht dat dit het wel zou zijn, maar hij pakt ze alleen als er een spatie in zit
    GlowMousedonderdag 7 mei 2009 @ 15:46
    quote:
    Op donderdag 7 mei 2009 15:42 schreef Darkomen het volgende:
    Nu jullie toch lekker aan het regexen zijn:
    Ik wil een woord volledig in hoofdletters, met mogelijk een spatie erin, hoeft niet uit een text halen
    [ code verwijderd ]

    Ik dacht dat dit het wel zou zijn, maar hiermee pakt hij alles ook nummers?
    Hij matcht nu alles waar tenminste één hoofdletter in zit. Zoek eens op wat ^, $, \s en * doen in een regex
    Darkomendonderdag 7 mei 2009 @ 15:52
    Ja ik pruts echt met regex :$
    Zou het eens goed door moeten kijken maar meestal heb ik dan weer geen tijd(lees geduld)

    heb ook wel de cheatsheet dus weet ik ook wat ze doen maar toepassen

    [ Bericht 16% gewijzigd door Darkomen op 07-05-2009 16:07:48 ]
    Darkomendonderdag 7 mei 2009 @ 16:26
    de bedoeling is om wel "ROTTERDAM" en niet "1234AB" te matchen
    Darkomendonderdag 7 mei 2009 @ 16:46
    Heb het maar opgelost met eenn kleine fix
    De regex '/\b[^\W-a-z0-9]+\b/' maar dan hou ik nog woorden zoals "Cl-c" erin, maar dit zijn bekende termen en die replace ik
    beertendonderdag 7 mei 2009 @ 22:19
    Weet iemand nog een goede freeware/open source teksteditor voor Windows xp?
    Highlighting, functieherkenning, accolades herkenning, regelnummering, met een soort van verkenner aan boord die een directory/filestructuur toont.

    Ik had er ooit een maar ik kan niet meer op de naam komen. Helaas...
    Lightdonderdag 7 mei 2009 @ 22:21
    quote:
    Op donderdag 7 mei 2009 22:19 schreef beerten het volgende:
    Weet iemand nog een goede freeware/open source teksteditor voor Windows xp?
    Highlighting, functieherkenning, accolades herkenning, regelnummering, met een soort van verkenner aan boord die een directory/filestructuur toont.

    Ik had er ooit een maar ik kan niet meer op de naam komen. Helaas...
    Eclipse is vast overkill
    Andere namen die bij mij boven komen zijn UltraEdit en Notepad++, maar met beide heb ik geen recente ervaring.
    Steenarenddonderdag 7 mei 2009 @ 22:51
    Noob vraag:
    1
    2
    if($naam=="" or $wachtwoord=="" or $voornaam=="" or $email==""){
    $xError = "<h3>Niet goed ingevuld!</h3>";

    Hoe kan ik het voor elkaar krijgen om te laten zien wat er precies wel en niet ingevuld is? :@
    DionysuZdonderdag 7 mei 2009 @ 23:47
    quote:
    Op donderdag 7 mei 2009 22:19 schreef beerten het volgende:
    Weet iemand nog een goede freeware/open source teksteditor voor Windows xp?
    Highlighting, functieherkenning, accolades herkenning, regelnummering, met een soort van verkenner aan boord die een directory/filestructuur toont.

    Ik had er ooit een maar ik kan niet meer op de naam komen. Helaas...
    persoonlijk zweer ik bij JEdit maar weet niet of dit is wat je zoekt =)
    WyriHaximusvrijdag 8 mei 2009 @ 11:35
    netbeans ftw
    en als je iets simpels zoekt kan je idd naar jedit kijken
    Swetseneggervrijdag 8 mei 2009 @ 11:59
    quote:
    Op donderdag 7 mei 2009 22:19 schreef beerten het volgende:
    Weet iemand nog een goede freeware/open source teksteditor voor Windows xp?
    Highlighting, functieherkenning, accolades herkenning, regelnummering, met een soort van verkenner aan boord die een directory/filestructuur toont.

    Ik had er ooit een maar ik kan niet meer op de naam komen. Helaas...
    http://download.cnet.com/(...)0248_4-10575026.html
    Chandlervrijdag 8 mei 2009 @ 14:15
    Ik krijg de regex nog steeds niet goed!

    1"\{([\w+^\}]+)" . preg_quote("<span") . "([\w+^>]+)\>([\w+^}]+)" . preg_quote("}</span>")

    Kan iemand mij svp helpen?
    super-muffinvrijdag 8 mei 2009 @ 15:14
    Ik heb een SOAP/XML string die ik wil parsen. Ik heb in ieder geval de data nodig die er instaat. Met SimpleXML krijg ik een leeg object terug. Iemand een suggestie?

    [ Bericht 41% gewijzigd door super-muffin op 08-05-2009 16:14:47 ]
    ralfievrijdag 8 mei 2009 @ 15:49
    quote:
    Op vrijdag 8 mei 2009 14:15 schreef Chandler het volgende:
    Ik krijg de regex nog steeds niet goed!
    [ code verwijderd ]

    Kan iemand mij svp helpen?
    1
    2
    3
    <?php
    $result 
    preg_replace'#{(.*?)<span[^>]+>(.*?)}</span>#''{$1$2}'$subject );
    ?>
    Chandlerzaterdag 9 mei 2009 @ 09:17
    quote:
    Op vrijdag 8 mei 2009 15:49 schreef ralfie het volgende:
    [ code verwijderd ]
    Yes! dat is het inderdaad! al moest ik wil van het laatste hekje #ism maken ivm meerdere regels etc!

    Maar super!!! ik dacht altijd dat je alle {,},< ook moest escapen maar dat is dus niet zo!
    Mirelzaterdag 9 mei 2009 @ 14:35
    Email form testje: www.mirelmasic.nl/filmform
    Email komt echter niet aan. Heb het volgens deze tutorial gedaan: http://www.thesitewizard.com/archive/feedbackphp.shtml

    action.php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
       $naam      = $_REQUEST['naam'] ;
       $instelling   = $_REQUEST['instelling'] ;
       $adres      = $_REQUEST['adres'] ; 
       $email       = $_REQUEST['email'] ;
       $aantal    = $_REQUEST['aantal'] ;

      mail( "mirelmirelmirel@gmail.com", "testformulier",
        $naam, $instelling, $adres, $aantal, "van: $email" );
      header( "Location: http://www.pikler.nl" );
    ?>


    en de rommelige form.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
    <form method="post" action="action.php">
      <table width="271" border="1">
        <tr>
          <td width="102">Naam:</td>
          <td width="153"><label>
            <input type="text" name="naam">
          </label></td>
        </tr>
        <tr>
          <td>Instelling:</td>
          <td><input type="text" name="instelling"></td>
        </tr>
        <tr>
          <td>Adres:</td>
          <td><input type="text" name="adres"></td>
        </tr>
        <tr>
          <td>E-Mail:</td>
          <td><input type="text" name="email"></td>
        </tr>
        <tr>
          <td>Aantal Kaarten:</td>
          <td><input type="text" name="aantal"></td>
        </tr>
        <tr>
          <td colspan="2"><label>
            <input type="submit" name="knop" value="Opsturen">
          </label></td>
        </tr>
      </table>
    </form>


    Het is heel simpel maar ik ontvang geen mails. ligt het aan de configuratie van de server? Ik weet niet wat ik fout zou hebben gedaan
    Darkomenzaterdag 9 mei 2009 @ 15:26
    http://nl2.php.net/manual/en/function.mail.php
    quote:
    bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
    Door de comma tussen de delen van je message worden deze gezien als additional parameters.
    Wat er waarschijnlijk voor zorgt dat het word aangemerkt als spam

    1
    2
    3
    4
    5
    6
    7
    8
    mail( "mirelmirelmirel@gmail.com", "testformulier",
        $naam, $instelling, $adres, $aantal, "van: $email" );

    mail( "mirelmirelmirel@gmail.com", "testformulier",
        $naam.' '. $instelling. ' '. $adres.' '.$aantal, "From: $email" );
    of 
    $message =   $naam.' '. $instelling. ' '. $adres.' '.$aantal;
    mail( "mirelmirelmirel@gmail.com", "testformulier",$message, "From: $email" );


    [ Bericht 5% gewijzigd door Darkomen op 09-05-2009 15:31:58 ]
    Steenarendzaterdag 9 mei 2009 @ 18:30
    quote:
    Op donderdag 7 mei 2009 22:51 schreef Steenarend het volgende:
    Noob vraag:
    [ code verwijderd ]

    Hoe kan ik het voor elkaar krijgen om te laten zien wat er precies wel en niet ingevuld is?
    Iemand?
    HuHuzaterdag 9 mei 2009 @ 18:32
    quote:
    Op zaterdag 9 mei 2009 18:30 schreef Steenarend het volgende:

    [..]

    Iemand?
    Wat dacht je van:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    if ($naam == '') {
      echo 
    'De naam is niet goed ingevuld.';

    if (
    $wachtwoord == '') {
      echo 
    'Het wachtwoord is niet goed ingevuld';
    }
    // enz...
    ?>
    Steenarendzondag 10 mei 2009 @ 09:56
    oke nu krijg ik dit: Parse error: syntax error, unexpected $end wat bedoelen ze hiermee?
    ralfiezondag 10 mei 2009 @ 10:46
    quote:
    Op zondag 10 mei 2009 09:56 schreef Steenarend het volgende:
    oke nu krijg ik dit: Parse error: syntax error, unexpected $end wat bedoelen ze hiermee?
    syntax fout. zoek een editor met code highlighting.
    Mirelzondag 10 mei 2009 @ 11:19
    notepad++
    De_Hertogzondag 10 mei 2009 @ 11:22
    Unexpected $end betekent meestal dat je een blok bent gestart zonder dit te eindigen, dus er is een { zonder bijpassende }. Misschien heb je de laatste } niet mee gekopieerd?
    quote:
    Op zondag 10 mei 2009 10:46 schreef ralfie het volgende:

    [..]

    zoek een editor met code highlighting.
    En dat, inderdaad.
    Steenarendzondag 10 mei 2009 @ 12:07
    Bedankt nu werkt het allemaal. Notepad ++ net gedownload, super zo.
    "Unexpected $end betekent meestal dat je een blok bent gestart zonder dit te eindigen, dus er is een { zonder bijpassende }. Misschien heb je de laatste } niet mee gekopieerd?" Dit was de fout idd.
    beertenzondag 10 mei 2009 @ 21:10
    Hoi,

    ik zit te dubben over een template systeem. Ik wil afhankelijk van de rechten van een bezoeker pagina's/menu's presenteren. Afhankelijk van de rechten in een verschillende layout (frontend/backend).

    Hoe kan ik dit het beste doen?

    Een manier is om op iedere pagina alle genodigde menu's en content te genereren. Zo kan je voor iedere pagina een bepaalde inhoud genereren.
    Die inhoud stuur je als variabelen naar een template voor de presentatie

    Je zou ook kunnen kiezen voor een template welke zelf alle benodigde inhoud ophaalt, afhankelijk van de opgevraagde pagina. Dit zou dan door een navigatiescript gegenereerd moeten worden. Dit betekent ook dat je "ergens" de voor een bepaalde pagina benodigde menu's en content moet registreren. In een database bijvoorbeeld.
    De aanpak is net anders: OF alle info in de pagina en die naar een template sturen
    OF het template laten kijken welke menu's/content voor de betreffende pagina benodigd zijn.

    Wellicht zijn er nog meer en zelfs betere mogelijkheden.
    Weet iemand links naar voorbeelden? Het gaat me niet om de php-code. Die tik ik zelf wel. Het gaat me om de uitleg van de systemen. Of zou iemand kort zijn/haar methode kunnen toelichten? Voor en nadelen etc.

    Thnx
    cablegunmasterdinsdag 12 mei 2009 @ 00:20
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <?php
    /*
    * Email scriptje smtp addepted for argeweb.nl for my website
    * To use adept it again to your own.
    * Import your own settings on to this script and use the script
    * wisely! Made by cablegunmaster.nl
    */

    function authgMail($from$namefrom$to$nameto$subject$message) {
    $smtpServer "mail.smtp.nl";
    $port "25";
    $timeout "30"// time in min before the msgs expires
    $username "Username"//user used for sending mail
    $password "Password"//password of verification to your server
    $localhost "localhost"//set this as localhost
    $newLine "\r\n";
    $secure 1//if 1 its using SSL if 0 its unsecured
    $date date(c);

    //connect to the host and port
    $smtpConnect fsockopen($smtpServer$port$errno$errstr$timeout);
    $smtpResponse fgets($smtpConnect4096);
    if(empty(
    $smtpConnect)) {
    $output "Failed to connect: $smtpResponse";
    echo 
    $output;
    return 
    $output;
    }
    else {
    $logArray['connection'] = "

    Connected to: $smtpResponse"
    ;
    echo 
    "

    connection accepted
    "
    .$smtpResponse."

    Continuing

    "
    ;
    }

    //you have to say HELO again after TLS is started
    fputs($smtpConnect"HELO $localhost"$newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['heloresponse2'] = "$smtpResponse";
    //request for auth login
    fputs($smtpConnect,"AUTH LOGIN" $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['authrequest'] = "$smtpResponse";

    //send the username
    fputs($smtpConnectbase64_encode($username) . $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['authusername'] = "$smtpResponse";

    //send the password
    fputs($smtpConnectbase64_encode($password) . $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['authpassword'] = "$smtpResponse";

    //email from
    fputs($smtpConnect"MAIL FROM: <$from>" $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['mailfromresponse'] = "$smtpResponse";

    //email to
    fputs($smtpConnect"RCPT TO: <$to>" $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['mailtoresponse'] = "$smtpResponse";

    //the email
    fputs($smtpConnect"DATA" $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['data1response'] = "$smtpResponse";

    //construct headers
    $headers "MIME-Version: 1.0" $newLine;
    $headers .= "Content-type: text/html; charset=iso-8859-1" $newLine;
    $headers .= "To: $nameto <$to>" $newLine;
    $headers .= "From: $namefrom <$from>" $newLine;
    $headers .= "Date: $date"$newline;

    //observe the . after the newline, it signals the end of message
    fputs($smtpConnect"To: $to\r\nFrom: $from\r\nSubject: $subject\r\n$headers\r\n\r\n$message\r\n.\r\n");
    $smtpResponse fgets($smtpConnect4096);
    $logArray['data2response'] = "$smtpResponse";

    // say goodbye
    fputs($smtpConnect,"QUIT" $newLine);
    $smtpResponse fgets($smtpConnect4096);
    $logArray['quitresponse'] = "$smtpResponse";
    $logArray['quitcode'] = substr($smtpResponse,0,3);
    fclose($smtpConnect);
    //a return value of 221 in $retVal["quitcode"] is a success
    echo var_dump($logArray);
    return(
    $logArray);
    }
    $from="Example@example.com";
    $namefrom="example@cablegunmaster.nl";
    $to "whoyouwanttosendit@example.com";
    $nameto "Cablegunmaster";
    $subject "Subject where you see just test it";
    $message "Youre being watched , signed Hello world \n
    "
    ;
    $message .= "Youre being watched ,line 2 signed The world Hello it says /n";
    // this is it, lets send that email!
    authgMail($from$namefrom$to$nameto$subject$message);
    ?>


    gewoon omdat het lastig is een goed SMTP script te vinden dat goed werkt
    zal vast wel een andere manier zijn maar deze werkte als enige voor me
    GlowMousedinsdag 12 mei 2009 @ 00:24
    http://phpmailer.codeworxtech.com/