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?
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')