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
    pi_38719957
    quote:
    Op vrijdag 9 juni 2006 13:01 schreef Darkomen het volgende:
    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?
    Voor zover ik weet kan dat niet zomaar; er is in ieder geval erg weinig op Google over te vinden.
    pi_38745668
    Daar kon ik dus ook weinig over vinden.
    Html 2 pdf en dan een wachtwoord erop is geen probleem.
    maar waarom zou je dat dus niet achteraf kunnen doen.
    pi_38775744
    Mensen, ik heb een php script waarbij hij uit 1 tabel data haalt er neerkalkt, maar nu wil ik dat hij tweede row uit een andere tabel ernaast zet. Dus 2 rijen met gegevens.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    php
    mysql_connect
    ("localhost", "root", "");
    mysql_select_db("plaatsen");

    $result = mysql_query("SELECT * FROM tbl_plaats ORDER BY starttijd ASC") or die("FUCKING ERROR");
    while(
    $row = mysql_fetch_row($result))

    {
       echo
    "nijmegen: ".$row[1]."<br/>";
    }
    ?>


    Iemand? !
      FOK!-Schrikkelbaas maandag 12 juni 2006 @ 12:36:20 #104
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38775878
    quote:
    Op maandag 12 juni 2006 12:31 schreef boebiedoe het volgende:
    Mensen, ik heb een php script waarbij hij uit 1 tabel data haalt er neerkalkt, maar nu wil ik dat hij tweede row uit een andere tabel ernaast zet. Dus 2 rijen met gegevens.
    [ code verwijderd ]

    Iemand? !
    En wat is de relatie tussen die 2 tabellen?
    pi_38781336
    quote:
    Op maandag 12 juni 2006 12:31 schreef boebiedoe het volgende:
    Mensen, ik heb een php script waarbij hij uit 1 tabel data haalt er neerkalkt, maar nu wil ik dat hij tweede row uit een andere tabel ernaast zet. Dus 2 rijen met gegevens.
    [ code verwijderd ]

    Iemand? !
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $i
    = 0;
    echo
    '<tr>';
    while(
    $row = mysql_fetch_row($result)) {
      echo
    '<td>'.htmlspecialchars($row[1]).'</td>';
      if(++%
    i % 2 == 0) echo '</tr><tr>';
    }
    echo
    '</tr>';
    ?>
    pi_38781785
    @Roonaan

    Dat is niet de bedoeling. Hij wil een tweede kolom met data uit een andere tabel. Wat jij doet is de beschikbare data verspreiden over twee kolommen.
    pi_38782143
    quote:
    Op maandag 12 juni 2006 16:31 schreef JeRa het volgende:
    @Roonaan

    Dat is niet de bedoeling. Hij wil een tweede kolom met data uit een andere tabel. Wat jij doet is de beschikbare data verspreiden over twee kolommen.
    kzie het. Dan wordt het float:leften
      FOK!-Schrikkelbaas maandag 12 juni 2006 @ 16:43:22 #108
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38782183
    of met een join in 1 query de data eruit trekken.
      maandag 12 juni 2006 @ 17:46:07 #109
    32768 DionysuZ
    Respect my authority!
    pi_38784238
    quote:
    Op maandag 12 juni 2006 16:43 schreef Swetsenegger het volgende:
    of met een join in 1 query de data eruit trekken.
    of eerst de data uit de tabellen trekken en daarna pas de output genereren
    □ 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_38785629
    Of we kunnen natuurlijk eerst even wachten tot Boe vertelt wat ie nu wil.
    pi_38785758
    Nee, dat wordt te makkelijk
      maandag 12 juni 2006 @ 19:13:12 #112
    31245 nonzz
    parttime lilliputter
    pi_38786756
    Misschien iets voor in de OP: http://www.hudzilla.org/phpbook/index.php
    Erg fijn online PHP boek met voorbeelden en uitleg e.d.
    lege ton
      FOK!-Schrikkelbaas maandag 12 juni 2006 @ 19:15:45 #113
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38786870
    quote:
    Op maandag 12 juni 2006 17:46 schreef DionysuZ het volgende:

    [..]

    of eerst de data uit de tabellen trekken en daarna pas de output genereren
    Dat zeg ik
    pi_38789310
    Nog geen php golf-8 topic?
      FOK!-Schrikkelbaas dinsdag 13 juni 2006 @ 16:15:37 #115
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38815822
    quote:
    Op maandag 12 juni 2006 20:22 schreef Roönaän het volgende:
    Nog geen php golf-8 topic?
    Het is te warm om diep na te denken
    pi_38827263
    Erg moeilijke golf trouwens. Of ik ben gewoon te newbie. Stomme 7 en 9-toetsen die weer 4 letters moeten hebben
    pi_38827660
    quote:
    Op dinsdag 13 juni 2006 16:15 schreef Swetsenegger het volgende:

    [..]

    Het is te warm om diep na te denken
    Helemaal mee eens
    pi_38834974
    quote:
    Op maandag 12 juni 2006 20:22 schreef Roönaän het volgende:
    Nog geen php golf-8 topic?
    Ik heb 't oude topic ff een schop gegeven.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_38853628
    1ste tip, check altijd je userinput!

    Ga maar eens naar deze link http://danielpunt.nl/PHP/template.php?page=body&style=DITZOUNIETMOGEN!!!
    en bekijk je bron.

    Nu haalt dit niets uit natuurlijk, maar er kan heel veel fout gaan.
    pi_38859119
    Wat heb je nu precies gedaan en hoe zorg ik er voor dat je het niet meer kan doen?
    pi_38859511
    Hij heeft de url veranderd. Daardoor veranderd in jou script de waarde $_GET['style'].

    Je controleert in je script niet wat er in $_GET['style'] staat.
      FOK!-Schrikkelbaas woensdag 14 juni 2006 @ 20:25:21 #123
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38860610
    quote:
    Op woensdag 14 juni 2006 19:47 schreef super-muffin het volgende:
    Wat heb je nu precies gedaan en hoe zorg ik er voor dat je het niet meer kan doen?
    Je geeft in de url, welke door iedereen in zijn browser natuurlijk vrij te veranderen is, gegevens mee welke je in je script gebruikt.

    In dit geval gebruik je een gegeven om een bepaalde stijl in te lezen. Maar in sommige gevallen ga je het bv ook gebruiken om bepaalde items uit een database te halen. Of je gaat een gebruiker via een formulier dingen in laten vullen die je in je database wil zetten.

    In beide gevallen kan een slim persoon door de gevens in URL of formulier te manipuleren bijvoorbeeld gegevens uit de database halen welke niet voor hem bedoeld zijn. Of hij kan de hele database wissen of....

    Kortom, ALLES wat de gebruiker in kan vullen of kan manipuleren moet je in je script controleren of het wel daadwerkelijk de inhoud bevat die jij verwacht.

    Bijvoorbeeld jij verwacht in je script dat de variabele $_GET['style'] een van de volgende waarden bevat:

    default
    grijs
    blauw

    etc.

    Je moet nu dus $_GET['style'] controleren of het wel een van de waarden bevat die je verwacht. bijvoorbeeld door een switch statement:
    pi_38862009
    En wat moet 'ie doen als $style is wat ik verwacht en wat als het iets anders is?

    En waarom switch gebruiken en geen if?
    pi_38862132
    quote:
    Op woensdag 14 juni 2006 20:56 schreef super-muffin het volgende:
    En wat moet 'ie doen als #style is wat ik verwacht en wat als het iets anders is?
    Wat dacht je van een standaard style gebruiken? bijvoorbeeld zo:
    1
    2
    3
    4
    5
    $allowedStyles = array('rood', groen');
    $style = $_GET['style'];
    if (!in_array($style, $allowedStyles)) {
        $style = $allowedStyles[0];
    }
    quote:
    En waarom switch gebruiken en geen if?
    Kwestie van keuze. Een switch is vaak overzichtelijker dan een if
    pi_38863742
    quote:
    Op woensdag 14 juni 2006 20:59 schreef JeRa het volgende:

    [..]

    Wat dacht je van een standaard style gebruiken? bijvoorbeeld zo:
    [ code verwijderd ]
    Tuurlijk begin meteen met array's
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    switch($style){
      case
    'blauw':
      
    //blauw enzo
      
    break;
      
    //etc
      
    default:
      
    //als het geen van de case's is
      
    break;
    }
    ?>
    quote:
    [..]

    Kwestie van keuze. Een switch is vaak overzichtelijker dan een if
    Ik vind een switch meestal fijner werken. Inderdaad doordat het overzichtelijker is.
      FOK!-Schrikkelbaas woensdag 14 juni 2006 @ 22:11:58 #127
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38864967
    quote:
    Op woensdag 14 juni 2006 20:56 schreef super-muffin het volgende:
    En wat moet 'ie doen als $style is wat ik verwacht en wat als het iets anders is?

    En waarom switch gebruiken en geen if?
    Zoals de rest zegt.
    Als het is wat je verwacht (dus in jouw geval een kleur zoals blue, red, grey) de bijbehorende stijl tonen. Indien het iets anders is een default stijl tonen, of met een echo de gebruiker helemaal de pestpleuris schelden

    -edit- de defauilt stijl tonen zou mijn voorkeur hebben omdat je pagina er dan OOK goed uitziet wanneer ze er zonder paramaters in de url terecht komen.
    pi_38866113
    quote:
    Op woensdag 14 juni 2006 20:59 schreef JeRa het volgende:

    [..]

    Wat dacht je van een standaard style gebruiken? bijvoorbeeld zo:
    [ code verwijderd ]
    Dan kan korter
    quote:
    $allowedStyles = array('rood', 'groen');
    $style = ( !in_array($_GET['style'], $allowedStyles) ) ? $_GET['style'] : $allowedStyles[0];
    En in dit geval heeft een array mijn voorkeur boven een switch, gewoon omdat je een array makkelijk in een los configbestand kunt zetten en dan alleen die maar hoeft aan te passen als er een nieuwe stijl bij komt.
    pi_38866239
    quote:
    Op woensdag 14 juni 2006 22:38 schreef Light het volgende:

    [..]

    Dan kan korter
    Weet ik, maar dan moet ik twee keer $_GET typen en daar heb ik een hekel aan
      FOK!-Schrikkelbaas woensdag 14 juni 2006 @ 22:41:25 #130
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38866257
    quote:
    Op woensdag 14 juni 2006 22:38 schreef Light het volgende:

    [..]

    Dan kan korter
    [..]

    En in dit geval heeft een array mijn voorkeur boven een switch, gewoon omdat je een array makkelijk in een los configbestand kunt zetten en dan alleen die maar hoeft aan te passen als er een nieuwe stijl bij komt.


    De jongen is net begonnen he...
    pi_38869246
    Ja, maar aan de andere kant is goed beginnen niet erg:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $var
    = (conditie) : '1' ? '2';
    // hetzelfde als
    if(conditie){
    $var = '1';
    } else {
    $var = '2';
    }
    ?>
    pi_38869547
    quote:
    Op woensdag 14 juni 2006 22:41 schreef JeRa het volgende:

    [..]

    Weet ik, maar dan moet ik twee keer $_GET typen en daar heb ik een hekel aan
    Ctrl-C, Ctrl-V
    pi_38869730
    $_G<enter>
    pi_38870424
    In welke editor Roonaan?
    pi_38902051
    quote:
    Op woensdag 14 juni 2006 23:54 schreef Roönaän het volgende:
    $_G<enter>
    Wow, dat scheelt 1 toetsaanslag
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_38902052
    Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

    Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
    quote:
    SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE Terugbrengdatum => 2006-06-15)
    De code is:
    1
    2
    $sql = "SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE 
    Terugbrengdatum => $datum)"; 


    In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

    Iemand een idee hoe dit werkend te krijgen?
    pi_38902626
    quote:
    Op donderdag 15 juni 2006 22:47 schreef LeeHarveyOswald het volgende:
    Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

    Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
    [..]

    De code is:
    [ code verwijderd ]

    In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

    Iemand een idee hoe dit werkend te krijgen?
    Volgens mij heten die dingen subqueries http://dev.mysql.com/doc/refman/5.0/en/subqueries.html
    Ik ben absoluut geen expert maar kan het niet zijn dat je 2 singlequotes bent vergeten rondom $datum?
      FOK!-Schrikkelbaas donderdag 15 juni 2006 @ 22:59:46 #138
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38902772
    quote:
    Op donderdag 15 juni 2006 22:47 schreef LeeHarveyOswald het volgende:
    Ik wil een query binnen een query uitvoeren, maar hoe ding dit ook al weer in SQL?

    Als ik de query (die geen errors geeft) nu print, is dit wat er staat:
    [..]

    De code is:
    [ code verwijderd ]

    In de tabel Auto staat Volvo C70 met ID 1. De tabel verhuur is leeg.

    Iemand een idee hoe dit werkend te krijgen?
    Subqueries, maar die werken pas vanaf MySQL 5.
    Maar volgens mij moet dit met een join op te lossen zijn.
    pi_38903162
    $sql = "SELECT * FROM Auto WHERE NOT EXISTS (SELECT AutoID FROM Verhuur WHERE Terugbrengdatum > '$datum')";

    werkt (alleen is auto type de enige die nu wordt weergegeven, maar ik denk dat ik ergens wat kleine hoofdletterfoutjes maak ofzo )
    pi_38903459
    @LeeHarveyOswald

    Je wilt alle auto's opvragen die niet voorkomen in de verhuurlijst met auto's die teruggebracht moeten worden na $datum? Waarom een subquery? Daar zijn JOINs voor:
    1
    2
    3
    4
    5
    SELECT a.*
    FROM Auto a
    LEFT JOIN Verhuur v ON a.id = v.AutoID
    WHERE v.AutoID IS NULL
    AND v.Terugbrengdatum > '$datum'
    pi_38903667
    Die onthoud ik gelijk even (hij werkt nu dus nu laat ik em met rust ... )..

    Alleen als ik de regel echo "<tr><td><p><a href='index.php?function=carinfo&carinfo=$AutoID'>$Fabrikantnaam</a></p></td><td>$Type</td><td><p><a href='index.php?function=huur&carid=$AutoID'>$Huurprijs</a></p></td></tr>";

    Uitvoer, dan komt C70 (onder Type) een halve regel te laag te staan? :S
    pi_38903839
    quote:
    Op donderdag 15 juni 2006 23:15 schreef JeRa het volgende:
    Waarom een subquery? Daar zijn JOINs voor:
    In dit geval kan het inderdaad ook makkelijk met een join in plaats van de subquery. De versie met "where not exists(...)" vertelt wel duidelijker wat er gebeurt.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_38903858
    Ik ben bezig met het maken van een systeem voor een confirmed opt in nieuwsbriefsysteem. Maar ik zit nu al een tijdje vast. Ik heb een formulier en de waarden daarvan worden verwerkt in een een functie process_nieuwsbrief. Deze functie moet uiteindelijk 3 activiteiten hebben, hij controleert userinput, hij stopt de gegevens in de database en hij verstuurt een email. Om de email te versturen heeft hij het ID nodig van het net in de datase ingevoerde emailadres. De functie ziet er dan ook ongeveer als volgt uit.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if (!eregi $naam)
    elseif (!eregi $email)
    else {
    $datum = date("Y-m-d");
    include ("my_config.php");
    @mysql_select_db("web")
    or die ("kon geen database selecteren");
    $query = "INSERT INTO nieuwsbrief SET naam='$naam', emailadres='$email', datum='$datum', actief='no'";
    $result = mysql_query($query);
    $query2 = "SELECT ID FROM nieuwsbrief WHERE randid='$randid' AND emailadres= '$email'";
    $result2 = mysql_query($query2);
    if ($result) {echo "u ontvangt een email waarmee u uw aanmelding kan voltooien<br/>";
    while (list($id) = mysql_fetch_row($result2))
    { echo $id;}}
    else {echo "Uw emailadres is al opgenomen in de database.";}}

    Het eerste stuk van de code gaat helemaal goed, hij checked de userinput en zet indien akkoord de gegevens in de database. Alleen het laatse stuk gaat fout. Hij laat de gegevens uit de while loop niet zien geeft ook geen error als ik mysql_erro() toevoeg.
    Als ik de code los probeer laat hij wel netjes de gegevens uit de database zien alleen zo niet. Waaraan kan dit liggen??

    [ Bericht 10% gewijzigd door ExCibular op 15-06-2006 23:30:05 ]
      FOK!-Schrikkelbaas donderdag 15 juni 2006 @ 23:29:37 #144
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38904063
    $id=mysql_insert_id();
    pi_38904418
    quote:
    Op donderdag 15 juni 2006 23:29 schreef Swetsenegger het volgende:
    $id=mysql_insert_id();
    Dank je wel dat deed de truc!
    pi_38920129
    tvp

    systeem toch maar in mysql aan het zetten... Kon ik beter direct doen...
    pi_38942813
    Mijn nieuwsbrief werk nu. Alleen is er iets geks aan de hand. local draait hij perfect, alleen nu ik heb hem upgeload weigert hij een MYSQL query uit te voeren. In de email om de aanmelding te bevestigen staat een link en als men daarop klikt moet in de DB actief omgezet worden van no naar yes.

    Dat doe ik met de volgende code:
    1
    2
    3
    $query = "UPDATE nieuwsbrief SET actief='yes' WHERE ID='$mail_id'";
       $result = mysql_query($query);
       if ($result) {echo "U heeft zich succesvol aangemeld! Binnenkort ontvangt u onze nieuwsbrief.";


    Zoals gezegd thuis werkt dit perfect maar op een webserver doet hij dit niet goed. Ik krijg wel de zin de aanmelding is succesvol te zien maar in de DB staat actief nog steed op no.
      FOK!-Schrikkelbaas zaterdag 17 juni 2006 @ 14:28:12 #148
    1972 Swetsenegger
    Egocentrische Narcist
    pi_38943763
    1
    2
    3
    4
    5
    6
    7
    <?php
    $query
    = "UPDATE nieuwsbrief SET actief='yes' WHERE ID=".$mail_id;
    $result = mysql_query($query);
    if (
    $result) {
        echo
    "U heeft zich succesvol aangemeld! Binnenkort ontvangt u onze nieuwsbrief.";
    }
    ?>


    werkt dit wel?
    pi_38944672
    even een PHP only vraag:

    Aan het begin van m'n script define ik enkele constants:

    1
    2
    3
    4
    5
    <?php
    define
    ("EDIT", 4);
    define("DEL", 2);
    define("DELETED", 1);
    ?>


    Deze waardes wil ik gebruiken voor een simpele button bar, kan ik per entry bepalen welke acties erop uitgevoerd mogen worden, gebruik makend van bitwise operators, even versimpeld:

    1
    2
    3
    <?php
    ButtonBar
    ("entry uit database dat geedit of gedelete mag worden", EDIT | DEL);
    ?>


    Deze moet achter de string de 2 knoppen voor editen en deleten weergeven. De functie ButtonBar controleert de flags als volgt (versimpeld):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    function ButtonBar($string, $flags) {
      print
    $string;
      if ( (
    $flags & EDIT) == EDIT)
        print (
    "[ <a href=\"edit.php\">wijzig</a> ]");
      if ( (
    $flags & DEL) == DEL)
        print (
    "[ <a href=\"delete.php\">delete</a> ]");
    }
    ?>


    Probleem is, m'n logs spugen "Use of undefined constant [..]" notices uit, en als ik EDIT of DEL echo dan laat het doodleuk "EDIT" of "DEL" zien in plaats van hun vooraf gedefineerde waardes...

    Voor zover ik het begrijp zouden defined constants global te gebruiken moeten zijn dus ook in functies als ButtonBar. Zie ik nu iets over het hoofd dat het script niet werkt zoals het zou moeten?
      zaterdag 17 juni 2006 @ 15:52:18 #150
    62687 Ajaxfan
    Look out for me
    pi_38945521
    Ik ben bezig met een simpel login script. Het is me al gelukt om een registratie te laten verwerken in een Mysql database. Alleen nu is het dus de bedoeling dat hij de username en het wachtwoord uit de database haalt. Ik krijg dan de melding die je krijgt als de connectie met de database mislukt is: Sorry kan niet inloggen dus. Ik heb zelf geen idee waar het aan ligt.


    Dit is mijn login script:
    quote:
    </style></head>
    <html>

    <body>

    <p>

    <h3>Login</h3><br>

    </p>



    <form action="login-verwerken.php" method="post">



    user name: <input type="text" name="username">

    <br>

    password : <input type="text" name="wachtwoord">

    <br>

    <br>

    <input type="submit" value="Versturen">



    </form>

    </body>
    </html>
    En dit is me login verwerken script:
    quote:
    <html>

    <?php

    $host="localhost";
    $user="root";
    $password="";
    $database="leden";
    mysql_connect($host,$user,$password);
    @mysql_select_db($database) or die( "Unable to select database");
    $query = ("select username, wachtwoord FROM leden WHERE username='$_POST[username]' AND wachtwoord='$_POST[wachtwoord]'");
    $resultaat= mysql_query($query) or die ("Sorry inloggen niet succesvol");
    if(mysql_affected_rows()==0){
    exit();
    }
    else{

    $user = $_POST['username'];

    session_start();

    $_SESSION['username'] = $user;
    $_SESSION['counter'] = 0;

    header('Location: Index.php');
    }

    ?>

    </html>
    * Ajax * Arsenal * Barca * Fiorentina * Napoli * Leeds *
    pi_38945740
    quote:
    Op zaterdag 17 juni 2006 15:52 schreef Ajaxfan het volgende:
    Ik ben bezig met een simpel login script. Het is me al gelukt om een registratie te laten verwerken in een Mysql database. Alleen nu is het dus de bedoeling dat hij de username en het wachtwoord uit de database haalt. Ik krijg dan de melding die je krijgt als de connectie met de database mislukt is: Sorry kan niet inloggen dus. Ik heb zelf geen idee waar het aan ligt.


    Dit is mijn login script:
    [..]

    En dit is me login verwerken script:
    [..]
    verander

    1$query = ("select username, wachtwoord FROM leden WHERE username='$_POST[username]' AND wachtwoord='$_POST[wachtwoord]'");


    eens in

    1$query = "SELECT username, wachtwoord FROM leden WHERE username='".$_POST['username']."' AND wachtwoord='".$_POST['wachtwoord']."'";
    pi_38946504
    quote:
    Op zaterdag 17 juni 2006 14:28 schreef Swetsenegger het volgende:

    [ code verwijderd ]

    werkt dit wel?
    Nee dat werkt ook niet. Ik blijf nog even door proberen.
      zaterdag 17 juni 2006 @ 18:05:01 #153
    32768 DionysuZ
    Respect my authority!
    pi_38948661
    Je script is heel erg gevoelig voor SQL injectie. Verder is het NIET verstandig om wachtwoorden niet gecodeert op te slaan in een database. Mocht iemand toegang tot de database krijgen krijgt deze ook toegang tot alle usernames en wachtwoorden, en aangezien mensen vaak dezelfde wachtwoorden gebruiken kunnen deze kwaadwillenden vaak deze wachtwoorden op meerdere plaatsen gebruiken.

    Dat is niet wat je wil.

    Daarnaast kan ik makkelijk als iemand inloggen zonder zijn/haar wachtwoord of username te hoeven weten. Ik hoef dan alleen maar de session ID te verkrijgen en ik heb toegang.
    □ 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_38948963
    quote:
    Op zaterdag 17 juni 2006 15:11 schreef Lynx666 het volgende:
    even een PHP only vraag:

    Aan het begin van m'n script define ik enkele constants:
    [ code verwijderd ]

    Deze waardes wil ik gebruiken voor een simpele button bar, kan ik per entry bepalen welke acties erop uitgevoerd mogen worden, gebruik makend van bitwise operators, even versimpeld:
    [ code verwijderd ]

    Deze moet achter de string de 2 knoppen voor editen en deleten weergeven. De functie ButtonBar controleert de flags als volgt (versimpeld):
    [ code verwijderd ]

    Probleem is, m'n logs spugen "Use of undefined constant [..]" notices uit, en als ik EDIT of DEL echo dan laat het doodleuk "EDIT" of "DEL" zien in plaats van hun vooraf gedefineerde waardes...

    Voor zover ik het begrijp zouden defined constants global te gebruiken moeten zijn dus ook in functies als ButtonBar. Zie ik nu iets over het hoofd dat het script niet werkt zoals het zou moeten?
    Constants zijn per definitie globals in PHP, dus ik heb echt geen idee waarom het niet zou werken onder welke PHP-versie draait het? Staat de functie in een aparte include?
    pi_38949568
    quote:
    Op zaterdag 17 juni 2006 18:19 schreef JeRa het volgende:

    [..]

    Constants zijn per definitie globals in PHP, dus ik heb echt geen idee waarom het niet zou werken onder welke PHP-versie draait het? Staat de functie in een aparte include?
    Dat dacht ik dus ook

    De defines en functies staan beide in hetzelfde php bestand en gebruik PHP 5.0.3.


    edit: Hmm vreemd! Ik heb de defines nu helemaal bovenaan gezet (zaten eerst nog wat zaken tussen als general purpose includes en database connects) en dat lijkt wél te werken.

    [ Bericht 13% gewijzigd door Lynx666 op 17-06-2006 18:53:37 ]
      zaterdag 17 juni 2006 @ 19:17:04 #156
    62687 Ajaxfan
    Look out for me
    pi_38950289
    Ik heb die tip van jou geprobeerd Lynx maar nog steeds blijf ik die melding krijgen.
    * Ajax * Arsenal * Barca * Fiorentina * Napoli * Leeds *
    pi_38951438
    quote:
    Op zaterdag 17 juni 2006 19:17 schreef Ajaxfan het volgende:
    Ik heb die tip van jou geprobeerd Lynx maar nog steeds blijf ik die melding krijgen.
    Als je geen verbinding met de database kunt krijgen zal geen enkele query werken controleer de naam van de host, je gebruikersnaam, wachtwoord en naam van de database. Met mysql_error (of mysql_connect_error als ik het me goed herinner) kun je opvragen wat de exacte foutmelding is
    pi_38962516
    ik heb een marquee gemaakt met php & gd, maar je moet de positie van de text in pixels geven, met een statische text is het geen probleem, maar ik wil iets maken met een dynamische text, hoe moet ik de breedte van een string berekenen??
    PS4 online: micro_nl
    pi_38963991
    quote:
    Op zondag 18 juni 2006 01:57 schreef guitarist.nl het volgende:
    [afbeelding]ik heb een marquee gemaakt met php & gd, maar je moet de positie van de text in pixels geven, met een statische text is het geen probleem, maar ik wil iets maken met een dynamische text, hoe moet ik de breedte van een string berekenen??
    Die text schrijf je waarschijnlijk naar de afbeelding met de functie imagefttext(), niet? Nou, met imageftbbox() kun je de bounding box (en dus o.a. de breedte) opvragen
      zondag 18 juni 2006 @ 10:53:45 #160
    65997 Oldbie
    Proud to be South African!
    pi_38965072
    Ik heb een oud PC'tje als gameserver draaien. Compleet met een MySQL database om highscores etc op te slaan. Nu heb ik een betere PC op de kop weten te tikken en ik wil alles overrzetten. Natuurlijk wil ik de highscores niet verliezen dus moet de MySQL database ook over. M.b.v. phpMyAdmin kan ik bij mijn database komen en daar staat iets van exporteer.

    Even een printscreen:


    Doe ik het zo goed? Kan ik het bestand welke gegenereerd wordt gewoon op de nieuwe PC importeren waardoor alle gegevens meegaan?

    Ik heb werkelijk geen flauw idee. Alle hulp is welkom
    pi_38965683
    @Oldbie

    Ja, zo is het prima. Zet de SQL export compatibility nog wel even op de versie van MySQL waar je database op gaat draaien, en zet een vinkje bij opslaan (beneden) zodat je ook daadwerkelijk een bestand krijgt
      zondag 18 juni 2006 @ 11:53:59 #162
    65997 Oldbie
    Proud to be South African!
    pi_38966200
    quote:
    Op zondag 18 juni 2006 11:29 schreef JeRa het volgende:
    @Oldbie

    Ja, zo is het prima. Zet de SQL export compatibility nog wel even op de versie van MySQL waar je database op gaat draaien, en zet een vinkje bij opslaan (beneden) zodat je ook daadwerkelijk een bestand krijgt
    thanks a lot

    [edit]
    Hmmm, ik heb MySQL 5.0.20. Welke moet ik dan kiezen?



    [/edit]

    [ Bericht 6% gewijzigd door Oldbie op 18-06-2006 11:59:30 ]
    pi_38967498
    @Oldbie

    Gewoon op NONE laten staan in dat geval, dan moet het werken
      zondag 18 juni 2006 @ 16:42:45 #164
    62687 Ajaxfan
    Look out for me
    pi_38974283
    Bedankt JeRa en Lynx hij doet het nu. Hij zocht naar de tabel leden terwijl deze lid heette. Naam veranderd en het werkt nu.
    * Ajax * Arsenal * Barca * Fiorentina * Napoli * Leeds *
    pi_38974751
    Ik heb een tabel "news" met de volgende fields: id, title, body, author_id, timestamp, deleted

    Ik heb een tabel "accounts" met de volgende fields: id, name

    Ik heb een tabel "comments" met de volgende fields" id, news_id, body, user_name, timestamp

    Nu wil ik met één query het volgende uit de database halen: De eerste 10 berichten uit tabel news welke niet als gedelete gemarkeerd zijn (deleted=0), met daarbij de author naam uit accounts mbv author_id, en het aantal gekoppelde reacties uit comments (dus een count van comments waar comments.news_id == news.id).

    Uiteindelijk wil ik dus terugkrijgen: news.id, news.title, news.body, accounts.name, news.timestamp, en het aantal reacties

    Dit wordt een ingewikkelde constructie met JOINs waar ik niet helemaal helemaal niet uit kom

    Any pointers?
      zondag 18 juni 2006 @ 18:21:03 #166
    3677 SuperRembo
    Sinds 1998
    pi_38976664
    Dat kan toch wel met een GROUP BY en een COUNT(comments.id)?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_38977249
    @Lynx666

    1
    2
    3
    4
    5
    6
    7
    8
    SELECT n.id, n.title, n.body, a.name, n.timestamp, COUNT(c.id) AS aantal_reacties
    FROM news n
    LEFT JOIN accounts a ON n.author_id = a.id
    LEFT JOIN comments c ON n.id = comments.news_id
    WHERE c.deleted = 0
    GROUP BY n.id
    ORDER BY n.id DESC
    LIMIT 0, 10


    Maar het lijkt me slimmer om gewoon een counter bij te houden in de news-tabel met het aantal reacties ipv telkens een extra JOIN en GROUP BY te doen

    Oh en eigenlijk moet je alles zonder aggregate function in de GROUP BY gooien, maar omdat MySQL het toestaat en omdat n.id uniek is mag dit imo.
    pi_38977613
    Bedankt Jera

    Grappig dat ik net het volgende geprobeerd had wat bleek te werken (ik ben nog een n00b wat betreft JOINs et al ) en dat het bijna identiek is aan jouw oplossing.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT news.id, news.title, news.body, news.timestamp, accounts.name, COUNT(comments.id)
    FROM news
    INNER JOIN accounts
    ON news.author_id=accounts.id
    INNER JOIN comments
    ON news.id=comments.news_id
    WHERE news.deleted=0
    GROUP BY news.id
    ORDER BY news.timestamp DESC
    LIMIT 0, 10


    Waar jij LEFT JOINs gebruikt heb ik er INNER JOINs staan.. Wat is het wezenlijke verschil daartussen?
    quote:
    Op zondag 18 juni 2006 18:42 schreef JeRa het volgende:
    Maar het lijkt me slimmer om gewoon een counter bij te houden in de news-tabel met het aantal reacties ipv telkens een extra JOIN en GROUP BY te doen
    Zo deed ik het eerder ook, maar het leek me 'juister' om die info met een count eruit te halen....

    [ Bericht 21% gewijzigd door Lynx666 op 18-06-2006 19:00:19 ]
    pi_38980687
    quote:
    Op zondag 18 juni 2006 18:54 schreef Lynx666 het volgende:
    Waar jij LEFT JOINs gebruikt heb ik er INNER JOINs staan.. Wat is het wezenlijke verschil daartussen?
    Even simpel gezegd: je koppelt tabel a aan tabel b. Met een LEFT JOIN wordt tabel a altijd aan tabel b gekoppeld, ook als er geen verbinding is met tabel b. Dan krijg je NULL-waarden terug voor de kolommen in tabel b. Met een INNER JOIN krijg je alléén de rijen terug waarvoor de ON-clausule klopt dus als een rij in tabel b niet bestaat (bv. een useraccount) dan krijg je de bijbehorende rij in tabel a ook niet terug.
    quote:
    [..]

    Zo deed ik het eerder ook, maar het leek me 'juister' om die info met een count eruit te halen....
    Het is ook juister, maar performancetechnisch is het gewoon een stuk sneller om een apart veld bij te houden dat je op bepaalde momenten update (nieuwe comment, comment verwijderen, etc).

    Overigens, als je id-veld uit de 'news'-tabel een AUTO_INCREMENT is en dus dezelfde sortering heeft als news.timestamp, dan kun je net zo goed (zoals in mijn query) sorteren op news.id dat is toch al een PRIMARY KEY, en zolang je niet wilt zoeken op de timestamp scheelt dat weer een index (en de daarbij benodigde indexupdates).
    pi_38987812
    Ik heb een plaatje van 60px breed, waar ik een text door wil laten scrollen.
    Hij begint op 60 (zodat je de text niet ziet) en hij moet scrollen (van rechts naar links) tot dat de text weer uit beeld is, hij verschuift 4px per frame!!
    Hij berekend de breedte van de text!!

    De huidige code:
    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
    <?php
    $i_width  
    = 60;
    $i_height = 60;

    $string = "Hello World, This is an test!";
    $pointsize = 11;
    $font = "./tahoma.ttf";

    $im = imagecreate($i_width, $i_height);
    $black = imagecolorallocate ($im, 0, 0, 0);


    $string_size = ImageFtBbox($pointsize, 0, $font, $string, array("linespacing" =&gt; 1));
    $s_width  = $string_size[4];
    $s_height = $string_size[5];
    $y = round($s_width/4);// $y = stringbreedte / 4

    $img0 = ImageCreateFromGIF("guitarist.nl.gif");


    for (
    $i = 0; $i &lt;= $y; $i++)  
    {

    $img[$i] = ImageCreateFromGIF("guitarist.nl.gif");
    $red = imageColorAllocate($img[$i], 255, 153, 0);
    $math = $i_width-($i*4); // $s_ .. is string             $i_... is image
    ImageFtText($img[$i], $pointsize, 0, $math,  0 - $s_height, $red, $font, $string, array("linespacing" =&gt; 1));
    }

    en nog een hele hoop code :&quot;)
    ?>
    PS4 online: micro_nl
    pi_38988053
    Het is te laat om te rekenen, morgen weer
    PS4 online: micro_nl
      zondag 18 juni 2006 @ 23:34:50 #172
    65997 Oldbie
    Proud to be South African!
    pi_38988080
    quote:
    Op zondag 18 juni 2006 23:26 schreef guitarist.nl het volgende:
    [afbeelding]Ik heb een plaatje van 60px breed, waar ik een text door wil laten scrollen.
    Hij begint op 60 (zodat je de text niet ziet) en hij moet scrollen (van rechts naar links) tot dat de text weer uit beeld is, hij verschuift 4px per frame!!
    Hij berekend de breedte van de text!!

    De huidige code:
    [ code verwijderd ]
    Geen idee, maar om goed engels te gebruiken moet het zijn: "Hello world, this is a test"
      zondag 18 juni 2006 @ 23:45:57 #173
    3677 SuperRembo
    Sinds 1998
    pi_38988426
    @guitarist.nl
    Wat is je vraag nou eigenlijk?

    Waarmee / hoe maak je dat animated gifje?
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_38988483
    quote:
    Op zondag 18 juni 2006 23:34 schreef guitarist.nl het volgende:
    Het is te laat om te rekenen, morgen weer
    Ik gok dat je de breedte van het plaatje er nog bij moet optellen
    pi_38988523
    quote:
    Op zondag 18 juni 2006 20:36 schreef JeRa het volgende:

    [..]

    Even simpel gezegd: je koppelt tabel a aan tabel b. Met een LEFT JOIN wordt tabel a altijd aan tabel b gekoppeld, ook als er geen verbinding is met tabel b. Dan krijg je NULL-waarden terug voor de kolommen in tabel b. Met een INNER JOIN krijg je alléén de rijen terug waarvoor de ON-clausule klopt dus als een rij in tabel b niet bestaat (bv. een useraccount) dan krijg je de bijbehorende rij in tabel a ook niet terug.
    Duidelijk, thnx .
    quote:
    [..]

    Overigens, als je id-veld uit de 'news'-tabel een AUTO_INCREMENT is en dus dezelfde sortering heeft als news.timestamp, dan kun je net zo goed (zoals in mijn query) sorteren op news.id dat is toch al een PRIMARY KEY, en zolang je niet wilt zoeken op de timestamp scheelt dat weer een index (en de daarbij benodigde indexupdates).
    ID veld is idd auto_increment, maar wil wel nieuwsberichten kunnen schedulen. Niet elke gepost bericht krijgt dus de timestamp time() mee. Vandaar de timestamp sortering .
    pi_38988576
    quote:
    Op zondag 18 juni 2006 23:48 schreef JeRa het volgende:

    [..]

    Ik gok dat je de breedte van het plaatje er nog bij moet optellen
    waar bij optellen
    PS4 online: micro_nl
    pi_38988594
    quote:
    Op zondag 18 juni 2006 23:45 schreef SuperRembo het volgende:
    @guitarist.nl
    Wat is je vraag nou eigenlijk?

    Waarmee / hoe maak je dat animated gifje?
    Hij moet nog 60px verder doorscrollen, maar niet 60 eerder beginnen

    van een scriptje van een kammeraad
    PS4 online: micro_nl
    pi_38988614
    quote:
    Op zondag 18 juni 2006 23:50 schreef guitarist.nl het volgende:

    [..]

    waar bij optellen
    Bij de totale breedte van de string de scrollafstand van die string moet namelijk (breedte string + 2 * breedte plaatje) zijn om te scrollen zoals jij wilt
    pi_38989348
    quote:
    Op zondag 18 juni 2006 23:52 schreef JeRa het volgende:

    [..]

    Bij de totale breedte van de string de scrollafstand van die string moet namelijk (breedte string + 2 * breedte plaatje) zijn om te scrollen zoals jij wilt
    Ja maar hij moet ook ehm ergens beginnen, niet op 0 iig
    PS4 online: micro_nl
    pi_38994297
    weet iemand misschien wie de SIDN-variant is van de .com domeinen?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_38997054
    quote:
    Op zondag 18 juni 2006 23:51 schreef guitarist.nl het volgende:

    [..]

    Hij moet nog 60px verder doorscrollen, maar niet 60 eerder beginnen

    van een scriptje van een kammeraad
    plaats dan es het hele scriptje
    pi_38997464
    quote:
    Op maandag 19 juni 2006 09:52 schreef Desdinova het volgende:
    weet iemand misschien wie de SIDN-variant is van de .com domeinen?
    Internic.net ?
      maandag 19 juni 2006 @ 12:01:59 #183
    12221 Tijn
    Powered by MS Paint
    pi_38997544
    quote:
    Op maandag 19 juni 2006 11:58 schreef Light het volgende:

    [..]

    Internic.net ?
    Volgens mij wordt het tegenwoordig door het ICANN geregeld.
    pi_38997601
    quote:
    Op maandag 19 juni 2006 12:01 schreef Tijn het volgende:

    [..]

    Volgens mij wordt het tegenwoordig door het ICANN geregeld.
    Ook goed

    Ik deed een whois request op een .com domein, en dat leverde onder meer de volgende tekst op:

    Domain names in the .com and .net domains can now be registered
    with many different competing registrars. Go to http://www.internic.net
    for detailed information.
      maandag 19 juni 2006 @ 12:09:26 #185
    12221 Tijn
    Powered by MS Paint
    pi_38997782
    Ja, InterNIC deed die dingen vroeger. Volgens mij bestaat het ook nog wel, maar is het tegenwoordig onderdeel van het ICANN.
    pi_38997993
    quote:
    Op maandag 19 juni 2006 12:09 schreef Tijn het volgende:
    Ja, InterNIC deed die dingen vroeger. Volgens mij bestaat het ook nog wel, maar is het tegenwoordig onderdeel van het ICANN.
    Gevonden. InterNIC is een registered service mark van ICANN.
    pi_38998124
    fenk you
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39000485
    Ik zoek een functie om een deel van een variabele te vervangen, ik ben namelijk een gastenboek aan het maken en daarbij heeft hij dus een $bericht die hij in een database schrijft, nu wilt ik dat hij bijvoorbeeld
    1 :) 

    vervangt door

    1 <img src=bijlagen/sm/smile.gif> 


    is hier een speciale code voor of niet??
      maandag 19 juni 2006 @ 13:45:01 #189
    52200 ViPeRII
    It's a good day to die
    pi_39000565
    regexp maken!
    -- ViPeRII --
      maandag 19 juni 2006 @ 13:46:41 #190
    52200 ViPeRII
    It's a good day to die
    pi_39000628
    Of je doet iets als:
    $bericht = str_replace(" :smoke: ", "<img src=\"images/smile/smoky.gif\">", $bericht);
    -- ViPeRII --
      maandag 19 juni 2006 @ 13:49:14 #191
    85514 ralfie
    !Yvan eht nioj
    pi_39000716
    of str_replace(), zoals

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $a
    = array(
    ":)" ,
    ":(" ,
    ":|"
    );
    $b = array(
    '<img src="smilies/blij.gif" alt="blij"/>',
    '<img src="smilies/nietzoblij.gif" alt="niet zo blij"/>',
    '<img src="smilies/zwaardepressief.gif" alt="zwaar depressief"/>'
    );

    $output = str_replace($a,$b, $string);
    ?>

    EDIT: zoals hierboven dan, alleen met arrays kun je in een keer al je emoticons vervangen
      maandag 19 juni 2006 @ 13:50:29 #192
    52200 ViPeRII
    It's a good day to die
    pi_39000755
    Ik was eerder ;-)
    -- ViPeRII --
      maandag 19 juni 2006 @ 13:53:44 #193
    85514 ralfie
    !Yvan eht nioj
    pi_39000869
    quote:
    Op maandag 19 juni 2006 13:50 schreef ViPeRII het volgende:
    Ik was eerder ;-)
    Je hebt geluk dat ik mijn wachtwoord altijd vergeet en dus op moet zoeken
      maandag 19 juni 2006 @ 13:56:36 #194
    52200 ViPeRII
    It's a good day to die
    pi_39000967
    Lol, maar jouw oplossing is nog net iets mooier ;-)
    -- ViPeRII --
    pi_39002486
    Dank, hij doet het
    pi_39004133
    Ik knal weer tegen een probleem aan..

    1
    2
    3
    4
    5
    <?php
    $txt
    = preg_replace("#\[image thumb=\"(*.?)\" prefix=\"(*.?)\"
         fw=\"(*.?)\" fn=\"(*.?)\" \/\]#sie"
    ,
         
    make_table('$1','$2','$3','$4'), $txt);
    ?>


    Hiermee wil ik met elke "[image thumb="data" prefix="data" fw="data" fn="data" /]" dat in een stuk tekst voorkomt een tabelletje plaatsen met make_table() m.b.v. de gegeven data fields.

    Nu laat mn error log dit zien: PHP Warning: preg_replace(): Compilation failed: nothing to repeat at offset 20 in <php file> on line 78

    waarbij line 78 bovenstaande regel is..

    Wat klopt er niet aan mijn preg_replace (wat niet meer dan een uitbouwing is van een kortere, wél werkende preg_replace) ??
      FOK!-Schrikkelbaas maandag 19 juni 2006 @ 16:31:18 #197
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39005945
    quote:
    Op maandag 19 juni 2006 13:42 schreef timbastiaansen het volgende:
    Ik zoek een functie om een deel van een variabele te vervangen, ik ben namelijk een gastenboek aan het maken en daarbij heeft hij dus een $bericht die hij in een database schrijft, nu wilt ik dat hij bijvoorbeeld
    [ code verwijderd ]


    vervangt door
    [ code verwijderd ]

    is hier een speciale code voor of niet??
    De str_replace werkt natuurlijk prima, alleen zou ik het doen bij het uitlezen van het bericht.
    Dus je schrijft de userinput gewoon naar DB en bij uitlezen zet je code om naar smilies.
      maandag 19 juni 2006 @ 17:24:44 #198
    85514 ralfie
    !Yvan eht nioj
    pi_39007304
    quote:
    Op maandag 19 juni 2006 15:34 schreef Lynx666 het volgende:
    Ik knal weer tegen een probleem aan..
    [ code verwijderd ]

    Hiermee wil ik met elke "[image thumb="data" prefix="data" fw="data" fn="data" /]" dat in een stuk tekst voorkomt een tabelletje plaatsen met make_table() m.b.v. de gegeven data fields.

    Nu laat mn error log dit zien: PHP Warning: preg_replace(): Compilation failed: nothing to repeat at offset 20 in <php file> on line 78

    waarbij line 78 bovenstaande regel is..

    Wat klopt er niet aan mijn preg_replace (wat niet meer dan een uitbouwing is van een kortere, wél werkende preg_replace) ??
    het is (.*?) en niet (*.?)
      maandag 19 juni 2006 @ 17:38:52 #199
    98312 Ewaldus
    Save the cheerleader
    pi_39007610
    ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien.

    Wie weet een stap voor stap tutorial waar wordt verteld hoe we goed kunnen upgraden?
    We draaien CentOS 4. Ik heb zelf al gezocht maar dat mocht op niets uit lopen..
    niets
    pi_39007649
    quote:
    Op maandag 19 juni 2006 16:31 schreef Swetsenegger het volgende:

    [..]

    De str_replace werkt natuurlijk prima, alleen zou ik het doen bij het uitlezen van het bericht.
    Dus je schrijft de userinput gewoon naar DB en bij uitlezen zet je code om naar smilies.
    Ik denk dat dat ook makkelijker is, scheelt ook weer ruimte in de database nl.
    pi_39008223
    quote:
    Op maandag 19 juni 2006 17:24 schreef ralfie het volgende:

    [..]

    het is (.*?) en niet (*.?)
    Argh, hoe heb ik hier overheen kunnen kijken Ik dacht weer te moeilijk blijkbaar

    Thnx
    pi_39008826
    quote:
    Op maandag 19 juni 2006 16:31 schreef Swetsenegger het volgende:

    [..]

    De str_replace werkt natuurlijk prima, alleen zou ik het doen bij het uitlezen van het bericht.
    Dus je schrijft de userinput gewoon naar DB en bij uitlezen zet je code om naar smilies.
    Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).
    pi_39011617
    quote:
    Op maandag 19 juni 2006 18:28 schreef Light het volgende:

    [..]

    Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).
    Besef wel dat je in dit geval meer dan twee keer zoveel databaseruimte nodig hebt. Normaal maakt dit niet zoveel uit, maar hoe meer data de harde schijf in één keer keer opvolgend kan inlezen hoe beter (en hier geldt dus dat als je grote rows hebt, de harde schijf wellicht onnodige seeks uitvoert). Voor een forum dat ik een paar jaar terug had geschreven voerde ik caching uit, die dus geparsede messages opsloeg in een aparte tabel en na een tijdje er weer uit gooide - maar dat is miss wat overdone
    pi_39012702

    Het is me gelukt
    http://test.guitarist.nl/width/temp_icon.php?string=test12345678
    bij sting kun je zelf wat invoeren, om het plaatje niet te groot te maken is max 75 karakters, alles daarna is foetsie
    PS4 online: micro_nl
    pi_39012859
    quote:
    Op maandag 19 juni 2006 20:28 schreef guitarist.nl het volgende:
    [afbeelding]
    Het is me gelukt
    http://test.guitarist.nl/width/temp_icon.php?string=test12345678
    bij sting kun je zelf wat invoeren, om het plaatje niet te groot te maken is max 75 karakters, alles daarna is foetsie
    Je moet nog een stripslashes() over de variabele string gooien (of de prima methode van Roönaän gebruiken om alle GPC-variabelen te stripslashen), want nu werken strings met een apostrofe erin niet goed
    pi_39012982
    pi_39013276
    quote:
    Op maandag 19 juni 2006 20:32 schreef JeRa het volgende:

    [..]

    Je moet nog een stripslashes() over de variabele string gooien (of de prima methode van Roönaän gebruiken om alle GPC-variabelen te stripslashen), want nu werken strings met een apostrofe erin niet goed
    gewoon stripslashes($string); ?
    Wat is de methode van Roonaan dan ?
    @the_disheaver leuk nu nog wat meer aan de layout doen, misschien nog een praatwolkje boven mij
    edit:
    met string: zonder string:


    nu genoeg zitten pielen

    [ Bericht 18% gewijzigd door guitarist op 19-06-2006 20:50:31 ]
    PS4 online: micro_nl
      maandag 19 juni 2006 @ 22:57:14 #208
    12880 CraZaay
    prettig gestoord
    pi_39019833
    quote:
    Op maandag 19 juni 2006 18:28 schreef Light het volgende:

    [..]

    Dan doe je bij iedere pageview weer die str_replace, en da's niet echt nodig. Dan kun je beter de tekst twee keer in de database zetten, 1 keer niet geparsed (makkelijk voor editen) en 1 keer geparsed (voor weergeven).
    Qua performance zal dit best sneller zijn, maar echt een mooie oplossing is het niet imo. Ik zou dan eerder naar goede cachingmethoden gaan kijken.
    pi_39020278
    quote:
    Op maandag 19 juni 2006 20:42 schreef guitarist.nl het volgende:

    [..]

    gewoon stripslashes($string); ?
    Wat is de methode van Roonaan dan ?
    Mjup, en de methode van Roönaän vind je ergens op zijn site geloof ik

    Overigens kun je voor je achtergrondplaatje beter een mooi PNG-plaatje pakken ipv de JPEG die je nu gebruikt. Je kunt de artifacts van de JPEG-compressie duidelijk zien. Omdat je een animated GIF hebt scheelt het in principe niets qua bestandsgrootte als je er een mooi PNG-plaatje achterplakt
    pi_39022173
    Iemand een idee hoe ik tijd van optredens op volgorde plaats?

    van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld:

    22:00 tot 23:00
    23:00 tot 00:00
    01:00 tot 02:00

    Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts.
    er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is.

    wie o wie heeft een oplossing.
    pi_39022342
    quote:
    Op dinsdag 20 juni 2006 00:03 schreef Woeiii het volgende:
    Iemand een idee hoe ik tijd van optredens op volgorde plaats?

    van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld:

    22:00 tot 23:00
    23:00 tot 00:00
    01:00 tot 02:00

    Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts.
    er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is.

    wie o wie heeft een oplossing.
    timestap van maken, en vervolgens sorteren?
    pi_39022408
    quote:
    Op dinsdag 20 juni 2006 00:08 schreef the_disheaver het volgende:

    [..]

    timestap van maken, en vervolgens sorteren?
    Werktniet.. 00:00:00 snapt ie niet dat later is dan 23:00:00.. Als ik dat doe komt het er zo uit te zien:

    00:00
    01:00
    22:00
    23:00
    pi_39022671
    quote:
    Op dinsdag 20 juni 2006 00:11 schreef Woeiii het volgende:

    [..]

    Werktniet.. 00:00:00 snapt ie niet dat later is dan 23:00:00.. Als ik dat doe komt het er zo uit te zien:

    00:00
    01:00
    22:00
    23:00
    timestamp van datum en tijd?

    Want zonder datum, ofwel: de tijden hebben de zelfde data, heeft php gewoon gelijk.
    pi_39023339
    idd man, heb ik daar gewoon ff 4 uur moeilijk over gedaan whehe 't werkt nu thnx!!
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 08:19:42 #215
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39025823
    quote:
    Op maandag 19 juni 2006 23:07 schreef JeRa het volgende:

    [..]

    Mjup, en de methode van Roönaän vind je ergens op zijn site geloof ik
    stripslashes_deep() staat op php.net en aangepast/verbetert ergens op roonaans site inderdaad
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 08:21:09 #216
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39025837
    quote:
    Op dinsdag 20 juni 2006 00:03 schreef Woeiii het volgende:
    Iemand een idee hoe ik tijd van optredens op volgorde plaats?

    van 12 tot 23 is geen probleem, maar van 23 tot 12 wel.. dus bijvoorbeeld:

    22:00 tot 23:00
    23:00 tot 00:00
    01:00 tot 02:00

    Bij de 00:00 gaat het telkens mis, want 00 is niets terwijl ie dit moet zien als 12 uur snachts.
    er 24 uur van maken kan ook niet, want als het 01 wordt komt 01 onder 24 te staan doordat 01 <24 is.

    wie o wie heeft een oplossing.
    komt het uit database? Want dan kan je simpelweg een `time` kolom opnemen, en daarop sorteren.
    pi_39027520
    quote:
    Op dinsdag 20 juni 2006 08:21 schreef Swetsenegger het volgende:

    [..]

    komt het uit database? Want dan kan je simpelweg een `time` kolom opnemen, en daarop sorteren.
    Klopt, zo dacht ik ook, maar alleen time is niet voldoende want hoe moet ie weten dat 00:00 meer is dan 23? De oplossing is date + time 20 juni 00:00 is meer dan 19 juni 23:00

    Werkt goed nu
      dinsdag 20 juni 2006 @ 10:16:30 #218
    98312 Ewaldus
    Save the cheerleader
    pi_39027823
    quote:
    Op maandag 19 juni 2006 17:38 schreef Ewaldus het volgende:
    ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien.

    Wie weet een stap voor stap tutorial waar wordt verteld hoe we goed kunnen upgraden?
    We draaien CentOS 4. Ik heb zelf al gezocht maar dat mocht op niets uit lopen..
    nee, niemand?

    of zit ik off-topc
    niets
    pi_39031679
    quote:
    Op maandag 19 juni 2006 17:38 schreef Ewaldus het volgende:
    ik ben dus dikke n00b met linux enzo, nu heb ik samen met een vriend een dedicated aangeschaft alleen komen we erachter dat mijn scripts alleen onder php5 draaien.
    Bedoel je dat je scripts geschreven zijn voor PHP5 en onder PHP4 draaien, of dat je scripts geschreven zijn voor PHP4 en dat ze nu onder PHP5 draaien? Ik gok het eerste maar even voor de zekerheid
    pi_39031836
    quote:
    Op dinsdag 20 juni 2006 10:16 schreef Ewaldus het volgende:

    [..]

    nee, niemand?

    of zit ik off-topc
    Er zijn best wel wat dingen veranderd sinds PHP5, maar waar je vooral even naar moet kijken zijn waarschijnlijk de superglobals en het gebruik hiervan in je scripts.
    To err is human, but to really foul things up requires a computer.
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 13:02:57 #221
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39032583
    quote:
    Op dinsdag 20 juni 2006 10:01 schreef Woeiii het volgende:

    [..]

    Klopt, zo dacht ik ook, maar alleen time is niet voldoende want hoe moet ie weten dat 00:00 meer is dan 23? De oplossing is date + time 20 juni 00:00 is meer dan 19 juni 23:00

    Werkt goed nu
    Ja dan doe je dus een datetime kolom
    pi_39032691
    quote:
    Op dinsdag 20 juni 2006 12:39 schreef Scorpionsworld het volgende:

    [..]

    Er zijn best wel wat dingen veranderd sinds PHP5, maar waar je vooral even naar moet kijken zijn waarschijnlijk de superglobals en het gebruik hiervan in je scripts.
    Dat heeft niet zozeer iets te maken met PHP5 aangezien dit een optie is die je ook in PHP4 kon wijzigen. De defaults zijn gewoon anders sinds PHP5, maar administrators met een beetje verstand hebben de register_globals ook in PHP4 op Off gezet hoor.

    Overigens krijg ik de indruk dat het niet echt om de scripts gaat maar om de PHP-installatie (hij heeft het over het upgraden van PHP op CentOS).
    pi_39042479
    Ik kreeg de opdracht om een site te debuggen. Er wordt een 500 internal server error gegenereerd door php.

    Dit komt vrijwel zeker van de mail() functie, heeft iemand een idee hoe dat kan? En bij voorkeur ook hoe ik het op kan lossen?
    pi_39042697
    quote:
    Op dinsdag 20 juni 2006 17:45 schreef fokME2 het volgende:
    Ik kreeg de opdracht om een site te debuggen. Er wordt een 500 internal server error gegenereerd door php.

    Dit komt vrijwel zeker van de mail() functie, heeft iemand een idee hoe dat kan? En bij voorkeur ook hoe ik het op kan lossen?
    zonder php-code
    pi_39043931
    quote:
    Op dinsdag 20 juni 2006 17:52 schreef the_disheaver het volgende:

    [..]

    zonder php-code
    De error komt al als de functie zo wordt gebruikt:
    1
    2
    3
    <?php
    mail
    ("mail@domein.tld","onderwerp","inhoud");
    ?>
    pi_39046930
    Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)?
    Moet ik dan switch gebruiken?

    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
    <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>danielpunt</title>

    <?php echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"stijl.css\" />"; ?>


    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>

    <body>

    <div id="navigation">
      <ul>
       <?php  if ($page=="1")   {
                echo "<li id=\"currentpage\">pagina 1</li>";
                }
             else {
             echo "<li><a href=\"index.php?page=1\">pagina 1</li></a>";
             }
       ?>
       
       <?php  if ($page=="2")   {
                echo "<li id=\"currentpage\">pagina 2</li>";
                }
             else {
             echo "<li><a href=\"index.php?page=2\">pagina 2</li></a>";
             }
       ?>
       
       <?php  if ($page=="3")   {
                echo "<li id=\"currentpage\">pagina 3</li>";
                }
             else {
             echo "<li><a href=\"index.php?page=3\">pagina 3</li></a>";
             }
       ?>
        
      
      </ul>
    </div>

    <br />

    <p>
    <?php @ require_once ("$page.html"); ?>
    </p>

    </body>
    </html>


    De pagina zelf: http://danielpunt.nl/huidigepagina/index.php

    [ Bericht 2% gewijzigd door super-muffin op 20-06-2006 20:04:19 ]
      dinsdag 20 juni 2006 @ 20:19:09 #227
    12880 CraZaay
    prettig gestoord
    pi_39047803
    quote:
    Op dinsdag 20 juni 2006 19:57 schreef super-muffin het volgende:
    Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)?
    Moet ik dan switch gebruiken?
    Wat werkt er niet?
    pi_39048014
    ten eerste: als ik op een item klik wordtie niet geladen, er komt wel index.php?page=2 te staan als ik er 2 druk, maar er komt daar onder geen Pagina 2 te staan.

    en als de else functie word niet uitgevoerd, het blijven dus links.
    pi_39048521
    Waarschijnlijk om de de register_globals op off staat op je localhost. (Wat ook de beste optie is overigens)

    Zet boven je "if ($page=="1")" is $page = $_GET['page'];
    pi_39048566
    quote:
    Op dinsdag 20 juni 2006 18:30 schreef fokME2 het volgende:

    [..]

    De error komt al als de functie zo wordt gebruikt:
    [ code verwijderd ]
    Wat zeggen je Apache2-logs en de configuratie van PHP over het mailen?
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 20:42:55 #231
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39048891
    quote:
    Op dinsdag 20 juni 2006 19:57 schreef super-muffin het volgende:
    Waarom werkt dit wel op mijn localhost (met PHP5) en niet op mijn webserver (PHP versie weet ik niet)?
    Moet ik dan switch gebruiken?
    [ code verwijderd ]

    De pagina zelf: http://danielpunt.nl/huidigepagina/index.php
    superglobals
    pi_39049201
    quote:
    Op dinsdag 20 juni 2006 18:30 schreef fokME2 het volgende:

    [..]

    De error komt al als de functie zo wordt gebruikt:
    [ code verwijderd ]
    Geen sendmail(wapper) geinstalleerd op die computer?
    pi_39049423
    Ik heb geen idee, het is niet mijn hosting etc. Zal het is navragen.

    Edit:

    Path to sendmail /usr/sbin/sendmail -t -i

    Sendmail is dus geinstalleerd neem ik aan.
    pi_39050189
    quote:
    Op dinsdag 20 juni 2006 20:53 schreef fokME2 het volgende:
    Ik heb geen idee, het is niet mijn hosting etc. Zal het is navragen.

    Edit:

    Path to sendmail /usr/sbin/sendmail -t -i

    Sendmail is dus geinstalleerd neem ik aan.
    Nee, het pad naar sendmail is "/usr/sbin/sendmail -t -i" voor PHP, ongeacht of het geïnstalleerd is of niet check dus of er wel een (symlink naar een) sendmail-binary is.
      dinsdag 20 juni 2006 @ 21:39:45 #235
    98312 Ewaldus
    Save the cheerleader
    pi_39051673
    quote:
    Op dinsdag 20 juni 2006 20:19 schreef CraZaay het volgende:

    [..]

    Wat werkt er niet?
    nou, eerlijk gezegd ben ik redelijk nieuw met Linux en weet niet waar ik moet beginnen met upgraden. Ik ben opzoek naar tutorials maar kan nergens een goede vinden.. Het lijkt mij logisch dat ik eerst php 4 moet unstallen alvorens php 5 te gaan instaleren enz. enz.
    Mijn vraag was ook of iemand nog goede howto's /tuto's kent oid.. bvd

    [ Bericht 12% gewijzigd door Ewaldus op 20-06-2006 21:44:49 ]
    niets
    pi_39052127
    quote:
    Op dinsdag 20 juni 2006 21:39 schreef Ewaldus het volgende:

    [..]

    Het lijkt mij logisch dat ik eerst php 4 moet unstallen alvorens php 5 te gaan instaleren enz. enz.
    Lijkt mij niet logisch, het is geen Windows zeg voor zover ik weet maakt CentOS gebruik van een RPM package manager. Meestal hoort daar nog een tool bij (zoals yum bijvoorbeeld) om die packages van internet te downloaden en meteen te upgraden, en waarmee je je systeem up-to-date kunt houden. Kun je niets vinden op de supportafdeling van centos.org? (en dan vooral de fora)
      dinsdag 20 juni 2006 @ 22:00:01 #237
    98312 Ewaldus
    Save the cheerleader
    pi_39052547
    quote:
    Op dinsdag 20 juni 2006 21:50 schreef JeRa het volgende:

    [..]

    Lijkt mij niet logisch, het is geen Windows zeg voor zover ik weet maakt CentOS gebruik van een RPM package manager. Meestal hoort daar nog een tool bij (zoals yum bijvoorbeeld) om die packages van internet te downloaden en meteen te upgraden, en waarmee je je systeem up-to-date kunt houden. Kun je niets vinden op de supportafdeling van centos.org? (en dan vooral de fora)
    Moet je nagaan wat voor n00bleek ik ben met Linux ... Ik had het trouwens niet verwacht maar wilde geen risico's lopen.
    CentOS werkt idd met RPM's en dat rechtstreeks downloaden kan met dingen als apt-get volgesn mij..
    Bedankt, misschien anderen nog tips ?
    niets
      dinsdag 20 juni 2006 @ 22:21:39 #238
    12221 Tijn
    Powered by MS Paint
    pi_39053582
    Ik wil een beginnetje maken met OOP in PHP5 (PHP 5.1.2 om precies te zijn). Ik kan redelijk met pointers en classes enzo omgaan in C++ en dacht het daarom ook zonder al teveel moeite in PHP te moeten doen.

    Maar het wil nog niet echt vlotten. Ik heb eerst even een simpel test-object opgezet die alleen maar een waarde vasthoudt, verder niets. En dat lukt al niet

    index.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    error_reporting(E_ALL);
             
    require_once("CTest.php");
             
    $test = new Test();
             
    $test->setVar(5);
             
    echo ($test->getVar());


    CTest.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    class Test
    {
       private $var = 0;
       
       public function __construct()
       {
          echo "Creating " . $this . "<br>";
       }
       
       public function __destruct()
       {
          echo "Destructing " . $this . "<br>";
       }
       
       public function setVar($_var)
       {
          $this->$var = $_var;
       }
       
       public function getVar()
       {
          return $this->$var;
       }
    }


    De output hiervan is:

    1
    2
    3
    4
    5
    6
    Creating Object id #1

    Notice: Undefined variable: var in /home/martijn/www/CTest.php on line 19

    Fatal error: Cannot access empty property in /home/martijn/www/CTest.php on line 19
    Destructing Object id #1


    Regel 19 gaat dus mis, dat is $this->$var = $_var;. Blijkbaar kan het object Test z'n eigen member $var niet vinden. Ik snap echter niet waarom. Kan iemand me aanwijzen wat ik verkeerd doe?
    pi_39053784
    @Tijn

    Het is $this->var, en niet $this->$var
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 22:27:16 #240
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39053799
    quote:
    Op dinsdag 20 juni 2006 22:21 schreef Tijn het volgende:
    Ik wil een beginnetje maken met OOP in PHP5 (PHP 5.1.2 om precies te zijn). Ik kan redelijk met pointers en classes enzo omgaan in C++ en dacht het daarom ook zonder al teveel moeite in PHP te moeten doen.

    Maar het wil nog niet echt vlotten. Ik heb eerst even een simpel test-object opgezet die alleen maar een waarde vasthoudt, verder niets. En dat lukt al niet

    index.php
    [ code verwijderd ]

    CTest.php
    [ code verwijderd ]

    De output hiervan is:
    [ code verwijderd ]

    Regel 19 gaat dus mis, dat is $this->$var = $_var;. Blijkbaar kan het object Test z'n eigen member $var niet vinden. Ik snap echter niet waarom. Kan iemand me aanwijzen wat ik verkeerd doe?
    echo is geen functie
    echo ($test->getVar());

    echo $test->getVar();

    -edit- Hmz, waarschijnlijk snap ik het gewoon niet.
    Het gaat ook over OOP, dus ik kan beter mijn mond houden
    pi_39053935
    quote:
    Op dinsdag 20 juni 2006 22:27 schreef Swetsenegger het volgende:

    [..]

    echo is geen functie
    echo ($test->getVar());

    echo $test->getVar();
    echo() is een language construct maar kan op beide manieren gebruikt worden als je echter meerdere argumenten aan echo() wilt meegeven mag je geen haakjes gebruiken geloof ik.
      dinsdag 20 juni 2006 @ 22:31:40 #242
    12221 Tijn
    Powered by MS Paint
    pi_39054003
    quote:
    Op dinsdag 20 juni 2006 22:26 schreef JeRa het volgende:
    @Tijn

    Het is $this->var, en niet $this->$var
    Bedankt!

    Ik was er net zelf ook achter gekomen door de voorbeelden op PHP.net eens goed te lezen. Ik vind het wel raar hoor. Ik ben eraan gewend geraakt dat variabelen in PHP een dollarsign ervoor hebben, en nu hebben ze dat opeens weer niet
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 22:32:10 #243
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39054023
    quote:
    Op dinsdag 20 juni 2006 22:30 schreef JeRa het volgende:

    [..]

    echo() is een language construct maar kan op beide manieren gebruikt worden als je echter meerdere argumenten aan echo() wilt meegeven mag je geen haakjes gebruiken geloof ik.
    Ik dacht dat je alleen bij print haakjes kon gebruiken en echo niet. Anyway, dat zal het probleem niet veroorzaken
      dinsdag 20 juni 2006 @ 22:33:24 #244
    12221 Tijn
    Powered by MS Paint
    pi_39054079
    quote:
    Op dinsdag 20 juni 2006 22:27 schreef Swetsenegger het volgende:

    [..]

    echo is geen functie
    echo ($test->getVar());

    echo $test->getVar();

    -edit- Hmz, waarschijnlijk snap ik het gewoon niet.
    Het gaat ook over OOP, dus ik kan beter mijn mond houden
    Ja, ik ben een beetje gewend geraakt om om pointer->ding altijd haakjes te zetten, omdat in C++ wel eens foutmeldingen krijg als ik dat niet doe. Maar in PHP is dat blijkbaar niet zo nodig, dus kheb ze weer weggehaald.

    Oh en als je nou ff oplet, dan leer je ook OOP in PHP, want simpeler dan dit voorbeeld kom je het niet tegen
    pi_39054124
    quote:
    Op dinsdag 20 juni 2006 22:31 schreef Tijn het volgende:

    [..]

    Bedankt!

    Ik was er net zelf ook achter gekomen door de voorbeelden op PHP.net eens goed te lezen. Ik vind het wel raar hoor. Ik ben eraan gewend geraakt dat variabelen in PHP een dollarsign ervoor hebben, en nu hebben ze dat opeens weer niet
    Alleen de 'buitenste' variabele heeft altijd een dollarteken, de rest niet het is dus ook $obj->variabeleObject->variabele, $array['blaat']['ietsanders']->variabele[1], etc. Zoals jij het deed kon je dynamische namen oproepen (hij probeerde namelijk de inhoud van $var te gebruiken als naam voor de variabelen in je object).
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 22:34:55 #246
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39054154
    quote:
    Op dinsdag 20 juni 2006 22:33 schreef Tijn het volgende:


    Oh en als je nou ff oplet, dan leer je ook OOP in PHP, want simpeler dan dit voorbeeld kom je het niet tegen
    Ja DIT begrijp ik wel
    Dat is een beetje het probleem. De voorbeelden begrijp ik, maar zie ik het nut niet van.
    En de nuttige voorbeelden begrijp ik niet

    sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs.
      dinsdag 20 juni 2006 @ 22:39:02 #247
    12221 Tijn
    Powered by MS Paint
    pi_39054353
    quote:
    Op dinsdag 20 juni 2006 22:34 schreef Swetsenegger het volgende:

    [..]

    sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs.
    De theoretische achtergrond heb ik ook niet echt, maar ik vind de structuur van object-oriented programma's meestal makkelijker te volgen. Het wordt dan niet van die spaghetticode zeg maar.
    pi_39054366
    quote:
    Op dinsdag 20 juni 2006 22:34 schreef Swetsenegger het volgende:
    sowieso ben ik nog steeds niet overtuigt van het nut van OOP. Ja ik weet het, ik ben stronteigenwijs.
    Om eerlijk te zijn is OOP in PHP i.c.m. websites nogal overdreven, behalve als je met backends voor de database e.d. gaat werken. Dan kun je namelijk iets heel leuks toepassen class extending.

    Dat houdt in dat je in jouw applicatie één interface hebt om een database aan te spreken ($obj->query bijvoorbeeld) terwijl je op de achtergrond bv. 5 verschillende classes hebt geschreven voor 5 verschillende DB-types. Dán is het erg handig, want dat voorkomt dat je voor al die verschillende types aparte code moet gaan schrijven op elke plek dat je een query wilt uitvoeren ik heb dat in vorige projecten gebruikt om zowel PHP-mysql als PHP-mysqli aan te kunnen spreken.
      dinsdag 20 juni 2006 @ 22:39:42 #249
    12221 Tijn
    Powered by MS Paint
    pi_39054397
    quote:
    Op dinsdag 20 juni 2006 22:34 schreef JeRa het volgende:

    [..]

    Alleen de 'buitenste' variabele heeft altijd een dollarteken, de rest niet het is dus ook $obj->variabeleObject->variabele, $array['blaat']['ietsanders']->variabele[1], etc. Zoals jij het deed kon je dynamische namen oproepen (hij probeerde namelijk de inhoud van $var te gebruiken als naam voor de variabelen in je object).
    Nou, ik vind het stom
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 22:43:34 #250
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39054622
    quote:
    Op dinsdag 20 juni 2006 22:39 schreef Tijn het volgende:

    [..]

    De theoretische achtergrond heb ik ook niet echt, maar ik vind de structuur van object-oriented programma's meestal makkelijker te volgen. Het wordt dan niet van die spaghetticode zeg maar.
    Ik ben in 1983 met programmeren begonnen. I love spaghetti.
    Dat van de hak op de tak gespring van OOP code
    quote:
    Op dinsdag 20 juni 2006 22:39 schreef JeRa het volgende:

    [..]

    Om eerlijk te zijn is OOP in PHP i.c.m. websites nogal overdreven, behalve als je met backends voor de database e.d. gaat werken. Dan kun je namelijk iets heel leuks toepassen class extending.

    Dat houdt in dat je in jouw applicatie één interface hebt om een database aan te spreken ($obj->query bijvoorbeeld) terwijl je op de achtergrond bv. 5 verschillende classes hebt geschreven voor 5 verschillende DB-types. Dán is het erg handig, want dat voorkomt dat je voor al die verschillende types aparte code moet gaan schrijven op elke plek dat je een query wilt uitvoeren ik heb dat in vorige projecten gebruikt om zowel PHP-mysql als PHP-mysqli aan te kunnen spreken.
    Het probleem is niet zo zeer dat ik het zelf nodig heb op dit moment. Het probleem is wel dat ik een 'incomplete' programmeur ben. En dat kan me opbreken op een gegeven moment, ook in een management functie mbt webdevelopment welke kant ik uiteindelijk toch graag op wil.

    Eigenlijk wil ik het gewoon kennen (kunnen ?).
    pi_39054635
    Oh, en OOP is ook heel erg handig als je bijvoorbeeld een applicatie met ondersteuning voor plugins beheert. Dan kun je een interface schrijven en dan kunnen anderen die interface implementeren en een plugin vlekkeloos in je applicatie verwerken
      FOK!-Schrikkelbaas dinsdag 20 juni 2006 @ 22:45:00 #252
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39054677
    quote:
    Op dinsdag 20 juni 2006 22:43 schreef JeRa het volgende:
    Oh, en OOP is ook heel erg handig als je bijvoorbeeld een applicatie met ondersteuning voor plugins beheert. Dan kun je een interface schrijven en dan kunnen anderen die interface implementeren en een plugin vlekkeloos in je applicatie verwerken
    Ja, of een modulair concept, waarbij de ene klant de 'ideal betaling' module wel wil en de ander niet
      dinsdag 20 juni 2006 @ 22:57:24 #253
    12221 Tijn
    Powered by MS Paint
    pi_39055349
    Kun je ook je object scheiden in een header-file waarin alleen definities staan en een file met de daadwerkelijke implementatie?

    Ik heb even snel wat geprobeerd, maar de klasse slikt "public function __construct();" niet en vindt dat er een body bij moet zitten, maar die wil ik dus in een andere file zetten.
    pi_39055565
    quote:
    Op dinsdag 20 juni 2006 22:57 schreef Tijn het volgende:
    Kun je ook je object scheiden in een header-file waarin alleen definities staan en een file met de daadwerkelijke implementatie?
    Nee, maar wat je zoekt is waarschijnlijk een interface, zie daarvoor de manual
    quote:
    Police officer: "...and we want you to interface with the local gay community."
    Daffyd: "Ah I'm not really interface, I'm more into bum."
      dinsdag 20 juni 2006 @ 23:01:57 #255
    12221 Tijn
    Powered by MS Paint
    pi_39055589
    quote:
    Op dinsdag 20 juni 2006 23:01 schreef JeRa het volgende:

    [..]

    Nee, maar wat je zoekt is waarschijnlijk een interface, zie daarvoor de manual
    Hmm...
    quote:
    Object interfaces allow you to create code which specifies which methods a class must implement, without having to define how these methods are handled.
    ja, dat klinkt inderdaad wel wat ik wil. Bedankt! Even lezen

    [edit] Ah, dit heel goed. Wat is de netste manier om dit in m'n files te zetten? Zou ik de interface en de klasse in losse files moeten zetten, de klasse moeten includen in de file die het object wil gebruiken en de interface includen in de klasse? Of Kan ik net zo goed de interface en klasse in 1 file zetten en alleen deze includen vanuit de file die het object wil gebruiken?
    pi_39055980
    quote:
    Op dinsdag 20 juni 2006 23:01 schreef Tijn het volgende:
    Ah, dit heel goed. Wat is de netste manier om dit in m'n files te zetten? Zou ik de interface en de klasse in losse files moeten zetten, de klasse moeten includen in de file die het object wil gebruiken en de interface includen in de klasse? Of Kan ik net zo goed de interface en klasse in 1 file zetten en alleen deze includen vanuit de file die het object wil gebruiken?
    Ik zou de interface in een apart bestand zetten, en in de classes gebruik maken van __autoload (of er zeker van zijn dat de interface op het begin van een mainscript wordt geincludet).
      dinsdag 20 juni 2006 @ 23:23:04 #257
    12221 Tijn
    Powered by MS Paint
    pi_39056716
    quote:
    Op dinsdag 20 juni 2006 23:10 schreef JeRa het volgende:

    [..]

    __autoload
    Wow, coole feature! Dat ga ik dan zeker gebruiken Dat vind ik ook zo leuk van PHP, dat het barstensvol zit met leuke goodies. Als je met PHP bezig bent, is het altijd kerst
      dinsdag 20 juni 2006 @ 23:42:09 #258
    12880 CraZaay
    prettig gestoord
    pi_39057674
    quote:
    Op dinsdag 20 juni 2006 22:43 schreef Swetsenegger het volgende:

    En dat kan me opbreken op een gegeven moment, ook in een management functie mbt webdevelopment welke kant ik uiteindelijk toch graag op wil.
    Off topic: ik weet uit ervaring dat er genoeg mogelijkheden zijn voor mensen zonder kennis van techniek (die dat zelf niet toe willen geven) die werken op managementniveau in de webdevelopment business. Er is hoop
      woensdag 21 juni 2006 @ 00:06:06 #259
    25889 Sitethief
    Fulltime Flapdrol
    pi_39058757
    Even een noobvraagje, weet iemand waarom dit niet werkt??

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?
    if ($name = strstr ($HTTP_USER_AGENT, "MSIE")) 


    echo '<iframe class="iframe" name="freem" src="home.html" id="freem" ALLOWTRANSPARENCY>';
    }
    else
    {
    echo '<iframe class="iframe" name="freem" src="home.html" id="freem">';
    }
    ?>


    Dwz hij doet niet Allowtransparancy. Ik had eerst escapes voor elke " maar daar krijg ik een 404 in het iframe.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
    pi_39058814
    @Sitethief

    Als register_globals op Off staat werkt $HTTP_USER_AGENT niet. Beter gebruik je $_SERVER, dus $_SERVER['HTTP_USER_AGENT'].
      woensdag 21 juni 2006 @ 00:14:15 #261
    25889 Sitethief
    Fulltime Flapdrol
    pi_39059039
    quote:
    Op woensdag 21 juni 2006 00:07 schreef JeRa het volgende:
    @Sitethief

    Als register_globals op Off staat werkt $HTTP_USER_AGENT niet. Beter gebruik je $_SERVER, dus $_SERVER['HTTP_USER_AGENT'].
    Heel erg bedankt
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
    pi_39060218
    Ik snap nou niet precies waarom ik zo'n interface zou gebruiken?

    Waarvoor is dat handig?
    pi_39060741
    quote:
    Op woensdag 21 juni 2006 00:50 schreef fokME2 het volgende:
    Ik snap nou niet precies waarom ik zo'n interface zou gebruiken?

    Waarvoor is dat handig?
    Je kunt zo zeker weten welke methodes en variabelen een class moet implementeren zonder vast te leggen hóe ze die methodes implementeren. De applicatiecore hoeft alleen te weten dat een class een interface implementeert om zeker te weten dat het bepaalde methodes en/of variabelen kan aanspreken
      woensdag 21 juni 2006 @ 01:23:56 #264
    12221 Tijn
    Powered by MS Paint
    pi_39060922
    Ik vind het ook gewoon handig voor mezelf als ik objecten maak die ik later nog wil gebruiken. Als ik er een tijdje niet mee heb gewerkt en even snel moet opzoeken hoe en bepaalde functie heet of welke variabelen een functie verwacht, hoef ik geen lappen code door te lopen, maar kijk ik gewoon even in de header interface
    pi_39060950
    Overigens had ik in C++ en Java altijd nette comments (in doxygen syntax), en nu er tooltjes zoals PHPdoctor zijn ga ik het in PHP mezelf ook maar eens aanleren op die manier krijg je in één keer een nette documentatie van al je classes en methoden.
      woensdag 21 juni 2006 @ 01:33:17 #266
    12221 Tijn
    Powered by MS Paint
    pi_39061054
    Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genereren Toevallig heb ik vorige week documentatie zitten tikken voor een schoolproject wat ik had gedaan en dit had me een hoop werk gescheeld

    Er gaat een wereld voor me open vanavond, mensen
      woensdag 21 juni 2006 @ 01:45:17 #267
    12880 CraZaay
    prettig gestoord
    pi_39061193
    quote:
    Op woensdag 21 juni 2006 01:33 schreef Tijn het volgende:
    Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genereren Toevallig heb ik vorige week documentatie zitten tikken voor een schoolproject wat ik had gedaan en dit had me een hoop werk gescheeld

    Er gaat een wereld voor me open vanavond, mensen
    Een van de meest gebruikte voor PHP is http://www.phpdoc.org/
    pi_39061462
    quote:
    Op woensdag 21 juni 2006 01:33 schreef Tijn het volgende:
    Woah. Dat is ook erg cool. Ik wist helemaal niet dat er tools waren om automatisch documentatie te genereren
    Die zijn er, op de voorwaarde dat je bijna net zoveel tijd aan je comments als aan je code besteedt maar als je het uiteindelijk nodig hebt scheelt het zeeën van tijd, zeker bij kleine wijzigingen. En CraZaay, tnx voor de link!
      FOK!-Schrikkelbaas woensdag 21 juni 2006 @ 09:32:35 #269
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39064285
    quote:
    Op dinsdag 20 juni 2006 23:42 schreef CraZaay het volgende:

    [..]

    Off topic: ik weet uit ervaring dat er genoeg mogelijkheden zijn voor mensen zonder kennis van techniek (die dat zelf niet toe willen geven) die werken op managementniveau in de webdevelopment business. Er is hoop
    Dat weet ik, dat doe ik nu al aan de hardware kant
    pi_39065933
    Weet iemand misschien een goede anti-spam mogelijkheid voor forms?
    Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik)..
    pi_39066221
    je GD versie kan je checken met phpinfo(); dacht ik.

    wat bedoel je met anti-spam mogelijkheid? en wat voor forms heb je het dan over?
    As a rule, I never touch anything more sophisticated and delicate than myself.
    pi_39067111
    quote:
    Op woensdag 21 juni 2006 10:25 schreef liar het volgende:
    Weet iemand misschien een goede anti-spam mogelijkheid voor forms?
    Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik)..
    hangt er af wat van form het is:
    - inlogsysteem
    - html eruit filteren
    - bepaalde woorden het bericht negeren
    - via een orignieeel idee ervoor zorgen dat je het form moet gebruiken (dwv het gecontroleerd wordt).
    pi_39102060
    nou: dat spambots er niet op kunnen posten (voor contact en gbook form)
    je hebt van die image validation scripts, maar die lijken niet echt te werken bij mij
    heeft iemand een ander idee?
    pi_39102347
    quote:
    Op woensdag 21 juni 2006 10:25 schreef liar het volgende:
    Weet iemand misschien een goede anti-spam mogelijkheid voor forms?
    Ik heb die image validation met CAPTCHA dingen geprobeerd, maar dat is vaak voor GD2.0 en dat kan mijn server niet aan (die heeftwel GD, maar 1 ofzo denk ik)..
    http://www.noipo.org/index.php?id=278

    Deze zou je kunnen uitpluizen, is ook niet zo ingewikkeld?
    pi_39112196
    quote:
    Op donderdag 22 juni 2006 08:59 schreef liar het volgende:
    nou: dat spambots er niet op kunnen posten (voor contact en gbook form)
    je hebt van die image validation scripts, maar die lijken niet echt te werken bij mij
    heeft iemand een ander idee?
    Vraagje toevoegen:
    Welke kleur heeft een gele banaan oid. Die gaan ze niet zo 1 2 3 ontcijferen. Werkte bij mij iig heel goed
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 20:45:41 #276
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39124677
    heel stuk getikt, druk ik op het verlkeerde knopje.

    Nog maar ene keer.
    Ik heb een tabel met een kolom waar een UNIQUE value in komt. Ik weet niet welke values er al in zitten. Vanaf heden worden de inserts keer op keer 1 opgehoogd en ingevoerd, te beginnen met 1.

    Hiervoor haal ik het laatste record uit de DB, hoog de value met 1 op en insert de boel. Indien ik een UNIQUE foutmelding krijg en dus een waarde probeer te submitten die er al instaat, moet de value opnieuw met 1 opgehoogd worden en opnieuw geinsert... Recursie dus.

    Maar... ik kom er niet...

    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
    <?php
    function submit_value($value){
      
    $query="INSERT into TABLE
              (id,value)
              VALUES(0,'"
    .$value."')";
      if(
    mysql_query($query)){
        return
    true;
      }else{
        return
    false;
      }
    }

    $value=0; //Laatste record uit de db
    $value++;
    if(
    submit_value($value)){
      
    //header
    }else{
      
    /**
      * recursie
      * maar dit wordt in deze opzet WEER
      * if(submit_value($value)){ etc
      * wat natuurlijk niet werkbaar is
      */
    }
    ?>


    Het moet simpel zijn, maar ik staar me blind op het opnieuw aanroepen EN controleren van de submit functie.

    -edit- ow ja, de uiteindelijk $value (dus NA de recursie) moet global zijn.
    pi_39124933
    @Swetsenegger

    Je moet de recursie-aanroep in de functie zelf laten plaatsvinden.

    [offtopic]
    Mag ik vragen waar je dit in hemelsnaam voor nodig hebt?
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 21:02:14 #278
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39125506
    quote:
    Op donderdag 22 juni 2006 20:51 schreef JeRa het volgende:
    @Swetsenegger

    Je moet de recursie-aanroep in de functie zelf laten plaatsvinden.
    Ja, maar hoe
    Dan moet ik dus op de een of andere manier ook value weer returnen omdat die global moet zijn.

    -edit-
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    function submit_value($value){
      
    $value++;
      
    $query="INSERT into TABLE
              (id,value)
              VALUES(0,'"
    .$value."')";
      if(
    mysql_query($query)){
        return
    $value;
      }else{
        
    submit_value($value);
      }
    }

    $value=0; //Laatste record uit de db
    $value=submit_value($value);
      
    //header
    ?>
    quote:
    [offtopic]
    Mag ik vragen waar je dit in hemelsnaam voor nodig hebt?
    Voor het toewijzen van een Product Identifier
    En dat begint handmatig wat problematisch te worden.
    pi_39125730
    quote:
    Op donderdag 22 juni 2006 21:02 schreef Swetsenegger het volgende:

    [..]

    Ja, maar hoe
    Dan moet ik dus op de een of andere manier ook value weer returnen omdat die global moet zijn
    Ik laat het je zelf uitzoeken aan de hand van deze recursieve manier om een facultatieve waarde te berekenen
    1
    2
    3
    4
    5
    6
    7
    8
    function fact($v)
    {
        if ($v < 2) {
            return 1;
        } else {
            return fact($v - 1) * $v;
        }
    }
    quote:
    [..]

    Voor het toewijzen van een Product Identifier
    En dat begint handmatig wat problematisch te worden.
    En AUTO_INCREMENT voldoet niet, of MAX() en table locks gebruiken?
    pi_39125746
    Kan je niet ipv return true; gebruik maken van return mysql_insert_id(); ?
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 21:07:09 #281
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39125794
    quote:
    Op donderdag 22 juni 2006 21:05 schreef JeRa het volgende:

    En AUTO_INCREMENT voldoet niet, of MAX() en table locks gebruiken?
    Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.
    pi_39125900
    quote:
    Op donderdag 22 juni 2006 21:07 schreef Swetsenegger het volgende:

    [..]

    Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.
    Ik zou dan overigens niet voor de recursieve manier gaan, maar voor een andere, lineaire aanpak. Je kunt bijvoorbeeld met COUNT() en IS BETWEEN bepalen hoeveel id's er in bepaalde ranges liggen (om er zeker van te zijn of er vrije identifiers zijn) en met MAX() de maximale waarde een identifier in alle id's of binnen een range bepalen.
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 21:11:30 #283
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39125990
    quote:
    Op donderdag 22 juni 2006 21:09 schreef JeRa het volgende:

    [..]

    Ik zou dan overigens niet voor de recursieve manier gaan, maar voor een andere, lineaire aanpak. Je kunt bijvoorbeeld met COUNT() en IS BETWEEN bepalen hoeveel id's er in bepaalde ranges liggen (om er zeker van te zijn of er vrije identifiers zijn) en met MAX() de maximale waarde een identifier in alle id's of binnen een range bepalen.
    Want?
    Voor performance hoef je het niet te doen, want er komt max 50 keer per jaar een nieuw record in
    pi_39126137
    quote:
    Op donderdag 22 juni 2006 21:11 schreef Swetsenegger het volgende:

    [..]

    Want?
    Voor performance hoef je het niet te doen, want er komt max 50 keer per jaar een nieuw record in
    Recursieve aanroepen nemen veel stack geheugen in beslag. En die is niet zo heel groot; het is volgens mij ook één van de weinige manieren om PHP goed te laten crashen een lineaire aanpak neemt over het algemeen ook een constante hoeveelheid geheugen in beslag.

    edit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php

    function aargh()
    {
        aargh();
    }

    aargh();

    ?>

    1
    2
    JeRa@Ares:~$ php -f test.php
    Segmentation fault
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 21:40:47 #285
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39127354
    quote:
    Op donderdag 22 juni 2006 21:14 schreef JeRa het volgende:

    [..]

    Recursieve aanroepen nemen veel stack geheugen in beslag. En die is niet zo heel groot; het is volgens mij ook één van de weinige manieren om PHP goed te laten crashen een lineaire aanpak neemt over het algemeen ook een constante hoeveelheid geheugen in beslag.

    edit:
    [ code verwijderd ]


    [ code verwijderd ]
    Mjah, maar ik bouw geen infinite loop en er zijn max 7 records achter elkaar waar ik recursief doorheen moet loopen. Maar inderdaad goed om aan te denken.
    pi_39128667
    quote:
    Op donderdag 22 juni 2006 21:40 schreef Swetsenegger het volgende:

    [..]

    Mjah, maar ik bouw geen infinite loop en er zijn max 7 records achter elkaar waar ik recursief doorheen moet loopen. Maar inderdaad goed om aan te denken.
    Er zijn op dit moment max 7 records om doorheen te loopen. Maar hoe is dat over een jaar, als er 50 of 100 records bijgezet zijn?
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 22:15:58 #287
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39129075
    quote:
    Op donderdag 22 juni 2006 22:08 schreef Light het volgende:

    [..]

    Er zijn op dit moment max 7 records om doorheen te loopen. Maar hoe is dat over een jaar, als er 50 of 100 records bijgezet zijn?
    vanaf heden tel ik gewoon vanaf 1 op he
    Dus er zijn nooit meer dan max 7 records waar ik recursief doorheen moet loopen.

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

    script trekt in dit voorbeeld 6 uit de database. hoogt deze 1 op (dus 7) en insert die. UNIQUE fout, dus er wordt 1 bij 7 opgeteld (8) en geinsert.

    De volgende ronde wordt 8 uit de database getrokken, 1 bij opgeteld, 9, UNIQUE fout, 1 bij opgeteld, etc en uiteindelijk wordt 13 geinsert.

    Er komen dus nooit langere squences van values die ik niet kan inserten. dat blijft op het langste aaneengesloten aantal values welke NU in de DB staan.
    pi_39129262
    @Swetsenegger

    Waarom niet dit:

    1
    2
    3
    4
    LOCK TABLES tabel WRITE
    SELECT MAX(id) AS max_id FROM tabel
    INSERT INTO tabel (id) VALUES (max_id + 1)
    UNLOCK TABLES
    pi_39129338
    quote:
    Op donderdag 22 juni 2006 21:07 schreef Swetsenegger het volgende:

    [..]

    Nee, want er staan dus al enkele tientallen values in die ik onder geen beding mag gebruiken.
    Een AUTO_INCREMENT kun je instellen op een beginwaarde. Als je die zet op de hoogste waarde aanwezig + 1, krijg je altijd unieke waardes.
      FOK!-Schrikkelbaas donderdag 22 juni 2006 @ 22:22:12 #290
    1972 Swetsenegger
    Egocentrische Narcist
    pi_39129409
    quote:
    Op donderdag 22 juni 2006 22:19 schreef JeRa het volgende:
    @Swetsenegger

    Waarom niet dit:

    SELECT MAX(id) AS max_id FROM tabel

    INSERT INTO tabel (id) VALUES (max_id + 1)
    Een PID bestaat niet alleen uit een cijfer, dus het is iets ingewikkelder als hier geschetst. Maar ik had die recursieve functie nodig .
    quote:
    Op donderdag 22 juni 2006 22:20 schreef JeRa het volgende:

    [..]

    Een AUTO_INCREMENT kun je instellen op een beginwaarde. Als je die zet op de hoogste waarde aanwezig + 1, krijg je altijd unieke waardes.
    Ook dat gaat niet, want dan loop ik al bijna over de maximaal mogelijke PID heen.
    Ja jullie denken dat dat hardware bouwen allemaal zo eenvoudig is heren, maar daar komt veel bij kijken van PID's VID's MAC adressen enzo
    pi_39146382
    ik wil m.b.v. php mijn mail ophalen van een account (gmail, hccnet, en e.v.t. ook hotmail)
    om te beginnen met hccnet & gmail
    hoe kan ik dit het beste aanpakken?
    beide ondersteunen pop3
    ik heb het volgende in gedachte:
    met een socket verbinden naar de server vervolgens inloggen (dit heb ik al voor hccnet)
    dan de bericht onderwerpen ophalen en in een lijstje weergeven...

    a) kan dit uberhaupt wel op deze manier?
    b) Hoe kan ik dit het best aanpakken ? hebben jullie een idee of dit begin goed is:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $sock
    = socket_create(AF_INET,SOCK_STREAM,0)or
    die(
    "could not create socket ".socket_strerror(socket_last_error()));
    $con = socket_connect($sock, "pop.hccnet.nl", "110") or
    die(
    "could not connect socket ".socket_strerror(socket_last_error()));
    socket_write($sock,"user ******");
    socket_write($sock,"pass ******");
    socket_write($sock,"Retr 2");
    echo(
    socket_read($sock,10000));
    socket_write($sock,"quit");
    ?>


    [ Bericht 42% gewijzigd door mschol op 23-06-2006 13:16:42 ]
    pi_39147280
    @mschol:
    Ik ben daar ook een tijdje meet bezig geweest. Heb het toen gedaan met imap_open. Werkt ook met pop3 naar mijn weten.
    pi_39148016
    quote:
    Op vrijdag 23 juni 2006 13:42 schreef fokME2 het volgende:
    @mschol:
    Ik ben daar ook een tijdje meet bezig geweest. Heb het toen gedaan met imap_open. Werkt ook met pop3 naar mijn weten.
    hmm imap_open werkt idd "iets" efficenter
    alleen krijg ik de volgende melding:
    "Warning: imap_open(): Couldn't open stream {pop.hccnet.nl:110/pop3} in d:\www\mail.php on line 5
    error: Login aborted"

    als ik de /pop3 weghaalt blijft hij enorm lang bezig de pagina te laden.. (totdattie timeout)

    --edit---
    et wil niet mee werken:
    quote:
    Warning: imap_open(): Couldn't open stream {pop.hccnet.nl:110/novalidate-cert} in d:\www\mail.php on line 5
    Can't open mailbox {pop.hccnet.nl:110/novalidate-cert}: invalid remote specification
    /ssl werkt ook niet /notls ook niet

    ik ga nu eerst eff een al gebouwde webmail client uitproberen...
    als die ook problemen geven dan ligt et aan php

    [ Bericht 16% gewijzigd door mschol op 23-06-2006 14:15:17 ]
      vrijdag 23 juni 2006 @ 16:40:26 #294
    52200 ViPeRII
    It's a good day to die
    pi_39153395
    Doe anders eens op ip, ipv dns naam. Dat wilt met php ook nog wel eens een probleem zijn.
    -- ViPeRII --
    pi_39159451
    Hoi

    Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden?
      vrijdag 23 juni 2006 @ 21:09:28 #296
    12221 Tijn
    Powered by MS Paint
    pi_39160688
    Ik ben een object aan het maken die een grafiek output. Op zich lijkt het te werken (geen errors of warnings), maar het daadwerkelijke plaatje blijft uit. Ik heb m'n object daarom een test-methode gegeven en zelfs daar komt geen plaatje uit.

    showGraph.php:
    1
    2
    3
    4
    5
    header("Content-type: image/png");
    require_once("CGraph.php");

    $grafiek = new Graph();
    $grafiek->test();


    CGraph.php:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Graph
    {
       public function test()
       {
          $image = imagecreatetruecolor(500, 500);      
          $output = imagepng($image);
          return $output;
       }
    }


    Als ik naar showGraph.php ga, verwacht ik een zwart vierkantje van 500 bij 500 pixels, maar ik zie niets. Wat doe ik fout?
    pi_39161752
    De funtie geeft wel het plaatje terug, maar je vertelt php nergens dat ie het plaatje naar de client moet sturen. Maak er eens dit van:

    1echo $grafiek->test();


    [ Bericht 2% gewijzigd door SuperRembo op 23-06-2006 22:36:26 (klopt niets van wat ik zei :D) ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_39163304
    quote:
    Op vrijdag 23 juni 2006 20:30 schreef Koewam het volgende:
    Hoi

    Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden?
    Cursi zijn er genoeg te vinden, ikzelf heb het geleerd door veel scripts te bekijken en veel zelf uit te proberen. Je vind in de OP wel wat materiaal om ermee te beginnen
    pi_39165663
    quote:
    Op vrijdag 23 juni 2006 21:09 schreef Tijn het volgende:
    Ik ben een object aan het maken die een grafiek output. Op zich lijkt het te werken (geen errors of warnings), maar het daadwerkelijke plaatje blijft uit. Ik heb m'n object daarom een test-methode gegeven en zelfs daar komt geen plaatje uit.

    showGraph.php:
    [ code verwijderd ]

    CGraph.php:
    [ code verwijderd ]

    Als ik naar showGraph.php ga, verwacht ik een zwart vierkantje van 500 bij 500 pixels, maar ik zie niets. Wat doe ik fout?
    Doet ie wel iets als je een echo 'blaat' in je test()-methode zet? Je naam voor de $output-variabele is een beetje ongelukkig gekozen, uit imagepng() komt namelijk een boolean die true is als het gelukt is om een plaatje te maken, niet de daadwerkelijke output. Het plaatje wordt namelijk rechtstreeks naar de stdout geschreven
    pi_39167345
    quote:
    Op vrijdag 23 juni 2006 20:30 schreef Koewam het volgende:
    Hoi

    Ik wil beginnen met PHP schrijven. Dus niet kopieeren plakken en zo, maar echt zelf maken. Waar kun je dat snel leren? Of een cursusje downloaden?
    ik heb et geleerd juist door te knippen + plakken en dinegn aan te passen.
      zaterdag 24 juni 2006 @ 00:18:23 #301
    12221 Tijn
    Powered by MS Paint
    pi_39167536
    Ah bedankt, heren! Ik had de documentatie beter moeten lezen, want de output van imagepng is inderdaad niet het plaatje zelf en daar ging ik wel van uit. "echo grafiek->test()" werkt wel, maar dat hele "return $output" is nergens voor nodig. Of in elk geval, dat doet niet wat ik dacht dat het deed.

    Ik ben erg geholpen, muchos gracias
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')