abonnement Unibet Coolblue Bitvavo
pi_67947645

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
  •   zondag 12 april 2009 @ 13:47:00 #2
    62215 qu63
    ..de tijd drinkt..
    pi_67947694
    quote:
    Op zondag 12 april 2009 13:43 schreef Light het volgende:

    [..]

    Iets met open(new Topic()), denk ik
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
    pi_67968752
    tijd voor post
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      maandag 13 april 2009 @ 14:39:54 #4
    187069 slacker_nl
    Sicko pur sang
    pi_67976323
    $this->post("tvp");
    In theory there is no difference between theory and practice. In practice there is.
      maandag 13 april 2009 @ 14:49:33 #5
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_67976550
    pi_67978592
    quote:
    Op maandag 13 april 2009 14:39 schreef slacker_nl het volgende:
    $this->post("tvp");
      dinsdag 14 april 2009 @ 14:15:39 #7
    107951 JortK
    Immer kwaliteitsposts
    pi_68007068
    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..
    pi_68007198
    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?
    pi_68007248
    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
    pi_68007375
    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
    pi_68016887
    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.
    pi_68017425
    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.
    pi_68018986
    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..
    pi_68019131
    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
    pi_68019513
    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.
    pi_68022333
    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;
        }
      }
    ?>
    Trotse poster van het 37000000ste bericht ^O^
    pi_68023198
    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);
      }
    One cannot make an omelette without
    breaking eggs -- but it is amazing how
    many eggs one can break without making
    a decent omelette.
    pi_68023766
    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
    Trotse poster van het 37000000ste bericht ^O^
    pi_68024507
    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()
    pi_68031456
    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
    pi_68032296
    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?
    Trotse poster van het 37000000ste bericht ^O^
    pi_68032712
    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
    pi_68032894
    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.
      woensdag 15 april 2009 @ 10:45:57 #25
    84926 WyriHaximus
    Release the hounds smithers!
    pi_68033035
    1
    2
    3
    4
    <?php
    $this
    ->Posts->create();
    $this->Posts->save(array('body' => 'TVP'));
    ?>
    phluphy for president!
    pi_68033091
    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..
    pi_68034121
    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.
      donderdag 16 april 2009 @ 09:57:22 #29
    4159 GI
    Nee ik heet geen JOE
    pi_68063061
    tvp
    pi_68076438
    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?
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_68077207
    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.
    pi_68091962
    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>
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_68093117
    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.
    pi_68093420
    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>
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
      vrijdag 17 april 2009 @ 02:59:58 #35
    32768 DionysuZ
    Respect my authority!
    pi_68095166
    1
    2
    3
    4
    5
    6
    <?
      if ($topic->title == "[PHP/(My)SQL] voor dummies - Deel 71") {
        require_once("/user/DionysuZ");
        $post = new tvp;
      }
    ?>
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
    pi_68101915
    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...
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_68103465
    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.
    pi_68104409
    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?
    Amsterdam, stad van hash en coke,
    Waar de vrouwen zich vrouwelijk gedragen..
    En de mannen ook..
    pi_68115651
    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 ]
    Trotse poster van het 37000000ste bericht ^O^
    pi_68118610
    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
    pi_68140790
    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?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_68141014
    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 ]
    Trotse poster van het 37000000ste bericht ^O^
    pi_68141460
    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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      zaterdag 18 april 2009 @ 16:20:29 #44
    87680 Mirel
    Mirel wil een bongophone.
    pi_68142075
    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.
    When all else fails, you always have delusion.
      zaterdag 18 april 2009 @ 19:39:48 #45
    32768 DionysuZ
    Respect my authority!
    pi_68147454
    staat agenda.php ook in pages/?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      zaterdag 18 april 2009 @ 19:55:54 #46
    87680 Mirel
    Mirel wil een bongophone.
    pi_68147953
    ja
    When all else fails, you always have delusion.
    pi_68148530
    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
      zaterdag 18 april 2009 @ 20:39:11 #48
    32768 DionysuZ
    Respect my authority!
    pi_68149390
    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".
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      zaterdag 18 april 2009 @ 21:30:04 #49
    32768 DionysuZ
    Respect my authority!
    pi_68151102
    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 ).
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      zaterdag 18 april 2009 @ 22:44:29 #50
    87680 Mirel
    Mirel wil een bongophone.
    pi_68153787
    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 ]
    When all else fails, you always have delusion.
      zaterdag 18 april 2009 @ 23:15:50 #51
    87680 Mirel
    Mirel wil een bongophone.
    pi_68154934
    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
    When all else fails, you always have delusion.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')