abonnement Unibet Coolblue Bitvavo
  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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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! ):
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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=

    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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?)
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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 )
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    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?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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..?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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", '*');

    ?>
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      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.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')