abonnement Unibet Coolblue
  zaterdag 5 december 2009 @ 15:50:14 #1
136730 PiRANiA
All thinking men are atheists.
pi_75315759

cd niet bijgeleverd

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

Vorige delen:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,75, 76, 77

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

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  •   zaterdag 5 december 2009 @ 15:50:38 #2
    75592 GlowMouse
    l'état, c'est moi
    pi_75315773
    tvp

    en voor css vragen moet je hier niet zijn
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75315789
    Weet hier iemand hoe je PHP files opmaakt met css??
    Ik heb namelijk een css file die nu niet werkt met de php file.
    Althans niet met de tabel die in een PHP code staat. De pagina die buiten de PHp code staat wordt wel correct opgemaakt door de CSS file.

    Weet iemand hoe je dit oplost???
    pi_75315860
    quote:
    Op zaterdag 5 december 2009 15:51 schreef NoShitSherlock het volgende:
    Weet hier iemand hoe je PHP files opmaakt met css??
    Ik heb namelijk een css file die nu niet werkt met de php file.
    Althans niet met de tabel die in een PHP code staat. De pagina die buiten de PHp code staat wordt wel correct opgemaakt door de CSS file.

    Weet iemand hoe je dit oplost???
    ...
    Ja want dan is een HTML tabel opeens anders! toch?
    Hmm... did the rake slay the Orange?
      zaterdag 5 december 2009 @ 16:04:14 #5
    136730 PiRANiA
    All thinking men are atheists.
    pi_75316102
    NoShitSherlock maak je excuses eens! Geen nieuw topic openen. Schavuit
      zaterdag 5 december 2009 @ 16:06:11 #6
    75592 GlowMouse
    l'état, c'est moi
    pi_75316160
    quote:
    Op zaterdag 5 december 2009 16:04 schreef PiRANiA het volgende:
    NoShitSherlock maak je excuses eens! Geen nieuw topic openen. Schavuit
    zal ik dan maar normaal antwoorden
    quote:
    Op zaterdag 5 december 2009 15:51 schreef NoShitSherlock het volgende:
    Weet hier iemand hoe je PHP files opmaakt met css??
    Ik heb namelijk een css file die nu niet werkt met de php file.
    Althans niet met de tabel die in een PHP code staat. De pagina die buiten de PHp code staat wordt wel correct opgemaakt door de CSS file.

    Weet iemand hoe je dit oplost???
    controleer de html output, want dit ligt niet aan php.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75316313
    quote:
    Op zaterdag 5 december 2009 15:53 schreef SpaceLlama het volgende:

    [..]

    ...
    Ja want dan is een HTML tabel opeens anders! toch?
    Maar hoe kan ik dan zo'n klote tabelletje opmaken? Ik heb dus een php bestandje die de gegevens uit een database haalt en in een html tabel zet die als volgt opgebouwd is ( dit is maar een stukje van de totale code):
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while($row = mysql_fetch_array($result))
      {
      echo "<tr>";
      echo "<td>" . $row['module'] . "</td>";
      echo "<td>" . $row['naam'] . "</td>";
       echo "<td>" . $row['module'] . "</td>";
      echo "<td>" . $row['vaknaam'] . "</td>";
       echo "<td>" . $row['eind'] . "</td>";
      echo "<td>" . $row['waarde'] . "</td>";
      echo "</tr>";
      }
    echo "</table>";

    En nu dacht ik de tabel als volgt te kunnen opmaken ( zie onderstreepte tekst):
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    while($row = mysql_fetch_array($result))
      {
      echo "<tr>";
      echo "<td class="tabel1">" . $row['module'] . "</td>";
      echo "<td class= "tabel1">" . $row['naam'] . "</td>";
       echo "<td>" . $row['module'] . "</td>";
      echo "<td>" . $row['vaknaam'] . "</td>";
       echo "<td>" . $row['eind'] . "</td>";
      echo "<td>" . $row['waarde'] . "</td>";
      echo "</tr>";
      }
    echo "</table>";


    Maar als ik dan de php file upload dan laad die helemaal niks meer. Hoe moet ik zo'n tabel opmaken dan?
      zaterdag 5 december 2009 @ 16:13:51 #8
    75592 GlowMouse
    l'état, c'est moi
    pi_75316344
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 5 december 2009 @ 16:19:16 #9
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75316464
    lollertvp

    @noshitsherlock
    hint: je kunt zovaak je wil <?php en ?> php gebruiken om te wisselen tussen php en html
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      zaterdag 5 december 2009 @ 16:21:48 #10
    75592 GlowMouse
    l'état, c'est moi
    pi_75316528
    quote:
    Op zaterdag 5 december 2009 16:19 schreef hamkaastosti het volgende:
    hint: je kunt zovaak je wil <?php en ?> php gebruiken om te wisselen tussen php en html
    dat wil je niet
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 5 december 2009 @ 16:23:20 #11
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75316565
    quote:
    Op zaterdag 5 december 2009 16:21 schreef GlowMouse het volgende:

    [..]

    dat wil je niet
    och.. ik gebruik het in m'n views regelmatig hoor. je hele html echo'en en alles aan elkaar concatenaten vind ik ook niet echt een ideale situatie
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75316612
    quote:
    Op zaterdag 5 december 2009 16:19 schreef hamkaastosti het volgende:
    lollertvp

    @noshitsherlock
    hint: je kunt zovaak je wil <?php en ?> php gebruiken om te wisselen tussen php en html
    Kan je dat misschien zo toepassen op die tabel die ik hierboven beschreef zodat css de tabel kan opmaken??
    Maar ik kan dan toch niet zomaar die sessie stoppen? Want dan gaat de tabel natuurlijk niet gevuld worden lijkt me.
      zaterdag 5 december 2009 @ 16:34:13 #13
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75316828
    ik? nee ik weet niets van php
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      zaterdag 5 december 2009 @ 16:43:43 #14
    75592 GlowMouse
    l'état, c'est moi
    pi_75317105
    quote:
    Op zaterdag 5 december 2009 16:23 schreef hamkaastosti het volgende:

    [..]

    och.. ik gebruik het in m'n views regelmatig hoor. je hele html echo'en en alles aan elkaar concatenaten vind ik ook niet echt een ideale situatie
    ja tuurlijk, maar middenin een regel 3x wisselen is niet handig.

    en NSS moet gewoon mijn link lezen
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 5 december 2009 @ 16:49:17 #15
    87680 Mirel
    Mirel wil een bongophone.
    pi_75317292
    tvphp
    When all else fails, you always have delusion.
    pi_75324601
    Oh, nieuw topic.
    pi_75331784
    quote:
    Op zaterdag 5 december 2009 16:12 schreef NoShitSherlock het volgende:

    [..]

    Maar hoe kan ik dan zo'n klote tabelletje opmaken? Ik heb dus een php bestandje die de gegevens uit een database haalt en in een html tabel zet die als volgt opgebouwd is ( dit is maar een stukje van de totale code):
    [ code verwijderd ]

    En nu dacht ik de tabel als volgt te kunnen opmaken ( zie onderstreepte tekst):
    [ code verwijderd ]

    Maar als ik dan de php file upload dan laad die helemaal niks meer. Hoe moet ik zo'n tabel opmaken dan?
    Doordat je " gebruikt in zowel je html, en je php, denkt de php dat tabel1 php code is, wat een fatal error geeft, omdat het niet goed gebruikt is.

    Er zijn drie manieren om dit op te lossen:
    1.Escape de " dingen in de html door er een \ voor te zetten
    Vb:
    "<td class=\"tabel1\">"

    Deze manier valt niet aan te raden, omdat wanneer het niet nodig is, je echo altijd met een enkele ' opent en sluit.

    2.Gebruik ' dingen
    Vb:
    echo '<td class="tabel1">'

    Is beter dan de eerste mogelijkheid, maar nog steeds niet helemaal perfeect

    3.Haal de html uit de php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    while($row = mysql_fetch_array($result))
      {
    ?>
    <tr>
       <td class="tabel1"><=$row['module']?></td>
       <td class="tabel1"><=$row['naam']?></td>
       <td><=$row['module']?></td>
       <td><=$row['vaknaam']?></td>
       <td><=$row['eind']?></td>
       <td><=$row['waarde']?></td>
    </tr>
    <?
      }
    ?>
    </table>

    Het netst en het meest overzichtelijk, en het makkelijkst te maken
    pi_75331815
    Bedoel je niet toevallig <?= in plaats van <= ?

    Of short open tags ( <? ) werken, is afhankelijk van serverinstellingen. 't Is dus beter om daar niet op te vertrouwen en gewoon <?php te schrijven.
      zondag 6 december 2009 @ 09:56:02 #19
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75331862
    1
    2
    3
    <?php
    <td class="tabel1"> echo $row['module']; </td>
    ?>

    zonder echo zal d'r nog steeds weinig in je browser verschijnen

    arhgh... haalt dat verrekte forum weer een aantal tags weg

    1<td class="tabel1"><?php echo $row['module']; ?></td>
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75331874
    tijd voor een post
    Just say hi!
    pi_75332777
    quote:
    Op zondag 6 december 2009 09:58 schreef Chandler het volgende:
    tijd voor een post
    zo-eentje
    pi_75339403
    quote:
    Op zondag 6 december 2009 09:35 schreef ssmm987 het volgende:

    [..]

    Doordat je " gebruikt in zowel je html, en je php, denkt de php dat tabel1 php code is, wat een fatal error geeft, omdat het niet goed gebruikt is.

    Er zijn drie manieren om dit op te lossen:
    1.Escape de " dingen in de html door er een \ voor te zetten
    Vb:
    "<td class=\"tabel1\">"

    Deze manier valt niet aan te raden, omdat wanneer het niet nodig is, je echo altijd met een enkele ' opent en sluit.

    2.Gebruik ' dingen
    Vb:
    echo '<td class="tabel1">'

    Is beter dan de eerste mogelijkheid, maar nog steeds niet helemaal perfeect

    3.Haal de html uit de php
    [ code verwijderd ]

    Het netst en het meest overzichtelijk, en het makkelijkst te maken
    Thnx man! Ik heb de eerste methode gebruikt en dit werk perfect.
    pi_75340528
    Met mijn code krijg ik allemaal losse arrays, ik wil 1 groot array.
    Ik kom er maar niet op hoe ik dit ga fixen :@

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
     
    $roosterQuery    
    mysql_query("SELECT `month`, `day`, `hour`, `availability` FROM `rooster` WHERE `month` = '12' AND `availability` = '1'");

    while (
    $data mysql_fetch_assoc($roosterQuery)) { 
        
    $month    $data["month"]; 
        
    $day    $data["day"]; 
        
    $hour    $data["hour"]; 
        
    $avail    $data["availability"]; 
         
        
    $array = array("data" => array ($month$day$hour$avail)); 

    /* 
    This is creating several arrays with the data in it. 
    I want to have 1 array with all the data in it, how can I do that? 
    */ 


    ?>
      zondag 6 december 2009 @ 16:43:03 #24
    75592 GlowMouse
    l'état, c'est moi
    pi_75340576
    $data[] = array ($month, $day, $hour, $avail).
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75340722
    quote:
    Op zondag 6 december 2009 16:43 schreef GlowMouse het volgende:
    $data[] = array ($month, $day, $hour, $avail).
    Thanks!

    Nu eens uitzoeken hoe ik er mee overweg moet
      zondag 6 december 2009 @ 18:23:37 #26
    37634 wobbel
    Da WoBBeL King
    pi_75343507
    Zucht...mijn PHP upload script geeft het bestand wel 644 chmod rechten, maar de verkeerde user.

    Normaal zijn alle bestanden op mijn server "wobbel psacln" (eigenaar/groep) maar als ik met PHP upload krijg ik "apache apache".

    Met chown kan ik hier schijnbaar niks mee veranderen, of ik doe het niet goed...maar het zuigt iig want nu kan ik ze niet verwijderen met FTP (alleen met PHP zelf weer)

    1
    2
    3
    <?php
    chown        
    $fm1_UploadFolder $FileNameCreated"wobbel psacln" );
    ?>


    Alleen WoBBeL werkt ook niet....

    (ben van ellende eigen filemanager voor CKeditor aan het maken )
    pi_75343951
    Ik ben bezig om een rss feed editor te maken. Ik ben tot nu toe overal uit gekomen behalve het sorteren.

    deel uit het xml bestand:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <rss version="2.0">
    <channel>
      <item>
        <pubDate>Fri, 04 Dec 2009 09:15:00 +0100</pubDate>
        <title>titel 1</title>
        <link>http://www.link1.nl</link>
        <enclosure url="http://media.nu.nl/m/m1dzmuhapk8k_t.jpg" type="image/jpeg"/>
      </item>
      <item>
        <pubDate>Sun, 06 Dec 2009 21:09:01 +0100</pubDate>
        <title>titel 2</title>
        <link>http://www.link2.nl</link>
        <enclosure url="http://media.nu.nl/m/m1dzmuhapk8k_t.jpg" type="image/jpeg"/>
      </item>


    Ik maak gebruik van SimpleXML om feed in een array te plaatsen.
    1
    2
    $xmltext = join(file("test2.xml"), "");
    $xml = simplexml_load_string($xmltext);


    Nu wil ik de items in de array $xml sorteren op pubDate

    Iemand een idee?
      zondag 6 december 2009 @ 18:48:55 #28
    37634 wobbel
    Da WoBBeL King
    pi_75344186
    quote:
    Op zondag 6 december 2009 18:40 schreef Etimm het volgende:
    Ik ben bezig om een rss feed editor te maken. Ik ben tot nu toe overal uit gekomen behalve het sorteren.

    deel uit het xml bestand:
    [ code verwijderd ]

    Ik maak gebruik van SimpleXML om feed in een array te plaatsen.
    [ code verwijderd ]

    Nu wil ik de items in de array $xml sorteren op pubDate

    Iemand een idee?
    http://www.webmasterworld.com/forum88/12595.htm ?
      zondag 6 december 2009 @ 19:19:37 #29
    107951 JortK
    Immer kwaliteitsposts
      zondag 6 december 2009 @ 19:22:17 #30
    37634 wobbel
    Da WoBBeL King
    pi_75345133
    quote:
    Op zondag 6 december 2009 19:19 schreef JortK het volgende:
    Hoi
    Hai
      zondag 6 december 2009 @ 19:26:34 #31
    75592 GlowMouse
    l'état, c'est moi
    pi_75345238
    quote:
    Op zondag 6 december 2009 18:23 schreef wobbel het volgende:
    Zucht...mijn PHP upload script geeft het bestand wel 644 chmod rechten, maar de verkeerde user.

    Normaal zijn alle bestanden op mijn server "wobbel psacln" (eigenaar/groep) maar als ik met PHP upload krijg ik "apache apache".

    Met chown kan ik hier schijnbaar niks mee veranderen, of ik doe het niet goed...maar het zuigt iig want nu kan ik ze niet verwijderen met FTP (alleen met PHP zelf weer)
    [ code verwijderd ]

    Alleen WoBBeL werkt ook niet....

    (ben van ellende eigen filemanager voor CKeditor aan het maken )
    Apache onder jouw username draaien of de map waarin de bestanden geplaatst worden anders chmodden. Chown lukt iig niet, want zoals de manual al zegt, kan dat alleen als je apache als root draait.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75345837
    quote:
    Op zondag 6 december 2009 19:26 schreef GlowMouse het volgende:

    [..]

    Apache onder jouw username draaien of de map waarin de bestanden geplaatst worden anders chmodden. Chown lukt iig niet, want zoals de manual al zegt, kan dat alleen als je apache als root draait.
    Ik vermoed dat het shared hosting is, dan is het niet zo makkelijk om apache met je eigen user te laten draaien. Andere optie is om de rechten op 666 te zetten (en 777 voor directories). Dan kun je de bestanden wel via ftp verwijderen.
      zondag 6 december 2009 @ 19:59:54 #33
    37634 wobbel
    Da WoBBeL King
    pi_75346325
    quote:
    Op zondag 6 december 2009 19:26 schreef GlowMouse het volgende:

    [..]

    Apache onder jouw username draaien of de map waarin de bestanden geplaatst worden anders chmodden. Chown lukt iig niet, want zoals de manual al zegt, kan dat alleen als je apache als root draait.
    Site draait onder Plesk, dus de hoster kan er ook weinig aan veranderen.
    quote:
    Op zondag 6 december 2009 19:44 schreef Light het volgende:

    [..]

    Ik vermoed dat het shared hosting is, dan is het niet zo makkelijk om apache met je eigen user te laten draaien. Andere optie is om de rechten op 666 te zetten (en 777 voor directories). Dan kun je de bestanden wel via ftp verwijderen.
    Dat laatste truukje ga ik eens proberen

    [edit]

    Mmmm...chmodje staat netjs op 666 voor een jpg bestand maar helaas...

    Commando: DELE 1260126668_CIMG1292.JPG
    Antwoord: 550 1260126668_CIMG1292.JPG: Permission denied
      zondag 6 december 2009 @ 20:10:53 #34
    75592 GlowMouse
    l'état, c'est moi
    pi_75346716
    het geldt alleen voor nieuwe bestanden omdat die de chmod overnemen van de map waarin ze komen
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 6 december 2009 @ 20:13:07 #35
    37634 wobbel
    Da WoBBeL King
    pi_75346817
    quote:
    Op zondag 6 december 2009 20:10 schreef GlowMouse het volgende:
    het geldt alleen voor nieuwe bestanden omdat die de chmod overnemen van de map waarin ze komen
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    if ( move_uploaded_file $_FILES['upload']['tmp_name'], $fm1_UploadFolder "" $FileNameCreated ) )
    {
        
    chmod    $fm1_UploadFolder $FileNameCreated0666 );

    }
    ?>


    en de geuploadde bestanden kan ik dan alsnog niet verwijderen
      zondag 6 december 2009 @ 20:14:44 #36
    75592 GlowMouse
    l'état, c'est moi
    pi_75346899
    ik geloof er niks van
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75347157
    quote:
    Op zondag 6 december 2009 19:59 schreef wobbel het volgende:

    [..]

    Site draait onder Plesk, dus de hoster kan er ook weinig aan veranderen.
    [..]

    Dat laatste truukje ga ik eens proberen

    [edit]

    Mmmm...chmodje staat netjs op 666 voor een jpg bestand maar helaas...

    Commando: DELE 1260126668_CIMG1292.JPG
    Antwoord: 550 1260126668_CIMG1292.JPG: Permission denied
    Wie is de eigenaar van de directory waar de bestanden in staan, en wat zijn de rechten?
      zondag 6 december 2009 @ 20:26:32 #38
    37634 wobbel
    Da WoBBeL King
    pi_75347343
    quote:
    Op zondag 6 december 2009 20:21 schreef Light het volgende:

    [..]

    Wie is de eigenaar van de directory waar de bestanden in staan, en wat zijn de rechten?
    bestand eigenaar is "apache apache", bestand heeft chmod 666
    eigenaar van de map is "wobbel psacln", map heeft chmod 777
      zondag 6 december 2009 @ 20:46:46 #39
    75592 GlowMouse
    l'état, c'est moi
    pi_75348144
    als de map van jou is, en de file heeft chmod 666, dan kun je hem verwijderen
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 7 december 2009 @ 00:23:51 #40
    37634 wobbel
    Da WoBBeL King
    pi_75357011
    quote:
    Op zondag 6 december 2009 20:46 schreef GlowMouse het volgende:
    als de map van jou is, en de file heeft chmod 666, dan kun je hem verwijderen
    Mja, toch niet...maargoed...het wordt straks toch beheerd met PHP dus wat maakt het uit

    Ow en voor iedereen die loopt te zeiken dat CKeditor geen File Manager heeft...het is echt in een half dagje te fixen
    pi_75363484
    quote:
    Daar kom ik dus niet uit...
    Iemand die me kan uitleggen hoe ik de array kan sorteren op pubDate?

    [ Bericht 1% gewijzigd door Etimm op 07-12-2009 11:47:51 ]
    pi_75365779
    quote:
    Op maandag 7 december 2009 10:55 schreef Etimm het volgende:

    [..]

    Daar kom ik dus niet uit...
    Iemand die me kan uitleggen hoe ik de array kan sorteren op pubDate?
    Met usort moet je een heel eind kunnen komen.
    pi_75393044
    Ben er helaas nog niet helemaal uitgekomen... maar dat komt vast wel een x goed.

    Zit nu met nog een andere uitdaging. Hoe kan ik item[1] en alle onderliggende items verwijderen?
    1unset($xml->channel->item[1]);
    werkt helaas niet.

    <rss>
    <channel>
    <item>
    <titel>titel 1</titel>
    <link>www.link1.nl</link>
    </item>
    <item>
    <titel>titel 2</titel>
    <link>www.link2.nl</link>
    </item>
    <item>
    <titel>titel 3</titel>
    <link>www.link3.nl</link>
    </item>
    </channel>
    </rss>

    [ Bericht 7% gewijzigd door Etimm op 07-12-2009 23:13:54 ]
      dinsdag 8 december 2009 @ 19:19:08 #44
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_75419042
    even zwaaien
    pi_75420586
    Ik ben nog steeds een beetje met MySQL en InnoDB in het bijzonder aan het stoeien. Ik stuit nu echter op een vreemd verschijnsel. Ik heb de volgende, eenvoudige tabel:

    1
    2
    3
    4
    5
    KOLOM   TYPE         NULL  ATTRIBUTEN
    ----------------------------------------
    ID      BIGINT       NEE   UNSIGNED
    PARENT  BIGINT       JA    UNSIGNED
    NAME    VARCHAR(50)  NEE


    Dit is, zoals de structuur al impliceert, een tabel voor een recursieve boom-structuur. Nu wil ik echter dat je per 'niveau' niet twee keer dezelfde NAME kunt invoeren. Ik heb dus een unique constraint gelegd op de kolommen PARENT en NAME.

    Nu werkt dit prima, ik kan bijvoorbeeld niet twee keer een record toevoegen waar PARENT 1 is, en NAME 'bla' is. Dit werkt echter niet wanneer PARENT NULL is. Met andere woorden, ik kan dus twéé keer een record met PARENT = NULL en NAME = 'bla' invullen, hetgeen dus niet de bedoeling zou moeten zijn. Hoe kan dit? In de andere platformen waar ik op werk (voornamelijk MSSQL en Oracle) werkt dit wél gewoon.

    EDIT: Ik zie hier nog iemand die hetzelfde probleem heeft op het MySQL forum: http://forums.mysql.com/read.php?22,53591,53591

    Een 'nep' waarde als 9999999 of 0 in de PARENT kolom gooien indien deze daadwerkelijk 'NULL' zou moeten zijn, is geen optie. Op de PARENT kolom ligt namelijk een foreign key, en bovendien is zo'n nep waarde slordig en bovenal onlogisch.
      dinsdag 8 december 2009 @ 19:57:56 #46
    75592 GlowMouse
    l'état, c'est moi
    pi_75420678
    Unique werkt niet icm NULL (zie documentatie; http://dev.mysql.com/doc/refman/5.0/en/create-index.html ). Een alternatief is de waarde 0 gebruiken ipv NULL als er geen parent is.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75420833
    quote:
    Op dinsdag 8 december 2009 19:57 schreef GlowMouse het volgende:
    Unique werkt niet icm NULL (zie documentatie; http://dev.mysql.com/doc/refman/5.0/en/create-index.html ). Een alternatief is de waarde 0 gebruiken ipv NULL als er geen parent is.
    Ik had nog een ninja edit geplaatst.

    En da's best wel zuur dan. Niet echt logisch.
    pi_75423667
    Nou, heel Google en MySQL.com in het bijzonder af zitten struinen en er is inderdaad niet echt een oplossing voor. Dan voor deze keer maar een uitzondering maken en deze databasetechnische controle op applicatie-niveau leggen.
      dinsdag 8 december 2009 @ 21:07:12 #49
    75592 GlowMouse
    l'état, c'est moi
    pi_75423724
    Dat kon ik zo ook wel zeggen dat je er niet anders omheen kunt werken
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75423910
    quote:
    Op dinsdag 8 december 2009 21:07 schreef GlowMouse het volgende:
    Dat kon ik zo ook wel zeggen dat je er niet anders omheen kunt werken
    Ik was er al bang voor en had zo'n vermoeden, maar ik wou toch even zeker weten. Ik vind het wel echt zuur. Ik heb zo ook bijvoorbeeld in het gros van mijn tabellen een 'delDate' kolom, die is NULL wanneer het betreffend record niet 'ge`delete' is, en bevat de timestamp van de verwijderdatum wanneer deze record wel 'ge`delete' is. Uiteraard is het de bedoeling dat wanneer een tabel een UNIQUE constraint op diverse kolommen heeft, deze de 'delDate' kolom ook meeneemt (anders krijg je immers constraint violations op records die in de applicatie 'verwijderd' zijn). Deze vlieger gaat helaas ook niet op. Nu moet ik daar inderdaad een beetje valsspelen door 0 te gebruiken in plaats van NULL. OF al deze checks op al deze tabellen op applicatieniveau gaan verleggen, maar dat is een onbegonnen en erg slordig karwei.

    Als er één ding is waar ik een hekel aan heb, dan is het wel een onlogische database.
    pi_75431055
    Hallo allemaal,

    Al een tijdje ben ik bezig met het zoeken naar een oplossing voor mijn website waar ik mee bezig ben.

    Bedoeling is dat bezoekers in realtime iets aan kunnen vinken en dat deze status dan bewaard blijft. Op mijn vorige opleiding heb ik wel enige kennis opgedaan met php en mysql maar in deze kwestie kom ik er niet uit.

    Als je niet begrijpt wat ik bedoel kijk op de site: bierdopje.com

    Hier kan je realtime aanvinken welke aflevering je hebt gezien. Het grijze icoontje veranderd direct in een groene als je het aanklikt. Maar hoe wordt dit gedaan? En in welke taal?

    Wie oh wie kan mij helpen?
    Alvast bedankt!
      woensdag 9 december 2009 @ 00:07:48 #52
    75592 GlowMouse
    l'état, c'est moi
    pi_75431128
    Front-end gaat dit mbv xmlHTTP. Dit kun je vrij makkelijk met een toolkit als jQuery. Je moet wel met JavaScript en PHP kunnen werken.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75431427
    quote:
    Op woensdag 9 december 2009 00:07 schreef GlowMouse het volgende:
    Front-end gaat dit mbv xmlHTTP. Dit kun je vrij makkelijk met een toolkit als jQuery. Je moet wel met JavaScript en PHP kunnen werken.
    Dankje voor je reactie! Nu kom ik wat verder. Is het dan ook zo te maken dat het gekoppeld kan worden aan een user?

    Erg tof dat Fok! users je altijd willen helpen

    Heb misschien al wat gevonden:
    http://widowmaker.kiev.ua/checkbox/

    eens kijken of ik hier wat mee kan.

    [ Bericht 12% gewijzigd door Kwyjibo op 09-12-2009 00:23:53 ]
      vrijdag 11 december 2009 @ 09:31:41 #54
    51684 The_Tankgirl
    Kate Bush is the best
    pi_75507984
    hi!

    Even voor alle dummies zoals ik die een boek zoeken om php te begrijpen:

    Ik ben nu bezig met het boek: PHP for the web visual quickstart guide (third edition), en dit is echt het eerste boek over php waar ik wel doorheen kom

    Ik zou wel de Engelse versie nemen, omdat deze het meest recent is, de laatste Nederlandse versie komt uit 2004 ofzo.

    Echt een aanrader dus!
    Misschien ook een ideetje om een rijtje met aanbevolen boeken te maken ofzo?
    Alle benodigdheden voor cupcakes, taarten en andere lekkere dingen :-9 www.bakgoed.nl
    pi_75524059
    Ik zit met een punt.

    Ik laad een database class naar $db en laad daarna een nieuwe class (user) en wil deze als parameter de $db class meegeven

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    class user
    {
        public 
    $db;
        private 
    $salt       'abc1234';
        private 
    $cookieName 'abc12345667890';
        private 
    $domain     'http://www.domain.com';
        
        public function 
    __construct($db)
        {
            
    $this->db $db;
        }

        public function 
    user($db)
        {
            
    $this->__construct($db);
        }
        
        public static function 
    login($username ''$password ''$stayloggedin false$sha false)
        {
    print(
    $this->db);
        }
    }
    ?>


    nu krijg ik echter de volgende error :?

    Fatal error: Using $this when not in object context in D:\****\system\classes\class.user.php on line 23

    Wat doe ik nou weer fout? :D
    Just say hi!
    pi_75525176
    Wat staat er op regel 23? Is dat toevallig regel 21 van de code die je hebt gepost? Zo ja, poets dat "static" eens weg bij de loginfunctie.
    pi_75525878
    quote:
    Op vrijdag 11 december 2009 17:35 schreef Chandler het volgende:
    Ik zit met een punt.

    Ik laad een database class naar $db en laad daarna een nieuwe class (user) en wil deze als parameter de $db class meegeven
    [ code verwijderd ]

    nu krijg ik echter de volgende error

    Fatal error: Using $this when not in object context in D:\****\system\classes\class.user.php on line 23

    Wat doe ik nou weer fout?
    $this is alleen van toepassing als je het hebt over geinstantiëerde classes / objecten. De static 'modifier' wil zeggen dat je de functie (eigenlijk is het een method / member als je zo'n functie in een class hebt) kunt aanroepen zonder de class / het object dat de class voorstelt te instantiëren.
    pi_75529186
    OMG! dat is het inderdaad, dat je daar zo lang overheen kunt kijken

    Klop idd dat het dan niet werkt met $this, self:: zou dan wel weer werken maar daar heb ik niets mee van doen in deze class.. bedankt!
    Just say hi!
    pi_75531006
    Als je toch met classes / objectgeoriënteerd wilt gaan werken, raad ik je aan om de basiskennis zoals de betekenis van 'access control modifiers' (public, protected, private, abstract, etc), inheritance / class deriving en het hele nut van instantiëerbare en niet-instantiëerbare classes / objecten goed onder de knie te krijgen. Het is erg eenvoudig, en als je dat eenmaal onder de knie hebt, pik je erg eenvoudig andere (nieuwe) objectgeoriënteerde talen op.
    pi_75542864
    Moet zeggen dat ik dat al aardig wat kaas gegeten heb van classes, alleen heb ik hier gewoon uren overheen gekeken
    Just say hi!
      zaterdag 12 december 2009 @ 17:16:23 #61
    254493 Trollface.
    gr rob fruithof, groningencity
    pi_75552940
    TVPHP
    ★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
      zondag 13 december 2009 @ 17:32:55 #62
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_75583369
    Weet iemand hoe ik er ook alweer voor kan zorgen dat ik de service php, pear en phpunit kan benaderen vanuit een andere folder dan de std folders?
    pi_75605210
    Ik heb ook weer een vraag, stel je werkt met formulieren en wil fouten opslaan voor display, hoe doen jullie dit? hebben jullie hiervoor een gereserveerde sessie/variabel/array/class?
    Just say hi!
      maandag 14 december 2009 @ 10:35:05 #64
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75605713
    ik heb een validator class waar ik alle input mee check.
    $validator->getErrors(); geeft een array van alle velden terug waar wat mis mee is en wat er mis mee is.
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75615189
    Ah, zo'n opzet heb ik idd ook al hoef ik niet de functie te laden maar gewoon een array over te nemen.

    $_SESSION['errors'] = array_merge($_SESSION['errors'],
    $validator->errors);

    Dus lijkt me goed of is een functie beter?
    Just say hi!
      maandag 14 december 2009 @ 15:42:12 #66
    75592 GlowMouse
    l'état, c'est moi
    pi_75615347
    quote:
    Op zondag 13 december 2009 17:32 schreef ursel het volgende:
    Weet iemand hoe ik er ook alweer voor kan zorgen dat ik de service php, pear en phpunit kan benaderen vanuit een andere folder dan de std folders?
    eerst chdir?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 14 december 2009 @ 15:52:58 #67
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_75615723
    quote:
    Op maandag 14 december 2009 15:42 schreef GlowMouse het volgende:

    [..]

    eerst chdir?
    ahh.. w8 ff ik mis wat essentiele info in mijn post..

    Bedoeling is om het vanaf de command line te runnen. Heb momenteel XAMPP lokaal staan en wil voor wat batch files vanuit een batch folder een php command kunnen runnen, maar moet nu of vanuit de php folder doen en dan volledige path van de te runnen batch file. of vice versa.

    Zelfde geld eigenlijk ook voor de optie van phpunit.
    pear is in deze niet geheel belangrijk.
      maandag 14 december 2009 @ 15:54:18 #68
    75592 GlowMouse
    l'état, c'est moi
    pi_75615776
    vice versa
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_75622421
    Ik heb een login script geschreven voor mijn project, daarbij heb ik ook de functie 'onthoud mij'.

    Er wordt een $unique gemaakt, de waarde daarvan is de md5 van {useragent, ip adres, user id}.
    De md5 hash + de gegevens worden opgeslagen in een database.

    $unique wordt als een cookie opgeslagen bij de client.

    Wanneer de gebruiker terug komt, checkt mijn script de IP adres + md hash in de database, indien deze overkomen wordt de gebruiker ingelogt.

    Tot hier is alles in orde, maar wat als zijn cookie wordt gestolen door iemand anders thuis? Dus als ze achter een NAT zitten. Dan kan diegene ook inloggen.

    Hoe kan ik dit oplossen?
    pi_75623324
    Een cookie wordt alleen 'gestolen' wanneer iemand op dezelfde machine, onder dezelfde gebruikersaccount in logt. Al zijn er natuurlijk wel 'omweggetjes' om een ander account te 'impersonaten'.

    Overweeg anders eens een session, voor dat beetje extra beveiliging.
    pi_75626696
    quote:
    Op maandag 14 december 2009 19:03 schreef xaban06 het volgende:
    Op zich niet, tenzij je net zoals bij fok het aanpassen van accounts etc laat bevestigen dmv een wachtwoord (zelfde als inloggen) en natuurlijk kun je middels een tekst de gebruiker er van op de hoogte brengen dat het risico is dat men op de pc (indien deze gebruikt wordt door meerdere mensen) het niet aan te bevelen is om ingelogd te blijven! ):
    Just say hi!
    pi_75627293
    quote:
    Op maandag 14 december 2009 20:40 schreef Chandler het volgende:

    [..]

    Op zich niet, tenzij je net zoals bij fok het aanpassen van accounts etc laat bevestigen dmv een wachtwoord (zelfde als inloggen) en natuurlijk kun je middels een tekst de gebruiker er van op de hoogte brengen dat het risico is dat men op de pc (indien deze gebruikt wordt door meerdere mensen) het niet aan te bevelen is om ingelogd te blijven! ):
    Ah dus ik doe niks fout Thanks.
    Op werk namelijk een discussie gehad dat ik fout bezig ben en dat het veel veiliger en makkelijker kan.
      dinsdag 15 december 2009 @ 08:55:10 #73
    25889 Sitethief
    Fulltime Flapdrol
    pi_75640516
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
        
    class secure{

            public 
    $data;
            
            public function 
    __construct($data){
            
                foreach(
    $data as $key=>$val){    
                    if(
    $val !== ""){
                        
    $val trim($val);
                        
    $val stripslashes($val);
                        
    $val htmlentities($valENT_QUOTES);
                        
    $data = array($key=>$val);
                        
    $this->data $data;
                        return 
    $data;
                    }
                }                                
            }
        }
    ?>


    De $data die ik mee geef aan de function komt uit een $_POST . De class geeft mij alleen de laatste value uit de array terug en negeert de rest. Weet iemand hoe dat komt?
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 15 december 2009 @ 09:35:57 #74
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_75641241
    quote:
    Op dinsdag 15 december 2009 08:55 schreef Sitethief het volgende:

    [ code verwijderd ]

    De $data die ik mee geef aan de function komt uit een $_POST . De class geeft mij alleen de laatste value uit de array terug en negeert de rest. Weet iemand hoe dat komt?
    Omdat je binnen je foreach returned
      dinsdag 15 december 2009 @ 09:51:45 #75
    25889 Sitethief
    Fulltime Flapdrol
    pi_75641611
    quote:
    Op dinsdag 15 december 2009 09:35 schreef ursel het volgende:

    [..]

    Omdat je binnen je foreach returned
    Hmm, het maakt niet uit waar ik hem return in de function, ik krijg alleen de laatste waarde uit de array terug. Ik snap wel ongeveer wat er mis gaat, maar niet hoe ik het kan fixen....

    Edit: na de foreach() zit er überhaupt maar een value in de array. In de foreach() zelf zitten ze er nog wel allemaal in.

    [ Bericht 6% gewijzigd door Sitethief op 15-12-2009 10:26:27 ]
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 15 december 2009 @ 10:52:55 #76
    25889 Sitethief
    Fulltime Flapdrol
    pi_75643242
    Ik weet nu wat er mis gaat, omdat ik een array creëer in de loop zal hij altijd de laatste waarde hebben. Ik moet de array dus buiten de loop aanmaken.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 15 december 2009 @ 11:21:04 #77
    25889 Sitethief
    Fulltime Flapdrol
    pi_75644024
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
        
    class secure{

            public 
    $data;
            
            public function 
    __construct($data){
            
            
    $mstring = Array(); 
                foreach(
    $data as $key=>$val){    
                    if(
    $val !== ""){
                        
    $val trim($val);
                        
    $val stripslashes($val);
                        
    $val htmlentities($valENT_QUOTES);                    
                        
    $mstring[$key] = $val;    
                        
    $this->data $mstring;                                        
                    }                
                }                    
                return 
    $data;
            }
        }
    ?>


    Zo werkt ie wel.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      donderdag 17 december 2009 @ 11:23:50 #78
    25889 Sitethief
    Fulltime Flapdrol
    pi_75722128
    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
    <?php
    class Secure
    {
        public function 
    stripSearch(&$inputStripSearch)
        {
             foreach(
    $inputStripSearch as $key=>&$val)
             {
                 if(
    $val !== "")
                 {
                      
    $val trim($val);
                      
    $val stripslashes($val);
                      
    $val htmlentities($valENT_QUOTES);
                 }
             }
             return;
        }

        public function 
    validateEmail(&$inputValidateEmail)
        {
            if (
    preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$inputValidateEmail['email']))
                return 
    true;
            else
                return 
    false;
        }
    }
    ?>


    En zo is ie een stuk netter.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      donderdag 17 december 2009 @ 12:38:26 #79
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75724961
    email checken:

    1
    2
    3
    <?php
    filter_var
    ('bob@example.com'FILTER_VALIDATE_EMAIL);
    ?>
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75730178
    @hamkaastosti; wil alleen even melden dat die filter ook niet 100% werkt, zelfs niet 50%

    http://www.google.nl/search?hl=nl&q=php+FILTER_VALIDATE_EMAIL+bugs&meta=&aq=f&oq=

    Just say hi!
    pi_75730256
    quote:
    Op maandag 14 december 2009 20:52 schreef xaban06 het volgende:

    [..]

    Ah dus ik doe niks fout Thanks.
    Op werk namelijk een discussie gehad dat ik fout bezig ben en dat het veel veiliger en makkelijker kan.
    Kun je ze dan even laten melden hoe dat dan kan (in hun ogen?)
    Just say hi!
      donderdag 17 december 2009 @ 14:57:27 #82
    75592 GlowMouse
    l'état, c'est moi
    pi_75730269
    Je moet kijken op http://bugs.php.net/search.php?cmd=display&search_for=+%09FILTER_VALIDATE_EMAIL&x=0&y=0 en daar zie je dat er geen bugs open staan.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 17 december 2009 @ 16:50:20 #83
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75734769
    quote:
    Op donderdag 17 december 2009 14:55 schreef Chandler het volgende:
    @hamkaastosti; wil alleen even melden dat die filter ook niet 100% werkt, zelfs niet 50%

    http://www.google.nl/search?hl=nl&q=php+FILTER_VALIDATE_EMAIL+bugs&meta=&aq=f&oq=


    mjah.. zijn expression om te checken is ook nog aan de wat simpele kant.
    Ik zou gewoon filter_var gebruiken.
    kijk maar eens op regel 475 welke regex php zelf gebruikt
    http://svn.php.net/viewvc/php/php-src/trunk/ext/filter/logical_filters.c?revision=290791&view=markup

    [ Bericht 16% gewijzigd door hamkaastosti op 17-12-2009 18:20:50 ]
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75774069
    quote:
    Op donderdag 17 december 2009 14:57 schreef Chandler het volgende:

    [..]

    Kun je ze dan even laten melden hoe dat dan kan (in hun ogen?)
    Het is al weer maanden geleden dat hij zoiets gescript heeft, dus hij kon er niet opkomen. Dat was zijn verdediging.
      zaterdag 19 december 2009 @ 11:25:10 #85
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75799429
    ik ben me aan het verdiepen in method chaining.
    Nu wil ik mijn database op de volgende manier aanroepen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $query 
    $this->db->select()
                              ->
    from('news''*')
                              ->
    join('users''*''news.author_id = users.id')
                              ->
    order('news.date ASC')
                              ->
    limit(0$limit);
            
    $result $this->db->fetchAll($query);
    ?>


    in de database class werkt het zoiets:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    private $select;
    private 
    $from;
    private 
    $join;
    private 
    $limit;
    //enz

    public function limit($startrow$numrows)
    {
            
    $this->limit ' LIMIT ' $startrow ', ' $numrows;
            return 
    $this;
    }
    public function 
    fetchall($query)
    {
            
    $doquery $this->query($query);
            
    $result $doquery->fetchAll(PDO::FETCH_ASSOC);

            return 
    $result;
    }
    ?>


    Nu werkt dit prima zolang ik maar 1 query heb. Wil ik een tweede query in dezelfde request doen zonder bijvoorbeeld een join terwijl de eerste dat wel had dan wil hij mijn tweede query ook joinen omdat $this->join niet leeg is.

    hoe los ik dat netjes op?
    In zend gebruiken ze ook zoiets maar daar zit vast een handigheidje achter

    [ Bericht 6% gewijzigd door hamkaastosti op 19-12-2009 12:53:47 ]
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75804417
    quote:
    Op donderdag 17 december 2009 16:50 schreef hamkaastosti het volgende:

    [..]

    mjah.. zijn expression om te checken is ook nog aan de wat simpele kant.
    Ik zou gewoon filter_var gebruiken.
    kijk maar eens op regel 475 welke regex php zelf gebruikt
    http://svn.php.net/viewvc/php/php-src/trunk/ext/filter/logical_filters.c?revision=290791&view=markup
    const char regexp[] = "/^((\\\"[^\\\"\\f\\n\\r\\t\\b]+\\\")|([A-Za-z0-9_][A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*(\\.[A-Za-z0-9_\\!\\#\\$\\%\\&\\'\\*\\+\\-\\~\\/\\=\\?\\^\\`\\|\\{\\}]*))@((\\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9])(([A-Za-z0-9\\-])*([A-Za-z0-9]))?(\\.(?=[A-Za-z0-9\\-]))?)+[A-Za-z]+))$/D"

    deze dus kan toch wel beter ? (niet dat ik het kan hoor )
    Just say hi!
    pi_75804494
    quote:
    Op zaterdag 19 december 2009 11:25 schreef hamkaastosti het volgende:
    ik ben me aan het verdiepen in method chaining.
    Nu wil ik mijn database op de volgende manier aanroepen:
    [ code verwijderd ]

    in de database class werkt het zoiets:
    [ code verwijderd ]

    Nu werkt dit prima zolang ik maar 1 query heb. Wil ik een tweede query in dezelfde request doen zonder bijvoorbeeld een join terwijl de eerste dat wel had dan wil hij mijn tweede query ook joinen omdat $this->join niet leeg is.

    hoe los ik dat netjes op?
    In zend gebruiken ze ook zoiets maar daar zit vast een handigheidje achter
    Waarom dan niet gewoon 2 losse queries? je wil toch niet alles aan elkaar koppelen? en heb je bv een voorbeeld van 2 queries?
    Just say hi!
      zaterdag 19 december 2009 @ 15:08:13 #88
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75804622
    quote:
    Op zaterdag 19 december 2009 15:01 schreef Chandler het volgende:

    [..]

    Waarom dan niet gewoon 2 losse queries? je wil toch niet alles aan elkaar koppelen? en heb je bv een voorbeeld van 2 queries?
    2 queries:
    1 om newsitems op te halen + userinfo van plaatser
    1 om reacties op dat nieuwsitem op te halen
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75808906
    je kunt toch altijd bij ->from() checken of er al een join is gemaakt? indien wel, die legen oid..?
    Just say hi!
      zondag 20 december 2009 @ 00:10:33 #90
    25889 Sitethief
    Fulltime Flapdrol
    pi_75822044
    Hamkaastosti, ik zie dat je met PDO werkt, maar waarom voer je dat niet helemaal door, dwz, preparen van SQL statements etc? Of staat dat erwel in?
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      zondag 20 december 2009 @ 12:18:05 #91
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75831511
    Dat gebruik ik wel. ik kan gewoon
    1
    2
    3
    <?php
    $this
    ->db->insert('table'$array);
    ?>

    doen en mijn class maakt er vanzelf vraagtekens van die ik met bindvalue bind nadat ik gekeken heb wat voor een type het is

    en voor een select kan ik simpelweg
    1
    2
    3
    <?php
    ->where('field = ?'$array);
    ?>

    toevoegen
    waarbij hij de array aan de vraagtekens bind.. maar dit gaat dus allemaal nog mis als ik twee queries achter elkaar wil doen.

    [ Bericht 17% gewijzigd door hamkaastosti op 20-12-2009 12:40:23 ]
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75836182
    Dus je doet dan dit bv?

    $obj->query()->from('tabel', '*')->join('test", 'test.id = tabel.id')->query()->from("tabel1", '*');

    ?>
    Just say hi!
      zondag 20 december 2009 @ 20:12:10 #93
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75850252
    nee ik doe
    1
    2
    3
    <?php
    $this
    ->db->select()->from('table''id,title,text')->join('users, 'table.id users.id)->where(title = ?, 1)->limit(0,10);
    ?>


    bijvoorbeeld
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75875430
    Mag ik vragen naar het voordeel/idee van deze opzet?
    Just say hi!
      dinsdag 22 december 2009 @ 09:32:42 #95
    25889 Sitethief
    Fulltime Flapdrol
    pi_75914015
    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
    <?php
        
    /*
         *    @author Michel Everts
         */
        
    class Secure{
            
    /*
             *    Strip function for arrays
             *    @param array with text
             *    @return array
             */
            
    public function stripArray(&$inputStripArray){
                foreach(
    $inputStripArray as $key=>&$val){
                    if(
    $val !== ""){
                        
    $val trim($val);
                        
    $val stripslashes($val);
                        
    $val htmlentities($valENT_QUOTES);
                    }
                }
                return;
            }

            
    /*
             *    Strip function for strings
             *    @param string with text
             *  @return string
             */
            
    public function stripSingle(&$inputStripSingle){
                if(
    $inputStripSingle !== ""){
                    
    $inputStripSingle trim($inputStripSingle);
                    
    $inputStripSingle stripslashes($inputStripSingle);
                    
    $inputStripSingle htmlentities($inputStripSingleENT_QUOTES);
                }
                return;
            }

            
    /*
             *    E-mail validate function
             *    @param string with text
             *  @return string or die
             */
            
    public function validateEmail(&$inputValidateEmail){
                if (!
    preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$inputValidateEmail)){
                    die (
    "".$inputValidateEmail." <br> Is ongeldig. Gebruik het juiste e-mailadres formaat");
                }
                else{
                    return;
                }
            }

            
    /*
             *  URL validate function
             *    @param string with text
             *  @return string or die
             */
            
    public function validateURL(&$inputValidateURL){
                if (!
    preg_match("/(https?:\/\/+[\w\-]+\.[\w\-]+)/i",$inputValidateURL)){
                    die (
    "".$inputValidateURL." <br> is ongeldig. Gebruik het juiste URL formaat");
                }
                else{
                    return;
                }
            }

            
    /*
             *    Name validate function
             *    @param string with text
             *  @return string or die
             */
            
    public function validateName(&$inputValidateName){
                
    $this->stripSingle($inputValidateName);
                if (
    preg_match("/[^a-zA-Z]( )'/",$inputValidateName)){
                        die (
    "".$inputValidateName." <br>bevat illegale karaters. Alleen alfabetisch karaters zijn toegestaan");
                }
                else{
                    return;

                }
            }

            
    /*
             *    Telephone number validate function
             *    @param string with text
             *  @return string or die
             */
            
    public function validateTel(&$inputValidateTel){
                
    $this->stripSingle($inputValidateTel);
                if (
    preg_match("/[^0-9\-]/",$inputValidateTel)){
                    die (
    "".$inputValidateTel." <br>bevat illegale karaters. Alleen cijfers en '-' zijn toegestaan ");
                }
                else{
                    return;
                }
            }

            
    /*
             *    PostCode validate function
             *    @param string with text
             *  @return string or die
             */
            
    public function validatePostCode(&$inputValidatePostCode){
                
    $this->stripSingle($inputValidatePostCode);    
                if (!
    preg_match("/^[0-9]{4}( )?[A-Za-z]{2}$/",$inputValidatePostCode)){
                    die (
    "".$inputValidatePostCode." <br> is ongeldig. Een postcode bevat alleen alfanumerieke karakters.");
                }
                else{        
                    return;
                }
            }
        }
    ?>


    Deze class werkt momenteel. Maar hoe kan ik hem veiliger maken? Ik kreeg van een collega te horen dat het stukke veilger kan. Maar ik kan moeilijk al die functions private maken ofzo.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 22 december 2009 @ 09:47:24 #96
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75914358
    ik snap die die(); elke keer als een field niet klopt niet zo goed. Het lijkt me handiger om gewoon een array met errors bij te houden en een array met gecheckte velden. Die errors gebruik je om je form opnieuw weer te geven met de fout onder elk veld en de array met gecheckte velden gebruik je om je database te vullen.
    Verder is het handig om trim te gebruiken om per ongeluk ingevulde spaties te verwijderen.

    Mijn validator gebruikt trouwens op meer plekken filter_var en heeft private functions al required() en length()
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      dinsdag 22 december 2009 @ 15:06:53 #97
    25889 Sitethief
    Fulltime Flapdrol
    pi_75926385
    quote:
    Op dinsdag 22 december 2009 09:47 schreef hamkaastosti het volgende:
    ik snap die die(); elke keer als een field niet klopt niet zo goed. Het lijkt me handiger om gewoon een array met errors bij te houden en een array met gecheckte velden. Die errors gebruik je om je form opnieuw weer te geven met de fout onder elk veld en de array met gecheckte velden gebruik je om je database te vullen.
    Verder is het handig om trim te gebruiken om per ongeluk ingevulde spaties te verwijderen.

    Mijn validator gebruikt trouwens op meer plekken filter_var en heeft private functions al required() en length()
    Je hebt gelijk, ik zou niet zomaar moeten stoppen bij zoiets triviaals als een verkeerd ingevoerd e-mail adres.
    Het probleem is alleen dat een class bouw die op meerdere plekken gebruikt moet worden en dus niet weet hoe precies de forms er uit gaan zien. En ik ben nog niet zo goed met arrays........... ik vind het maar onhandelbare dingen. Ik kan bijv niet isset() gebruiken om te zien of er errors in de error array zitten.

    Anyway, de class geeft nu arrays terug.


    Overigens gebruik ik trim wel, en is bijv de e-mail validator zo simpel omdat dit nog de testfase is, zodra de class werkend is kan ik de validators gaan uitbreiden. (Filter_var vind ik ietsjes beperkt in zijn functionaliteit wbt email, maar het is inderdaad een optie) Dit is voor mij ook de eerste keer dat ik een class schrijf, en ik ben nog maar 4 weekjes met php bezig. Het loopt allemaal nog niet zo vloeiend
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 22 december 2009 @ 15:40:27 #98
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75927649
    het probleem met het valideren van email is dat je 's werelds beste filter nog om de tuin kunt leiden door gewoon een valide mailadres in te vullen terwijl het adres misschien niet eens werkt. Wil je echt iemands mail aan iets koppelen dan zul je hem een mailtje moeten sturen met een link erin die de gebruiker moet volgen
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      dinsdag 22 december 2009 @ 15:51:25 #99
    25889 Sitethief
    Fulltime Flapdrol
    pi_75928054
    quote:
    Op dinsdag 22 december 2009 15:40 schreef hamkaastosti het volgende:
    het probleem met het valideren van email is dat je 's werelds beste filter nog om de tuin kunt leiden door gewoon een valide mailadres in te vullen terwijl het adres misschien niet eens werkt. Wil je echt iemands mail aan iets koppelen dan zul je hem een mailtje moeten sturen met een link erin die de gebruiker moet volgen
    Zelfs dan, je hebt van die tijdelijke e-mailadressen. Maar goed, dit gaat vooral om klantbestanden e.d. dus dit wordt intern gebruikt.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
    pi_75952395
    Ik ben weer aan het stoeien met php (wat een langdurig gevecht is het). Maar ik heb nu een dropdownbox met daarin bepaalde waardes. Deze waardes representeren verschillende datums in de db. Nu wil ik dat wanneer ik een datum selecteer en op een knop druk dat dat dan een query wordt opgestart met als inputparameter de geselecteerde waarde in de dropdown. Nou is mijn vraag hoe kan ik de geselecteerde waarde in de dropdown ophalen in html?

    thx alvast.
      woensdag 23 december 2009 @ 09:16:25 #101
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75958156
    als het goed is zitten alle waarden van je form in de $_POST array

    http://www.w3schools.com/php/php_forms.asp
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75965374
    quote:
    Op woensdag 23 december 2009 09:16 schreef hamkaastosti het volgende:
    als het goed is zitten alle waarden van je form in de $_POST array

    http://www.w3schools.com/php/php_forms.asp
    Ja daar zitten ze wel in, maar hoe weet je welke de geselecteerde waarde is in de dropdown?
      woensdag 23 december 2009 @ 12:48:11 #103
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75965503
    door alle waarden die je in de dropdown ziet ook in value="" te zetten

    <option value="12-12-2009">12-12-2009</option>
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75975764
    quote:
    Op woensdag 23 december 2009 12:48 schreef hamkaastosti het volgende:
    door alle waarden die je in de dropdown ziet ook in value="" te zetten

    <option value="12-12-2009">12-12-2009</option>
    thx voor je reactie weer. Mijn code is:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
          <form action="1.php" method="post" value"test1">      
             <?php
             {
                                   //connectie ophalen
                $query = "select distinct(Datum)from wedstrijd";
                $result = mysql_query ($query);
                echo "<select name=datum value=''>Datum</option>";
                while($nt=mysql_fetch_array($result))
                echo "<option value=$nt[Datum]>$nt[Datum]</option>";      
                            }
          <input type="submit" />
                    </form>

    met bovenstaande code wordt de dropdown gepopuleerd. Als ik nu op de knop druk hoe weet ik dan in de 1.php welke optie is gelecteeerd?

    thx alvast
      woensdag 23 december 2009 @ 16:52:01 #105
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75976068
    je bouwt je select niet goed op.

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    echo <select name="datum\">;
    while($query)
    {
       echo <option value=\"$nt['datum']\">$nt['datum']</option>;
    }
    echo </select>;
    ?>


    wel erg basic html hoor
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      woensdag 23 december 2009 @ 16:52:52 #106
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75976111
    ach fuck die kankerhighlighter van fok
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75976571
    quote:
    Op woensdag 23 december 2009 16:52 schreef hamkaastosti het volgende:
    je bouwt je select niet goed op.
    [ code verwijderd ]

    wel erg basic html hoor
    mijn html is drama ik hebwel een boek gelezen over mysql en php. Mijn website bevat wel wat data maar ik ben er al teringlang mee bezig en snap er nog steeds geen zak van. Zou je me kunnen uitleggen wat ik nu verkeerd doe? Ik wil in principe alleen de geselecteerde waarde van de dropdown doorgeven en vervolgens op basis van de doorgegeven waarde 2 tabellen opbouwen.
      woensdag 23 december 2009 @ 17:08:47 #108
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_75976712
    een select list is in zijn simpelste vorm:

    <select>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
    </select>

    om de ingevulde waarde in php uit te lezen vul je de eerste regel aan met:
    <select name="datum">

    vervolgens kun je de ingevulde waarde met php uitlezen als $_POST['datum']
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_75989752
    quote:
    Op woensdag 23 december 2009 17:08 schreef hamkaastosti het volgende:
    een select list is in zijn simpelste vorm:

    <select>
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
    </select>

    om de ingevulde waarde in php uit te lezen vul je de eerste regel aan met:
    <select name="datum">

    vervolgens kun je de ingevulde waarde met php uitlezen als $_POST['datum']
    thx tosti het werkt! Ik ga nu proberen de includes aan de praat te krijgen.
      donderdag 24 december 2009 @ 22:47:26 #110
    12221 Tijn
    Powered by MS Paint
    pi_76035133
    Hoe skip je een parameter? Ik bedoel dat je bijvoorbeeld wel de 4e parameter aan een functie meegeeft, maar niet de derde.

    Neem bijvoorbeeld de functie array_slice(). Die heeft twee optionele parameters: de 3e parameter geeft de lengte van de array aan en de 4e parameter geeft aan of je de keys wil behouden of niet.

    Nou wil ik best de keys behouden, maar de lengte wil ik niet meegeven omdat ik gewoon de hele array tot het einde wil behouden.

    Ik heb het nu zo opgelost:

    1$array = array_slice($array, $offset, count($array), TRUE);


    Maar eigenlijk is het natuurlijk een beetje schraal zo. Is er een manier om die 3e parameter gewoon te skippen?

    Ik heb al een paar dingen geprobeerd, maar dit werkt iig allemaal niet:

    1$array = array_slice($array, $offset,, TRUE);


    1$array = array_slice($array, $offset, TRUE);


    1$array = array_slice($array, $offset, NULL, TRUE);
    pi_76036639
    quote:
    Op donderdag 24 december 2009 22:47 schreef Tijn het volgende:
    Hoe skip je een parameter? Ik bedoel dat je bijvoorbeeld wel de 4e parameter aan een functie meegeeft, maar niet de derde.
    Niet.
    quote:
    Neem bijvoorbeeld de functie array_slice(). Die heeft twee optionele parameters: de 3e parameter geeft de lengte van de array aan en de 4e parameter geeft aan of je de keys wil behouden of niet.
    Als je de vierde parameter wilt meegeven, moet je ook de derde meegeven. Zo staat het ook in de documentatie.

    1array array_slice  ( array $array  , int $offset  [, int $length  [, bool $preserve_keys = false  ]] )


    Het stuk tussen [] ($length en $preserve_keys) is optioneel. In dat optionele deel zit ook weer een optioneel deel ($preserve_keys). Om die te kunnen bereiken, moet je dus ook een lengte opgeven.

    Eigenschap van een loosely typed taal als php is dat je geen overloads kunt gebruiken. Alleen de naam van de functie bepaalt wat er wordt aangeroepen, het type en aantal argumenten niet. Er is vast wel een standaardwaarde voor $length die meegegeven wordt als je het argument niet invult (en dus ook geen preserve_keys gebruikt). Alleen is uit de functiedefinitie hier niet te halen wat die waarde zou moeten zijn.
      donderdag 24 december 2009 @ 23:37:56 #112
    12221 Tijn
    Powered by MS Paint
    pi_76036811
    quote:
    Op donderdag 24 december 2009 23:33 schreef Light het volgende:

    [..]

    Niet.
    Jammer
    pi_76055238
    Wie kan mij een schop geven in de juiste richting.

    Ik heb een SELECT query, met LIMIT 10 aan het einde. Dus ik heb altijd 10 'rows'.
    Dit moet ik wegschrijven naar bestand.txt, echter wel op een bepaald volgorde, namelijk:

    var content=new Array()
    content[0]='data row 1'
    content[1]='data row 3'
    content[2]='data row 5'
    content[3]='data row 7'
    content[4]='data row 9'

    var content2=new Array()
    content2[0]='data row 2'
    content2[1]='data row 4'
    content2[2]='data row 6'
    content2[3]='data row 8'
    content2[4]='data row 10'

    Hoe kan ik dit het beste aanpakken?
      vrijdag 25 december 2009 @ 20:19:27 #114
    75592 GlowMouse
    l'état, c'est moi
    pi_76056349
    quote:
    Op vrijdag 25 december 2009 19:23 schreef xaban06 het volgende:
    Wie kan mij een schop geven in de juiste richting.

    Ik heb een SELECT query, met LIMIT 10 aan het einde. Dus ik heb altijd 10 'rows'.
    Tenzij je resultset minder dan 10 rijen heeft.
    En dat los je op door twee keer door de array met resultaten te lopen met een for-loop.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 26 december 2009 @ 01:46:49 #115
    12221 Tijn
    Powered by MS Paint
    pi_76066354
    quote:
    Op vrijdag 25 december 2009 19:23 schreef xaban06 het volgende:

    Hoe kan ik dit het beste aanpakken?
    Zoiets?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    content1 
    = array();
    content2 = array();
    for(
    $i 1$i <= count($datarows); $i++)
    {
        if(
    $i != 0// $i is oneven
        
    {
            
    $content1[] = $datarows[$i];
        }
        else 
    // $i is even
        
    {
            
    $content2[] = $datarows[$i];
        }
    }
    ?>
      zaterdag 26 december 2009 @ 01:49:33 #116
    75592 GlowMouse
    l'état, c'est moi
    pi_76066424
    arrays beginnen in PHP met 0
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 26 december 2009 @ 01:52:24 #117
    12221 Tijn
    Powered by MS Paint
    pi_76066478
    quote:
    Op zaterdag 26 december 2009 01:49 schreef GlowMouse het volgende:
    arrays beginnen in PHP met 0
    Ja okay, maar omdat in het voorbeeld van xaban06 zijn "data rows" bij 1 begonnen, dacht ik: dat hou ik dan ook maar even aan.

    Het gaat om het idee he
      zaterdag 26 december 2009 @ 12:29:35 #118
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76072579
    ik heb weer een vraag over mijn mvc gepruts.

    de basis heb ik nu in zo'n beetje in orde maar hoe maak je op een handige manier een administrator gedeelte waarbij je toch bij je controllers en models kunt?
    Je hele mvc structuur nog een keer kopiëren naar een /admin map lijkt me ook niet handig maar /admin/news/write oid route ook niet naar de juiste plek.

    halp?
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_76076593
    hallo,

    ik probeer te werken met PHP_SELF maar het lukt niet erg. Ik heb de volgende code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    if(isset($_POST['send']))
    {
       echo "Accessing username using POST : " .         $_POST['username'] . "<br>";
       echo "Accessing username using REQUEST : " .         $_REQUEST['username'] . "<br>";

       $password = $_POST['password'];
       echo "Password is $password";
    }
    else
    {

       echo "<form method='post' action='$_SERVER['PHP_SELF']'>";
       echo "<input name='password' type='password'><br>";
       echo "<input name='username' type='username'><br>";
       echo "<input name='send' type='submit' value='Send!'>";
       echo "</form>";
    }
    ?>

    Als ik de action laat staan krijg ik een lege pagina. Wanneer ik de code
    1action='$_SERVER['PHP_SELF']'
    weghaal werkt het wel. Weet iemand wat ik verkeerd doe?

    thx alvast.
    pi_76090474
    quote:
    Op zaterdag 26 december 2009 14:21 schreef jakees het volgende:
    hallo,

    ik probeer te werken met PHP_SELF maar het lukt niet erg. Ik heb de volgende code:
    [ code verwijderd ]

    Als ik de action laat staan krijg ik een lege pagina. Wanneer ik de code
    [ code verwijderd ]

    weghaal werkt het wel. Weet iemand wat ik verkeerd doe?

    thx alvast.
    al opgelost.Ik weet niet precies wat foutzat. Ik denk dat er een quotje fout stond of zo.
      zondag 27 december 2009 @ 19:18:08 #121
    37634 wobbel
    Da WoBBeL King
    pi_76112924
    Oke, deze is voor mij lastig en ik kom er ook niet uit

    Ik ben een CMS systeem aan het bouwen die met nette pagina url's overweg kan (bijv. http://www.example.com/grafisch/folders/verspreiding)

    Dit krijg ik voor elkaar dmv een hierarchische tabel (als ik het zo goed spel ) Hiervoor heb ik gebruik gemaakt van de volgende tutorial op mysql.com => http://dev.mysql.com/tech(...)erarchical-data.html

    Alleen loop ik nu tegen een probleem aan, er kunnen geen dubbele namen aanwezig zijn (in de tutorial is het de veld "name").

    Hoe los ik dat op?

    http://www.example.com/grafisch/folders/verspreiding kan dus wel, maar http://www.example.com/overig/verspreiding kan niet omdat verspreiding al gebruikt is als "name" en dubbele names dan loopt de boel zeg maar vast
    pi_76113042
    quote:
    Op zondag 27 december 2009 19:18 schreef wobbel het volgende:
    Oke, deze is voor mij lastig en ik kom er ook niet uit

    Ik ben een CMS systeem aan het bouwen die met nette pagina url's overweg kan (bijv. http://www.example.com/grafisch/folders/verspreiding)

    Dit krijg ik voor elkaar dmv een hierarchische tabel (als ik het zo goed spel ) Hiervoor heb ik gebruik gemaakt van de volgende tutorial op mysql.com => http://dev.mysql.com/tech(...)erarchical-data.html

    Alleen loop ik nu tegen een probleem aan, er kunnen geen dubbele namen aanwezig zijn (in de tutorial is het de veld "name").

    Hoe los ik dat op?

    http://www.example.com/grafisch/folders/verspreiding kan dus wel, maar http://www.example.com/overig/verspreiding kan niet omdat verspreiding al gebruikt is als "name" en dubbele names dan loopt de boel zeg maar vast
    Je hoort zo'n unique constraint in dit geval dan ook te leggen op de combinatie Parent ID + Naam i.p.v. alleen Naam. Je wilt immers toch de unieke namen per parent.
      zondag 27 december 2009 @ 19:26:54 #123
    37634 wobbel
    Da WoBBeL King
    pi_76113247
    quote:
    Op zondag 27 december 2009 19:21 schreef Tuvai.net het volgende:

    [..]

    Je hoort zo'n unique constraint in dit geval dan ook te leggen op de combinatie Parent ID + Naam i.p.v. alleen Naam. Je wilt immers toch de unieke namen per parent.
    Maar hoe ga ik dat doen met SQL dan?
    Ik doe het nu namelijk inderdaad met alleen de "Naam"

    Voorbeeld:
    1
    2
    3
    4
    5
    6
    SELECT parent.name, parent.page_id 
    FROM C_pages AS node, C_pages 
    AS parent 
    WHERE node.lft BETWEEN parent.lft 
    AND parent.rgt 
    AND node.name = 'verspreiding' ORDER BY parent.lft; 
    pi_76127689
    Voor mijn 'lastonline' field gebruik het volgende formaat:
    JaarMaandDagUurMinuut

    Een voorbeeld zou zijn:
    200929120105 (29 december 2009, 01:05).

    Hoe is het mogelijk om na te gaan hoe die field 10 minuten terug er uit zou zien?

    Ik weet het, ik heb voor een foute formaat gekozen
      maandag 28 december 2009 @ 01:02:08 #125
    136730 PiRANiA
    All thinking men are atheists.
    pi_76127747
    quote:
    Op maandag 28 december 2009 01:00 schreef xaban06 het volgende:
    Voor mijn 'lastonline' field gebruik het volgende formaat:
    JaarMaandDagUurMinuut

    Een voorbeeld zou zijn:
    200929120105 (29 december 2009, 01:05).

    Hoe is het mogelijk om na te gaan hoe die field 10 minuten terug er uit zou zien?

    Ik weet het, ik heb voor een foute formaat gekozen
    Eerst met een regex de datum er uit halen, dis via strtotime omzetten in een unix time string, daar het aantal seconden af halen, en dan weer via date omzetten naar je formaat?
      maandag 28 december 2009 @ 01:03:52 #126
    12221 Tijn
    Powered by MS Paint
    pi_76127800
    Ik zou 'em door strtotime() gooien zodat je er een normale timestamp uit krijgt. Daar haal je dan 10*60 vanaf en stop je vervolgens in date() om er weer dat dwaze formaat van je van te fabriceren.
      maandag 28 december 2009 @ 01:07:30 #127
    75592 GlowMouse
    l'état, c'est moi
    pi_76127906
    mktime ligt meer voor de hand
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76128199
    quote:
    Op maandag 28 december 2009 01:02 schreef PiRANiA het volgende:

    [..]

    Eerst met een regex de datum er uit halen, dis via strtotime omzetten in een unix time string, daar het aantal seconden af halen, en dan weer via date omzetten naar je formaat?
    Ik heb het gevonden, het kan makkelijker!

    date('YmdHi', strtotime('-10 minutes'));
      maandag 28 december 2009 @ 01:21:04 #129
    12221 Tijn
    Powered by MS Paint
    pi_76128213
    quote:
    Op maandag 28 december 2009 01:20 schreef xaban06 het volgende:

    [..]

    Ik heb het gevonden, het kan makkelijker!

    date('YmdHi', strtotime('-10 minutes'));
    Maar dat is op basis van de huidige tijd, niet op basis van de tijdstring die je al hebt.
    pi_76128265
    quote:
    Op maandag 28 december 2009 01:21 schreef Tijn het volgende:

    [..]

    Maar dat is op basis van de huidige tijd, niet op basis van de tijdstring die je al hebt.
    Mja, mijn fout Verkeerd uitgelegt.

    Ik moet met een script kunnen zien hoeveel online gebruikers er op het moment (afgelopen 10 min) zijn.
      maandag 28 december 2009 @ 01:25:52 #131
    12221 Tijn
    Powered by MS Paint
    pi_76128294
    quote:
    Op maandag 28 december 2009 01:24 schreef xaban06 het volgende:

    [..]

    Mja, mijn fout Verkeerd uitgelegt.
    pi_76130342
    quote:
    Op maandag 28 december 2009 01:20 schreef xaban06 het volgende:

    [..]

    Ik heb het gevonden, het kan makkelijker!

    date('YmdHi', strtotime('-10 minutes'));
    Da's niet hetzelfde formaat als in je voorbeeldstring 200929120105, dat was YdmHi.
    pi_76155654
    Ik zit met een vraagje over een session file; opeens had een project van mij en error als ik session_start() gebruikte, inden ik deze remarkte werkte het project naar behoren zonder sessies.

    Omdat ik het probleem nogal raar vond heb ik mijn sessies folder bekeken en toen ik 1 sessie verwijderde werkte het project weer met session_start

    Nu is deze sessie gemaakt door het project dus vraag ik mij af hoe het in vredus naam mogelijk is om een sessie te vergallen waardoor de scripting niet meer werkt.

    Mijn sessie:
    1
    2
    3
    4
    5
    6
    error|O:9:"validator":2:{s:3:"arr";a:0:{}s:6:"errors";a:1:{s:5:"email";a:2:
    {s:6:"inhoud";s:0:"";s:5:"error";s:25:"Uw email adres is onjuist";}}}status|s:0:"";
    userID|s:1:"1";auth|a:4:{s:2:"id";s:1:"1";s:8:"username";s:13:"administrator";s:2:"ip";s:10:"127.0.0.48";
    s:7:"browser";s:173:"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; 
    Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; 
    OfficeLiveConnector.1.3; OfficeLivePatch.0.0)";}


    Kan iemand mij vertellen wat hier fout in is? (deze is trouwens gemaakt door php zelf) (sess_8oum6stpbs14it1kn2g93bms03)

    Tnx! [edit]enters ivm leesbaarheid[/edit]
    Just say hi!
    pi_76180538
    quote:
    Op maandag 28 december 2009 07:17 schreef Light het volgende:

    [..]

    Da's niet hetzelfde formaat als in je voorbeeldstring 200929120105, dat was YdmHi.
    Spelfoutje

    Ik ben een poll applicatie aan het schrijven, hiervoor gebruik ik 3 tabellen:
    Poll
    - id
    - user_id (verschillende gebruikers kunnen poll's aanmaken)
    - question
    - show

    Poll_answers
    - id
    - poll_id
    - answer
    - points

    Poll_log
    - id
    - poll_id
    - IP

    Is dit handig? Of kan het veel logischer/compacter?
    pi_76194438
    lijkt me erg goed; gebruik zo'n opzet voor www.gfxpoll.nl en natuurlijk www.gfxpoll.com al zou ik je wel aanraden als je echt de database wilt optimaliseren het best handig is om een apparte tabel te gebruiken voor het ip adres en deze in je poll_log tabel te verbinden middels een ID, scheelt ietsje pietsje data.
    Just say hi!
      dinsdag 29 december 2009 @ 20:59:25 #136
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76195638
    de indeling van je tabellen daargelaten vind ik je naamgeving raar. Bij een poll geef je geen points en een answer maar kies je een option dmv een vote oid

    en ook de id bij je poll_log lijkt me niet echt nodig.. je selecteer rijen in die tabel op poll_id of op ip en als je een poll verwijderd kun je dat log ook leeggooien door alle rijen met het poll_id of 1 rij dmv van het ip
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_76197257
    quote:
    Op dinsdag 29 december 2009 20:59 schreef hamkaastosti het volgende:
    de indeling van je tabellen daargelaten vind ik je naamgeving raar. Bij een poll geef je geen points en een answer maar kies je een option dmv een vote oid

    en ook de id bij je poll_log lijkt me niet echt nodig.. je selecteer rijen in die tabel op poll_id of op ip en als je een poll verwijderd kun je dat log ook leeggooien door alle rijen met het poll_id of 1 rij dmv van het ip
    Ik geef aan iedere record altijd een unieke ID mee, of het nou wel of niet noodzakelijk is. Stiekem denk ik daar eigelijk niet over na.

    Ik vind points juist wel een goede benaming, je kan voten op een 'answer', deze punten moeten ergens geteld worden.
    pi_76197279
    quote:
    Op dinsdag 29 december 2009 20:31 schreef Chandler het volgende:
    lijkt me erg goed; gebruik zo'n opzet voor www.gfxpoll.nl en natuurlijk www.gfxpoll.com al zou ik je wel aanraden als je echt de database wilt optimaliseren het best handig is om een apparte tabel te gebruiken voor het ip adres en deze in je poll_log tabel te verbinden middels een ID, scheelt ietsje pietsje data.
    Leuke website! Nice
    pi_76210471
    SQL:

    Ik heb een 20-tal databases, en deze bevatten allen exact dezelfde tabellen (met andere informatie). Er is een tabel die ik heb gemaakt in DB 005, en die wil ik kopiëren naar alle andere databases.
    Ik heb er 10 gedaan met de volgende statement:
    1INSERT into dbo.PublicHolidays select * FROM [005].dbo.PublicHolidays


    Gaat allemaal goed, tot de laatste 10, daar krijg ik foutmelding:
    1
    2
    Msg 257, Level 16, State 3, Line 1
    Implicit conversion from data type datetime to int is not allowed. Use the CONVERT function to run this query.


    Enig idee? ;(
      woensdag 30 december 2009 @ 08:48:06 #140
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76210486
    quote:
    Op woensdag 30 december 2009 08:46 schreef DaFan het volgende:
    SQL:

    Ik heb een 20-tal databases, en deze bevatten allen exact dezelfde tabellen (met andere informatie). Er is een tabel die ik heb gemaakt in DB 005, en die wil ik kopiëren naar alle andere databases.
    Ik heb er 10 gedaan met de volgende statement:
    [ code verwijderd ]

    Gaat allemaal goed, tot de laatste 10, daar krijg ik foutmelding:
    [ code verwijderd ]

    Enig idee?
    Controlleer je veld types eens, ziet er naar uit dat je daart een verschil in hebt
    pi_76210522
    Hm kan het ermee te maken hebben dat de kolommen in de laatste 10 tabellen 'verkeerd' staan?
    Zeg maar in DB 005 is het A B C D
    en in (bv) DB 022 en verder is het A B D C
      woensdag 30 december 2009 @ 08:54:00 #142
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76210537
    quote:
    Op woensdag 30 december 2009 08:52 schreef DaFan het volgende:
    Hm kan het ermee te maken hebben dat de kolommen in de laatste 10 tabellen 'verkeerd' staan?
    Zeg maar in DB 005 is het A B C D
    en in (bv) DB 022 en verder is het A B D C
    Yup, met de select * geef je die volgorde direct door aan je insert into.
    pi_76210559
    Ah vandaar, lekker vaag dan.
    Maarja dan de volgende vraag natuurlijk;
    Kan ik er ook voor zorgen dat er naar de kolomnaam wordt gekeken en aan de hand daarvan de tabel wordt gekopieerd? Of kan ik zelf de kolommen verplaatsen in de juiste volgorde?

    Edit; ik kan wel de kolommen zelf verplaatsen zie ik nu, maar mag de table niet droppen en recreaten. En dat is wel nodig volgens MS.
      woensdag 30 december 2009 @ 09:02:48 #144
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76210613
    Je kan natuurlijk ook ipv select * de kolom volgorde in je select zetten
    pi_76210703
    quote:
    Op woensdag 30 december 2009 09:02 schreef ursel het volgende:
    Je kan natuurlijk ook ipv select * de kolom volgorde in je select zetten
    Fantastisch, het werkt
    Bedankt Exact Software...opbouw van de tabel verschilt onderling 4x in 36 databases, knap werk
      woensdag 30 december 2009 @ 18:52:12 #146
    136730 PiRANiA
    All thinking men are atheists.
    pi_76231063

    Servertje heeft het zwaar
    pi_76231452
    quote:
    Op woensdag 30 december 2009 18:52 schreef PiRANiA het volgende:
    [ afbeelding ]
    Servertje heeft het zwaar
    Sorry, moest effe mijn nieuwste botje testen.
      woensdag 30 december 2009 @ 19:17:00 #148
    136730 PiRANiA
    All thinking men are atheists.
    pi_76232023
    quote:
    Op woensdag 30 december 2009 19:02 schreef Tuvai.net het volgende:

    [..]

    Sorry, moest effe mijn nieuwste botje testen.
    Test geslaagd
      woensdag 30 december 2009 @ 19:19:54 #149
    75592 GlowMouse
    l'état, c'est moi
    pi_76232147
    quote:
    Op woensdag 30 december 2009 18:52 schreef PiRANiA het volgende:
    [ afbeelding ]
    Servertje heeft het zwaar
    waaruit blijkt dat?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 30 december 2009 @ 19:28:17 #150
    136730 PiRANiA
    All thinking men are atheists.
    pi_76232575
    quote:
    Op woensdag 30 december 2009 19:19 schreef GlowMouse het volgende:

    [..]

    waaruit blijkt dat?
    Jij zal het niet veel vinden (als je de FOK! stats hebt gezien), maar ik vind 60 queries per seconde vrij veel
    pi_76232617
    quote:
    Op woensdag 30 december 2009 19:28 schreef PiRANiA het volgende:

    [..]

    Jij zal het niet veel vinden (als je de FOK! stats hebt gezien), maar ik vind 60 queries per seconde vrij veel
    Ik was eigenlijk meer aan het kijken naar je 'Failed attempts". 60 queries per seconden vind ik niet zo heel gek veel, meer dan 1000 failed connection attempts in een uur tijd echter wel.
      woensdag 30 december 2009 @ 19:37:11 #152
    136730 PiRANiA
    All thinking men are atheists.
    pi_76232989
    quote:
    Op woensdag 30 december 2009 19:29 schreef Tuvai.net het volgende:

    [..]

    Ik was eigenlijk meer aan het kijken naar je 'Failed attempts". 60 queries per seconden vind ik niet zo heel gek veel, meer dan 1000 failed connection attempts in een uur tijd echter wel.
    Hoe kom ik er achter waar het fout gaat?
      woensdag 30 december 2009 @ 19:41:20 #153
    75592 GlowMouse
    l'état, c'est moi
    pi_76233214
    quote:
    Op woensdag 30 december 2009 19:28 schreef PiRANiA het volgende:

    [..]

    Jij zal het niet veel vinden (als je de FOK! stats hebt gezien), maar ik vind 60 queries per seconde vrij veel
    Voor je bezoekersteller mag je wel trots zijn (mits redelijk aantal queries per pagina), maar je had het erover dat hij het druk had. En dat is niet zo, een moderne thuis-pc kan rustig 50-100k queries/seconde uitvoeren primary key look-ups wel.
    quote:
    Op woensdag 30 december 2009 19:37 schreef PiRANiA het volgende:

    [..]

    Hoe kom ik er achter waar het fout gaat?
    tcpdump
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 30 december 2009 @ 19:43:05 #154
    136730 PiRANiA
    All thinking men are atheists.
    pi_76233318
    quote:
    Op woensdag 30 december 2009 19:41 schreef GlowMouse het volgende:

    [..]

    Voor je bezoekersteller mag je wel trots zijn (mits redelijk aantal queries per pagina), maar je had het erover dat hij het druk had. En dat is niet zo, een moderne thuis-pc kan rustig 50-100k queries/seconde uitvoeren primary key look-ups wel.
    [..]

    tcpdump
    Het zijn allemaal lokale scripts met data uit metingen. Tcpdump werkt dan niet denk ik?
    En qua bezoekers: 1 dus, alleen ik zelf
      woensdag 30 december 2009 @ 20:30:39 #155
    136730 PiRANiA
    All thinking men are atheists.
    pi_76236048
    GM, hij heeft het inderdaad niet echt druk:
      woensdag 30 december 2009 @ 20:33:16 #156
    75592 GlowMouse
    l'état, c'est moi
    pi_76236181
    20GB geheugen?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 30 december 2009 @ 22:35:31 #157
    136730 PiRANiA
    All thinking men are atheists.
    pi_76241990
    quote:
    Op woensdag 30 december 2009 20:33 schreef GlowMouse het volgende:
    20GB geheugen?
    Jup, chille x2200 server. Ik moet hem alleen nog ergens weghangen eigenlijk, maar colocatie is vrij duur
      woensdag 30 december 2009 @ 22:54:31 #158
    75592 GlowMouse
    l'état, c'est moi
    pi_76242955
    ic; heb je zo'n enorm kleine dataset of heb je MySQL nog met de default config draaien?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 30 december 2009 @ 22:57:40 #159
    136730 PiRANiA
    All thinking men are atheists.
    pi_76243115
    quote:
    Op woensdag 30 december 2009 22:54 schreef GlowMouse het volgende:
    ic; heb je zo'n enorm kleine dataset of heb je MySQL nog met de default config draaien?
    Relatief veel data (~200MB database) op standaard configuratie...
      woensdag 30 december 2009 @ 22:59:43 #160
    75592 GlowMouse
    l'état, c'est moi
    pi_76243226
    zonde!
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 31 december 2009 @ 09:07:19 #161
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76253191
    quote:
    Op woensdag 30 december 2009 22:59 schreef GlowMouse het volgende:
    zonde!
    Ben ik wel benieuwd met welke settings je dat beter kan optimaliseren als je veel data hebt.
      donderdag 31 december 2009 @ 09:19:07 #162
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76253339
    Overigens zelf ook een vraag wat te maken heeft met afronding. :{

    Op 2 plaatsen wordt min of meer een identieke berekening gedaan, waarbij de 2e een controle is over de getallen van de eerste.

    Na wat dumps krijg ik de volgende output bij berekening 1: (QuotaAmount 1 is voor eerste berekening)

    QuotaAmount 1 : 43.575, type : double.
    QuotaAmount 2 : 43.57, type : string.
    QuotaAmount 3 : 43.57, type : double.

    1
    2
    3
    4
    <?php
    $QuotaAmount 
    sprintf('%0.2f'$QuotaAmount);
    $QuotaAmount = (float)str_replace(',''.'$QuotaAmount);
    ?>


    Vervolgens doe ik verderop een nieuwe berekening en krijg ik de volgende output:

    a 1: 43.575, type : double.
    a 2: 43.58, type : string.
    a 3: 43.58, type : double.

    En hier de code:

    1
    2
    3
    4
    <?php
    $sReCheckQuotaAmount 
    sprintf('%0.2f'$sReCheckQuotaAmount);
    $sReCheckQuotaAmount = (float)str_replace(',''.'$sReCheckQuotaAmount);
    ?>


    Iemand enig idee hoe ik ervoor kan zorgen dat ze beide correct afgerond worden, of hoe en waar ut verkeerd gaat? :?
      donderdag 31 december 2009 @ 10:15:09 #163
    12221 Tijn
    Powered by MS Paint
    pi_76254270
    Ik denk dat het verkeerd gaat omdat je floats gebruikt. Floats hebben van zichzelf al problemen met afronden.
      donderdag 31 december 2009 @ 10:22:38 #164
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76254460
    als het bedragen zijn waarmee je werkt kun je volgens mij beter met integers en centen werken en pas helemaal op het eind gaan afronden
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      donderdag 31 december 2009 @ 10:28:22 #165
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76254593
    Mja, maar de afronding gaat al verkeerd in de sprintf
      donderdag 31 december 2009 @ 10:32:27 #166
    12221 Tijn
    Powered by MS Paint
    pi_76254691
    quote:
    Op donderdag 31 december 2009 10:28 schreef ursel het volgende:
    Mja, maar de afronding gaat al verkeerd in de sprintf
    Omdat je daar er ook al een float van maakt. Floats zijn niet altijd precies het getal die je bedoelt.
      donderdag 31 december 2009 @ 10:57:02 #167
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76255532
    quote:
    Op donderdag 31 december 2009 10:32 schreef Tijn het volgende:

    [..]

    Omdat je daar er ook al een float van maakt. Floats zijn niet altijd precies het getal die je bedoelt.
    aah, wacht, die sprintf maakt er ook float van.
    Gewoon even nieuwsgierig, maar wat is eigenlijk het nut van een float als je die niet precies het getal is dat je bedoeld?
      donderdag 31 december 2009 @ 11:05:18 #168
    12221 Tijn
    Powered by MS Paint
    pi_76255843
    quote:
    Op donderdag 31 december 2009 10:57 schreef ursel het volgende:

    [..]

    Gewoon even nieuwsgierig, maar wat is eigenlijk het nut van een float als je die niet precies het getal is dat je bedoeld?
    Het handige van een float is dat je zowel extreem grote als extreem kleine getallen erin kunt opslaan. Andere types hebben harde limieten, zoals bv een int die van -2147483648 t/m 2147483647 werkt. Een float heeft dat soort grenzen niet echt, daar kun je honderd cijfers voor of achter de komma bij zetten en je krijgt nog een waarde eruit die (min of meer) lijkt op wat je bedoelde.
      donderdag 31 december 2009 @ 11:53:11 #169
    75592 GlowMouse
    l'état, c'est moi
    pi_76257625
    quote:
    Op donderdag 31 december 2009 09:07 schreef ursel het volgende:

    [..]

    Ben ik wel benieuwd met welke settings je dat beter kan optimaliseren als je veel data hebt.
    Sowieso overstappen op InnoDB, beetje recente versie pakken (5.4/5.5), en dan spelen met de buffer pool, en logbuffer.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 31 december 2009 @ 12:06:44 #170
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76258151
    Kijk, 2 mooie posts waar ik volgend jaar eens ff mooi naar ga kijken.
      donderdag 31 december 2009 @ 12:40:03 #171
    136730 PiRANiA
    All thinking men are atheists.
    pi_76259526
    quote:
    Op donderdag 31 december 2009 11:53 schreef GlowMouse het volgende:

    [..]

    Sowieso overstappen op InnoDB, beetje recente versie pakken (5.4/5.5), en dan spelen met de buffer pool, en logbuffer.
    Heb je daar een mooie guide voor? Of een leidraad waar ik kan beginnen?
      donderdag 31 december 2009 @ 12:41:19 #172
    75592 GlowMouse
    l'état, c'est moi
    pi_76259582
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76259610
    Hee, dit topic was ik kwijt
      donderdag 31 december 2009 @ 12:42:28 #174
    75592 GlowMouse
    l'état, c'est moi
      donderdag 31 december 2009 @ 12:50:09 #175
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76260041
    Even de posts gebookmarked
      donderdag 31 december 2009 @ 13:00:54 #176
    136730 PiRANiA
    All thinking men are atheists.
    pi_76260462
    quote:
    Oeh leuk materiaal om naar te kijken. Ik ben nu mijn grootste tabel aan het omzetten naar InnoDB:


    -edit- nog steeds bezig
    -edit2- Ik zie die innodb setting snergens in mijn standaard config file? /etc/mysql/my.cnf, kan ik ze gewoon toevoegen of staan ze ergens anders?
    -edit3- Hij is nu al bijna 40 minuten bezig met 1 table...

    [ Bericht 4% gewijzigd door PiRANiA op 31-12-2009 13:35:59 ]
      donderdag 31 december 2009 @ 13:53:50 #177
    136730 PiRANiA
    All thinking men are atheists.
    pi_76262687

    Dat is wel apart, elke refresh staat er een ander aantal rows
      donderdag 31 december 2009 @ 14:28:37 #178
    136730 PiRANiA
    All thinking men are atheists.
    pi_76264195
    Hmm ik heb nogal wat problemen gehad met de innodb settings
    Corrupte bestanden en such. Hij lijkt mijn innodb settings niet te pakken? Misschien zet ik ze verkeerd neer?
    Mogelijk heeft iemand een voorbeeldconfiguratie voor me?
      donderdag 31 december 2009 @ 14:32:22 #179
    75592 GlowMouse
    l'état, c'est moi
    pi_76264350
    Gewoon toevoegen (/etc/mysql/my.cnf) en mysql herstarten

    innodb_buffer_pool_size= 1000M

    Die rowcount is innodb-eigen, zie manual.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 31 december 2009 @ 14:43:17 #180
    136730 PiRANiA
    All thinking men are atheists.
    pi_76264814
    quote:
    Op donderdag 31 december 2009 14:32 schreef GlowMouse het volgende:
    Gewoon toevoegen (/etc/mysql/my.cnf) en mysql herstarten

    innodb_buffer_pool_size= 1000M

    Die rowcount is innodb-eigen, zie manual.
    Ahja, dat werkt.
    Ik kreeg eerst errors over corrupte bestanden et cetera (uiteraard gebackupped, maar niet nodig).

    Je hoeft dus niet alle settings te setten begrijp ik

    -edit- Mijn count(*) over 2.5M rows tabel duurt nu wel 10 keer langer ofzo
      donderdag 31 december 2009 @ 15:00:22 #181
    75592 GlowMouse
    l'état, c'est moi
    pi_76265484
    Bij FOK! scheelt dat wel een miljoen keer (of 10 miljoen miljard keer); de kunst is dan ook om nooit/niet vaak een count op een hele tabel te doen.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 31 december 2009 @ 15:06:18 #182
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76265721
    quote:
    Op donderdag 31 december 2009 15:00 schreef GlowMouse het volgende:
    Bij FOK! scheelt dat wel een miljoen keer (of 10 miljoen miljard keer); de kunst is dan ook om nooit/niet vaak een count op een hele tabel te doen.
    je moet een count door php laten uitvoeren dan?
      donderdag 31 december 2009 @ 15:07:30 #183
    75592 GlowMouse
    l'état, c'est moi
    pi_76265772
    quote:
    Op donderdag 31 december 2009 15:06 schreef ursel het volgende:

    [..]

    je moet een count door php laten uitvoeren dan?
    wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76265829
    quote:
    Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

    [..]

    wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
    Best vaak hoor. Al dan niet met een GROUP BY.
      donderdag 31 december 2009 @ 15:09:01 #185
    136730 PiRANiA
    All thinking men are atheists.
    pi_76265831
    quote:
    Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

    [..]

    wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
    Ik wil weten hoe de opbouw van sommige data verloopt, dan vind ik het wel intereressant om te weten hoe veel gegevens ik al heb
      donderdag 31 december 2009 @ 15:11:21 #186
    75592 GlowMouse
    l'état, c'est moi
    pi_76265912
    quote:
    Op donderdag 31 december 2009 15:09 schreef Tuvai.net het volgende:

    [..]

    Best vaak hoor. Al dan niet met een GROUP BY.
    We hadden het over een SELECT count(*) FROM tbl, niet over een andere query.
    quote:
    Op donderdag 31 december 2009 15:09 schreef PiRANiA het volgende:

    [..]

    Ik wil weten hoe de opbouw van sommige data verloopt, dan vind ik het wel intereressant om te weten hoe veel gegevens ik al heb
    dat is een query'tje per maand ofzo, /care.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 31 december 2009 @ 15:13:05 #187
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76265963
    quote:
    Op donderdag 31 december 2009 15:07 schreef GlowMouse het volgende:

    [..]

    wanneer wil je nou ooit weten hoeveel rijen een tabel heeft?
    Een hoop van onze tabellen staan gelijk aan het aantal producten en of objecten.

    Daarnaast voor het aangeven van hoeveel pagina's er zijn in de lijst navigatie.
    Dus redelijk vaak eigenlijk nog wel.
      donderdag 31 december 2009 @ 15:14:27 #188
    75592 GlowMouse
    l'état, c'est moi
    pi_76266013
    quote:
    Op donderdag 31 december 2009 15:13 schreef ursel het volgende:

    [..]

    Een hoop van onze tabellen staan gelijk aan het aantal producten en of objecten.
    En dan staat er nooit in WHERE bij? En dit zijn ook typisch dingen die je denormaliseert.
    quote:
    Daarnaast voor het aangeven van hoeveel pagina's er zijn in de lijst navigatie.
    Dus redelijk vaak eigenlijk nog wel.
    http://www.mysqlperforman(...)-paginated-displays/
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76266106
    quote:
    Op donderdag 31 december 2009 15:11 schreef GlowMouse het volgende:
    We hadden het over een SELECT count(*) FROM tbl, niet over een andere query.
    Ja, doh. Toen vroeg jij hoe vaak je dat wel niet doet, waarom ik (en zo te zien andere ook) reageer dat ik dat dus wel eens nodig heb.

    @PiRANiA: COUNT(*) op tabellen zonder een WHERE clausule is in InnoDB nou eenmaal erg traag (in vergelijking met bijv. MyISAM). Probeer anders een index in je query te definiëren. En nog beter, optimaliseer je databasestructuur (correcte indexes leggen), maar dat dien je sowieso te doen (niet alleen in geval van InnoDB).
      donderdag 31 december 2009 @ 15:19:26 #190
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76266212
    quote:
    Op donderdag 31 december 2009 15:14 schreef GlowMouse het volgende:

    [..]

    En dan staat er nooit in WHERE bij? En dit zijn ook typisch dingen die je denormaliseert.
    [..]

    http://www.mysqlperforman(...)-paginated-displays/
    ik zeg verder niet dat onze code perfect is
    Verre van zelfs, alleen dat we de count wel vaak gebruiken.

    Hopelijk in feb start maken met nieuwe basis voor het extranet
    Dus al dit soort zaken is goed om mee te nemen
      donderdag 31 december 2009 @ 15:20:19 #191
    75592 GlowMouse
    l'état, c'est moi
    pi_76266241
    quote:
    Op donderdag 31 december 2009 15:17 schreef Tuvai.net het volgende:

    [..]
    @PiRANiA: COUNT(*) op tabellen zonder een WHERE clausule is in InnoDB nou eenmaal erg traagMyISAM snel omdat door het ontbreken van MVCC er gewoon een countertje in een tabel zit waar je in 1x het aantal rijen in een tabel kan aflezen. Zodra je iets met WHERE erbij doet, is MyISAM weer even traag als de rest.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zaterdag 2 januari 2010 @ 23:57:00 #192
    62215 qu63
    ..de tijd drinkt..
    pi_76343625
    Jeej, eerste vraag in het nieuwe jaar! *O*

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\sync.php on line 63

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\sync.php on line 68

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xml_parse_into_struct(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\xml.php on line 160

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of xml_parse_into_struct(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\xml.php on line 160

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of datastore_search(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 210

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 220

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 221

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 222

    Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of datastore_search(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 346


    Ik kan niet bij mn php.ini, maar heb wel dit gevonden: http://www.verysimple.com(...)ference-in-htaccess/ .htacces bestand in wwwroot/syncml/syncml gegooid en in wwwroot maar ik blijf die melding krijgen. php.net geeft ook geen alternatief voor bijvoorbeeld xml_parse_into_struct(). Iemand enige idee wat ik wel kan doen?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zaterdag 2 januari 2010 @ 23:58:52 #193
    75592 GlowMouse
    l'état, c'est moi
    pi_76343699
    waarom ampersandjes?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 3 januari 2010 @ 00:02:55 #194
    62215 qu63
    ..de tijd drinkt..
    pi_76343875
    quote:
    Op zaterdag 2 januari 2010 23:58 schreef GlowMouse het volgende:
    waarom ampersandjes?
    Huh?
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zondag 3 januari 2010 @ 00:05:03 #195
    75592 GlowMouse
    l'état, c'est moi
    pi_76343959
    C:\domains\svenahrens.nl\wwwroot\syncml\syncml\syncml.php on line 222 bijvoorbeeld
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 3 januari 2010 @ 00:06:06 #196
    75592 GlowMouse
    l'état, c'est moi
    pi_76344001
    xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

    dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 3 januari 2010 @ 00:06:30 #197
    62215 qu63
    ..de tijd drinkt..
    pi_76344009
    quote:
    Op zondag 3 januari 2010 00:06 schreef GlowMouse het volgende:
    xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

    dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
    Ga ik eens kijken of die weg te halen zijn en of het dan wel werkt..
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zondag 3 januari 2010 @ 00:11:36 #198
    62215 qu63
    ..de tijd drinkt..
    pi_76344190
    quote:
    Op zondag 3 januari 2010 00:06 schreef GlowMouse het volgende:
    xml_parse_into_struct ( resource $parser , string $data , array &$values [, array &$index ] )

    dat gaat al goed, bij de functieaanroep zijn geen ampersands nodig
    In de code staan de ampersands er ook niet..

    xml.php regels 160-164
    1
    2
    3
    4
    5
    6
    7
    <?php
      
    if (!xml_parse_into_struct ($xml_parser$xml_text, &$values, &$index)) {
        die(
    sprintf("XML error: %s at line %d",
            
    xml_error_string(xml_get_error_code($xml_parser)),
            
    xml_get_current_line_number($xml_parser)));
      }
    ?>
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zondag 3 januari 2010 @ 00:12:50 #199
    75592 GlowMouse
    l'état, c'est moi
    pi_76344240
    &$values?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 3 januari 2010 @ 00:13:29 #200
    62215 qu63
    ..de tijd drinkt..
    pi_76344267
    quote:
    Op zondag 3 januari 2010 00:12 schreef GlowMouse het volgende:
    &$values?
    bugger..

    * qu63 glas wegzet
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      zondag 3 januari 2010 @ 00:19:11 #201
    62215 qu63
    ..de tijd drinkt..
    pi_76344495
    Thanks, error's zijn weg! (Heb overal de &$ vervangen door $)

    Helaas werkt mn sync-profiel op mn telefoon nog niet, maar dat is geen php/sql-vraag
    It's Time To Shine
    [i]What would life be like without rhethorical questions?[/i]
      maandag 4 januari 2010 @ 08:19:36 #202
    25889 Sitethief
    Fulltime Flapdrol
    pi_76388611
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
            
            
    public function validateTel(&$inputValidateTel){
                
    $this->stripSingle($inputValidateTel);
                if (
    preg_match("/[0-9]/",$inputValidateTel)){
                    return 
    true;
                }
                return 
    false;
            }
    ?>


    Deze functie geeft altijd een false weer, ook al zit er een cijfer in....
    Hij werkt ook niet als ik
    1
    2
    3
    <?php
    (preg_match("/^[0-9]/",$inputValidateTel))
    ?>

    gebruik en de true en false omdraai.

    Wat doe ik fout?
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 08:51:40 #203
    12221 Tijn
    Powered by MS Paint
    pi_76388884
    Waarom gebruik je niet gewoon is_numeric()?
    pi_76388942
    quote:
    Op maandag 4 januari 2010 08:51 schreef Tijn het volgende:
    Waarom gebruik je niet gewoon is_numeric()?
    Of eventueel ctype_digit?
    pi_76389218
    wat doet $this->StripSingle ?
      maandag 4 januari 2010 @ 09:30:15 #206
    25889 Sitethief
    Fulltime Flapdrol
    pi_76389396
    Als ik ctype_digit gebruik dan krijg ik False terug, terwijl ik "0" als waarde meegeef.
    Het nadeel van deze functions is dat ik er bijv later geen telefoonnummer mee kan valideren, terwijl dat met preg_match wel kan.

    1
    2
    3
    4
    5
    6
    7
    <?php
    public function validateTel(&$inputValidateTel){
                
    $this->stripSingle($inputValidateTel);
                
    ctype_digit($inputValidateTel);            
                return;
    }
    ?>
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 09:32:52 #207
    25889 Sitethief
    Fulltime Flapdrol
    pi_76389436
    ik kan natuurlijk voor telefoonnummers numbers_only() gebruiken om de streepjes etch eruit te halen.
    Edit: ik zie net dat dat een zelfgebouwde function is... die toch weer teruggrijpt op preg_match.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 09:40:44 #208
    25889 Sitethief
    Fulltime Flapdrol
    pi_76389581
    quote:
    Op maandag 4 januari 2010 09:18 schreef Xcalibur het volgende:
    wat doet $this->StripSingle ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    public function stripSingle(&$inputStripSingle){
                if(
    $inputStripSingle !== ""){
                    
    $inputStripSingle trim($inputStripSingle);
                    
    $inputStripSingle stripslashes($inputStripSingle);
                    
    $inputStripSingle htmlentities($inputStripSingleENT_QUOTES);
                }
                return;
            }
    ?>
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 11:16:37 #209
    25889 Sitethief
    Fulltime Flapdrol
    pi_76391993
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
            
    /*
             *    Telephone number validate function
             *    @param string with text
             *  @return bool
             *  @return string with validated & stripped digits
             */
            
    public function validateTel(&$inputValidateTel) {
                
    //Strip
                
    $this->stripSingle($inputValidateTel);
                
    //Strip everything but digits
                
    preg_replace('/[^0-9]/''',$inputValidateTel);
                
    //Check if string contains only digits, if not return false
                
    if(ctype_digit($inputValidateTel)) {
                    return 
    true;
                }
                return 
    false;
            }
    ?>


    Dit werkt overigens ook niet, de string word niet gestript van niet nummerieke karakters.....

    [ Bericht 4% gewijzigd door Sitethief op 04-01-2010 13:08:33 (nieuwe code) ]
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 12:40:16 #210
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76394692
    dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
    quote:
    Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_76395511
    quote:
    Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
    dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
    [..]
    Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
      maandag 4 januari 2010 @ 13:11:33 #212
    25889 Sitethief
    Fulltime Flapdrol
    pi_76395737
    quote:
    Op maandag 4 januari 2010 12:40 schreef hamkaastosti het volgende:
    dwing je gebruikers gewoon een correct telefoonnummer in te voeren door bijvoorbeeld een kengetal en abonneeveld te gebruiken die je zelf aan elkaar plakt of geef bij je form een voorbeeld hoe het ingevuld moet worden met evt clientside javascript validatie. je kunt met php dan simpelweg ctype_digit gebruiken voor de check.
    [..]
    Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
    quote:
    Op maandag 4 januari 2010 13:04 schreef Light het volgende:

    [..]

    Alleen cijfers voor een telefoonnummer is niet handig. Het kan ook gebeuren dat iemand een internationaal telefoonnummer wil invoeren, dan heb je in ieder geval een + nodig als eerste teken. Dan maak je het met 2 velden (netnummer en abonneenummer) niet handiger.
    Waarom heb je dan een plus nodig?
    Je schrijft toch gewoon 0031384202277 en niet +31384202277
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 13:20:59 #213
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76396039
    quote:
    Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

    [..]

    Dit moet een validation class worden die voor meerdere omgevingen te gebruiken is. Dwz dat telefoon nummers erg kunnen verschillen omdat de programmatuur voor diverse landen gebruikt kan worden.
    [..]

    Waarom heb je dan een plus nodig?
    Je schrijft toch gewoon 0031384202277 en niet +31384202277
    Jij misschien, maar je gebruikers zullen het op alle mogelijke manieren proberen...
      maandag 4 januari 2010 @ 13:24:41 #214
    12221 Tijn
    Powered by MS Paint
    pi_76396161
    quote:
    Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

    [..]

    Waarom heb je dan een plus nodig?
    Je schrijft toch gewoon 0031384202277 en niet +31384202277
    Ik denk dat meer mensen +31 invoeren dan 0031.
    pi_76396258
    quote:
    Op maandag 4 januari 2010 13:11 schreef Sitethief het volgende:

    Waarom heb je dan een plus nodig?
    Je schrijft toch gewoon 0031384202277 en niet +31384202277
    Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
      maandag 4 januari 2010 @ 13:33:21 #216
    25889 Sitethief
    Fulltime Flapdrol
    pi_76396454
    En dan geef ik ze een foutmelding waarin nóg eens duidelijk uitgelegd staat hoe het moet. naast dat dat bij de invoer al stond natuurlijk.

    Het is namelijk niet de bedoeling dat gebruikers van alles en nog wat in de database gaan gooien wat er dna later weer uitgefilterd kan worden.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 13:37:02 #217
    25889 Sitethief
    Fulltime Flapdrol
    pi_76396587
    quote:
    Op maandag 4 januari 2010 13:24 schreef Tijn het volgende:

    [..]

    Ik denk dat meer mensen +31 invoeren dan 0031.
    Ik heb het nooit gebruikt . Maar ja, wie ben ik?
    quote:
    Op maandag 4 januari 2010 13:27 schreef Light het volgende:

    [..]

    Maar je weet niet waar iemand vandaan gaat bellen, en 00 is niet overal de code voor internationaal bellen. De + bij een telefoonnummer wordt wel algemeen herkend als "bel internationaal", waarbij de beller dan zelf kan uitzoeken wat de goede code is voor het land waar hij zich bevindt. Of dat 00, 011, 09, 9, 990 of nog iets anders is, is niet jouw probleem.
    Ik kan dus net zo goed die + in mijn database zetten.
    Maar goed, de functie werkt nu al niet......


    edit:

    Als ik in de RegEx tester
    1/[^0-9+-]/

    gebruik om
    1+31-64%2430826

    Te strippen, dan werkt het. Ik krijg dan:
    1+31-642430826

    Maar in mijn code niet.

    [ Bericht 11% gewijzigd door Sitethief op 04-01-2010 13:47:40 ]
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 15:12:25 #218
    25889 Sitethief
    Fulltime Flapdrol
    pi_76399712
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
            
    /*
             *    Telephone number validate function
             *    @param string with text
             *  @return bool
             *  @return string with validated & stripped digits
             */
            
    public function validateTel(&$inputValidateTel) {
                
    //Strip
                
    $this->stripSingle($inputValidateTel);
                
    //Strip everything but digits, + and -
                
    $inputValidateTel preg_replace('/[^0-9\+\-]/''',$inputValidateTel);
                
    //Check if string contains only digits, + and -, if not return false
                
    return true;
            }
    ?>

    Zo werkt ie. Het zat em in de $inputValidateTel = preg_replace('/[^0-9\+\-]/', '',$inputValidateTel);
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 15:15:04 #219
    12221 Tijn
    Powered by MS Paint
    pi_76399796
    Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
      maandag 4 januari 2010 @ 15:43:51 #220
    25889 Sitethief
    Fulltime Flapdrol
    pi_76400855
    quote:
    Op maandag 4 januari 2010 15:15 schreef Tijn het volgende:
    Ik zou de naam van de functie veranderen in "sanitize" in plaats van "validate". Als je alleen zou valideren, zou je alleen een true / false antwoord verwachten, maar in dit geval pas je de string ook echt aan.
    Klopt
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
    pi_76404878
    Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

    Bv.
    $array = array(1, 3, 7);
    $var = 1;
      maandag 4 januari 2010 @ 17:28:12 #222
    75592 GlowMouse
    l'état, c'est moi
    pi_76404916
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 4 januari 2010 @ 17:29:04 #223
    254493 Trollface.
    gr rob fruithof, groningencity
    pi_76404945
    quote:
    Op maandag 4 januari 2010 17:27 schreef Tegan het volgende:
    Newb-vraag. Ik heb een array en een variabele, hoe kan ik checken of die variabele in de array voorkomt?

    Bv.
    $array = array(1, 3, 7);
    $var = 1;
    1
    2
    3
    4
    5
    <?php
    if(in_array($var$array)) {
      
    /* doe iets... */
    }
    ?>

    ★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
    pi_76405010
    Thanks, met Google kwam ik alleen dingen tegen die checken of een var een array is of niet .
      maandag 4 januari 2010 @ 17:31:25 #225
    75592 GlowMouse
    l'état, c'est moi
    pi_76405038
    de functienaam daarvoor verschilt ook maar een letter
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 4 januari 2010 @ 17:35:07 #226
    75592 GlowMouse
    l'état, c'est moi
    pi_76405196
    Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 4 januari 2010 @ 17:38:06 #227
    25889 Sitethief
    Fulltime Flapdrol
    pi_76405330
    quote:
    Op maandag 4 januari 2010 17:35 schreef GlowMouse het volgende:
    Die manual is trouwens wel handig, want links staan alle arrayfuncties. Om de zoveel tijd moet je die allemaal doorlopen om te kijken wat er allemaal mogelijk is.
    Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 4 januari 2010 @ 17:44:28 #228
    75592 GlowMouse
    l'état, c'est moi
    pi_76405599
    quote:
    Op maandag 4 januari 2010 17:38 schreef Sitethief het volgende:

    [..]

    Ik struikel er alleen vaak over dat op die website de voorbeelden altijd erg complex zijn en je dus moeilijk kunt achterhalen hoe je een function simpel kunt gebruiken. Zeker als je net begonnen bent met php. Verder worden veel dingen nogal summier uitgelegd.
    Als je wat ervaring hebt, kun je de voorbeelden wel waarderen.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 4 januari 2010 @ 17:46:27 #229
    254493 Trollface.
    gr rob fruithof, groningencity
    pi_76405670
    quote:
    Op maandag 4 januari 2010 17:44 schreef GlowMouse het volgende:

    [..]

    Als je wat ervaring hebt, kun je de voorbeelden wel waarderen.
    Agreed, die voorbeelden kunnen soms erg fijn zijn.
    ★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
      dinsdag 5 januari 2010 @ 11:22:06 #230
    25889 Sitethief
    Fulltime Flapdrol
    pi_76430860
    Hoe kun je simpel in multidimensionale arrays zoeken?
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 5 januari 2010 @ 12:02:42 #231
    75592 GlowMouse
    l'état, c'est moi
    pi_76432401
    http://nl.php.net/manual/en/function.array-search.php

    de comments zijn ook bruikbaar, al staat er soms wat heel erg doms tussen.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      dinsdag 5 januari 2010 @ 12:31:41 #232
    254493 Trollface.
    gr rob fruithof, groningencity
    pi_76433353
    quote:
    Op dinsdag 5 januari 2010 11:22 schreef Sitethief het volgende:
    Hoe kun je simpel in multidimensionale arrays zoeken?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    function array_twodimensional_search($needle$haystack) {

        if(!
    is_array($haystack)) {
            return 
    null;
        }

        foreach(
    $haystack as $key => $array) {
            if(!
    is_array($array)) {
                continue;
            }

            
    $arrkey array_search($needle$array);
            if(
    $arrkey !== false) {
                return array(
    $key$arrkey);
            }
        }
        return 
    null;
    }
    ?>

    Voorbeeld:
    1
    2
    3
    4
    <?php
    $multi_array 
    = array('test' => array(531), 'test2' => array(642), 'bla' => 5);
    print_r(array_twodimensional_search(5$multi_array));
    ?>

    Output:
    1
    2
    3
    4
    5
    Array
    (
        [0] => test
        [1] => 0
    )


    Zoiets? $return[0] is de key in de eerste array, $return[1] in de tweede.
    ★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
      dinsdag 5 januari 2010 @ 14:32:57 #233
    25889 Sitethief
    Fulltime Flapdrol
    pi_76437749
    Wat vinden jullie beter. Het checken van een wachtwoord bij het inloggen dmv WHERE statement in een query, of door een SELECT query te doen en dan het wachtwoord de controleren in die array.

    De query methode is sneller en korter, maar levert gevaar op omdat je een query runt. De array methode is veiliger, maar langzamer en langer. Ook is het minder veilig om wachtwoorden heen en weer te sturen tussen classes waarin je de array afcheckt.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      dinsdag 5 januari 2010 @ 14:43:06 #234
    12221 Tijn
    Powered by MS Paint
    pi_76438172
    quote:
    Op dinsdag 5 januari 2010 14:32 schreef Sitethief het volgende:
    Wat vinden jullie beter. Het checken van een wachtwoord bij het inloggen dmv WHERE statement in een query, of door een SELECT query te doen en dan het wachtwoord de controleren in die array.

    De query methode is sneller en korter, maar levert gevaar op omdat je een query runt. De array methode is veiliger, maar langzamer en langer. Ook is het minder veilig om wachtwoorden heen en weer te sturen tussen classes waarin je de array afcheckt.
    Ik zou zorgen dat je queries zoveel mogelijk outputten wat je hebben wil. Als je wil controleren of een password met een username matcht, kan dat prima met een SELECT en een WHERE. Dan hoef je niet later door je resultaten te gaan zitten graven, maar heb je gelijk wat je hebben wil.

    Qua veiligheid maakt het toch niet zoveel uit hoe je het aanpakt? Wel moet je natuurlijk zorgen dat je je passwords encrypt en dat je de inputstrings escaped voordat je ze in de query plakt om injecties te voorkomen.
      dinsdag 5 januari 2010 @ 14:45:16 #235
    75592 GlowMouse
    l'état, c'est moi
    pi_76438265
    Als je password een hash is waarvan de salt nog onbekend is op het moment dat je de query uitvoert, en je hashmethode geen MySQL-functie is, zou ik toch voor de check in php gaan.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 6 januari 2010 @ 10:48:36 #236
    25889 Sitethief
    Fulltime Flapdrol
    pi_76472886
    http://pastebin.com/f212e15f4

    Deze code werkt, maar zou het nog beter/anders kunnen en waarom? Ik ben net begonnen met leren over cookies en sessions.

    Edit: de Secure class: http://pastebin.com/f327ce69e

    [ Bericht 11% gewijzigd door Sitethief op 06-01-2010 11:50:50 ]
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      woensdag 6 januari 2010 @ 16:45:17 #237
    254493 Trollface.
    gr rob fruithof, groningencity
    pi_76487923
    quote:
    Op woensdag 6 januari 2010 10:48 schreef Sitethief het volgende:
    http://pastebin.com/f212e15f4

    Deze code werkt, maar zou het nog beter/anders kunnen en waarom? Ik ben net begonnen met leren over cookies en sessions.

    Edit: de Secure class: http://pastebin.com/f327ce69e
    Ik zou de databaseconfig in een apart bestand zetten.
    Ook zou ik als ik jou was een duidelijke scheiding gebruiken tussen de PHP-code die dingen aanroept en HTML-code met PHP-code ertussen die de opgehaalde gegevens d.m.v. een foreach o.i.d. weergeeft.

    Ongeveer dit dus (erg simpel geschreven, persoonlijk gebruik ik liever frameworks en classes, maar dit werkt als voorbeeld goed ):
    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
    <?php
    require('cfg/main.php');
    require('cfg/database.php');
    connect_naar_database(DB_HOST, DB_USER, DB_PASS, DB_NAME);

    $bla = get_iets();
    $bla2 = get_iets_anders();

    //---------------SCHEIDING-----------------------------------//
    ?>
    <html>
    <head>
    <title>Bla</title>
    </head>

    <body>
    <?php foreach($bla as $singlebla): ?>
    <?=$singlebla->naam?>
    <?php endforeach; ?>
    <br />
    <hr />
    <br />
    <?php foreach($bla2 as $anotherbla): ?>
    <?=$anotherbla->description?>
    <?php endforeach; ?>
    </body>
    </html>
    ★5731U★ Death from above '79★You're a woman, i'm a machinielsie ★ ✠ ★ Telkens weer een beetje sterven★ I was born in a winterstorm, i live there still★
    pi_76527699
    Ik ben bezig met het schrijven van een kleine wrapperklasse om fgetcsv heen om makkelijk met csv bestanden om te gaan. Nou moet de fgetcsv functie o.a. weten wat het veldscheidingsteken is, of er aanhalingstekens e.d. om de waarden heenzitten en met welk karakter er ge-escaped wordt.
    Is er ook een manier om dat handig zelf te analyseren? Het wordt gebruikt in een open webapplicatie waarbij helemaal niet zeker is in welke CSV-indeling mensen dingen gaan uploaden.
      donderdag 7 januari 2010 @ 23:02:44 #239
    37634 wobbel
    Da WoBBeL King
    pi_76544607
    Ben op dit moment bezig met een simpel factuur systeem in PHP, alleen nu wil ik ook herhalende/reperterende facturen.

    Hoe kan ik dat het beste doen?
    pi_76545233
    Voor herhalende / automatische handelingen, zou ik om te beginnen eens kijken naar cronjobs. En of je daar überhaupt de mogelijkheid voor hebt natuurlijk.

    [ Bericht 14% gewijzigd door Tuvai.net op 07-01-2010 23:22:14 ]
      vrijdag 8 januari 2010 @ 00:33:17 #241
    37634 wobbel
    Da WoBBeL King
    pi_76548294
    quote:
    Op donderdag 7 januari 2010 23:15 schreef Tuvai.net het volgende:
    Voor herhalende / automatische handelingen, zou ik om te beginnen eens kijken naar cronjobs. En of je daar überhaupt de mogelijkheid voor hebt natuurlijk.
    Ja, heb volledige shell toegang als root dus dat is niet het probleem

    Maar hoe doe ik dat met MySQL en PHP? Hoe zorg ik ervoor dat er wekelijks of maandelijks een factuur wordt gegenereerd voor onbepaalde of bepaalde periode
    pi_76551805
    Een cronjob maken die 1x per week of 1x per maand draait
    En die dus de facturen maakt...
    pi_76551892
    quote:
    Op donderdag 7 januari 2010 16:40 schreef Intrepidity het volgende:
    Ik ben bezig met het schrijven van een kleine wrapperklasse om fgetcsv heen om makkelijk met csv bestanden om te gaan. Nou moet de fgetcsv functie o.a. weten wat het veldscheidingsteken is, of er aanhalingstekens e.d. om de waarden heenzitten en met welk karakter er ge-escaped wordt.
    Is er ook een manier om dat handig zelf te analyseren? Het wordt gebruikt in een open webapplicatie waarbij helemaal niet zeker is in welke CSV-indeling mensen dingen gaan uploaden.
    Ik heb ook zoiets gemaakt, daarbij zet ik de instellingen op de default waarde en geef ik een preview van het bestand na het inlezen. Als het niet goed is kan je de defaultinstellingen wijzigen en het nog een keer proberen...

    Om het veldscheidingsteken automatisch te bepalen zou je moeten tellen hoevaak een komma of puntkomma op een regel voorkomt, en of dat op iedere regel is? Wordt wel een gedoe denk ik...
    pi_76558585
    quote:
    Op vrijdag 8 januari 2010 08:37 schreef Xcalibur het volgende:
    Een cronjob maken die 1x per week of 1x per maand draait
    En die dus de facturen maakt...
    Inderdaad niet meer van een kwestie van je code in een cronjob zetten die om de zoveel tijd draait. Vrijwel hetzelfde als wat je in Windows doet met executables en geplande taken / scheduled tasks.
    pi_76560131
    Een vraag van een hobby-websitemaker:

    Ik heb een homepage gemaakt in HTML en geupload naar mijn domein, werkt goed.
    Ondertussen heb ik een andere site gemaakt met wordpress.com, werkt ook goed, ben eigenlijk wel enthousisast over wordpress.

    Nu zie ik op mijn provider-site dat ik mijn pack kan upgraden zodat ik mijn homepage onder wordpress.org kan gaan draaien (met database SQL ed, heb ik nog niet eerder mee gewerkt overigens). Wordpress.org biedt meer mogelijkheden dan wordpress.com, klopt dat?

    Voordeel is dat ik dan én via wordpress werk, en mijn domeinnaam kan houden. Nadeel, ik moet een duurder pack gaan betalen, terwijl mijndomein.wordpress.com gratis is. Ik kan ook mijn domein door laten linken naar de wordpress.com pagina, maar in dat geval denk ik erover om mijn domeinnaam op te geven en alleen maar de wordpress.com te nemen.

    Wat is wijsheid?
      vrijdag 8 januari 2010 @ 13:13:37 #246
    12221 Tijn
    Powered by MS Paint
    pi_76560226
    Doorlinken van domeinen is troep waar je niet aan wil beginnen.

    Ik zou die upgrade doen. Zo duur kan het toch niet zijn? En als het wel duur is, zoek je een provider die minder duur is, want er zijn onwijs veel hosts te vinden die PHP en MySQL aanbieden natuurlijk.
    pi_76560323
    Als je bij je hostingboer met dingen als .htaccess files en dergelijke aan de gang kunt kun je gewoon prima een URL als blog.mijnwebsite.nl laten rewriten naar mijnblog.wordpress.com zonder dat de gebruiker dit in zijn adresbalk ziet.
    pi_76563725
    Het abonnement loopt nog twee maanden, ik upgrade het nu en daarna zie ik wel of het me bevalt. Als ik er niet uitkom met de SQL database, meld ik me weer hier!
    pi_76616296
    Weet iemand hoe ik de laatste zaterdag van iedere maand kan achterhalen? zonder al te veel scripting te schijven?
    Just say hi!
    pi_76617311
    quote:
    Op zaterdag 9 januari 2010 23:08 schreef Chandler het volgende:
    Weet iemand hoe ik de laatste zaterdag van iedere maand kan achterhalen? zonder al te veel scripting te schijven?
    Met date('w') kun je achterhalen op welke dag van de week een datum valt. En met mktime() kun je een timestamp maken. Handig om te weten is dat de nulde dag van de maand eigenlijk de laatste dag van de voorgaande maand is. Met een beetje puzzelen zou het dan wel moeten lukken. Veel meer dan 10 regels code hoeft het niet te worden.

    Ik wil mijn versie wel posten, later Mag je eerst nog even zelf stoeien.
    pi_76617688
    Dat truucje van de 0e dag kun je inderdaad toepassen, maar met date('n') kun je ook achterhalen hoeveel dagen er in de huidige maand zitten (=laatste dag van de maand)
      zaterdag 9 januari 2010 @ 23:53:34 #252
    12221 Tijn
    Powered by MS Paint
    pi_76617783
    Zoiets?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    function lastSaturday($month$year)
    {
        
    // number of days in each month
        
    $days_in_month = array(1=>312831303130313130313031);
        
    // fix for leap year
        
    if(date('L'mktime(0,0,0,$month,1,$year)) > 0$days_in_month[2] = 29;

        
    // go through days of the month, starting at the end
        
    for($day $days_in_month[$month]; $day 1$day--)
        {
            
    // check if day is saturday
            
    if(date('l'mktime(0,0,0,$month,$day,$year)) == 'Saturday')
            {
                
    // yay *O*
                
    return $day;
            }
        }
        
        
    // boo ;(
        
    return false;
    }
    ?>
    pi_76617808
    Wat gebruiken jullie eigenlijk om PDFs on the fly te genereren? Ik gebruik nu al heel lange tijd FPDF ( http://www.fpdf.org ) maar ik ben er elke keer érg lang mee bezig om dynamische documenten te maken, die gedeeltelijk uit variabele content en gedeeltelijk uit vaste content bestaan. Nou is PDF scripts maken sowieso al niet mijn meest favoriete bezigheid, maar in .NET gaat het me een stuk sneller af met de iText / iSharp of dbAutoTrack libraries.

    Welke raden jullie aan?
      zaterdag 9 januari 2010 @ 23:55:54 #254
    12221 Tijn
    Powered by MS Paint
    pi_76617844
    quote:
    Op zaterdag 9 januari 2010 23:50 schreef Intrepidity het volgende:
    Dat truucje van de 0e dag kun je inderdaad toepassen, maar met date('n') kun je ook achterhalen hoeveel dagen er in de huidige maand zitten (=laatste dag van de maand)
    Ik denk dat je date('t') bedoelt. Dat is inderdaad wel handig en maakt het stukje in mijn code waarin ik dat opzoek overbodig
    pi_76617867
    Die array met dagen per maand is niet nodig:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    function lastSaturday($month$year)
    {
        
    $days_in_month date('t'mktime(000$month1$year));

        
    // go through days of the month, starting at the end
        
    for($day $days_in_month$day 1$day--)
        {
            
    // check if day is saturday
            
    if(date('l'mktime(0,0,0,$month,$day,$year)) == 'Saturday')
            {
                
    // yay
                
    return $day;
            }
        }
        
        
    // boo 
        
    return false;
    }
    ?>


    Edit: Whoops, t was idd date('t')
      zaterdag 9 januari 2010 @ 23:58:11 #256
    75592 GlowMouse
    l'état, c'est moi
    pi_76617926
    op basis van date('t') en date('w') moet het in veel minder regels kunnen
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 10 januari 2010 @ 00:01:19 #257
    12221 Tijn
    Powered by MS Paint
    pi_76618032
    quote:
    Op zaterdag 9 januari 2010 23:58 schreef GlowMouse het volgende:
    op basis van date('t') en date('w') moet het in veel minder regels kunnen
    Hoe zou date('w') het korter maken dan wat hierboven staat?

    Het zijn trouwens maar 4 effectieve regels, de rest is er om het leesbaarder te maken, maar zou eventueel ook weg kunnen.
    pi_76618053
    quote:
    Op zondag 10 januari 2010 00:01 schreef Tijn het volgende:

    [..]

    Hoe zou date('w') het korter maken dan wat hierboven staat?
    Omdat je op basis van het dagnummer van de laatste dag in een keer het juiste aantal dagen er vanaf kunt trekken Dan heb je ook geen for-lus meer nodig.
      zondag 10 januari 2010 @ 00:05:01 #259
    12221 Tijn
    Powered by MS Paint
    pi_76618153
    quote:
    Op zondag 10 januari 2010 00:02 schreef Intrepidity het volgende:

    [..]

    Omdat je op basis van het dagnummer van de laatste dag in een keer het juiste aantal dagen er vanaf kunt trekken Dan heb je ook geen for-lus meer nodig.
    Oh zo. Ja, dan zou je het met een simpel sommetje kunnen oplossen.

    Slim hoor
      zondag 10 januari 2010 @ 00:07:17 #260
    75592 GlowMouse
    l'état, c'est moi
    pi_76618227
    je krijgt dan zoiets
    1
    2
    3
    4
    5
    6
    7
    <?php
    function lastSaturday($month$year) {
      
    $daysInMonth date('t'mktime(0,0,0,$month,1,$year));
      
    $lastday date('w'mktime(0,0,0,$month,$daysInMonth,$year));
      return 
    $daysInMonth - (($lastday+1)%7);
    }
    ?>


    [ Bericht 4% gewijzigd door GlowMouse op 10-01-2010 00:20:48 ]
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76618365
    Ik ben nog even verder gaan puzzelen en heb nu een oplossing die Chandler-proof is

    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
    <?php
    /**
     * @param <int> $weekday Dag van de week (0 .. 6 - Zondag .. Zaterdag)
     * @param <int> $month
     * @param <int> $year
     * @return <int> timestamp van de laatste ...dag van de maand
     */
    function lastDayOfMonth($weekday$month null$year null) {
        if(
    is_null($year)) {
            
    $year date('Y');
        }
        if(
    is_null($month)) {
            
    $month date('m') + 1;
        } else {
            
    $month++;
        }
        
    $dayOfMonth 0;

        
    $dayOfWeek date('w'mktime(000$month$dayOfMonth$year));
        
    $dayOfMonth $weekday $dayOfWeek;
        if(
    $dayOfMonth 0) {
            
    //Verkeerde maand
            
    $dayOfMonth -= 7;
        }
        return 
    mktime(000$month$dayOfMonth$year);
    }
    ?>


    Werkt voor alle dagen van de week, gewoon met een parameter.
      zondag 10 januari 2010 @ 00:14:22 #262
    12221 Tijn
    Powered by MS Paint
    pi_76618446
    quote:
    Op zondag 10 januari 2010 00:07 schreef GlowMouse het volgende:
    je krijgt dan zoiets
    [ code verwijderd ]
    Hier komt alleen niet het goede antwoord uit
    pi_76618549
    quote:
    Op zondag 10 januari 2010 00:11 schreef Light het volgende:
    Ik ben nog even verder gaan puzzelen en heb nu een oplossing die Chandler-proof is
    [ code verwijderd ]

    Werkt voor alle dagen van de week, gewoon met een parameter.
    Mooi, en netjes met params.

    Ik prefereer leesbare, geďndente code over code die zo klein en compact mogelijk moet (tenzij het van belang is voor een merkbare performancewinst natuurlijk) zijn. Dat akelige Perl tijdperk waarin we zo absurd gelimiteerd waren zijn we inmiddels wel voorbij.

    [ Bericht 5% gewijzigd door Tuvai.net op 10-01-2010 00:22:55 ]
    pi_76618618
    Achja, ieder z'n eigen ding he Ik kan er bijvoorbeeld niet tegen om de curly braces naast een klasse/functienaam te zetten Braces staan bij mij altijd op een volgende regel
    En inderdaad, alles zo compact mogelijk maken heeft nauwelijks zin meer. PHP compileert en optimaliseert zijn code netjes tegenwoordig.
      zondag 10 januari 2010 @ 00:21:02 #265
    75592 GlowMouse
    l'état, c'est moi
    pi_76618675
    quote:
    Op zondag 10 januari 2010 00:14 schreef Tijn het volgende:

    [..]

    Hier komt alleen niet het goede antwoord uit
    nu wel
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76618904
    Zo heb ik een keer een leraar voor algoritmiek gehad die in een luie bui het huiswerk zo'n beetje alleen beoordeelde op het aantal coderegels Lang = fout, kort = goed. Heb voor de grap een keer een algoritme ingeleverd met een klein rekenfoutje maar als een hele korte oplossing en hij merkte er niks van
    Maar tegenwoordig is het: code ruimtelijk opzetten en met veel commentaar, want schermruimte kost toch niks
    pi_76619465
    quote:
    Op zondag 10 januari 2010 00:19 schreef Intrepidity het volgende:
    Achja, ieder z'n eigen ding he Ik kan er bijvoorbeeld niet tegen om de curly braces naast een klasse/functienaam te zetten Braces staan bij mij altijd op een volgende regel
    Ieder z'n ding idd. Ik vind het zo'n verspilling van ruimte om voor iedere curly brace open weer een nieuwe regel te beginnen. De sluit-brace staat wel op z'n eigen regel (behalve bij een if als er een else volgt).
    quote:
    En inderdaad, alles zo compact mogelijk maken heeft nauwelijks zin meer. PHP compileert en optimaliseert zijn code netjes tegenwoordig.
    True, leesbaarheid is ook belangrijk. Maar 'k denk niet dat PHP je code zo verandert dat de berekening wordt geoptimaliseerd, dus een efficient algoritme verzinnen moet je wel zelf doen.
    pi_76619714
    quote:
    Op zondag 10 januari 2010 00:17 schreef Tuvai.net het volgende:

    [..]

    Mooi, en netjes met params. [ afbeelding ]
    Thanks
    quote:
    Ik prefereer leesbare, geďndente code over code die zo klein en compact mogelijk moet (tenzij het van belang is voor een merkbare performancewinst natuurlijk) zijn. Dat akelige Perl tijdperk waarin we zo absurd gelimiteerd waren zijn we inmiddels wel voorbij.
    Eens Hoewel ik wel vaak probeer om code ook compact te houden, maar dat is vooral om dubbele dingen te voorkomen. Op hoe meer plekken je iets moet aanpassen, hoe groter de kans dat je een aanpassing vergeet.
    pi_76620434
    Ik zet curly braces ook meestal op een nieuwe regel, tenzij ik erg veel geneste statements heb waarvan bijvoorbeeld de code in de else blokjes maar één regel per keer is of zo. Het volgende stukje code wordt bijvoorbeeld érg lang als ik alle curly braces op een nieuwe regel zou zetten:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    if( $expr1 )
    {
       if( $expr2 )
       {
          if( $expr3 )
          {
             Klasje->Methode();
             
             if( $expr4 )
             { Klasje->EenMethode(); }
             else
             {
                Klasje->Meer();
                Klasje->Code();
             }
          }
          else
          { Klasje->Vaudje('omg'); }
       }
       else
       { Klasje->Vaudje('wtf'); }
    }
    else
    { Klasje->Vaudje('lol'); }


    EDIT: En even een schaamteloze repost.
    quote:
    Op zaterdag 9 januari 2010 23:54 schreef Tuvai.net het volgende:
    Wat gebruiken jullie eigenlijk om PDFs on the fly te genereren? Ik gebruik nu al heel lange tijd FPDF ( http://www.fpdf.org ) maar ik ben er elke keer érg lang mee bezig om dynamische documenten te maken, die gedeeltelijk uit variabele content en gedeeltelijk uit vaste content bestaan. Nou is PDF scripts maken sowieso al niet mijn meest favoriete bezigheid, maar in .NET gaat het me een stuk sneller af met de iText / iSharp of dbAutoTrack libraries.

    Welke raden jullie aan?
    pi_76623733
    Lol ben ik even wezen slapen en kom terug zie ik een heuse discussie over de laatste zaterdag v/d maand

    Had zelf ook al een oplossing maar die bestond uit 25 regels waarbij ik alleen de maand/jaar als parameters meegaf. Het moet idd met heel weinig regels code kunnen... eens kijken wat ik met jullie codes kan

    @Light; jou code is nice en werkt zoals bedoeld!

    [ Bericht 11% gewijzigd door Chandler op 10-01-2010 09:13:02 ]
    Just say hi!
      zondag 10 januari 2010 @ 20:51:35 #271
    37634 wobbel
    Da WoBBeL King
    pi_76651136
    quote:
    Op vrijdag 8 januari 2010 12:25 schreef Tuvai.net het volgende:

    [..]

    Inderdaad niet meer van een kwestie van je code in een cronjob zetten die om de zoveel tijd draait. Vrijwel hetzelfde als wat je in Windows doet met executables en geplande taken / scheduled tasks.
    Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

    Veld "Periode" dus 14, 31, 365
    Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

    Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
      zondag 10 januari 2010 @ 21:03:11 #272
    12221 Tijn
    Powered by MS Paint
    pi_76651994
    quote:
    Op zondag 10 januari 2010 20:51 schreef wobbel het volgende:

    [..]

    Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

    Veld "Periode" dus 14, 31, 365
    Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

    Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
    Ik zou zorgen dat je bij het aanmaken van een factuur de datum kunt opgeven waarop 'ie verzonden moet worden en dat geheel dan kunt opslaan in je database.

    Vervolgens run je elke dag een cronjob die een script aanroept die kijkt of er facturen zijn die vandaag verzonden moeten worden en zo ja, dan doet 'ie dat.
    pi_76655789
    quote:
    Op zondag 10 januari 2010 20:51 schreef wobbel het volgende:

    [..]

    Maar stel ik maak een factuur voor de klant aan, voeg ik dan 2 extra regels toe?

    Veld "Periode" dus 14, 31, 365
    Veld "Aantal" -1 is ongelimiteerd doorgaan, of 12 voor 12 maanden (als je voor 31 dagen hebt gekozen)

    Of periode + aantal opgeven, en dan dmv een cronjob elke dag controleren of er een factuur gegenereerd moet worden. En dan als je maandelijks kiest dat hij het altijd op de 15e doet bijv.?
    Tja, dat is natuurlijk een kwestie van je fantasie gebruiken, en volledig afhankelijk van je script en hetgeen je wilt doen. Ik heb een paar weken geleden nog een applicatie gemaakt waarbij op vaste tijdstippen diverse mailtjes naar leden verzonden moesten worden, volledig automatisch. Denk daarbij aan vaste tijdstippen als:

    - Elke maandag om 11:35
    - Elke woensdag om 17:00
    - Elke vrijdag om 18:30
    En dan nog een stuk of 20 van zulke tijdstippen.

    Het is allemaal niet zo ingewikkeld. Je maakt gewoon een applicatie die elke x aantal minuten draait. In die applicatie kijk je wat de huidige tijd is (gewoon de tijd van uitvoering dus), en daaraan koppel je eventuele handelingen die op dat tijdstip moeten plaats vinden. Vaak houdt dat dan ook in dat je bij moet houden of iets al gebeurt is. Bijvoorbeeld: Je applicatie draait op maandag 1 januari 17:00 en daardoor wordt een factuur voor januari 2010 naar lid ID #1 verzonden. Dan zul je ergens bij moeten houden dat die factuur voor dat lid reeds verzonden is, zodat je applicatie die factuur niet de volgende keer wéér gaat versturen.

    Je daadwerkelijke functionele code die je normaliter zou hebben (dus in geval van géén automatisme), blijft in de meeste gevallen ongewijzigd. Denk aan het daadwerkelijk genereren van een factuur PDF`je of DOC`je. Het is alleen de manier van aanroepen die in geval van een dergelijk geautomatiseerde applicatie anders is.
    pi_76655938
    Maare, niemand maakt hier dus dynamische PDFs in PHP?
    pi_76657013
    quote:
    Op zondag 10 januari 2010 22:01 schreef Tuvai.net het volgende:
    Maare, niemand maakt hier dus dynamische PDFs in PHP?
    Jewel, met FPDF vanwege gebrek aan beter, dus ik kan je niet verder helpen Je kunt naar de PDF module van PHP zelf kijken (http://php.net/manual/en/book.pdf.php), maar ik zie niet 1,2,3 in hoe dat beter is als FPDF
    pi_76660089
    quote:
    Op zondag 10 januari 2010 22:16 schreef Intrepidity het volgende:

    [..]

    Jewel, met FPDF vanwege gebrek aan beter, dus ik kan je niet verder helpen Je kunt naar de PDF module van PHP zelf kijken (http://php.net/manual/en/book.pdf.php), maar ik zie niet 1,2,3 in hoe dat beter is als FPDF
    Ook al FPDF dus. De standaard PDF functies van PHP staan naar mijn ervaring erg vaak uitgeschakeld en die kun je in geval van een third party host ook niet even aanzetten.
    pi_76661309
    Je zou eens naar PDML kunnen kijken: http://www.pdml-pdf.net/
    Dat is een laag bovenop FPDF met een soort HTML-achtige syntax. Heb het nog niet geprobeerd, maar als het doet wat het belooft maakt dat het opmaken van documenten in ieder geval een stuk makkelijker, hoewel ik me kan voorstellen dat door al die lagen de performance wat tegenvalt..
    pi_76661590
    Het stikt op Internet van de PDF libraries (voor vrijwel elk populair platform), maar in plaats van die allemaal uit te gaan proberen (waar ik de tijd niet voor heb: P ) was ik gewoon eens nieuwsgierig naar wat mensen hier gebruiken, en wat hun ervaringen zijn.
      maandag 11 januari 2010 @ 05:29:41 #279
    71919 wonderer
    Hung like a My Little Pony
    pi_76666518
    Ik word hier echt gestoord van... mail() stuurt twee keer dezelfde mail... en ik snap niet waar het aan ligt.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
    function confirm_order($ID)
    {
     
    $d=connectDB();
     
    $r=runquery("SELECT * FROM orders WHERE order_id=".quote_smart($ID,$d),$d);
     if(
    mysql_num_rows($r)=='1'){
      
    $row=mysql_fetch_array($r);
      if(
    $row["order_status"]=='2'){
       
    $echo'<p>Je bestelling is al bevestigd, maar je krijgt nu het mailtje met de gegevens en verdere instructies nogmaals.</p>';
      }
      else{
       
    $r=runquery("UPDATE orders SET order_status='2' WHERE order_id=".quote_smart($ID,$d),$d);
       
    $echo'<p>Je bestelling is bevestigd. Je krijgt nu een mailtje met de betaalgegevens en verdere instructies.</p>';
      }
        
       
    $mail_to=$row["email_order"];
       
    $mail_from='FROM: niet@relevant.nl';
       
    $mail_subject='subject';
       
      if(
    $row["delivery_option"]=='sendoff'){
       
    $mail_body='Beste '.$row["name_order"].',
       Bedankt voor het bevestigen van je bestelling. *nog wat tekst*'
    ;
      }
      else{
       
    $mail_body='Beste '.$row["name_order"].',
       Bedankt voor het bevestigen van je bestelling. *wat andere tekst dan die ander*'
    ;
      }

      
    mail($mail_to,$mail_subject,$mail_body,$mail_from);      
      return 
    $echo;
     }
     else{
      return 
    '<p>Oeps! Je probeerde een bestelling te bevestigen die niet bestaat! Stuur even een mailtje, dan kunnen we zien wat er fout is gegaan.</p>';
     }
    }
    ?>

    Dus. Dat is de functie. Iemand "bestelt" iets via een formulier ('t is echt meer geautomatiseerde spreadsheet om bij te houden wie hoeveel besteld heeft zodat ik het niet met de hand hoef te doen dan een echt betaalsysteem en alles), krijgt een linkje, klikt daarop om de bestelling te bevestigen (voornamelijk om het e-mailadres te checken en te zorgen dat iemand niet "voor de lol iets bestelt"). Werkt verder prima, maar je krijgt de bevestigingsmail twee keer.

    Het grappige is, als je nog een keer op de bevestigingslink klikt, krijg je (zoals in de functie te zien is) de mail opnieuw zonder het te bevestigen, maar dan krijg je hem maar een keer... En als ik de database update uitzet en op de link blijf klikken, krijg ik de volgende keren er maar eentje. Ook al wordt hetzelfde script uitgevoerd. Ik snap er geen flikker van. Iemand dit eerder bij de hand gehad? Staat nogal onprofessioneel, die twee mails :')
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_76666836
    Zo op het eerste gezicht lijkt die functie in orde. Ik vermoed dan ook dat die functie ergens 2 keer aangeroepen wordt..
      maandag 11 januari 2010 @ 11:59:04 #281
    25889 Sitethief
    Fulltime Flapdrol
    pi_76672662
    Iemand ervaring met MODx? Ik ben er nu een beetje mee aan het stoeien, maar het ziet er allemaal heel tof uit.
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 11 januari 2010 @ 12:06:05 #282
    12221 Tijn
    Powered by MS Paint
    pi_76672893
    quote:
    Op maandag 11 januari 2010 11:59 schreef Sitethief het volgende:
    Iemand ervaring met MODx? Ik ben er nu een beetje mee aan het stoeien, maar het ziet er allemaal heel tof uit.
    Als je met zoiets aan de slag gaat, kun je je dan niet beter storten op bv Zend Framework?
      maandag 11 januari 2010 @ 12:40:55 #283
    25889 Sitethief
    Fulltime Flapdrol
    pi_76674136
    quote:
    Op maandag 11 januari 2010 12:06 schreef Tijn het volgende:

    [..]

    Als je met zoiets aan de slag gaat, kun je je dan niet beter storten op bv Zend Framework?
    Opdracht van de baas .
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 11 januari 2010 @ 13:20:34 #284
    136730 PiRANiA
    All thinking men are atheists.
    pi_76675484
    1
    2
    3
    4
    5
    6
    $aResult = $q->execute()->toArray();
          var_dump($aResult);
          if($aResult["numberOfTries"]<=3)
             return true;
          else
             return false;


    Geeft:
    quote:
    array(1) {
    [0]=>
    array(7) {
    ["id"]=>
    NULL
    ["time"]=>
    NULL
    ["ip"]=>
    NULL
    ["email"]=>
    NULL
    ["password"]=>
    NULL
    ["success"]=>
    NULL
    ["numberOfTries"]=>
    string(1) "0"
    }
    }
    Warning (8): LogLogintriesTable.php at 31 Undefined index: numberOfTries
    Iemand enig iedee hoe dat kan? :)
      maandag 11 januari 2010 @ 13:21:01 #285
    136730 PiRANiA
    All thinking men are atheists.
    pi_76675504
    O ik zie het nu. Het is een multidimensionale array
      maandag 11 januari 2010 @ 13:55:30 #286
    25889 Sitethief
    Fulltime Flapdrol
    pi_76676844
    Wat is er mis met
    1
    2
    3
    4
    5
    <?php
    echo '<pre>';
      
    var_dump($aResult);
    echo 
    '</pre>';
    ?>


    Dat ziet er wat leesbaarder uit vind ik altijd.

    [ Bericht 2% gewijzigd door Sitethief op 11-01-2010 14:35:31 (var_dump ipv print_r) ]
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 11 januari 2010 @ 14:05:03 #287
    136730 PiRANiA
    All thinking men are atheists.
    pi_76677223
    quote:
    Op maandag 11 januari 2010 13:55 schreef Sitethief het volgende:
    Wat is er mis met
    [ code verwijderd ]

    Dat ziet er wat leesbaarder uit vind ik altijd.
    Kan ook
      maandag 11 januari 2010 @ 14:20:54 #288
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76677810
    ik gebruik altijd var_dump want die geeft meer bruikbare informatie
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
    pi_76678033
    quote:
    Op maandag 11 januari 2010 14:20 schreef hamkaastosti het volgende:
    ik gebruik altijd var_dump want die geeft meer bruikbare informatie
    Helemaal als je ook iets van xdebug geinstalleerd hebt (op de server).
      maandag 11 januari 2010 @ 14:26:46 #290
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_76678056
    quote:
    Op maandag 11 januari 2010 13:55 schreef Sitethief het volgende:
    Wat is er mis met
    [ code verwijderd ]

    Dat ziet er wat leesbaarder uit vind ik altijd.
    Hier ook, verwerkt in een kleine functie dump, zodat ik niet elke keer dat moet tikken..
      maandag 11 januari 2010 @ 14:34:56 #291
    25889 Sitethief
    Fulltime Flapdrol
    pi_76678400
    Ik bedoelde natuurlijk <pre>, niet print_r, wat je verder voor function of wat dan ook gebruikt was niet mijn punt .
    Stroek: Sitethief, die is heel groot en sterk :Y.
    Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
      maandag 11 januari 2010 @ 18:42:37 #292
    71919 wonderer
    Hung like a My Little Pony
    pi_76688711
    quote:
    Op maandag 11 januari 2010 07:12 schreef Intrepidity het volgende:
    Zo op het eerste gezicht lijkt die functie in orde. Ik vermoed dan ook dat die functie ergens 2 keer aangeroepen wordt..
    Nee, want als ik na of voor de mail() functie een echo doe om dat te testen, wordt dat maar een keer afgedrukt. En dan zou het altijd twee mailtjes moeten zijn, niet alleen de eerste keer dat je op de link in het mailtje klikt.
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_76690558
    quote:
    Op maandag 11 januari 2010 18:42 schreef wonderer het volgende:

    [..]

    Nee, want als ik na of voor de mail() functie een echo doe om dat te testen, wordt dat maar een keer afgedrukt. En dan zou het altijd twee mailtjes moeten zijn, niet alleen de eerste keer dat je op de link in het mailtje klikt.
    Uhm, als de Functie 2x word aangeroepen, dan betekent dat niet dat de echo voor of na de functie 2x word aangeroepn, dus dat is geen handige manier om het te testen. Je zou dan de echo IN de functie moeten zetten.
      maandag 11 januari 2010 @ 20:02:54 #294
    71919 wonderer
    Hung like a My Little Pony
    pi_76692200
    quote:
    Op maandag 11 januari 2010 19:28 schreef ParvusM het volgende:

    [..]

    Uhm, als de Functie 2x word aangeroepen, dan betekent dat niet dat de echo voor of na de functie 2x word aangeroepn, dus dat is geen handige manier om het te testen. Je zou dan de echo IN de functie moeten zetten.
    Heb je het nou over de hele functie (confirm_order()), of mail()? Waarom zou mail() binnen de functie in vredesnaam twee keer worden aangeroepen als het er maar een keer staat?
    "Pain is my friend. I can trust pain. I can trust pain to make my life utterly miserable."
    "My brain is too smart for me."
    "We don't need no education." "Yes you do, you just used a double negative."
    pi_76694497
    quote:
    Op maandag 11 januari 2010 14:34 schreef Sitethief het volgende:
    Ik bedoelde natuurlijk <pre>, niet print_r, wat je verder voor function of wat dan ook gebruikt was niet mijn punt .
    Met XDebug heb je ook geen <pre> nodig.
    pi_76742756
    Al de PHP applicaties die we maken binnen het bedrijf waar ik werk draaien op een door mij geschreven MVC-framework, en die apps hebben een aantal configuratiebestanden. Momenteel ben ik aan het kijken waar binnen het framework performancewinst te halen valt, en een van de aandachtspunten zijn de configuratiefiles, die momenteel als XML-data zijn opgeslagen, omdat ik het idee heb dat er snellere situaties denkbaar zijn als het parsen van een XML-bestand. Eerst hadden we een pure PHP-array, maar vanwege het feit dat XML makkelijker vanuit PHP te manipuleren is (op een persistente manier dan) hebben we voor XML gekozen.
    Hoe doen julie dat eigenlijk met configuratiebestanden. Een array? XML? Database? Flat text wellicht?
    Wat geeft de beste performance EN de mogelijkheid om er eventueel later iets als een CMS-module omheen te bouwen?
    Ik zit zelfs nog te denken om de XML-files na iedere mutatie te 'cachen', dus er een PHP-array van te genereren, maar dit voelt een beetje aan als overkill
    pi_76743449
    Klein vraagje, ik wil de keys van een array omdraaien, hoe kan ik dit doen?

    Dus voorbeeld:

    0 = a
    1 = b
    2 = c

    moet worden

    0 = c
    1 = b
    2 = a

    kon dit nergens vinden (nou kijk ik ook vaak niet goed maar vond echt nix )
    Just say hi!
    pi_76743861
    Is dat niet exact hetzelfde als de waarden omdraaien zonder behoud van keys? In dat geval kun je dit doen:
    1
    2
    3
    4
    <?php
    // 2e parameter is preserve_keys, oftewel, de keys worden hernummerd en alleen de waarden worden omgedraaid
    $array array_reverse($arrayfalse);
    ?>

    Dat bovenstaande werkt overigens niet als de keys niet op volgorde staan of er gaten in de reeks van keys zitten.. Dan zul je een handmatigere aanpak moeten nemen.
      dinsdag 12 januari 2010 @ 22:46:36 #299
    152303 hamkaastosti
    ook bekend als hamkaastosti
    pi_76743899
    2 arrays maken met array_keys en array_values. 1 v.d. 2 reversen met array_reverse en vervolgens weer een nieuwe array maken met array_combine?

    @glowmouse
    array_flip wisselt alleen de key met de value toch?
    oeh.. array_reverse werkt wel als ik de manual zo lees
    Tom Jones zong ooit...
    she's got style she's got grace, takes a cumshot to the face, she's a lady
    laat een berichtje achter in mijn vriendjes en vriendinnetjesboek
    grolsch is tof | Aj plat könt praoten, mo-j ut neet laoten
      dinsdag 12 januari 2010 @ 22:46:53 #300
    75592 GlowMouse
    l'état, c'est moi
    pi_76743913
    array_flip oh zonder key preserve; dan array_reverse.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_76744063
    quote:
    Op dinsdag 12 januari 2010 22:46 schreef GlowMouse het volgende:
    array_flip oh zonder key preserve; dan array_reverse.
    array_flip doet iets anders. Die zorgt dat keys en waarden omgedraaid worden, dus array(0 => 'a', 1 => 'b') wordt array('a' => 0, 'b' => 1)
    abonnement Unibet Coolblue
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')