abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas zaterdag 3 juni 2006 @ 18:55:16 #1
1972 Swetsenegger
Egocentrische Narcist
pi_38509571

cd niet bijgeleverd

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

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

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

    PHP goodies
  • PHP5 Power Programming
    In dit boek uitleg over OOP, Pear, XML, etc

    Tutorials
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  •   FOK!-Schrikkelbaas zaterdag 3 juni 2006 @ 18:56:44 #2
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38509599
    Laatse twee replies
    quote:
    Op zaterdag 3 juni 2006 18:50 schreef SuperRembo het volgende:
    Als je alleen de parent-child relatie vastlegt in je database, dan kan je nooit in 1 query bepalen welke nodes er allemaal bij een bepaalde parent in een tree horen. Tenzij je van te voren vast legt hoe diep de tree maximaal gaat, maar fraai wordt je query dan niet.
    quote:
    Op zaterdag 3 juni 2006 18:52 schreef Swetsenegger het volgende:

    [..]

    misschien moet je eens hier naar kijken.
    Ik gebruik het zelf om hierarchische menu's te maken.
    pi_38509843
    quote:
    Op zaterdag 3 juni 2006 18:50 schreef SuperRembo het volgende:
    Als je alleen de parent-child relatie vastlegt in je database, dan kan je nooit in 1 query bepalen welke nodes er allemaal bij een bepaalde parent in een tree horen. Tenzij je van te voren vast legt hoe diep de tree maximaal gaat, maar fraai wordt je query dan niet.
    Ik bedoel ook meer; de hele tabel in een array zetten (geen WHERE-statements) en daarna met php de child-parent relatie berekenen en tonen.

    @Swets: Bedankt voor de link. Het ziet eruit als overkill voor waar ik het voor nodig heb. Ik wil alleen een handig overzicht hebben van hoe mijn site in elkaar zit, zoals hieronder:


    De layout is maar een test. Ik wil er nog wat links in zetten zodat ik makkelijk nodes kan verplaatsen, bewerken of verwijderen.
      FOK!-Schrikkelbaas zaterdag 3 juni 2006 @ 19:10:22 #4
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38509909
    quote:
    Op zaterdag 3 juni 2006 19:07 schreef Nevermind het volgende:

    [..]

    Ik bedoel ook meer; de hele tabel in een array zetten (geen WHERE-statements) en daarna met php de child-parent relatie berekenen en tonen.

    @Swets: Bedankt voor de link. Het ziet eruit als overkill voor waar ik het voor nodig heb. Ik wil alleen een handig overzicht hebben van hoe mijn site in elkaar zit, zoals hieronder:
    [afbeelding]

    De layout is maar een test. Ik wil er nog wat links in zetten zodat ik makkelijk nodes kan verplaatsen, bewerken of verwijderen.
    Het is helemaal geen overkill. Je tabel bestaat uit niet meer dan 3 velden: name, lft en rgt.
    En daarmee kan je alles. Met 1 query kan je alles uit je tabel trekken inc parent child relatie, oneindig diep
    pi_38510007
    quote:
    Op zaterdag 3 juni 2006 19:10 schreef Swetsenegger het volgende:

    [..]

    Het is helemaal geen overkill. Je tabel bestaat uit niet meer dan 3 velden: name, lft en rgt.
    En daarmee kan je alles. Met 1 query kan je alles uit je tabel trekken inc parent child relatie, oneindig diep
    Ik werd overdonderd door alle uitgebreide queries die er stonden (maar dat is eigenlijk copypastewerk)
    Iets beter bekeken, en het ziet er inderdaad erg handig uit. Ik ga het proberen te implementeren
    pi_38510026
    jups, en voor de handigheid kan je een depth field toevoegen om dat "oneindig" diep enigszins te beperken
      FOK!-Schrikkelbaas zaterdag 3 juni 2006 @ 19:26:31 #7
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38510312
    quote:
    Op zaterdag 3 juni 2006 19:14 schreef Nevermind het volgende:

    [..]

    Ik werd overdonderd door alle uitgebreide queries die er stonden (maar dat is eigenlijk copypastewerk)
    Iets beter bekeken, en het ziet er inderdaad erg handig uit. Ik ga het proberen te implementeren
    In het begin lijkt het heel moeilijk, maar het is inderdaad rete simpel
    kijk even op http://webshop.xploise.nl. Het menu is dus ook een hierarchische tabel.
    quote:
    Op zaterdag 3 juni 2006 19:15 schreef Roönaän het volgende:
    jups, en voor de handigheid kan je een depth field toevoegen om dat "oneindig" diep enigszins te beperken
    Precies, heb ik ook gedaan in sommige gevallen.
      zaterdag 3 juni 2006 @ 21:10:43 #8
    32768 DionysuZ
    Respect my authority!
    pi_38513130
    geweldig! een nieuw topic
    □ 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_38515223
    quote:
    Op zaterdag 3 juni 2006 19:10 schreef Swetsenegger het volgende:

    [..]

    Het is helemaal geen overkill. Je tabel bestaat uit niet meer dan 3 velden: name, lft en rgt.
    En daarmee kan je alles. Met 1 query kan je alles uit je tabel trekken inc parent child relatie, oneindig diep
    Wat ik me dan afvraag. Met een directe parent <--> child relatie heb je weinig updates nodig, maar wat ik van dit relationeel model heb begrepen is dat als je ergens een item wilt plaatsen, je bijvoorbeeld alle 'right' waardes moet ophogen? Is dat niet funest als je een grote database hebt met veel updates? (vb; reacties op T.net frontpage)

    Oh, in het geval dat ik dit ooit eerder heb gevraagd: tvp
      FOK!-Schrikkelbaas zaterdag 3 juni 2006 @ 22:36:04 #10
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38515552
    quote:
    Op zaterdag 3 juni 2006 22:25 schreef JeRa het volgende:

    [..]

    Wat ik me dan afvraag. Met een directe parent <--> child relatie heb je weinig updates nodig, maar wat ik van dit relationeel model heb begrepen is dat als je ergens een item wilt plaatsen, je bijvoorbeeld alle 'right' waardes moet ophogen?
    alle lft EN rgt waardes 'rechts' van het in te voegen produkt inderdaad
    quote:
    Is dat niet funest als je een grote database hebt met veel updates? (vb; reacties op T.net frontpage)
    Dat denk ik ook, maar reacties op een topic zou ik niet op deze manier hierarchisch opslaan. Ik denk dat dit model mooi is wanneer er meerdere levels zijn, als er alleen direkte parent <-> child relaties zijn kan je beter met een koppeltabelletje werken lijkt me.
    quote:
    pi_38520509
    quote:
    Op zaterdag 3 juni 2006 21:10 schreef DionysuZ het volgende:
    geweldig! een nieuw topic
    Ja, PHP blijft populair he
    pi_38523560
    quote:
    Op zondag 4 juni 2006 02:02 schreef fokME2 het volgende:

    [..]

    Ja, PHP blijft populair he
    zkers

    verkapte tvp....
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_38537183
    quote:
    Op zondag 4 juni 2006 11:02 schreef Chandler het volgende:

    [..]

    zkers

    verkapte tvp....
    De tijd in je avatar loopt een uur voor.
    pi_38544824
    Is er toevallig iemand met een beetje verstand van FPDF? Mij lukt het namelijk niet om in mijn script genereerd ie de header/footer niet, wat doe ik verkeerd?
    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
    <?php
    require('fpdf/fpdf.php');

    class PDF extends FPDF
    {
       //Page header
       function Header()
       {
          $this->SetFont('Arial');
          $this->Cell(0,5,'txt',B,0,'R');
          $this->Ln(20);
       }

       //Page footer
       function Footer()
       {
          $this->SetFont('Arial','',10);
          $this->SetY(-15);
          $this->Cell(0,5,'txt',T,0,'L');
          $this->Ln(20);
       }
    }

    //Instanciation of inherited class

    $pdf = new FPDF();

    $pdf->AddPage();
    $pdf->SetFont('Times','B',12);

    $pdf->Cell(40,10,'Hello World!');

    $pdf->Output();
    ?>
    pi_38551878
    @Da_Koen

    Als je een class extend moet je natuurlijk wel een instantie maken van de extended class, en niet van de parent class

    $pdf = new PDF();
    pi_38568328
    Ben ik weer

    De volgende code:
    1
    2
    3
    $sql_query = "SELECT * FROM users WHERE naam='$ActUser' AND wachtwoord='$MemCookPW'";
    $result = mysql_query($sql_query);
    if(mysql_num_rows($result) < 1) {die($text); }


    Geeft als resultaat:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/home/jeroen/www/profiel/quote.php on line 44
    Wachtwoord en/of gebruikersnaam onjuist. Probeer nogmaals.

    (er worden dus ook 0 rijen terug gestuurd).

    Wat doe ik hier verkeerd?
    pi_38569010
    Het lijkt erop dat er een fout in de query zit. Ik kan alleen niet zien waar precies.
      maandag 5 juni 2006 @ 20:00:18 #18
    16466 BloodhoundFromHell
    ---------------------
    pi_38569122
    Ik heb een vraagje. Als ik een mysql database importeer krijg ik de volgende error:

    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
     Server: localhost 
    Error
    SQL query: 

    -- phpMyAdmin SQL Dump
    -- version 2.8.1
    -- http://www.phpmyadmin.net
    -- 
    -- Host: localhost
    -- Generatie Tijd: 05 Jun 2006 om 19:53
    -- Server versie: 5.0.21
    -- PHP Versie: 5.1.4
    -- 
    -- Database: `test`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Tabel structuur voor tabel `producten`
    -- 
    CREATE TABLE `producten` (

    `item` int( 11 ) NOT NULL AUTO_INCREMENT ,
    `naam` text CHARACTER SET ascii COLLATE ascii_bin NOT NULL ,
    `prijs` text CHARACTER SET ascii COLLATE ascii_bin NOT NULL ,
    PRIMARY KEY ( `item` ) 
    ) ENGINE = MYISAM DEFAULT CHARSET = latin1 COLLATE = latin1_general_ci AUTO_INCREMENT =4;


    MySQL said:  

    #1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'character set ascii collate ascii_bin NOT NULL,
      `prijs` text 

    [ Back ]   


    Ik snap er geen biet van ,want de export komt gewoon ook van een mysql database die ik lokaal heb geinstalleerd. Ik heb compatabiliy gezet op mysql 4.0 (remote draait mysql 4.0 en lokaal draai ik mysql 5.0)
    (__/)
    (='.'=)
    (")_(")
    pi_38569232
    quote:
    Op maandag 5 juni 2006 20:00 schreef BloodhoundFromHell het volgende:
    Ik heb een vraagje. Als ik een mysql database importeer krijg ik de volgende error:
    [ code verwijderd ]

    Ik snap er geen biet van ,want de export komt gewoon ook van een mysql database die ik lokaal heb geinstalleerd. Ik heb compatabiliy gezet op mysql 4.0 (remote draait mysql 4.0 en lokaal draai ik mysql 5.0)
    Weet je zeker dat je die compatibility goed hebt gezet? MySQL 4.0 verslikt zich in "CHARACTER SET ascii COLLATE ascii_bin".
    pi_38569345
    quote:
    Op maandag 5 juni 2006 19:57 schreef Light het volgende:
    Het lijkt erop dat er een fout in de query zit. Ik kan alleen niet zien waar precies.
    ben er al uit, forum gebruikt engelse namen voor de velden...
      maandag 5 juni 2006 @ 20:08:15 #21
    16466 BloodhoundFromHell
    ---------------------
    pi_38569451
    @Light, schijnbaar had ik dat idd toch niet goed gedaan, nu werkt het , bedankt iig.
    (__/)
    (='.'=)
    (")_(")
      maandag 5 juni 2006 @ 22:32:49 #22
    16466 BloodhoundFromHell
    ---------------------
    pi_38575358
    weet iemand een gratis programmatje om access databases over te zetten naar mysql?? ik kan alleen maar betaalde programmas vinden
    (__/)
    (='.'=)
    (")_(")
      FOK!-Schrikkelbaas maandag 5 juni 2006 @ 22:49:31 #23
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38575951
    quote:
    Op maandag 5 juni 2006 22:32 schreef BloodhoundFromHell het volgende:
    weet iemand een gratis programmatje om access databases over te zetten naar mysql?? ik kan alleen maar betaalde programmas vinden
    Ik weet niet wat dit doet, maar 'migration toolkit' geeft hoop: http://dev.mysql.com/downloads/migration-toolkit/1.0.html
      maandag 5 juni 2006 @ 22:59:33 #24
    16466 BloodhoundFromHell
    ---------------------
    pi_38576368
    thanks, ga ik proberen. Ik was al een eind op weg ,ik zag dat je met mijn lokaal geinstalleerde mysql 5021/phpadmin2.81 kun je ook csv importeren, die kan ik dan weer overzetten naar de mysql 4.027/phpadmin2.80 op de server (waar dat niet in kan) , zo kom ik ook een eind.
    (__/)
    (='.'=)
    (")_(")
      maandag 5 juni 2006 @ 23:43:45 #25
    74523 BaggerUser
    ModderFokker!
    pi_38577962
    hallooo
    ik heb een FF probleem en het is een combinatie van php javascript en xhtml maar waarsch komt het hier ook wel goed

    het probleem kan je zien op
    http://rolfbroer.nl/aftrap/admin.php

    login met
    login: rolf
    ww: broer

    en probeer een nieuwe gebruiker aan te maken.
    in ie doet het het wel

    in ff kan je zodra je iets hebt ingevuld wel op de submit knop drukken maar hij submit het niet ?
    ik snap niet waar dit probleem vandaan komt

    de pagina's die hier iets mee te maken hebben zijn te downloaden op
    http://rolfbroer.nl/aftrap/aftrap.zip

    het gaat dus om de bestanden:
    admin/content/newuser.php
    en de 2 bestanden in de map ajax

    misschien dat jullie het een te ingewikkeld probleem vinden en ik kan moeilijk de 3 bestanden hier gaan uitleggen maar iedergeval bedankt voor als jullie een poging wagen!
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_38578542
    Dit lijkt me een javascript / AJAX probleem, niet een php probleem. En dan preciezer bij
    1xmlHttp=GetXmlHttpObject(stateChanged)


    IE en FF / Safari gebruiken verschillende methodes om dat xmlHttp ding te maken. Een leuk voorbeeld staat hier.
      dinsdag 6 juni 2006 @ 00:05:36 #27
    74523 BaggerUser
    ModderFokker!
    pi_38578625
    maar FF pakt wel de andere button het enige verschil is dat submitten niet meer kan dan ?
    dus i vraag me af of het een echt ajax probleem is hoor ?
    De enige echte BaggerUser!
    Riemen
    fiets kopen
      dinsdag 6 juni 2006 @ 00:12:08 #28
    32768 DionysuZ
    Respect my authority!
    pi_38578859
    voordat je gaat sleutelen in je AJAX code, zou het niet heel simpel kunnen zijn dat je form niet werkt in deze browsers omdat er geen 'action' attribuut is?
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      dinsdag 6 juni 2006 @ 00:13:12 #29
    32768 DionysuZ
    Respect my authority!
    pi_38578887
    quote:
    Op dinsdag 6 juni 2006 00:03 schreef Light het volgende:
    Dit lijkt me een javascript / AJAX probleem, niet een php probleem. En dan preciezer bij
    [ code verwijderd ]

    IE en FF / Safari gebruiken verschillende methodes om dat xmlHttp ding te maken. Een leuk voorbeeld staat hier.

    1xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      dinsdag 6 juni 2006 @ 00:17:05 #30
    74523 BaggerUser
    ModderFokker!
    pi_38579003
    1xmlHttp=GetXmlHttpObject(stateChanged)


    moet worden dus?

    1xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");


    want dat helpt dus niet...

    en als ik er een action in zet helpt het ook niet
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_38579069
    quote:
    Op dinsdag 6 juni 2006 00:05 schreef BaggerUser het volgende:
    maar FF pakt wel de andere button het enige verschil is dat submitten niet meer kan dan ?
    dus i vraag me af of het een echt ajax probleem is hoor ?
    Hmm... goed punt
      dinsdag 6 juni 2006 @ 00:21:34 #32
    32768 DionysuZ
    Respect my authority!
    pi_38579143
    het probleem komt me bekend voor. Ik heb het gehad bij input velden die ik had gedisabled. Die werden niet doorgegeven. Probeer eens om disabled='true' weg te laten en mbv javascript te disablen/enablen
    □ Reality is merely an illusion,albeit a very persistent one-A.Einstein
    ■ Of ik ben gek of de rest van de wereld.Ik denk zelf de rest van de wereld-Rudeonline
    □ The war is not meant to be won.It is meant to be continuous-G.Orwell
      dinsdag 6 juni 2006 @ 11:04:17 #33
    74523 BaggerUser
    ModderFokker!
    pi_38585022
    quote:
    Op dinsdag 6 juni 2006 00:21 schreef DionysuZ het volgende:
    het probleem komt me bekend voor. Ik heb het gehad bij input velden die ik had gedisabled. Die werden niet doorgegeven. Probeer eens om disabled='true' weg te laten en mbv javascript te disablen/enablen
    hey je hebt gelijk als ik dat weglaat en het met behulp van javascrit eable en disable werkt het
    De enige echte BaggerUser!
    Riemen
    fiets kopen
    pi_38594851
    Ik heb een klein probleempje. In 1 tabel in een database zit een menustructuur waarbij sommige records wel een waarde hebben bij "hoort_bij" (en daarmee verwijzen naar het hogere menu waar ze onder vallen) en anderen niet.

    Ik heb de volgende code:
    1
    2
    3
       $getoonde_cpas[$cpa_id] =  array(<knip van alles>);
       $teller = 1; // geeft niveau aan waarop gezocht gaat worden
       haal_niveau_lager($getoonde_cpas[$cpa_id], $teller);


    En de 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
       function haal_niveau_lager($menu_array, $teller)
       {
          if ($teller == 5)
          {// meer dan 5 niveau's diep hoort niet voor te komen
             return $menu_array;
          }
          $vv_id_menu = $menu_array[0];
          $sql = "SELECT DISTINCT <zooi velden> FROM menu WHERE hoort_bij='" . $vv_id_menu . "'";
          if(!($result = mysql_query($sql)))
          {
             fout("database fout: [$sql][" . mysql_error() . "]");
          }
          $menus = array();
          while($myrow = mysql_fetch_assoc($result))
          {
             $menus[] =  array(<zooi velden>);
          }
          reset($menus);
          if (!empty($menus))
          {
             $menu_array["lagere_menus"] = $menus;
          }
          print_r($menu_array);
          if (isset($menu_array["lagere_menus"]))
          {
             for ($j = 0; $j < count($menu_array["lagere_menus"]); $j++)
             {
                $menu_array["lagere_menus"][$j] = haal_niveau_lager($menu_array["lagere_menus"][$j], $teller+1);
             }
          }
          return $menu_array;
       }

    Door het statement print_r($menu_array) weet ik dat de koppeling van een lager niveau aan een hoger niveau op zich werkt, maar ... de array getoonde_cpas bestaat uiteindelijk slechts uit het allerhoogste niveau, kortom de gegevens die worden opgehaald bij de recursieve aanroepen worden niet teruggegeven aan de origineel aanroepende array. En dat is nou net wel de bedoeling ...
    Er staat vast maar 1 klein foutje in, maar ja, wat??
    Democratie is iets waar politici over praten zoals een hoer over de liefde
      dinsdag 6 juni 2006 @ 17:47:41 #35
    114531 TheUnreal
    Zo ja, waarom niet?
    pi_38597285
    Waar kan ik tegenwoordig de apache webserver voor win32 vinden

    Op apache.org staat alleen de source ?! Of ben ik nou blind..
    pi_38597433
    quote:
    Op dinsdag 6 juni 2006 17:47 schreef TheUnreal het volgende:
    Waar kan ik tegenwoordig de apache webserver voor win32 vinden

    Op apache.org staat alleen de source ?! Of ben ik nou blind..
    "Other Files" > "Binaries"
      FOK!-Schrikkelbaas dinsdag 6 juni 2006 @ 21:01:00 #37
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38605043
    Waarom geeft dit
    1
    2
    3
    4
    5
    6
    foreach($config as $line){
       $configfile .= $line."\r\n";
    }
    $fp=fopen('file.php','w+');
    fwrite($fp,$configfile);
    fclose($fp);


    11\r\n4\r\n8\r\n

    terug in plaats van de verwachtte

    1
    2
    3
    1
    4
    8



    -edit-
    1$fp=fopen('file.php','wb+');

    hiermee werkt het wel

    [ Bericht 10% gewijzigd door Swetsenegger op 06-06-2006 21:17:13 ]
    pi_38607932
    Ik heb een probleem waar ik niet helemaal uitkom. Ik heb een database met daarin tekst en de titel van de pagina. Nou hebben sommige titels wat vreemde teksten die geen juiste URL teruggeven. Dus codeer ik de titel dmv URLencode.
    Werkt allemaal goed. Alleen heb ik ook een titel met een single quote en daar loopt het op stuk. URLencode maakt hiervan %27 dus er staat geen single quote meer in de query maar desondanks werkt dit toch niet in een query. Hoe kan ik dit proleem verhelpen?
      FOK!-Schrikkelbaas dinsdag 6 juni 2006 @ 22:08:31 #39
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38608079
    urldecode?
    pi_38609077
    quote:
    Op dinsdag 6 juni 2006 22:08 schreef Swetsenegger het volgende:
    urldecode?
    Dat is niet wat ik bedoel. Ik gebruik nu URLencode en decode op mijn pagina om het menu op te bouwen en dingen uit de database te halen. Ik heb nu query met een WHERE clasule waarin ik bv naar mijnmenuitems vraag, foto%27s is daar een van. Alleen kan ik deze niet uitvoeren. interpreteert MYSQL %27 als een single quote?


    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
    pi_38610836
    @ExCibular

    Wat er in de URI staat wordt door PHP op de juiste manier geparset, daar hoef je je geen zorgen over te maken. Je krijgt dus gewoon een single quote in plaats van de code hiervoor (%27).

    Waar je wel zorgen over moet maken is SQL injection in je queries je moet zoiets doen:

    1
    2
    $query = 'SELECT etc WHERE titel = \'' . mysql_real_escape_string($titel) . '\' etc';
    $result = mysql_query($query);


    Op die manier wordt de quote op de juiste manier geëscapet
    pi_38613591
    quote:
    Op dinsdag 6 juni 2006 23:03 schreef JeRa het volgende:
    @ExCibular

    Wat er in de URI staat wordt door PHP op de juiste manier geparset, daar hoef je je geen zorgen over te maken. Je krijgt dus gewoon een single quote in plaats van de code hiervoor (%27).

    Waar je wel zorgen over moet maken is SQL injection in je queries je moet zoiets doen:
    [ code verwijderd ]

    Op die manier wordt de quote op de juiste manier geëscapet
    Dank je wel dat is de oplossing waar ik naar op zoek was!
    Ik heb het volgende idee waar ik mee bezig ben. Als een pagina laadt wordt met behulp van php en mysql een array gemaakt met daarin menuitems en titels. Die array wordt vervolgens voor allerlei dingen gebruikt oa. de horizontale navigatie (dropdown menu) en verticale navigatie binnen het betreffende menu aan de rechterkant, breadcumps etc.

    Deze array wordt ook gebruikt om de ingevoerde string die ik uit de URI haal te matchen met een onderdeel in de array, komen ze overeen dan mag de mysql query worden uitgevoerd en worden diverse variabelen aangemaakt, komt hij niet overeen dan laat hij een 404 pagina zien.
    Dat was mij idee om SQL injection tegen te gaan.

    Nogmaals bedankt.
    pi_38613755
    quote:
    Op woensdag 7 juni 2006 00:32 schreef ExCibular het volgende:
    Dat was mij idee om SQL injection tegen te gaan.
    Prima opzet, door de input te valideren met een door jou gedefinieerde array voorkom je ook dat mensen iets in je query kunnen plaatsen nog veiliger zou zijn als je titels gekoppeld zouden zijn aan een unieke integer (een AUTO_INCREMENT UNSIGNED INT wellicht) zodat er geen sprake is van strings in de query
    pi_38617892
    Ik heb een aantal stukjes code in een database staan in gewoon textformaat. Met welke functie kan ik PHP dit stukje tekst laten verwerken?

    dusseh, voorbeeldje:
    1
    2
    3
    foreach ($array as $key => $value){
    echo $key." - ".$value."<br>";
    }


    en dan php het laten uitvoeren
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_38618152
    Ik heb een functie bedacht om een datum om te zetten en te laten zien wanneer iets is gemaakt.

    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
    <?php
    function datetotext($date)
    {
        
    $time = substr($date, 11, 15);
        
    $date = substr($date, 0, 10);
        
    $now            = time();
        
    $day_time       = 60*60*24;
        
        list(
    $post_year, $post_month, $post_day)    = explode("-", $date);
        list(
    $post_hour, $post_minit, $post_second) = explode(":", $time);

        
    $post_date       = mktime (0, 0, 0, $post_month, $post_day, $post_year);
        
    $today_date      = mktime (0, 0, 0, date("m"), date("d"), date("y"));
        
    $yesterday_date  = mktime (0, 0, 0, date("m"), date("d"), date("y")) - $day_time;
        
    $week_date       = date("w", mktime (0, 0, 0, $post_month, $post_day, $post_year));
        
    $today_year_time = mktime (0, 0, 0, 0, 0, date("y"));
        
    $post_year_time  = mktime (0, 0, 0, 0, 0, $post_year);

        
    $dagen   = array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
        
    $maanden = array(1  =&gt; "januari",
                         
    2  =&gt; "februari",
                         
    3  =&gt; "maart",
                         
    4  =&gt; "april",
                         
    5  =&gt; "mei",
                         
    6  =&gt; "juni",
                         
    7  =&gt; "juli",
                         
    8  =&gt; "augustus",
                         
    9  =&gt; "september",
                         
    10 =&gt; "oktober",
                         
    11 =&gt; "november",
                         
    12 =&gt; "december");

        
    $post_curr_day = $dagen[intval($week_date)];
        
    $post_curr_mnt = $maanden[intval($post_month)];
        if (
    $post_month == "01")
        {
            
    $post_prev_mnt = $maanden[12];
        }
        else
        {
            
    $post_prev_mnt = $maanden[intval($post_month) -1];
        }

        if (
    $today_date == $post_date)
        {
            
    // vandaag "vandaan om 10:10"
            
    return "vandaag om " . date("H:i", mktime($post_hour, $post_minit, $post_second, $post_month, $post_day, $post_year));
        }
        elseif (
    $post_date == $yesterday_date)
        {
            
    // gisteren " gisteren om 10:10 "
            
    return "gisteren om " . date("H:i", mktime($post_hour, $post_minit, 0, 0, $post_month, $post_day, $post_year));
        }
        elseif (
    $post_year_time == $today_year_time && $post_month == date("m") -1)
        {
            
    // vorige maand " vorige maand op maandag 1 januari om 10:10 "
            
    return "vorige maand op " . $post_curr_day . " " . $post_day . " " . $post_prev_mnt . " om " . $post_hour . ":" . $post_minit;
        }
        elseif (
    $post_year_time == $today_year_time)
        {
            
    // zelfde jaar " op Maandag 1 januari om 10:10"
            
    return "op " . $post_curr_day . " " . $post_day . " " . $post_curr_mnt . " om " . $post_hour . ":" . $post_minit;
        }
        else
        {
            
    // vorig jaar " op Maandag 1 januari 1999 om 10:10"
            
    return "op " . $post_curr_day . " " . $post_day . " " . $post_curr_mnt . " " . $post_year . " om " . $post_hour . ":" . $post_minit;
        }

    }
    ?>


    deze functie retourneerd vandaag om 11:11 of gisteren om 10:10 etc... maar post deze om 2 redenen. Misschien dat iets gemakkelijker zou kunnen en b. of mensen nog toevoegingen zouden weten!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 10:35:57 #46
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38618719
    quote:
    Op woensdag 7 juni 2006 10:02 schreef Desdinova het volgende:
    Ik heb een aantal stukjes code in een database staan in gewoon textformaat. Met welke functie kan ik PHP dit stukje tekst laten verwerken?

    dusseh, voorbeeldje:
    [ code verwijderd ]

    en dan php het laten uitvoeren
    include

    edit, ow in database.... even denken
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 10:54:52 #47
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38619197
    Ik heb trouwens het plan opgevat om voor een bepaald project een automatische uitrol van updates te gaan bouwen.

    Het probleem is alleen dat de code en opmaak nog niet strict gescheiden zijn (Dat is wel op te lossen) ik geen OOP beheers en de verschillende websites subtiel in code verschillen.

    Vooral die laatste flexibiliteit is belangrijk. Ik wil geen produkt maken waarbij met een template parser de kleurtjes en logootjes aan te passen zijn. Ik moet dus al een generic_functions.php en site_specific_functions.php maken. waarbij de laatste op een update server per site kan verschillen natuurlijk.

    Op dit moment ben ik bezig zoveel mogelijk code en opmaak te scheiden. Ik heb nog nooit wat met een template parser gedaan. Gelukkig is de meeste code goed in een functie te zetten (en is dat ook handig omdat het op meerdere plekken gebruikt wordt).

    Versie controlle tussen website en upgrade server werkt al. Ik zit alleen met het pushen of pullen van de update files en hoe ik dat ga aanpakken.

    Op- en aanmerkingen zijn welkom
    pi_38620219
    quote:
    Er staat vast maar 1 klein foutje in, maar ja, wat??
    function haal_niveau_lager(&$menu_array, $teller)

    Zucht, 1 klein foutje inderdaad ...
    Democratie is iets waar politici over praten zoals een hoer over de liefde
    pi_38620793
    quote:
    Op woensdag 7 juni 2006 10:35 schreef Swetsenegger het volgende:

    [..]

    include

    edit, ow in database.... even denken
    eval() is het waarschijnlijk
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_38626055
    quote:
    Op woensdag 7 juni 2006 11:57 schreef Desdinova het volgende:

    [..]

    eval() is het waarschijnlijk
    Maar dat is natuurlijk niet zo netjes?

    Waarom heb je eigenlijk phpcode die je wil uitvoeren in je database staan?
      woensdag 7 juni 2006 @ 15:16:13 #51
    85514 ralfie
    !Yvan eht nioj
    pi_38626556
    Ik ben er vandaag achter gekomen dat je voorzichtig moet zijn met het chmod commando...
    Op de een of andere manier heb ik het voor mekaar gekregen om de hele directory waar mijn site in staat the chmodden naar 0. Omdat mijn ssh connectie niet eens bij de directory kan die gechmod is (ik upload naar een subdir van de gechmodde directory), en geen php werkt (de hele site is nu onzichbaar) is er geen manier voor mij om het ongedaan te maken behalve door een mailtje te sturen naar de helpdesk

    Ik denk ik waarschuw maar even voor het geval er nog grotere mongolen als ik de toegang tot php hebben
    pi_38627703
    @ralfie

    Met je SSH-connectie moet je gewoon kunnen inloggen en de rechten weer goed zetten. Jij kunt namelijk alle bestanden en directories waarvan jij de eigenaar bent chmodden. Kun je dit niet, dan moet jouw webhoster nog eens ernstig nadenken over hun opzet
    pi_38627717
    quote:
    Op woensdag 7 juni 2006 14:57 schreef fokME2 het volgende:
    Waarom heb je eigenlijk phpcode die je wil uitvoeren in je database staan?
    Dat dus.
    pi_38627802
    quote:
    Op woensdag 7 juni 2006 10:54 schreef Swetsenegger het volgende:
    Versie controlle tussen website en upgrade server werkt al. Ik zit alleen met het pushen of pullen van de update files en hoe ik dat ga aanpakken.

    Op- en aanmerkingen zijn welkom
    Hoe laat je de updates uitvoeren? Via de webserver? Besef dan dat alle bestanden door de webserver schrijfbaar moeten zijn, en dat dit als standaardinstelling natuurlijk niet echt veilig is om een website op te laten draaien. Beter lever je zo'n updatesysteem buiten de webroot om, waarbij er goed wordt gekeken naar de rechten van de bestanden
      woensdag 7 juni 2006 @ 16:13:18 #55
    85514 ralfie
    !Yvan eht nioj
    pi_38627989
    quote:
    Op woensdag 7 juni 2006 16:01 schreef JeRa het volgende:
    @ralfie

    Met je SSH-connectie moet je gewoon kunnen inloggen en de rechten weer goed zetten. Jij kunt namelijk alle bestanden en directories waarvan jij de eigenaar bent chmodden. Kun je dit niet, dan moet jouw webhoster nog eens ernstig nadenken over hun opzet
    Nee, de map waar ik denk dat het probleem zit is hoger als de hoogste map waar ik met SSH kan komen...Ik hoop alleen dat er iemand bij die helpdesk zit die weet wat chmodden is, anders zal het nog wel even duren voordat de site weer werkt
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 16:33:52 #56
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38628630
    quote:
    Op woensdag 7 juni 2006 16:04 schreef JeRa het volgende:

    [..]

    Hoe laat je de updates uitvoeren? Via de webserver? Besef dan dat alle bestanden door de webserver schrijfbaar moeten zijn, en dat dit als standaardinstelling natuurlijk niet echt veilig is om een website op te laten draaien. Beter lever je zo'n updatesysteem buiten de webroot om, waarbij er goed wordt gekeken naar de rechten van de bestanden
    Nee de website trekt een changelog van de update server. en de php moet vervolgens bv function.php aanpassen dmv file() en fwrite endergelijke.

    Hoe bedoel je buiten de webroot om?
    pi_38628808
    quote:
    Op woensdag 7 juni 2006 16:33 schreef Swetsenegger het volgende:

    [..]

    Nee de website trekt een changelog van de update server. en de php moet vervolgens bv function.php aanpassen dmv file() en fwrite endergelijke.
    Dus alle bestanden en directories moeten writable voor de webserver zijn. In het geval van een exploit kunnen kwaadwilligen dan dus eigen PHP-files wegschrijven?
    quote:
    Hoe bedoel je buiten de webroot om?
    De webserver heeft meestal een webroot voor een website wat de hoogst mogelijke directory is waar een bezoeker bestanden mag opvragen. Door een updatescript buiten deze webroot via bv. SSH uit te voeren zou je mogelijke exploits al kunnen voorkomen, maar als je het via de website wilt doen is daar dus geen sprake van.
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 16:44:34 #58
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38629010
    quote:
    Op woensdag 7 juni 2006 16:39 schreef JeRa het volgende:

    [..]

    Dus alle bestanden en directories moeten writable voor de webserver zijn. In het geval van een exploit kunnen kwaadwilligen dan dus eigen PHP-files wegschrijven?
    Neuh, specifieke website bestanden moeten inderdaad writable zijn. Niet alles. Maar dat is inderdaad een risico ja...
    quote:
    De webserver heeft meestal een webroot voor een website wat de hoogst mogelijke directory is waar een bezoeker bestanden mag opvragen. Door een updatescript buiten deze webroot via bv. SSH uit te voeren zou je mogelijke exploits al kunnen voorkomen, maar als je het via de website wilt doen is daar dus geen sprake van.
    Ik snap nog steeds niet hoe je buiten die webroot bestanden IN de webroot wilt updaten?

    misschien wat extra uitleg. Het is dus de bedoeling dat de te updaten website dmv een versie check controleert of een update beschikbaar is.
    Zoja, krijgt de eigenaar de mogelijkheid om 'update' te klikken.

    Dat gaat verwijzen naar een pagina, bv update.php die een changelog van de centrale server moet pullen. Dit zal een xml ofzo zijn, waarmee update.php vervolgens de bestanden gaat updaten welke hieraan onderhevig zijn ( ).

    Update.php heeft dus alleen 'inhoud' als er een update is. En die zal bij elke update anders zijn. De logica voor de update wil ik zoveel mogelijk op de website zelf hebben. Ik wil dus een functie 'add_menu_item' en 'add_page' maken of iets dergelijks. Indien de changelog aangeeft dat een bepaalde pagina gemaakt moet worden, zal de functie op de website die pagina aanmaken (en dus de menu verwijzing naar die pagina).

    Maar als ik hier over nadenk is dat inderdaad wel vragen om exploits natuurlijk

    -edit2-
    Ik kan alle logica natuurlijk ook op de update server houden, welke vervolgens de geupdate bestanden dmv ssh of ftp de onderhevige server op pushed. Dat bedoel jij waarschijnlijk JeRa?

    Het probleem is alleen dat elke website subtiel kan verschillen. Vandaar dat ik de update logica per website wilde schrijven en toevoegen AAN die website.

    Ik kan nu nog alle kanten op (min of meer) dus alle op- en aanmerkingen zijn welkom.

    [ Bericht 18% gewijzigd door Swetsenegger op 07-06-2006 17:06:43 ]
    pi_38630011
    quote:
    Op woensdag 7 juni 2006 16:44 schreef Swetsenegger het volgende:
    Het probleem is alleen dat elke website subtiel kan verschillen. Vandaar dat ik de update logica per website wilde schrijven en toevoegen AAN die website.
    Dit is denk ik zodanig moeilijk (zeker bij meerdere websites tegelijk) dat je echt een gruwelijk goed gedocumenteerde opzet moet hebben om dit vlekkeloos voor elkaar te krijgen je moet namelijk per website weten welke bestanden wat bevatten, en waar je vanaf moet blijven om de boel niet kapot te maken.
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 17:21:25 #60
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38630334
    quote:
    Op woensdag 7 juni 2006 17:12 schreef JeRa het volgende:

    [..]

    Dit is denk ik zodanig moeilijk (zeker bij meerdere websites tegelijk) dat je echt een gruwelijk goed gedocumenteerde opzet moet hebben om dit vlekkeloos voor elkaar te krijgen je moet namelijk per website weten welke bestanden wat bevatten, en waar je vanaf moet blijven om de boel niet kapot te maken.
    Daarom maak ik 'generic' files, die zijn voor elke website hetzelfde en zullen het meeste aanpassing vereissen. En daarnaast nog site specifieke files, welke dus met logica OP de website aangepast kunnen worden (de generic files is een kwestie van gewoon overschrijven en kan vanaf de update server).

    Het zal dus ook simpelweg niet mogelijk zijn om ALLE updates automatisch uit te rollen.

    Maar ik heb nu 1 website 'life' draaien en 1 test website.
    En ik merk nu vaak dat ik kleine verbeteringen heb doorgevoerd, die ik redelijk eenvoudig aan de live website kan toevoegen/doorvoeren/aanpassen maar ik dat a. vaak vergeet of b. Twee weken later eens oppak en dan bv 1 paginaatje vergeet te updaten (Ow ja... die moest ook nog)

    Maar mbt de exploits, nog ideeen?
    pi_38630695
    quote:
    Op woensdag 7 juni 2006 17:21 schreef Swetsenegger het volgende:
    Maar mbt de exploits, nog ideeen?
    Geen, eigenlijk. Gewoon ervoor zorgen dat je geen exploits toestaat door bugvrije scripts te schrijven
    pi_38631801
    ik zit weer es vast Ik wil 2 velden selecteren, waarvan 1 een naam en 1 een getal. Nu wil ik dat uiteindelijk alle getallen bij elkaar opgeteld zijn, per naam, en gesorteerd. Dus stel ik heb 3 LeeHarveyOswalds, en 2 JeRa's, dan zou ik graag de leeftijden van al deze opgeteld willen zien, gesorteerd ophoeveelheid
      woensdag 7 juni 2006 @ 18:28:56 #63
    32768 DionysuZ
    Respect my authority!
    pi_38632390
    quote:
    Op woensdag 7 juni 2006 18:09 schreef LeeHarveyOswald het volgende:
    ik zit weer es vast Ik wil 2 velden selecteren, waarvan 1 een naam en 1 een getal. Nu wil ik dat uiteindelijk alle getallen bij elkaar opgeteld zijn, per naam, en gesorteerd. Dus stel ik heb 3 LeeHarveyOswalds, en 2 JeRa's, dan zou ik graag de leeftijden van al deze opgeteld willen zien, gesorteerd ophoeveelheid
    group by?
    iets als SELECT SUM(getal),naam FROM bla GROUP BY naam
    □ 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_38632393
    quote:
    Op woensdag 7 juni 2006 18:09 schreef LeeHarveyOswald het volgende:
    ik zit weer es vast Ik wil 2 velden selecteren, waarvan 1 een naam en 1 een getal. Nu wil ik dat uiteindelijk alle getallen bij elkaar opgeteld zijn, per naam, en gesorteerd. Dus stel ik heb 3 LeeHarveyOswalds, en 2 JeRa's, dan zou ik graag de leeftijden van al deze opgeteld willen zien, gesorteerd ophoeveelheid
    1
    2
    3
    4
    SELECT naam, SUM(leeftijd) AS leeftijd_totaal
    FROM mensen
    GROUP BY naam
    ORDER BY COUNT(naam) ASC
    pi_38632446
    geweldig, tq
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 19:16:02 #66
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38633746
    quote:
    Op woensdag 7 juni 2006 17:32 schreef JeRa het volgende:

    [..]

    Geen, eigenlijk. Gewoon ervoor zorgen dat je geen exploits toestaat door bugvrije scripts te schrijven
    Ja precies
    Of heb je een betere manier voor mij om dit aan te pakken?
    Dus, push vanaf update server of pull vanaf website. Of nog iets anders?
    pi_38634245
    quote:
    Op woensdag 7 juni 2006 19:16 schreef Swetsenegger het volgende:

    [..]

    Ja precies
    Of heb je een betere manier voor mij om dit aan te pakken?
    Dus, push vanaf update server of pull vanaf website. Of nog iets anders?
    Een pull vanaf de website lijkt me het beste; omdat je de administrator dan ook inzicht kunt geven in de veranderingen (en bv. een diff kunt tonen als de eigenaar wijzigingen heeft aangebracht in het script ). Bij een push gaat dat nogal geforceerd en geef je de eigenaar weinig vrijheid.

    Je moet rekening houden met het feit dat de webserver dus de eigenaar moet zijn van de bestanden die worden gewijzigd; dus ofwel alles onder de user van de webserver scharen of ervoor zorgen dat de webserver draait onder de juiste gebruiker. Zodra je gaat updaten alle directories en files waarbij het nodig is chmodden, aanpassen en weer terug chmodden naar een staat waarbij ze niet aanpasbaar zijn. Mogelijk vóórdat je dit proces uitvoert een .htaccess wegschrijven waarmee het onmogelijk wordt om tijdens het updateproces bestanden op te vragen
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 19:59:32 #68
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38635176
    quote:
    Op woensdag 7 juni 2006 19:31 schreef JeRa het volgende:

    [..]

    Een pull vanaf de website lijkt me het beste; omdat je de administrator dan ook inzicht kunt geven in de veranderingen (en bv. een diff kunt tonen als de eigenaar wijzigingen heeft aangebracht in het script ). Bij een push gaat dat nogal geforceerd en geef je de eigenaar weinig vrijheid.

    Je moet rekening houden met het feit dat de webserver dus de eigenaar moet zijn van de bestanden die worden gewijzigd; dus ofwel alles onder de user van de webserver scharen of ervoor zorgen dat de webserver draait onder de juiste gebruiker. Zodra je gaat updaten alle directories en files waarbij het nodig is chmodden, aanpassen en weer terug chmodden naar een staat waarbij ze niet aanpasbaar zijn. Mogelijk vóórdat je dit proces uitvoert een .htaccess wegschrijven waarmee het onmogelijk wordt om tijdens het updateproces bestanden op te vragen
    Ik wilde de eigenaar inderdaad de mogelijkheid geven om een update niet uit te voeren. wat bedoel je met een diff?

    je opmerkingen over chmodden en .htaccess is een hele goede inderdaad, daar had ik nog niet aan gedacht!
    pi_38635380
    quote:
    Op woensdag 7 juni 2006 19:59 schreef Swetsenegger het volgende:

    [..]

    Ik wilde de eigenaar inderdaad de mogelijkheid geven om een update niet uit te voeren. wat bedoel je met een diff?
    Als de eigenaar van een website die door jou wordt verzorgd in een gekke bui iets heeft aangepast in een bestand dat geüpdatet dient te worden, dan gaat dat niet goed natuurlijk er zijn updatesystemen (voor software weliswaar) die dan een diff (verschil) tonen tussen het oude en het nieuwe bestand, om de eigenaar een keuze voor te leggen: update niet uitvoeren, update uitvoeren en het bestand overschrijven (veiligst), of proberen de oude en de nieuwe versie te mergen. Voor dit laatste zijn wel tools te vinden die dit kunnen

    Met die .htaccess moet je oppassen trouwens; het updatescript zelf moet niet uitgesloten worden. Als er iets halverwege fout gaat zou de eigenaar niet meer bij z'n site kunnen
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 20:41:29 #70
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38636169
    Ah zo. Updaten betekent overschrijven. Moettie maar niet zelf kloten
      woensdag 7 juni 2006 @ 21:46:11 #71
    16466 BloodhoundFromHell
    ---------------------
    pi_38637555
    hoi , weer een klein beetje hulp gevraagd !

    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
    <form name="form" action="search.php" method="get">
      <input type="text" name="q" />
      <input type="submit" name="Submit" value="Search" />
    </form>


    <?php

      // Get the search variable from URL
      $var = @$_GET['q'] ;
      $trimmed = trim($var); //trim whitespace from the stored variable

    // rows to return
    $limit=10; 

    // check for an empty string and display a message.
    if ($trimmed == "")
      {
      echo "<p>Please enter a search...</p>";
      exit;
      }

    // check for a search parameter
    if (!isset($var))
      {
      echo "<p>We dont seem to have a search parameter!</p>";
      exit;
      }

    //connect to your database ** EDIT REQUIRED HERE **
    mysql_connect("localhost","root",""); //(host, username, password)

    //specify database ** EDIT REQUIRED HERE **
    mysql_select_db("mydb") or die("Unable to select database"); //select which database we're using

    // Build SQL Query  
    $query = "select * from employees where 1st_field like \"%$first%\"  
      order by 1st_field"; // EDIT HERE and specify your table and field names for the SQL query

     $numresults=mysql_query($query);
     $numrows=mysql_num_rows($numresults);

    // If we have no results, offer a google search as an alternative

    if ($numrows == 0)
      {
      echo "<h4>Results</h4>";
      echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";

    // google
     echo "<p><a href=\"http://www.google.com/search?q=" 
      . $trimmed . "\" target=\"_blank\" title=\"Look up 
      " . $trimmed . " on Google\">Click here</a> to try the 
      search on google</p>";
      }

    // next determine if s has been passed to script, if not use 0
      if (empty($s)) {
      $s=0;
      }

    // get results
      $query .= " limit $s,$limit";
      $result = mysql_query($query) or die("Couldn't execute query");

    // display what the person searched for
    echo "<p>You searched for: "" . $var . ""</p>";

    // begin to show results set
    echo "Results";
    $count = 1 + $s ;

    // now you can display the results returned
      while ($row= mysql_fetch_array($result)) {
      $title = $row["1st_field"];

      echo "$count.) $title" ;
      $count++ ;
      }

    $currPage = (($s/$limit) + 1);

    //break before paging
      echo "<br />";

      // next we need to do the links to other results
      if ($s>=1) { // bypass PREV link if s is 0
      $prevs=($s-$limit);
      print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><< 
      Prev 10</a>  ";
      }

    // calculate number of pages needing links
      $pages=intval($numrows/$limit);

    // $pages now contains int of pages needed unless there is a remainder from division

      if ($numrows%$limit) {
      // has remainder so add one page
      $pages++;
      }

    // check to see if last page
      if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

      // not last page so give NEXT link
      $news=$s+$limit;

      echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>";
      }

    $a = $s + ($limit) ;
      if ($a > $numrows) { $a = $numrows ; }
      $b = $s + 1 ;
      echo "<p>Showing results $b to $a of $numrows</p>";
      
    ?>


    waarom werkt dit zoekscriptje niet? ik krijg een error op line 41
    quote:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Program Files\xampp\htdocs\sitesmeets\SITE\php\search.php on line 41
    (__/)
    (='.'=)
    (")_(")
    pi_38637607
    @BHFH

    Doe eens dit:

    1
    2
    $numresults=mysql_query($query)
        or die(mysql_error());

      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 21:50:11 #73
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38637660
    En het eerste probleem alweer
    Ik probeer chmod via php

    1Warning: chmod(): Operation not permitted in /var/www/vhosts/xploise.nl/webshop/admin/configuratie.php on line 36


    safe mode staat uit, dus dat is het probleem niet.
    Het enige wat ik kan bedenken is dat de eigenaar van config.php (ftp user) niet dezelfde is als de gebruiker (php script).

    Dus moet ik chown gebruiken, maar daarvoor moet ik weer weten 'wie' het php script is. Hoe kom ik daar achter
      woensdag 7 juni 2006 @ 21:53:01 #74
    16466 BloodhoundFromHell
    ---------------------
    pi_38637746
    quote:
    Op woensdag 7 juni 2006 21:47 schreef JeRa het volgende:
    @BHFH

    Doe eens dit:
    [ code verwijderd ]

    werkt niet, dan zegt hij dit:
    1Parse error: parse error, unexpected ';' in D:\Program Files\xampp\htdocs\sitesmeets\SITE\php\search.php on line 41
    (__/)
    (='.'=)
    (")_(")
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 21:54:46 #75
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38637792
    quote:
    Op woensdag 7 juni 2006 21:53 schreef BloodhoundFromHell het volgende:

    [..]

    werkt niet, dan zegt hij dit:
    [ code verwijderd ]
    En wat is lijn 41 in je script?
    pi_38637817
    @Swetsenegger

    chown gaat niet lukken, behalve als je root bent je zult vantevoren al de goede gebruiker moeten zijn. Door een `whoami` uit te voeren kom je erachter als wie de webserver werkt
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:08:04 #77
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38638123
    quote:
    Op woensdag 7 juni 2006 21:55 schreef JeRa het volgende:
    @Swetsenegger

    chown gaat niet lukken, behalve als je root bent je zult vantevoren al de goede gebruiker moeten zijn. Door een `whoami` uit te voeren kom je erachter als wie de webserver werkt
    waar voer ik dat uit?
    Ik gebruik nu het ftp alternatief, maar dat is (traag) gepijpzeik.
    pi_38638148
    quote:
    Op woensdag 7 juni 2006 22:08 schreef Swetsenegger het volgende:

    [..]

    waar voer ik dat uit?
    Ik gebruik nu het ftp alternatief, maar dat is (traag) gepijpzeik.
    In een PHP-scriptje dat je via de webserver uitvoert:
    1
    2
    3
    <?php
    echo `whoami`;
    ?>
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:13:08 #79
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38638225
    quote:
    Op woensdag 7 juni 2006 22:09 schreef JeRa het volgende:

    [..]

    In een PHP-scriptje dat je via de webserver uitvoert:
    [ code verwijderd ]
    Grappig, die kon ik niet.
    Ok, ik weet nu wie de gebruiker is. Hoe zorg ik ervoor dat de file nu ook die eigenaar krijgt? Want dat is weer nodig om chmod te kunnen uitvoeren

    Dan moet ik de file in eerste instantie via PHP aanmaken en schrijven. een initialisatie file maken ofzo?
    Maar dat is nogal een ge OH bedenk ik me
      woensdag 7 juni 2006 @ 22:14:02 #80
    16466 BloodhoundFromHell
    ---------------------
    pi_38638238
    @jera , nog ideeen? of heeft iemand wellicht anders nog een beter zoekscriptje ergens?
    (__/)
    (='.'=)
    (")_(")
    pi_38638282
    @Swetsenegger

    Je kunt de eigenaar van het bestand niet veranderen zonder dat je root bent. Anders is het een kwestie van een simpele chown En je moet inderdaad vanuit beginsel de bestanden met een PHP-script vanuit de webserver aanmaken en wegschrijven, anders heb je de verkeerde eigenaar.

    Dit soort dingen is de reden waarom ik mod_ruid gebruik op m'n webserver
      woensdag 7 juni 2006 @ 22:15:51 #82
    16466 BloodhoundFromHell
    ---------------------
    pi_38638291
    quote:
    Op woensdag 7 juni 2006 21:54 schreef Swetsenegger het volgende:

    [..]

    En wat is lijn 41 in je script?
    dat waren de lines die jera had gegeven.
    (__/)
    (='.'=)
    (")_(")
    pi_38638318
    quote:
    Op woensdag 7 juni 2006 22:14 schreef BloodhoundFromHell het volgende:
    @jera , nog ideeen? of heeft iemand wellicht anders nog een beter zoekscriptje ergens?
    Je bent vergeten de puntkomma achter mysql_query() weg te halen gok ik

    Je bent volgens mij vergeten een haakje af te sluiten bij die()
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:22:17 #84
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38638439
    quote:
    Op woensdag 7 juni 2006 22:15 schreef JeRa het volgende:
    @Swetsenegger

    Je kunt de eigenaar van het bestand niet veranderen zonder dat je root bent. Anders is het een kwestie van een simpele chown En je moet inderdaad vanuit beginsel de bestanden met een PHP-script vanuit de webserver aanmaken en wegschrijven, anders heb je de verkeerde eigenaar.

    Dit soort dingen is de reden waarom ik mod_ruid gebruik op m'n webserver
    Dat is dus mooi kut
    Of ik moet via de FTP optie de files chmodden
    OF ik moet bij het opzetten van de website alle files via een initialisatiescript aanmaken. Want het hele idee achter automatische updates uitrollen is dat die websites niet allemaal op een door mij te beheresen webserver draaien
    pi_38638710
    Chandler was toch bezig met een project dat precies dat en meer kon doen?
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:27:41 #86
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38638759
    quote:
    Op woensdag 7 juni 2006 22:24 schreef JeRa het volgende:
    Chandler was toch bezig met een project dat precies dat en meer kon doen?
    Dat was meer een compressie en uitpak traject geloof ik.
    Maar ik hoef trouwens niet via PHP de eigenaar te veranderen. Dat mag wmb ook via ftp eigenlijk.
    pi_38638829
    quote:
    Op woensdag 7 juni 2006 22:27 schreef Swetsenegger het volgende:
    de eigenaar veranderen
    ...daar heb je dus rootrechten voor nodig, die de meeste mensen ook niet via FTP hebben
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:41:15 #88
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38639128
    quote:
    Op woensdag 7 juni 2006 22:30 schreef JeRa het volgende:

    [..]

    ...daar heb je dus rootrechten voor nodig, die de meeste mensen ook niet via FTP hebben
    *vloekt zachtjes*
    Ok...., een initialisatie script schrijven dus
    pi_38639278
    Oh, truuk om van eigenaar te veranderen bestaat wel trouwens.
    1) Lees het hele bestand naar het geheugen
    2) Verwijder het bestand
    3) Maak het bestand opnieuw aan (gebruiker is nu de webserver als je dit via een PHP-script doet)
    4) Schrijf de data in het geheugen weer weg naar het bestand
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 22:53:09 #90
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38639489
    quote:
    Op woensdag 7 juni 2006 22:46 schreef JeRa het volgende:
    Oh, truuk om van eigenaar te veranderen bestaat wel trouwens.
    1) Lees het hele bestand naar het geheugen
    2) Verwijder het bestand
    3) Maak het bestand opnieuw aan (gebruiker is nu de webserver als je dit via een PHP-script doet)
    4) Schrijf de data in het geheugen weer weg naar het bestand
    Ehmz... is stap 2 niet het zwakke punt in dit betoog?
    Ik krijg tenminste een permission denied op de unlink optie

    [ Bericht 5% gewijzigd door Swetsenegger op 07-06-2006 23:01:07 ]
    pi_38639662
    quote:
    Op woensdag 7 juni 2006 22:53 schreef Swetsenegger het volgende:

    [..]

    Ehmz... is stap 2 niet het zwakke punt in dit betoog?
    Bestanden verwijderen is mogelijk als je de eigenaar van de bovenliggende directory bent middels FTP moet dat dus lukken.
      FOK!-Schrikkelbaas woensdag 7 juni 2006 @ 23:02:34 #92
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38639823
    quote:
    Op woensdag 7 juni 2006 22:58 schreef JeRa het volgende:

    [..]

    Bestanden verwijderen is mogelijk als je de eigenaar van de bovenliggende directory bent middels FTP moet dat dus lukken.
    Hmz ja dat kan dat ik de file via ftp functies in php verwijder en vervolgens met fwrite weer gewoon schrijf.
      donderdag 8 juni 2006 @ 00:04:09 #93
    16466 BloodhoundFromHell
    ---------------------
    pi_38642189
    het werkt nu wel op zich en ik kan de resultaten van de search niet zien op de 1 of andere manier. Ik zie dus wel hoeveel resultaten er zijn en of die er zijn,. maar er zit nog geen "toon de resultaten" code in. Hoe kan ik dat het beste invoegen?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <form name="form" action="search.php" method="get">
      <input type="text" name="q" />
      <input type="submit" name="Submit" value="Search" />
    </form>


    <?php

      // Get the search variable from URL
      $var = @$_GET['q'] ;
      $trimmed = trim($var); //trim whitespace from the stored variable

    // rows to return
    $limit=10; 

    // check for an empty string and display a message.
    if ($trimmed == "")
      {
      echo "<p>Please enter a search...</p>";
      exit;
      }

    // check for a search parameter
    if (!isset($var))
      {
      echo "<p>We dont seem to have a search parameter!</p>";
      exit;
      }

    //connect to your database ** EDIT REQUIRED HERE **
    mysql_connect("localhost","test",""); //(host, username, password)

    //specify database ** EDIT REQUIRED HERE **
    mysql_select_db("bhfhnet_mydb") or die("Unable to select database"); //select which database we're using

    // Build SQL Query  
    $query = "select * from employees where first like \"%$trimmed%\"  
      order by first"; // EDIT HERE and specify your table and field names for the SQL query

     $numresults=mysql_query($query);
     $numrows=mysql_num_rows($numresults);

    // If we have no results, offer a google search as an alternative

    if ($numrows == 0)
      {
      echo "<h4>Results</h4>";
      echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";

    // google
     echo "<p><a href=\"http://www.google.com/search?q=" 
      . $trimmed . "\" target=\"_blank\" title=\"Look up 
      " . $trimmed . " on Google\">Click here</a> to try the 
      search on google</p>";
      }

    // next determine if s has been passed to script, if not use 0
      if (empty($s)) {
      $s=0;
      }

    // get results
      $query .= " limit $s,$limit";
      $result = mysql_query($query) or die("Couldn't execute query");

    // display what the person searched for
    echo "<p>You searched for: "" . $var . ""</p>";

    // begin to show results set
    echo "Results ";
    $count = 1 + $s ;


    // now you can display the results returned
      while ($row= mysql_fetch_array($result)) {
      $title = $row["1st_field"];

      echo "$count.) $title" ;
      $count++ ;
      }
      
      
    $currPage = (($s/$limit) + 1);

    //break before paging
      echo "<br />";

      // next we need to do the links to other results
      if ($s>=1) { // bypass PREV link if s is 0
      $prevs=($s-$limit);
      print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><< 
      Prev 10</a>  ";
      }

    // calculate number of pages needing links
      $pages=intval($numrows/$limit);

    // $pages now contains int of pages needed unless there is a remainder from division

      if ($numrows%$limit) {
      // has remainder so add one page
      $pages++;
      }

    // check to see if last page
      if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

      // not last page so give NEXT link
      $news=$s+$limit;

      echo " <a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>";
      }

    $a = $s + ($limit) ;
      if ($a > $numrows) { $a = $numrows ; }
      $b = $s + 1 ;
      echo "<p>Showing results $b to $a of $numrows</p>";
      
    ?>


    sorry voor de vragen ik ben nog slechts een beginner op het php vlak.
    (__/)
    (='.'=)
    (")_(")
      donderdag 8 juni 2006 @ 10:28:23 #94
    85514 ralfie
    !Yvan eht nioj
    pi_38648454
    quote:
    Op woensdag 7 juni 2006 22:46 schreef JeRa het volgende:
    Oh, truuk om van eigenaar te veranderen bestaat wel trouwens.
    1) Lees het hele bestand naar het geheugen
    2) Verwijder het bestand
    3) Maak het bestand opnieuw aan (gebruiker is nu de webserver als je dit via een PHP-script doet)
    4) Schrijf de data in het geheugen weer weg naar het bestand
    ik ben erachter gekomen dat ik niet met chmod, maar met dit grapje mijn hele website heb verkloot. Omdat door een foutje geen bestandsnaam is toegevoegd heeft php de rootdirectory ingelezen als bestand, toen de directory verwijdert en daarna een bestand aangemaakt met de inhoud van het mapbestand. Keertje checken op is_dir() is dus geen overbodige luxe
      FOK!-Schrikkelbaas donderdag 8 juni 2006 @ 10:32:41 #95
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38648571
    quote:
    Op donderdag 8 juni 2006 10:28 schreef ralfie het volgende:

    [..]

    ik ben erachter gekomen dat ik niet met chmod, maar met dit grapje mijn hele website heb verkloot. Omdat door een foutje geen bestandsnaam is toegevoegd heeft php de rootdirectory ingelezen als bestand, toen de directory verwijdert en daarna een bestand aangemaakt met de inhoud van het mapbestand. Keertje checken op is_dir() is dus geen overbodige luxe
    Sorry, maar... LOL
      donderdag 8 juni 2006 @ 15:21:52 #96
    85514 ralfie
    !Yvan eht nioj
    pi_38658439
    quote:
    Op donderdag 8 juni 2006 10:32 schreef Swetsenegger het volgende:

    [..]

    Sorry, maar... LOL
    ja, idd, LOL

    hoe dan ook, het is weer gefixt, ik had een symlink veranderd oid (geen idee wat dat mogen zijn, maar het werkt iig weer )
    pi_38663088
    Ik ben mezelf behoorlijk vast aan het programmeren... Wat ik in totaal wil (waar ook de eerdere vragen voor waren) is zoiets als dit:

    1. Ik selecteer uit database 'words' de id keys van een aantal woorden (keywords die ingevuld zijn in form).
    2. Uit een andere tabel ('Sites')ga ik dus opzoek naar die keywords, dit moet in "and" vorm gebeuren, daaruit wil ik de sites selecteren waar En keyword X, en Keyword Y, Z, ... voorkomen. Dit moet per site op punten gegroepeerd worden, en gesorteerd.

    Hoe ga ik dit qua query aanpakken?
      donderdag 8 juni 2006 @ 17:37:01 #98
    16466 BloodhoundFromHell
    ---------------------
    pi_38663692
    Mijn zoekfunctie werkt inmiddels trouwens. Ik heb een iets simpeler en beter basisscript gebruikt en die aangepast aan mijn database. de google functie heb ik daar weer ingepast Ik begin al steeds meer van de scripts te begrijpen gelukkig en ben me flink aan het inlezen) ik zal nog met genoeg vragen komen. Ik hoop dat jullie me dan willen helpden indien nodig
    (__/)
    (='.'=)
    (")_(")
    pi_38690389
    Vraagje, ik weet dat je met php pdf files kan maken, maar kan je ook aan een bestaande pdf een wachtwoord toevoegen doormiddel van php?
    pi_38719903
    quote:
    Op donderdag 8 juni 2006 17:18 schreef LeeHarveyOswald het volgende:
    Ik ben mezelf behoorlijk vast aan het programmeren... Wat ik in totaal wil (waar ook de eerdere vragen voor waren) is zoiets als dit:

    1. Ik selecteer uit database 'words' de id keys van een aantal woorden (keywords die ingevuld zijn in form).
    2. Uit een andere tabel ('Sites')ga ik dus opzoek naar die keywords, dit moet in "and" vorm gebeuren, daaruit wil ik de sites selecteren waar En keyword X, en Keyword Y, Z, ... voorkomen. Dit moet per site op punten gegroepeerd worden, en gesorteerd.

    Hoe ga ik dit qua query aanpakken?
    Op de manier zoals jij het doet krijg je ofwel een query per woord of een UNION oid, en het wordt lastig om daar een score aan toe te kennen maar waar loop je nu op vast? Je moet niet met de query beginnen, je moet beginnen met denken over wát je precies wilt bereiken en hoe je dat gaat doen
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')