FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 36
JeRamaandag 1 januari 2007 @ 22:31

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

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
  • qu63maandag 1 januari 2007 @ 23:09
    mogen we in het nieuwe jaar tvp-en?
    Lightmaandag 1 januari 2007 @ 23:58
    quote:
    Op maandag 1 januari 2007 23:09 schreef qu63 het volgende:
    mogen we in het nieuwe jaar tvp-en?
    Die regels zijn niet veranderd
    mscholdinsdag 2 januari 2007 @ 00:02
    quote:
    Op maandag 1 januari 2007 23:58 schreef Light het volgende:

    [..]

    Die regels zijn niet veranderd
    in dat geval herhaal ik me zelf:
    quote:
    Op zondag 31 december 2006 09:43 schreef mschol het volgende:
    ik lees nu dagelijks me post aantal uit vanuit fok, hier wil ik een grafiekje van maken wat het volgende kan:

    1 plaatje met grafiek, waarvan de X as in gesteld kan worden (week, maand, jaar) Y moet dynamisch mee gaan met de maximum waarde (dus de laatste dag die wordt getoond) + beetje extra speling (zodat de lijn niet tot aan de rand komt
    2 een lijn tussen de dagen trekken. (zodat je dus een mooi verloop krijgt te zien)

    iemand een idee hoe ik dit kan aanpakken?
    tutorials m.b.t. GD Libary en grafieken maken?
    Tijndinsdag 2 januari 2007 @ 00:14
    Ik zou gewoon een beetje gaan experimenteren met GD, mschol. Met de voorbeelden op php.net kom je een heel eind en moeilijk is het in elk geval niet
    fokME2dinsdag 2 januari 2007 @ 02:39
    Nog een gelukkig nieuwjaar mensen 0-)
    Chandlerdinsdag 2 januari 2007 @ 10:17
    tvp, en het zelfde terug gewenst!
    schwa78dinsdag 2 januari 2007 @ 10:19
    1
    2
    3
    4
    5
    6
    7
    <?php
    $txt = "Héllo Çårmëñ, hôw àré yõü?";
    $txt = htmlentities($txt); 
    $txt = preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`', '$1', $txt);
    $txt = str_replace(' ', '-', $txt);
    echo($txt);
    ?>

    Het scriptje doet nog niet precies wat ik wil.

    Nu komen er nog steeds vraagtekens voor in de output (en waarschijnlijk ook andere interpunctie tekens). Wanneer je dan naar zo'n url wilt gaan krijg je een 404 melding aangezien je het vraagteken eerst zou moeten vervangen door %3f

    Is het script niet aan te passen zodat er alleen maar alfanummerieke tekens overblijven met streepjes ipv spaties?

    Alvast dank en nog de beste wensen!

    [ Bericht 46% gewijzigd door schwa78 op 02-01-2007 10:25:11 ]
    HuHudinsdag 2 januari 2007 @ 11:35
    Dan zou je dit kunnen gebruiken:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $txt
    = "Héllo Çårmëñ, hôw àré yõü?";
    $txt = htmlentities($txt);
    $txt = preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`', '$1', $txt);
    $txt = preg_replace('/[^\w\d\s]/', '$1', $txt);
    $txt = str_replace(' ', '-', $txt);
    echo(
    $txt);
    ?>
    beertendinsdag 2 januari 2007 @ 11:49
    Kun je niet iets instellen met bepaalde tekensets?
    schwa78dinsdag 2 januari 2007 @ 12:09
    quote:
    Op dinsdag 2 januari 2007 11:35 schreef HuHu het volgende:
    Dan zou je dit kunnen gebruiken:
    [ code verwijderd ]
    Thanks!!
    JeRadinsdag 2 januari 2007 @ 12:57
    quote:
    Op dinsdag 2 januari 2007 11:35 schreef HuHu het volgende:
    Dan zou je dit kunnen gebruiken:
    1$txt = preg_replace('/[^wds]/', '$1', $txt);
    Moet die $1 niet gewoon een spatie zijn? Want die reference bestaat nu toch niet?
    HuHudinsdag 2 januari 2007 @ 13:47
    quote:
    Op dinsdag 2 januari 2007 12:57 schreef JeRa het volgende:

    [..]

    Moet die $1 niet gewoon een spatie zijn? Want die reference bestaat nu toch niet?
    Die reference is datgene wat herkent wordt door de [^\w\d\s] toch? Dus moet er een $1 staan en geen ' '.
    JeRadinsdag 2 januari 2007 @ 13:50
    quote:
    Op dinsdag 2 januari 2007 13:47 schreef HuHu het volgende:

    [..]

    Die reference is datgene wat herkent wordt door de [^\w\d\s] toch? Dus moet er een $1 staan en geen ' '.
    [^\w\d\s]

    Dat is een character class die alle characters matcht die NIET \w (word character), \d (number character) of \s (whitespace) zijn. Als je die zou vervangen door $1, dus hetgene wat wordt gematcht, dan verandert er niets aan de string.

    Maar dat is niet wat er nu gebeurt. Die references werken alleen op $0 (de gematchede string) en $n waarbij n vanaf links gezien het nde aantal haakjes () dat geopend is. Maar die heb je niet, en dus wordt '$1' gelijk aan '', een lege string. En dáárom worden de characters nu verwijderd maar dan kun je net zo goed die $1 weglaten
    HuHudinsdag 2 januari 2007 @ 14:40
    quote:
    Op dinsdag 2 januari 2007 13:50 schreef JeRa het volgende:

    [..]

    [^\w\d\s]

    Dat is een character class die alle characters matcht die NIET \w (word character), \d (number character) of \s (whitespace) zijn. Als je die zou vervangen door $1, dus hetgene wat wordt gematcht, dan verandert er niets aan de string.

    Maar dat is niet wat er nu gebeurt. Die references werken alleen op $0 (de gematchede string) en $n waarbij n vanaf links gezien het nde aantal haakjes () dat geopend is. Maar die heb je niet, en dus wordt '$1' gelijk aan '', een lege string. En dáárom worden de characters nu verwijderd maar dan kun je net zo goed die $1 weglaten
    Owja... je hebt gelijk. Dat was ook de intentie, om er een '' te hebben staan. Copy-paste van de regel erboven en niet helemaal aangepast .
    Tiemiedinsdag 2 januari 2007 @ 16:31
    kan iemand me even helpen met een regular expression?

    In de database staat een veld met daarin de titel en daarachter dit als het aan een artikel gekoppelt is:
    1(<a href="http://www.website.nl/index.php?section=article&action=show&id=4967"><i>Artikel</i></a>)


    Van dit ene veld wil ik 2 aparte maken (titel en artikel_id) en nu zoek ik een expression om dat ID eruit te vissen.
    vamos1dinsdag 2 januari 2007 @ 17:09
    quote:
    Op dinsdag 2 januari 2007 16:31 schreef Tiemie het volgende:
    kan iemand me even helpen met een regular expression?

    In de database staat een veld met daarin de titel en daarachter dit als het aan een artikel gekoppelt is:
    [ code verwijderd ]

    Van dit ene veld wil ik 2 aparte maken (titel en artikel_id) en nu zoek ik een expression om dat ID eruit te vissen.
    ik snap je niet paint het es
    slakkiedinsdag 2 januari 2007 @ 17:50
    concept code in perl (bla.tmp is gewoon een file met jouw URL erin):

    1
    2
    3
    4
    5
    6
    7
    8
    cat bla.tmp |  perl -e '
    while(<>) { 
      chomp();   # perl, kan je verder ignoren
      $line = $_; # perl, kan je verder ignoren
      while ($line =~ m/\b(?:section|id)=((?:\w|\d)+)\b/g) { 
        print $1 . "n";
      }
    }'


    Output is dan:

    article
    4967

    Dit moet je zelf ff met pregmatch naar PHP translaten.

    [ Bericht 12% gewijzigd door slakkie op 02-01-2007 17:58:31 (stomme slashes..) ]
    JeRadinsdag 2 januari 2007 @ 18:15
    quote:
    Op dinsdag 2 januari 2007 16:31 schreef Tiemie het volgende:
    kan iemand me even helpen met een regular expression?

    In de database staat een veld met daarin de titel en daarachter dit als het aan een artikel gekoppelt is:
    [ code verwijderd ]

    Van dit ene veld wil ik 2 aparte maken (titel en artikel_id) en nu zoek ik een expression om dat ID eruit te vissen.
    Probeer eens zoiets? (niet getest)
    1
    2
    3
    $matches = array();
    preg_match('#(<a href="http://www.website.nl/index.php?section=article&action=show&id=(\d+)"><i>(.*)</i></a>)#Ui', $string, $matches);
    print_r($matches);
    Darkomendinsdag 2 januari 2007 @ 18:43
    Getest, werkt niet
    1
    2
    3
    4
    $string = '<a href="http://www.website.nl/index.php?section=article&action=show&id=1001"><i>dfgsfdgfgsfgsfdg</i></a>';
    $matches = array();
    preg_match('#(<a href="http://www.website.nl/index.php?section=article&action=show&id=(d+)"><i>(.*)</i></a>)#Ui', $string, $matches);
    print_r($matches);
    wondererdinsdag 2 januari 2007 @ 19:18
    edit: als je er nog es goed naar kijkt, zie je het ineens...
    Darkomendinsdag 2 januari 2007 @ 19:48
    ff iets stoms, ik wil deze rewrite rules omzetten naar eregi replace.

    en dacht dat op de onderstaande manier te doen, maar werkt helaas niet.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    RewriteRule !.html$ - [L]
    RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+).html$ /fforum/viewtopic.php?$1=$2 [L]
    RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+).html$ /fforum/viewforum.php?f=$1 [L]
    RewriteRule ^fforum/[a-z0-9-]+-c([0-9]+).html$ /fforum/index.php?c=$1 [L]
    RewriteRule ^fforum/[a-z0-9-]+-u([0-9]+).html$ /fforum/profile.php?mode=viewprofile&u=$1 [L]
    RewriteRule ^fforum/([a-zA-Z0-9_]+),([^/,]+),([^/,]([^/]*.html)$ fforum/$1$4?$2=$3 [QSA,N]
    RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]([^/]*.html)$ fforum/viewtopic$5?$1=$2&$3=$4 [QSA,N]
    RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]([^/]*.html)$ fforum/viewforum$4?f=$1&$2=$3 [QSA,N]
    RewriteRule ^fforum/([a-zA-Z0-9_]+).html$ /fforum/$1.php [L] ## fforum/filename.html =>  forum/filename.php  ## preg_replace("#fforum/([a-zA-Z0-9_]+).html#sie","'fforum/\1.php'", $text);
    */

    //RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+).html$ /fforum/viewforum.php?f=$1
    $text = 'fforum/viewforum,f,1.html';
    $textt =  preg_replace("#fforum/[a-z0-9,-]+-f([0-9]+).html#sie","'/fforum/viewforum.php?f=$1'", $text);
    echo $textt;


    Waarom is er nou niet een tooltje dat waar je je string kan ingeven, aan kan geven wat je wilt dat gereplaced word, en dat je dan een goede regex krijgt

    [ Bericht 8% gewijzigd door Darkomen op 02-01-2007 21:15:30 ]
    JeRadinsdag 2 januari 2007 @ 22:32
    quote:
    Op dinsdag 2 januari 2007 18:43 schreef Darkomen het volgende:
    Getest, werkt niet
    [ code verwijderd ]
    Ja, je moet wel een voorbeeld pakken zoals je hem eerder gaf nu heb je de haakjes om de link weggehaald.
    Darkomenwoensdag 3 januari 2007 @ 08:53
    ik heb geen voorbeeld gegeven hoor
    Alleen getest, maar ja dat had ik niet gezien

    Ik ben met wat anders bezig, zie 2 posts hierboven
    JeRawoensdag 3 januari 2007 @ 12:09
    quote:
    Op dinsdag 2 januari 2007 19:48 schreef Darkomen het volgende:
    ff iets stoms, ik wil deze rewrite rules omzetten naar eregi replace.
    Ik zie geen eregi_replace() in je code hoor.
    quote:
    en dacht dat op de onderstaande manier te doen, maar werkt helaas niet.
    [ code verwijderd ]

    Waarom is er nou niet een tooltje dat waar je je string kan ingeven, aan kan geven wat je wilt dat gereplaced word, en dat je dan een goede regex krijgt
    1) Een min-teken in een character class heeft een speciale betekenis (range). Escapen dus (geen komma).
    2) De s-modifier geeft aan dat je de punt (all characters) ook als newline wilt laten meetellen. Beetje raar als je een URL wilt gaan matchen en zeker als er geen punt in de regex voorkomt. Eruit dus.
    3) De e-modifier geeft aan dat je een eval() wilt uitvoeren op het stuk waardoor de gematchte string wordt vervangen. Geen idee waarom, ook eruit dus.
    4) De .html zit meestal aan het einde, daar kun je een dollarteken achter zetten om dat te forceren.

    1$textt = preg_replace("#fforum/[a-z0-9\-]+-f([0-9]+).html$#i","'/fforum/viewforum.php?f=$1'", $text);

    Ga nu daar eens mee verder knutselen
    Darkomenwoensdag 3 januari 2007 @ 13:08
    Tnx, ik had er al een paar af die werkten, vandaar dat er ook weer geen donder van hierbboven klopt :

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+).html$ /fforum/viewforum.php?f=$1 [L] 
    ## fforum/viewforum,f,1.html => fforum/viewforum.php?f=1 
    ## preg_replace('/fforum/([a-z]+),f,([0-9]+).html/i','/fforum/viewforum.php?f=$2', $text);

    RewriteRule ^fforum/[a-z0-9-]+-c([0-9]+).html$ /fforum/index.php?c=$1 [L]
    ## fforum/general-c1.html => => /fforum/index.php?c=1 
    ## preg_replace('/fforum/[a-z0-9-]+-c([0-9]+).html/i','/fforum/index.php?c=$1', $text);

    RewriteRule ^fforum/([a-zA-Z0-9_]+).html$ /fforum/$1.php [L] 
    ## fforum/filename.html => fforum/filename.php 
    ## preg_replace("#fforum/([a-zA-Z0-9_]+).html#sie","'fforum/\1.php'", $text);


    te doen:
    1
    2
    3
    4
    5
    6
    RewriteRule !.html$ - [L]
    RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+).html$ /fforum/viewtopic.php?$1=$2 [L]
    RewriteRule ^fforum/[a-z0-9-]+-u([0-9]+).html$ /fforum/profile.php?mode=viewprofile&u=$1 [L]
    RewriteRule ^fforum/([a-zA-Z0-9_]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/$1$4?$2=$3 [QSA,N]
    RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/viewtopic$5?$1=$2&$3=$4 [QSA,N]
    RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/viewforum$4?f=$1&$2=$3 [QSA,N]
    zovtywoensdag 3 januari 2007 @ 14:57
    Ik zoek een manier om het lokale ip address te tonen. Dus als iemand op de webserver komt die achter een nat routertje zit dat er dan komt te staan: 192.168.1.2 en niet z'n publieke ip address.

    Suggesties?
    HuHuwoensdag 3 januari 2007 @ 15:04
    1
    2
    3
    <?php
    echo $_SERVER['SERVER_ADDR'];
    ?>
    HuHuwoensdag 3 januari 2007 @ 15:08
    Of anders iets als dit:

    1
    2
    3
    <?php
    exec
    ("/sbin/ifconfig");
    ?>


    Om zo via Unix de IP configuratie te tonen.
    zovtywoensdag 3 januari 2007 @ 15:22
    Ik bedoel juist het lokale adres van de gebruiker/browser computer, niet van de server.
    Tijnwoensdag 3 januari 2007 @ 15:33
    quote:
    Op woensdag 3 januari 2007 15:22 schreef zovty het volgende:
    Ik bedoel juist het lokale adres van de gebruiker/browser computer, niet van de server.
    PHP is daar niet de handigste taal voor, aangezien PHP server-side wordt uitgevoerd, terwijl je iets wil weten wat alleen op de client aanwezig is. Misschien kun je beter een JavaScriptje zoeken ofzo die het lokale IP achterhaalt.

    Wat je zou kunnen proberen is getenv('HTTP_X_FORWARDED_FOR'). Maar dat is niet erg betrouwbaar.
    dnzlwoensdag 3 januari 2007 @ 15:35
    Ik probeer met een het ene mysql celwaarde een andere mysql rij te laden maar dit lukt niet.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    $sql 
    "SELECT * FROM prijsav_catering WHERE status = 'Aanvraag'";
    $result mysql_query($sql);

       
       if (
    mysql_num_rows($result) == 0) {
           echo 
    "Geen aanvragen gevonden.";
           exit;
       }

       while (
    $row mysql_fetch_assoc($result)) {
      
       
             
    //Datum maken
          
    $dd substr($row[date],6,2);
          
    $mm substr($row[date],4,2);
          
    $yyy substr($row[date],0,4);
          
    $HH substr($row[date],8,2);
          
    $MM substr($row[date],10,2);
          
    $SS substr($row[date],12,2);

          
    $date "$mm/$dd/$yyy $HH:$MM:$SS";
          
          
    $sql "SELECT * FROM prijsav_klant WHERE date = $date";
    $result2 mysql_query($sql);
       while (
    $row2 mysql_fetch_assoc($result2)) {

                            }
                               }
    ?>


    Waarom werkt dit zo niet?
    zovtywoensdag 3 januari 2007 @ 15:48
    quote:
    Op woensdag 3 januari 2007 15:33 schreef Tijn het volgende:
    Misschien kun je beter een JavaScriptje zoeken ofzo die het lokale IP achterhaalt.

    Wat je zou kunnen proberen is getenv('HTTP_X_FORWARDED_FOR'). Maar dat is niet erg betrouwbaar.
    Dat laatste werkt inderdaad niet in mijn situatie. (forwarded for is meer iets dat proxy servers toevoegen.)

    Ik ga op zoek naar een jscriptje. Thanks Tijn.
    HuHuwoensdag 3 januari 2007 @ 15:50
    Je moet quotes rond je celnaam zetten. Dus zo:

    1
    2
    3
    <?php
    $row
    ['date']
    ?>
    beertenwoensdag 3 januari 2007 @ 16:00
    quote:
    Op woensdag 3 januari 2007 15:35 schreef dnzl het volgende:
    Ik probeer met een het ene mysql celwaarde een andere mysql rij te laden maar dit lukt niet.
    [ code verwijderd ]

    Waarom werkt dit zo niet?
    Welke data-type gebruik je voor de datum in de tabellen?
    VARCHAR of DATETIME?
    dnzlwoensdag 3 januari 2007 @ 16:06
    VARCHAR
    beertenwoensdag 3 januari 2007 @ 16:19
    Datums en tijden zet je weg als DATETIME
    Als je dat doet heb je een uniforme dataformat. Had je die conversie ook niet hoeven doen wat je nu doet met al die substr() regeltjes. Met DATETIME kun je werken met de MySQL datumfuncties.

    Ik zou de datumkolommen omzetten naar DATETIME. En niets anders.

    Zie onderstaand stukkie code. Dat zou alles geweest zijn als je de datumvelden hetzelfde had.

    En nog iets: je hebt de kolom "date" genoemd. NIET DOEN!!! PHP kent ook een functie date(). Dit gaat je absoluut problemen opleveren. Kies voor je variabelen altijd namen welke NIET voorkomen in PHP of MySQL commando's/functies.
    Misschien dat dat ook de fout is in jou stukje code. $row[date] Naast de reeds genoemde enkele quotes zou ik zeker ook de kolomnaam veranderen. row['datum'] is prima.

    <?php
    SELECT * FROM prijsav_catering, prijsav_klant WHERE status = 'Aanvraag'" AND prijsav_klant.date=prijsav_catering.date

    [ Bericht 51% gewijzigd door beerten op 03-01-2007 16:29:50 ]
    Desdinovawoensdag 3 januari 2007 @ 16:20
    zie HuHu
    en anders je hoofdlettergebruik checken


    hoe check ik of een functie te gebruiken is zonder een fatal error te krijgen?
    bijvoorbeeld de aanwezigheid van de IMAP-functie OP_DEBUG()?

    [edit]
    Gevonden!
    function_exists()

    [ Bericht 10% gewijzigd door Desdinova op 03-01-2007 16:40:40 ]
    Desdinovawoensdag 3 januari 2007 @ 16:39
    quote:
    Op woensdag 3 januari 2007 16:19 schreef beerten het volgende:

    En nog iets: je hebt de kolom "date" genoemd. NIET DOEN!!! PHP kent ook een functie date(). Dit gaat je absoluut problemen opleveren. Kies voor je variabelen altijd namen welke NIET voorkomen in PHP of MySQL commando's/functies.
    Misschien dat dat ook de fout is in jou stukje code. $row[date] Naast de reeds genoemde enkele quotes zou ik zeker ook de kolomnaam veranderen. row['datum'] is prima.
    persoonlijk heb ik nooit problemen gehad hiermee. Zolang het maar tussen quotes staat gaat het goed, het kan natuurlijk voor jezelf onoverzichtelijk worden. Ik denk dat het qua functionaliteit verder niet uitmaakt.
    HuHuwoensdag 3 januari 2007 @ 18:16
    Ik heb net Apache geïnstalleerd onder Windows XP met het XAMPP pakket. En dan kun je kiezen of je Apache installeerd als Service of niet.

    Dan wil ik bijvoorbeeld het volgende doen:

    1
    2
    3
    <?php
    exec
    ("g:/windows/system32/notepad.exe");
    ?>


    Als ik Apache niet als Service heb geïnstalleerd, dan opent er een DOS box en Notepad opent. Maar de DOS box blijft open totdat je Notepad sluit en dat wil ik niet.

    Dus heb ik Apache wel als Service geïnstalleerd. Dan krijg je geen DOS box meer te zien, maar ook geen Notepad. Notepad.exe draait wel op de achtergrond in Taakbeheer, maar het venster is niet te zien.

    Hoe ga ik 't voor elkaar krijgen dat ik niet zo'n lelijke DOS box krijg, maar toch de applicatie opent?
    IkWasHierwoensdag 3 januari 2007 @ 20:48
    Weet iemand hoe ik een bepaald font krijg als je tekst bij een plaatje doet?

    Tot nu toe heb ik dit:

    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
    header("Content-type: image/png");

    $avatars[] = "avatars/1.png";
    $avatars[] = "avatars/2.png";
    $avatars[] = "avatars/3.png";
    $avatars[] = "avatars/4.png";
    $avatars[] = "avatars/5.png";
    $avatars[] = "avatars/6.png";
    $avatars[] = "avatars/7.png";
    $avatars[] = "avatars/8.png";
    $avatars[] = "avatars/9.png";
    $avatars[] = "avatars/10.png";

    $avatar = $avatars[mt_rand(0, count($avatars)-1)];

    $string = $_GET['text'];
    $im = imagecreatefrompng("$avatar");
    $black = imagecolorallocate($im, 255, 25, 25);
    $px = (imagesx($im) - 7 * strlen($string)) / 2;
    imagestring($im, 4, $px, 44, $string, $black);

    $newavatar = imagecreatefrompng($avatar);
    imagepng($im);
    imagedestroy($im);

    ?>


    Het is een code voor een roterend avatar geval, maar ik krijg maar geen font met imagestring(). Overigens ben ik 2 dagen geleden begonnen met PHP.
    fokME2woensdag 3 januari 2007 @ 21:03
    Ik gebruik daar deze functie voor:
    http://nl2.php.net/imagefttext

    Dan kan je zelf een font op je server zetten en gebruiken (even uit je windows font directory halen?).
    IkWasHierwoensdag 3 januari 2007 @ 21:17
    Dat heb ik al geprobeerd dan krijg ik een witte pagina. (Ja de font staat op m'n server)

    1imagefttext($im, 7, 0, 5, 5, $black, "visitor1.ttf", $string)


    Heb ik dan als code. Is hier iets mis mee?
    wondererdonderdag 4 januari 2007 @ 05:26
    Ik wil mijn nieuwe site object georienteerd programmeren, maar ik heb er weinig ervaring mee. Weet iemand een site (nl/en) voor beginners waar ik wat houvast aan heb? Ik heb in het verleden wel iets gedaan met OOP in PHP, maar dat is allang weggezakt (en eerlijk gezegd begreep ik toen geen flikker van wat ik aan het doen was). Ik heb wel wat ervaring in PHP verder.

    Iemand een leuk linkje?
    slakkiedonderdag 4 januari 2007 @ 07:22
    quote:
    Op woensdag 3 januari 2007 16:19 schreef beerten het volgende:
    En nog iets: je hebt de kolom "date" genoemd. NIET DOEN!!! PHP kent ook een functie date(). Dit gaat je absoluut problemen opleveren. Kies voor je variabelen altijd namen welke NIET voorkomen in PHP of MySQL commando's/functies.
    Misschien dat dat ook de fout is in jou stukje code. $row[date] Naast de reeds genoemde enkele quotes zou ik zeker ook de kolomnaam veranderen. row['datum'] is prima.
    Dit klopt in grote lijnen, maar je moet geen functie date willen definieren. Dan kom je in problemen met PHP (als je de datefunctie van PHP wilt aanspreken). Een variable $date of $bla['date'] zal echt geen impact op de functie date hebben.
    Darkomendonderdag 4 januari 2007 @ 09:10
    quote:
    Op woensdag 3 januari 2007 21:17 schreef IkWasHier het volgende:
    Dat heb ik al geprobeerd dan krijg ik een witte pagina. (Ja de font staat op m'n server)
    [ code verwijderd ]

    Heb ik dan als code. Is hier iets mis mee?
    direct path opgeven van het font?
    Theamericandonderdag 4 januari 2007 @ 09:29
    weet iemand hoe ik een user rechten kan geven aan een database door middel van een script?
    HuHudonderdag 4 januari 2007 @ 09:34
    quote:
    Op donderdag 4 januari 2007 09:29 schreef Theamerican het volgende:
    weet iemand hoe ik een user rechten kan geven aan een database door middel van een script?
    Door de MySQL query GRANT uit te voeren.
    Theamericandonderdag 4 januari 2007 @ 09:35
    quote:
    Op donderdag 4 januari 2007 09:34 schreef HuHu het volgende:

    [..]

    Door de MySQL query GRANT uit te voeren.
    oke zal eens proberen
    Theamericandonderdag 4 januari 2007 @ 09:44
    lukt niet krijg allemaal syntax fouten
    Desdinovadonderdag 4 januari 2007 @ 09:46
    post je query en je mysql_error() eens dan anders moeten we raden
    en dat doen we alleen op calltv en vergelijkbaren.
    hornagedonderdag 4 januari 2007 @ 10:05
    Kan iemand mij misschien helpen met het volgende probleem:

    Ik heb een loginscript gemaakt die een aantal cookies neerzet. Als je een beveiligde pagina wilt bekijken wordt er eerst gekeken of je wel ingelogd bent uiteraard.
    Dit hele systeem werkt perfect in opera maar toen ik het gisteren testte IE7 en FF2 werkte dit helemaal niet. Het inloggen lukt wel maar daarna werkt de check niet. Na een print_r($_COOKIE) bleek dat de waardes helemaal niet geset werden want ik zag alleen de PHPSESID.
    Blijkbaar doe ik wat verkeerd met het cookie setten, maar ik zou niet weten wat. Weet iemand soms hoe ik dit op kan lossen?

    1
    2
    3
    4
    5
    <?php
    setcookie
    ("validate",$validate,time()+60*60*24*7,"/",$_SERVER["HTTP_HOST"]); 
    setcookie("userid",$userid,time()+60*60*24*7,"/",$_SERVER["HTTP_HOST"]); 
    setcookie("magazine",$row["Name"],time()+60*60*24*7,"/",$_SERVER["HTTP_HOST"]);
    ?>
    Desdinovadonderdag 4 januari 2007 @ 10:08
    cookies gebruiken voor je login is niet zo secure.. wat als ik een cookie maak met een door mij ingevuld userid?

    je kan beter een databaseje gebruiken waarin je de session_id() opslaat bij een succesvolle login, en op elke pagina een query uitvoeren die het userid binnenhaalt van het huidige session_id. Eventueel zou je voor extra verificatie ook het IP nummer kunnen toevoegen.


    Over je cookies, deze zijn url afhankelijk. wissel je van url na het inloggen? want een cookie gezet op domain.nl is alleen geldig op domain.nl.
    in firefox heb je de optie (als je de developer toolbar hebt geinstalleerd) om je cookies te bekijken.
    hornagedonderdag 4 januari 2007 @ 10:16
    Mijn inlogsysteem hangt ook niet alleen op de cookies. Ik hou in de database bij welke userid heeft ingelogd en ik sla die validate string op die ook in de cookie komt te staan, dit is een 32 bits md5 random code die elke keer na een check veranderd wordt. Lijkt me zeker genoeg dacht ik zo.

    Ik weet dat cookies url afhankelijk zijn maar ik verander de url niet meer na het inloggen. Ik gebruik juist $_SERVER["HTTP_HOST"] zodat er altijd de juiste URL in komt te staan. Ik draai hem nu nog local dus daar komt nu localhost te staan. De website draait op http://localhost/pi_php/
    Ik zal nog even de cookies bekijken met die extra toolbar in firefox, maar bovenstaande lijkt me toch te kloppen?
    Desdinovadonderdag 4 januari 2007 @ 10:18
    ah ok. dan zou alleen cookie stelen een liability zijn. maar persoonlijk weet ik daar het fijne niet van.

    als het goed is kan je de HTTP_HOST ook weglaten.. probeer dat eerst maar even
    Theamericandonderdag 4 januari 2007 @ 10:22
    iemand zei dat ik dit moest gebruiken MySQL query GRANT
    maar ik ben helemaal niet thuis in dit gebeuren maar hoe moet ik dat typen? dat gaat er eigenlijk om
    mscholdonderdag 4 januari 2007 @ 10:24
    quote:
    Op donderdag 4 januari 2007 10:22 schreef Theamerican het volgende:
    iemand zei dat ik dit moest gebruiken MySQL query GRANT
    maar ik ben helemaal niet thuis in dit gebeuren maar hoe moet ik dat typen? dat gaat er eigenlijk om
    google 1ste hit:

    http://dev.mysql.com/doc/refman/5.0/en/grant.html
    hornagedonderdag 4 januari 2007 @ 10:37
    quote:
    Op donderdag 4 januari 2007 10:18 schreef Desdinova het volgende:
    ah ok. dan zou alleen cookie stelen een liability zijn. maar persoonlijk weet ik daar het fijne niet van.

    als het goed is kan je de HTTP_HOST ook weglaten.. probeer dat eerst maar even
    Ik heb nu gewoon die laatste parameter weggehaald met HTTP_HOST erin en nu werkt het wel goed
    Dank je wel
    Chandlerdonderdag 4 januari 2007 @ 10:45
    Ik heb een klein vraagje met m.b.t. subdomeinen in php. Voor een opdrachtgever moet ik een stuk code herschrijven... nou is dat bijna gebeurd, maar wil graag lokaal gaan testen of het script ook werkt voordat ik het online zet!

    Nu test ik het script steeds met http://localhost/project/index.pp maar wil het graag gaan testen met www.project.nl maar dan wel lokaal zodat ik ook subdomein.project.nl kan testen.

    Weet iemand waar dit in te stellen is? ik doe mij iets herinneren over hosts maar verder kom ik helaas niet

    Iemand een idee?
    hornagedonderdag 4 januari 2007 @ 10:48
    @chandler ervanuitgaand dat je apache gebruikt:

    http://httpd.apache.org/docs/1.3/vhosts/name-based.html

    [ Bericht 3% gewijzigd door hornage op 04-01-2007 10:59:01 ]
    Desdinovadonderdag 4 januari 2007 @ 10:50
    ja in je c:windowssystem32driversetchosts
    dan moet je iets neerzetten van 127.0.0.1/project www.project.nl
    Theamericandonderdag 4 januari 2007 @ 10:57
    ik werk met ms sql
    hornagedonderdag 4 januari 2007 @ 11:00
    quote:
    Op donderdag 4 januari 2007 10:57 schreef Theamerican het volgende:
    ik werk met ms sql
    mijn bericht was ook voor chandler, ff voor de duidelijk erbij gezet.
    Kan jij niet verder komen met je probleem mbv van de link?
    Leg anders je probleem eens uit
    Desdinovadonderdag 4 januari 2007 @ 11:02
    @Theamerican google brengt mij dit;
    http://www.sql.org/sql-database/postgresql/manual/sql-grant.html
    Chandlerdonderdag 4 januari 2007 @ 11:36
    quote:
    Op donderdag 4 januari 2007 10:50 schreef Desdinova het volgende:
    ja in je c:windowssystem32driversetchosts
    dan moet je iets neerzetten van 127.0.0.1/project www.project.nl
    Correct, echter blijft mijn IE gewoon naar www.project.nl gaan (de echte domein, ipv naar 127.0.0.1/project

    Of moet ik mijn laptop daar voor booten?
    HuHudonderdag 4 januari 2007 @ 11:38
    Door cookies te jatten kun je altijd een sessie overnemen. Een oplossing daarvoor is om de sessie te koppelen aan een IP adres. Een gejat cookie wordt dan nutteloos.
    HuHudonderdag 4 januari 2007 @ 11:39
    quote:
    Op donderdag 4 januari 2007 11:36 schreef Chandler het volgende:

    [..]

    Correct, echter blijft mijn IE gewoon naar www.project.nl gaan (de echte domein, ipv naar 127.0.0.1/project

    Of moet ik mijn laptop daar voor booten?
    Alle browsers afsluiten.

    Eventueel explorer.exe herstarten.
    Desdinovadonderdag 4 januari 2007 @ 11:52
    quote:
    Op donderdag 4 januari 2007 11:38 schreef HuHu het volgende:
    Door cookies te jatten kun je altijd een sessie overnemen. Een oplossing daarvoor is om de sessie te koppelen aan een IP adres. Een gejat cookie wordt dan nutteloos.
    tenzij je op hetzelfde uitgaande IP zit. of je de cookie aanpast met je eigen IP.
    HuHudonderdag 4 januari 2007 @ 11:57
    quote:
    Op donderdag 4 januari 2007 11:52 schreef Desdinova het volgende:

    [..]

    tenzij je op hetzelfde uitgaande IP zit. of je de cookie aanpast met je eigen IP.
    Uiteraard het IP server-side opslaan .

    En inderdaad, binnen hetzelfde IP kun je dan alsnog gehacked worden. Maar dat is toch een reductie van zo'n 6 miljard potentiele daders tot een aantal die ook nog eens vlak in de buurt zijn.
    Desdinovadonderdag 4 januari 2007 @ 12:07
    haha ja dat is wel waar.


    Wat doet $string &1 precies?
    Ik weet dat $string % 2 door blijft gaan met het verminderen van 2 totdat het niet meer kan, bij een onevengetal hou je dus een 1 over, en anders een 0. maar wat doet die & 1?

    [ Bericht 82% gewijzigd door Desdinova op 04-01-2007 12:20:25 ]
    Chandlerdonderdag 4 januari 2007 @ 12:27
    quote:
    Op donderdag 4 januari 2007 11:39 schreef HuHu het volgende:

    [..]

    Alle browsers afsluiten.

    Eventueel explorer.exe herstarten.
    Gedaan, soms moet ik dan nog een minuut wachten voordat het veranded is

    Maar nu weer het zelfde probleem

    ik heb

    127.0.0.1 LOCALHOST
    127.0.0.1/project www.newproject.nl

    nu pakt hij newproject.nl maar localhost werkt dan niet meer

    Ziet iemand de fout?
    hornagedonderdag 4 januari 2007 @ 12:39
    ok, en dan nog 1 lastige vraag voor vandaag. Ik parse vanuit tekstbestanden artikelen die ik daarna in een database gooi mbv php. De links die hierin staan wil ik graag klikbaar hebben. Hiervoor heb ik een mooie functie gemaakt die gebruik maakt van ereg_replace() . Dit werkt opzich wel aardig alleen af en toe slaat ie gewoon een link over en die is dan dus niet klikbaar. Ik snap totaal niet hoe dit kan en ik heb er ook nog geen systeem in gevonden.
    Iemand een idee hoe dit kan komen?

    functie:
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function replaceLinks($text) {
      
    $text ereg_replace('[-a-z0-9!#$%&'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', '<a href="mailto:\0">\0</a>',$text);
      $text = ereg_replace("
    [a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "<a href="\0" target="_blank">\0</a>", $text);
      $text = ereg_replace("(^| )(www(
    [.]?[a-zA-Z0-9_/-])*)", "\1<a href="http://\2" target="_blank">\2</a>", $text);
      return $text;
    }
    ?>


    Ik roep deze op de volgende manier aan:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
      $lines 
    file($textpath[0]);
      
    $title $lines[0];
      
    $intro $lines[1];
      
    $body "";
      for (
    $i=2;$i sizeof($lines);$i++)
        
    $body $body.$lines[$i];
      if (
    $body == "") {
        
    $body $intro;
        
    $intro "";
      }
      
    $body replaceLinks($body);
      
    $intro replaceLinks($intro);
      
    $body nl2br($body);
      
    $intro nl2br($intro);
      
    $title addslashes($title);
      
    $body addslashes($body);
      
    $intro addslashes($intro);
    ?>
    IkWasHierdonderdag 4 januari 2007 @ 12:49
    quote:
    Op donderdag 4 januari 2007 09:10 schreef Darkomen het volgende:

    [..]

    direct path opgeven van het font?
    Heb alles al geprobeerd, hele path, hele path zonder ".ttf".
    mscholdonderdag 4 januari 2007 @ 12:51
    quote:
    Op donderdag 4 januari 2007 12:27 schreef Chandler het volgende:

    [..]

    Gedaan, soms moet ik dan nog een minuut wachten voordat het veranded is

    Maar nu weer het zelfde probleem

    ik heb

    127.0.0.1 LOCALHOST
    127.0.0.1/project www.newproject.nl

    nu pakt hij newproject.nl maar localhost werkt dan niet meer

    Ziet iemand de fout?
    vul dit
    127.0.0.1 LOCALHOST
    127.0.0.1 www.newproject.nl
    of dit
    127.0.0.1 LOCALHOST
    127.0.0.1newproject.nl
    in

    (laatste pakt als het goed is ook alles subdomeinen
    Chandlerdonderdag 4 januari 2007 @ 13:07
    Ik heb nu als volgt.

    1
    2
    3
    4
    127.0.0.1               localhost               
    # localhost
    127.0.0.2               *.newproject.nl         
    # test bedrijf


    maar ook newproject.nl geeft het zelfde resultaat

    nu kan ik wel op newproject.nl komen omdat ik ook in de apache/httpd.conf het volgende heb gezet

    1
    2
    3
    4
    5
    6
    <VirtualHost 127.0.0.2>
        ServerAdmin info@newproject.nl
        ServerName newproject.nl
        ServerAlias *.newproject.nl
        DocumentRoot d:/www/bedrijf/www.newproject.nl
    </VirtualHost>


    maar nu kan ik wel op newproject.nl komen, maar niet op www.newproject.nl of test1.newproject.nl

    zo raar hé
    Desdinovadonderdag 4 januari 2007 @ 13:13
    maakt dat zoveel uit dan momenteel?

    ik ging er eigenlijk vanuit dat je gewoon de linkjes wilde checken ofzo, of afbeeldingen.
    Theamericandonderdag 4 januari 2007 @ 14:28
    goed ik zal wat duidelijker uitleggen

    ik werk met ms sql 2005

    wat ik wil is dit.

    ik heb een gebruiker die al bestaat die gebruiker wil ik rechten geven tot mijn database en ik wil dat sql ziet om welke gebruiker het gaat.

    heb via google gezocht krijg ik wel termen wat je moet gebruiken zoals grant maar ik weet ook dat er , en ; moet komen enzo maar waar dan en hoe?

    iemand een voorbeeld van een script die ik alleen maar hoef aan te passen
    velen dank
    hornagedonderdag 4 januari 2007 @ 14:37
    ik ben zelf niet zo bekend met mssql maar ik neem aan dat er wel een tool bijzit waarbij je dit kan doen zodat je dit niet met alleen maar queries op hoeft te lossen.
    Als je het wel met queries moet kan ik je aanraden gewoon even goed te lezen hoe die GRANT statement werkt want daarmee kan je permissions geven aan users jah.

    Iemand btw een idee over mijn probleem of zijn eigen functie om links klikbaar te maken?
    Desdinovadonderdag 4 januari 2007 @ 14:40
    @hornage

    ik denk dat je ff moet checken wanneer hij het wel of niet doet (bijvoorbeeld wel met http ervoor, maar zonder niet. of andersom), dan weet je in welke regex je fout zit.
    HuHudonderdag 4 januari 2007 @ 15:28
    quote:
    Op donderdag 4 januari 2007 14:28 schreef Theamerican het volgende:
    goed ik zal wat duidelijker uitleggen

    ik werk met ms sql 2005

    wat ik wil is dit.

    ik heb een gebruiker die al bestaat die gebruiker wil ik rechten geven tot mijn database en ik wil dat sql ziet om welke gebruiker het gaat.

    heb via google gezocht krijg ik wel termen wat je moet gebruiken zoals grant maar ik weet ook dat er , en ; moet komen enzo maar waar dan en hoe?

    iemand een voorbeeld van een script die ik alleen maar hoef aan te passen
    velen dank
    Je bent niet echt duidelijk.

    Je hebt bestaande gebruikers. Logisch want gebruikers die niet bestaan, daar kan je niets mee. Maar waar "bestaan" die gebruikers? Heb je een lijstje met namen, staan ze in de broncode van je site, staan ze in een tabel, zijn het MS SQL users, wat voor gebruikers?

    Je moet termen als GRANT en , en ; gebruiken. Daar schiet je inderdaad niets mee op. Maar hoe moeten wij weten wat je wilt als je zo weinig uitlegd.

    Wat voor site heb je? Dit topic gaat over PHP & MySQL. MS SQL valt daar niet onder, maar daar kunnen we je wel mee helpen. Maar de combinatie PHP en MS SQL is vrij uniek, waarschijnlijk zul je ASP gebruiken. Maar vertel het eerst eens!
    JeRadonderdag 4 januari 2007 @ 15:50
    quote:
    Op donderdag 4 januari 2007 12:07 schreef Desdinova het volgende:
    Wat doet $string &1 precies?
    Ik weet dat $string % 2 door blijft gaan met het verminderen van 2 totdat het niet meer kan, bij een onevengetal hou je dus een 1 over, en anders een 0. maar wat doet die & 1?
    % is de modulus-operator, die geeft je de rest na deling (en ja, dat komt neer op het net zolang verminderen totdat het niet meer kan)
    & is een bit-operator, en die moet je dus zeker niet (net zoals bij % trouwens) op een string toepassen elke bit van beide getallen wordt dan met elkaar vergeleken. 1 & 1 = 1, 1 & 0 = 0, 0 & 0 = 0.

    Voor meer leesplezier: http://nl2.php.net/operators
    hornagedonderdag 4 januari 2007 @ 17:05
    zo, ik heb onderhand ook alweer een oplossing voor mijn probleem gevonden. Het bleek een bekend probleem te wezen. Het had te maken met dat de link direct aan het begin van de regel stond. Hier nog even voor de geinteresseerden een gehele replaceLinks functie die op alle varianten werkt:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
      
    function replaceLinks($ret) {
        
    $ret = ' ' . $ret . ' ';
        
    $ret = preg_replace("#([sn>])(https?|ftp)://([^s<>{}()]+[^s.,<>{}()])#i", "$1<a href='$2://$3' rel='nofollow'>$2://$3</a>", $ret);
        
    $ret = preg_replace("#([sn>])(www|ftp).([a-z0-9-]+).([a-z0-9-.~]+)((?:/[^ <>{}()nr]*[^., <>{}()nr]?)?)#i", "$1<a href='http://$2.$3.$4$5' rel='nofollow'>$2.$3.$4$5</a>", $ret);
        
    $ret = preg_replace("#([sn>])([a-z0-9-_.]+)@([a-z0-9-_.]+).([^,< nr]+)#i", "$1<a href="mailto:$2@$3.$4">$2@$3.$4</a>", $ret);
        
    $ret = preg_replace("#(<a [^>]+)<a [^>]+([^>]+?)</a></a>#i", "$1$2</a>", $ret);
        
    $ret = trim($ret);
        return
    $ret;
      }
    ?>
    Chandlerdonderdag 4 januari 2007 @ 22:55
    quote:
    Op donderdag 4 januari 2007 13:13 schreef Desdinova het volgende:
    maakt dat zoveel uit dan momenteel?

    ik ging er eigenlijk vanuit dat je gewoon de linkjes wilde checken ofzo, of afbeeldingen.
    Nee dat is juist het probleem, ik moet ook controleren of subdomeinen werken (in het script dan!) maar dat ga ik nu tijdelijk even oplossen door voor gedefenieerde variabelen.. Had het alleen graag anders geprobeerd
    Desdinovavrijdag 5 januari 2007 @ 09:02
    quote:
    Op donderdag 4 januari 2007 15:50 schreef JeRa het volgende:

    [..]

    % is de modulus-operator, die geeft je de rest na deling (en ja, dat komt neer op het net zolang verminderen totdat het niet meer kan)
    & is een bit-operator, en die moet je dus zeker niet (net zoals bij % trouwens) op een string toepassen elke bit van beide getallen wordt dan met elkaar vergeleken. 1 & 1 = 1, 1 & 0 = 0, 0 & 0 = 0.

    Voor meer leesplezier: http://nl2.php.net/operators
    ik had daar gekeken, daar heb ik ook mijn kennis ( ) over % vandaan.
    maar momenteel test ik bijvoorbeeld of een getal even of oneven is door $string&1 te gebruiken (ooit eens ergens gevonden op een tutorialsite ofzo), maar ik kan nu niet verklaren wat het doet (behalve dat het werkt).

    voorheen gebruikte ik %2, en die is mij nu wel duidelijk nu de &1 nog
    JeRavrijdag 5 januari 2007 @ 09:14
    quote:
    Op vrijdag 5 januari 2007 09:02 schreef Desdinova het volgende:

    [..]

    ik had daar gekeken, daar heb ik ook mijn kennis ( ) over % vandaan.
    maar momenteel test ik bijvoorbeeld of een getal even of oneven is door $string&1 te gebruiken (ooit eens ergens gevonden op een tutorialsite ofzo), maar ik kan nu niet verklaren wat het doet (behalve dat het werkt).

    voorheen gebruikte ik %2, en die is mij nu wel duidelijk nu de &1 nog
    Binary operators werken op de binaire getallen dus als je 7 en 13 pakt:

    0111 & 1101 = 0101 (want 1 & 0 = 0 en 1 & 1 = 1 en 0 & 0 = 0)
    0111 | 1101 = 1111 (want 1 | 0 = 1 en 0 | 0 = 0 en 1 | 1 = 1)

    Het meest rechtse getal in binaire getallen staat in decimale getallen voor de 1. Bij oneven getallen heeft de binaire representatie daar dus een 1, bij even getallen een 0. Door getal & 1 te doen krijg je dus een 1 of een 0 terug, afhankelijk van of het getal even of oneven is
    Desdinovavrijdag 5 januari 2007 @ 09:52
    aaah oke is mij enigszins duidelijk
    ik kan me alleen even geen situatie indenken waarbij je dat zou moeten gebruiken behalve het checken of het even of oneven is

    thanks!
    JeRavrijdag 5 januari 2007 @ 10:15
    quote:
    Op vrijdag 5 januari 2007 09:52 schreef Desdinova het volgende:
    aaah oke is mij enigszins duidelijk
    ik kan me alleen even geen situatie indenken waarbij je dat zou moeten gebruiken behalve het checken of het even of oneven is

    thanks!
    Even een situatie waar je binary operators héél goed kunt gebruiken.

    Je hebt de zogenaamde XOR (exclusive OR) operator, die werkt als volgt:
    0 ^ 0 = 0 (linkerbit onveranderd)
    1 ^ 0 = 1 (bit onveranderd)
    0 ^ 1 = 1 (bit veranderd)
    1 ^ 1 = 0 (bit veranderd)

    Deze eigenschappen van de XOR-operator maken het mogelijk om een (simpele) encryptie toe te passen op data want als je (getal ^ sleutel) doet met een bepaalde sleutel, en het resultaat hiervan weer XOR'ed (resultaat ^ sleutel), dan krijg je je oorspronkelijke getal
    super-muffinvrijdag 5 januari 2007 @ 15:44
    Ik heb een query die een datum zo op haalt:
    1
    2
    3
    4
    5
    6
    7
    <?php
    SELECT 
    *,
    DATE_FORMAT(datum,'%d %M %Y') AS nldate
    FROM news
    WHERE lang 
    '" . $_COOKIE['language'] . "'
    AND zichtbaar 1
    ?>

    En dat werkt, ik krijg de datum terug als ik verwacht had:

    05-01-2007

    maar ik wil het als dit hebben:

    5 JAN 2007

    Moet ik dat in PHP of MySQL zoeken?
    Chandlervrijdag 5 januari 2007 @ 15:48
    mysql of je moet

    UNIX_TIMESTAMP(datum)

    gebruiken en dan met

    date("Y-m-d", $queryout->datum)

    de datum gaan instellen
    HuHuvrijdag 5 januari 2007 @ 15:50
    Met de functie date() kan je dat doen in PHP.

    1
    2
    3
    <?php
    date
    ("j M Y", $timestamp);
    ?>


    En natuurlijk je cookie niet direct in je query stoppen, maar eerst controleren :).
    HuHuvrijdag 5 januari 2007 @ 15:51
    Je kan elke willekeurige datum met strtotime() omzetten naar een timestap. Dus dan hoef je niet speciaal in je query aan te geven dat je een timestap wilt.
    super-muffinvrijdag 5 januari 2007 @ 16:20
    Maar kan ik dan ook alleen de eerste 3 letters krijgen in het Nederlands of moet ik zelf daar een functie voor schrijven? (dat lijkt me niet zo moeilijk )
    HuHuvrijdag 5 januari 2007 @ 16:36
    Dat kan met de functies setlocale en strftime:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $timestamp
    = mktime(0, 0, 0, 12, 22, 1978);

    //UNIX
    $lokatie = 'nl_NL';
    //Windows
    $lokatie = 'nld_nld';

    /* Set locale to Dutch */
    setlocale(LC_ALL, $lokatie);

    /* Output: vrijdag 22 december 1978 */
    echo strftime("%A %d %B %Y", $timestamp);
    ?>
    HuHuvrijdag 5 januari 2007 @ 16:40
    In jou geval kun je dan deze format gebruiken: %e %b %Y
    super-muffinvrijdag 5 januari 2007 @ 16:41
    dank je wel

    Het gaat wel lukken zo. Alleen heb ik deze setlocale gebruikt:
    setlocale (LC_ALL, 'nl_NL');

    Trouwens, die cookie gaat nog wel gecontroleerd worden, maar dat komt later pas
    HuHuvrijdag 5 januari 2007 @ 16:45
    quote:
    Op vrijdag 5 januari 2007 16:41 schreef super-muffin het volgende:
    dank je wel

    Het gaat wel lukken zo. Alleen heb ik deze setlocale gebruikt:
    setlocale (LC_ALL, 'nl_NL');

    Trouwens, die cookie gaat nog wel gecontroleerd worden, maar dat komt later pas
    Ik had 'm nog ge-edit. Er zit verschil in de benaming tussen UNIX en Windows.
    super-muffinvrijdag 5 januari 2007 @ 17:04
    Hm, ik kom er toch niet helemaal uit.

    Ik moet dus de query laten voor wat het is en met strtotime die naar een UNIX time stamp omzetten en die met strftime("%d %b %Y", $timestamp); omzetten naar wat ik uit eindelijk wil?


    * super-muffin voelt zich n00b die toe is aan weekend.
    beertenvrijdag 5 januari 2007 @ 17:38
    1
    2
    3
    4
    5
    6
    7
    <?php
    SELECT *,
    DATE_FORMAT(datum,'%d %b %Y') AS nldate
    FROM news
    WHERE lang = '" . $_COOKIE['language'] . "'
    AND zichtbaar = 1
    ?>



    http://www.mijnhomepage.nl/ssi/les2.php

    http://dev.mysql.com/doc/(...)-time-functions.html

    ZOver ik geinformeerd ben kon het alleen worden weergegeven in de engelse taal. Dus ook engelse afkortingen.
    Maar met een simpele functie, een array met maanden en het maandnummer is ook dat te fixen.
    Alleen kan je dan niet meer 100% mysql gebruiken
    HuHuvrijdag 5 januari 2007 @ 17:52
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $result 
    mysql_query("SELECT datum
    FROM news
    WHERE lang = '" 
    $_COOKIE['language'] . "'
    AND zichtbaar = 1"
    );

    $datum mysql_result($result,0,0);

    $timestamp strtotime($datum);

    setlocale(LC_ALL'nl_NL');

    echo 
    strftime('%e %b %Y'$timestamp);
    ?>
    wonderervrijdag 5 januari 2007 @ 18:00
    quote:
    Op donderdag 4 januari 2007 05:26 schreef wonderer het volgende:
    Ik wil mijn nieuwe site object georienteerd programmeren, maar ik heb er weinig ervaring mee. Weet iemand een site (nl/en) voor beginners waar ik wat houvast aan heb? Ik heb in het verleden wel iets gedaan met OOP in PHP, maar dat is allang weggezakt (en eerlijk gezegd begreep ik toen geen flikker van wat ik aan het doen was). Ik heb wel wat ervaring in PHP verder.

    Iemand een leuk linkje?
    Niemand?
    beertenvrijdag 5 januari 2007 @ 18:58
    http://www.phpfreakz.nl/artikelen.php?aid=99
    http://www.phpfreakz.nl/artikelen.php?aid=116
    qu63vrijdag 5 januari 2007 @ 22:09
    stukje code wat op een website staat:
    1
    2
    3
    4
    <?php
    <a class="list" href="/loggedin/torrent.do?info_hash=7af1f52fe37cfce27f64157538a714be24aea012">Season 6 Prequel</a><br>
    <
    a class="admin" href="/loggedin/TorrentLoaderServlet?info_hash=7af1f52fe37cfce27f64157538a714be24aea012">download</a></td>
    ?>

    mijn regexp om de download-link er uit te vissen:
    1
    2
    3
    4
    <?php
    $html
    = file_get_contents(LINK ZET IK HIER NIET NEER NATUURLIJK);
    if(
    preg_match_all('/loggedin/TorrentLoaderServlet?info_hash=([a-f0-9]{40,})/',$html,$matches))
    ?>


    ergens gaat het fout..

    mn regexp moet de hash-code van 40 tekens uit de link vissen en deze uitspugen.

    iemand tips waar de fout zit/hoe het beter kan?
    wonderervrijdag 5 januari 2007 @ 22:34
    quote:
    Dank u. Ik moet helaas voorlopig nog met PHP4 werken, maar dat eerste artikel heeft wel het een en ander verduidelijkt.
    fokME2vrijdag 5 januari 2007 @ 23:06
    quote:
    Op vrijdag 5 januari 2007 22:09 schreef qu63 het volgende:
    stukje code wat op een website staat:
    [ code verwijderd ]

    mijn regexp om de download-link er uit te vissen:
    [ code verwijderd ]

    ergens gaat het fout..

    mn regexp moet de hash-code van 40 tekens uit de link vissen en deze uitspugen.

    iemand tips waar de fout zit/hoe het beter kan?
    Moet die {40,} geen {40} zijn? Mijn editor vind hem dan lief.
    Chandlerzaterdag 6 januari 2007 @ 12:09
    Klein vraagje

    1
    2
    3
    4
    5
    6
    SELECT weblogs.subdomein,
                count(weblog_posts.subdomein) AS totalPost
    FROM weblogs
    LEFT JOIN weblog_posts ON weblog_posts.subdomein = weblogs.subdomein
    HAVING totalPost > 0
    GROUP BY weblogs.subdomein


    als ik having er in zet werkt het niet! maar ik wil graag alle resultaten hebben waar de count groter is dan 0 of in een andere query gelijk aan 0

    Wat doe ik fout?

    uitleg:

    ik heb 2 tabellen.

    1
    2
    3
    4
    5
    1 weblogs
       weblogs.subdomein
    2 weblog_posts
       weblogs.subdomein,
       weblogs.datumtijd


    in weblogs staan de gebruikers en in posts staan het aantal postings. nu wil ik van iedere weblogger weten hoeveel postings er zijn en op welke datum de laaste is aangemaakt...

    [ Bericht 29% gewijzigd door Chandler op 06-01-2007 12:20:18 ]
    qu63zaterdag 6 januari 2007 @ 12:18
    quote:
    Op vrijdag 5 januari 2007 23:06 schreef fokME2 het volgende:

    [..]

    Moet die {40,} geen {40} zijn? Mijn editor vind hem dan lief.
    "Unknown modifier 'T' " krijg ik dan..

    en welke editor gebruik jij dan?
    JeRazaterdag 6 januari 2007 @ 13:04
    quote:
    Op zaterdag 6 januari 2007 12:09 schreef Chandler het volgende:
    Klein vraagje
    [ code verwijderd ]

    als ik having er in zet werkt het niet! maar ik wil graag alle resultaten hebben waar de count groter is dan 0 of in een andere query gelijk aan 0

    Wat doe ik fout?

    uitleg:

    ik heb 2 tabellen.
    [ code verwijderd ]

    in weblogs staan de gebruikers en in posts staan het aantal postings. nu wil ik van iedere weblogger weten hoeveel postings er zijn en op welke datum de laaste is aangemaakt...
    In posts staat het aantal postings? Waarom ga je dan in vredesnaam group by uitvoeren als je al een tabel met de aantallen hebt?

    Ik neem aan dat daar gewoon de posts in staan en dan moet een HAVING-clausule altijd ná de GROUP BY, en niet ervoor het gaat namelijk in deze volgorde:

    WHERE
    GROUP BY
    HAVING

    Omdat je met WHERE de rijen vóór ze gegroepeerd worden kunt aanpassen (bijvoorbeeld: join-condities, limitaties op gebruikersnaam, etc) en met HAVING kun je de gegroepeerde rijen aanpassen (zoals je in jouw probleem al aangaf).
    qu63zaterdag 6 januari 2007 @ 13:16
    quote:
    Op vrijdag 5 januari 2007 22:09 schreef qu63 het volgende:
    stukje code wat op een website staat:

    [ code verwijderd ]
    mijn regexp om de download-link er uit te vissen:

    [ code verwijderd ]

    ergens gaat het fout..

    mn regexp moet de hash-code van 40 tekens uit de link vissen en deze uitspugen.

    iemand tips waar de fout zit/hoe het beter kan?
    /i erachter en /T ipv /T werkt

    nu alleen nog de site zover krijgen dat alles werkt
    Chandlerzaterdag 6 januari 2007 @ 17:45
    @Jera! tnx, ik wist niet dat having na group by moest komen, weer wat geleerd!!
    Chandlerzondag 7 januari 2007 @ 00:05
    quote:
    Ik was aan het zoeken naar informatie over mysql beveiligingen en vond wat ik zoch. Heb er een kleine samenvatting van gemaakt met vooral code voorbeelden (klein beetje uitleg) en wilde het hier even delen. Heb je toevoegingen post het!


    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
    <?php
    /*

    Dit kleine documentje gaat over het beveiligen van data m.b.t.
    het hacken van databases!

    gebruik: $_GET maar $_POST kan ook ;) (of zelfs $_FILES :P)


    ** validatie checks

    */

    // Nummeriek
    if (isSet($_GET['voorbeeld']) && is_numeric($_GET['voorbeeld']))

    // textueel en cijfers
    if (!ereg("^[_a-zA-Z0-9]*$"$_POST['voorbeeld']) )

    // alleen text
    if (!ereg("^[_a-zA-z]*$",$_POST['voorbeeld']))
    {
    /*
        !eregi("[_a-z0-9-]+@[a-z0-9-]+.[a-z0-9-]", $_POST['email'])
        LET OP; simpele versie, betere varianten op internet te vinden.!)


    nu het stukje om mysql injection te voorkomen.

    ** injectie beveiliging

    */

    // verwijderen van foutieve elementen uit variabel, slechts een voorbeeld.
    $str_replace(array("("")"";""'""%27""="), ""$_GET['voorbeeld']);

    // omzetten naar=
    htmlspecialchars($_GET['voorbeeld']);

    // of verwijderen van slashes (kan bter ;))
    stipslashes($_GET['voorbeeld'])

    /*

    en zo zijn er nog meerdere, anyone more?

    */
    ?>
    X-fizondag 7 januari 2007 @ 00:12
    Weet iemand hoe ik het volgende moet scripten?

    Ik heb twee images:
    (http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpaper.jpg (480×272))
    (http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpapersmall.jpg (240×138))

    De "pspworldracingwallpapersmall.jpg" is de afbeelding die je te zien krijgt in de download sectie. En als je daarop klikt krijg je de grotere versie van te zien. (dus de "pspworldracingwallpaper.jpg").

    Kan iemand mij helpen daarmee aub?
    qu63zondag 7 januari 2007 @ 00:33
    quote:
    Op zondag 7 januari 2007 00:12 schreef X-fi het volgende:
    Weet iemand hoe ik het volgende moet scripten?

    Ik heb twee images:
    (http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpaper.jpg (480×272))
    (http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpapersmall.jpg (240×138))

    De "pspworldracingwallpapersmall.jpg" is de afbeelding die je te zien krijgt in de download sectie. En als je daarop klikt krijg je de grotere versie van te zien. (dus de "pspworldracingwallpaper.jpg").

    Kan iemand mij helpen daarmee aub?
    forum:
    1[url=http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpaper.jpg][img]http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpapersmall.jpg[/img][/url]


    html:
    1<a href="http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpaper.jpg"><img src="http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpapersmall.jpg"></a>

    X-fizondag 7 januari 2007 @ 02:36
    Hartelijk dank qu63 !!
    super-muffinzondag 7 januari 2007 @ 15:59
    quote:
    Op vrijdag 5 januari 2007 17:52 schreef HuHu het volgende:

    [ code verwijderd ]
    Dank je, dit werk!

    edit--
    te vroeg gejuigd.. In de while loop werk het niet.
    Dan krijg ik de huidige datum te zien.

    [ Bericht 23% gewijzigd door super-muffin op 07-01-2007 16:08:12 ]
    Sitethiefmaandag 8 januari 2007 @ 11:38
    Ik was bezig met een simpele zoekfunctie te bouwen met een simpel invul formuliertje en de gegevens met GET naar de database te sturen. Werkte allemaal prima, als ik om ID 1 vroeg gaf hij mij het object met ID 1 etc.
    Alleen ik wil het mogelijk maken om gecombineerd te zoeken, dwz dat men meerdere velden invult en er dan gecombineerd gezocht word. Dus bedacht ik dat ik de query die naar de server gestuurd word ook kon opbouwen door middels IF statements te controleren of een bepaalde zoekvariabele gebruikt word.

    Alleen verder dan dit:

    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_GET['id']) )
    {
      
    }
    else
    {
         $id = ID /='". $_GET['id'] ."';
    }


    kom ik niet, wat
    1Parse error: parse error, unexpected T_DIV_EQUAL in C:Program Filesxampphtdocsprojectkopie2resultaat.php on line 57

    oplevert. Ik weet niet eens of dit wel de juiste manier is. Kan iemand me een klein beetje op weg helpen?
    Darkomenmaandag 8 januari 2007 @ 11:55
    $id = 'ID = '. $_GET['id'];
    Spockjuh_maandag 8 januari 2007 @ 13:38
    zit met een probleem. heb een sql backup gemaakt die ik lokaal moet aanpassen. reden hiervoor is dat uiploaden niet mogelijk is omdat ik de max overstijg van 51.600. nu ga ik er vanuit dat ik mysql en apache server lokaal heb moeten draaien om een aanpassing te maken in de sql database, maar beide softwarepakketten heb ik niet. iemand die mij hiermee kan helpen? d sql is 360 mb groot, gezipt maar 11mb. er moet 1 tabel worden uitgehaald.
    ralfiemaandag 8 januari 2007 @ 13:40
    je kunt beide gratis downloaden (zelfs in 1 pakket), binnen een half uurtje geinstalleerd en al
    Spockjuh_maandag 8 januari 2007 @ 14:05
    owh kijk, als iemand me kan verblijden met een link of ftp link zou ik daar zeer blij mee zijn! in ieder geval dan nog 1 hoogtepunt in martelgang die griep hebben heet..

    [ Bericht 3% gewijzigd door Spockjuh_ op 08-01-2007 14:14:10 ]
    Sitethiefmaandag 8 januari 2007 @ 14:19
    quote:
    Op maandag 8 januari 2007 11:55 schreef Darkomen het volgende:
    $id = 'ID = '. $_GET['id'];
    1$sql = select * from 'problementabel' where '.$id' AND `Korte_Omschrijving` LIKE "1" ';


    Hier kom ik dus nu even niet uit, wat is precies de functie binnen php van:
    1 "   '  . 
    hornagemaandag 8 januari 2007 @ 14:37
    ok, " betekent dat er een string aankomt, of dat er een gesloten wordt, bijvoorbeeld:
    1
    2
    3
    <?php
    $string 
    "dit is een string";
    ?>

    ', betekent hetzelfde, alleen deze kan niet genest worden. Hier kan je met een query aanmaken in php last van krijgen.
    1
    2
    3
    4
    5
    6
    <?php
    //dit kan niet
    $string 'test".$var."string';
    //zo werkt ie wel
    $string "test".$var."string";
    ?>

    ., betekent eigenlijk een soort van plus. Met een . kan je strings aan elkaar plakken, bijvoorbeeld:
    1
    2
    3
    4
    5
    <?php
    $string1 
    "dit is string1";
    $string2 " en dit is string2";
    $string $string1.$string2;
    ?>

    $string bevat nu: "dit is string1 en dit is string2

    [ Bericht 14% gewijzigd door hornage op 08-01-2007 14:43:16 ]
    hornagemaandag 8 januari 2007 @ 14:46
    en om dan je query gelijk goed te maken moet het denk ik het volgende wezen:
    1
    2
    3
    <?php
    $sql
    = "SELECT * FROM problementabel WHERE id = ".$id." AND Korte_Omschrijving LIKE "1"";
    ?>
    hornagemaandag 8 januari 2007 @ 14:48
    mmm, ik had bij die like 1 twee escape slashes staan, niet vergeten
    Spockjuh_maandag 8 januari 2007 @ 16:09
    quote:
    Op maandag 8 januari 2007 13:38 schreef Spockjuh_ het volgende:
    zit met een probleem. heb een sql backup gemaakt die ik lokaal moet aanpassen. reden hiervoor is dat uiploaden niet mogelijk is omdat ik de max overstijg van 51.600. nu ga ik er vanuit dat ik mysql en apache server lokaal heb moeten draaien om een aanpassing te maken in de sql database, maar beide softwarepakketten heb ik niet. iemand die mij hiermee kan helpen? d sql is 360 mb groot, gezipt maar 11mb. er moet 1 tabel worden uitgehaald.
    of als iemand voor mij de tabel er wil uitvissen is dat natuurlijk ook mooi, meer is het namelijk niet! sql is gezipt maar 11 mb groot, kan deze op mijn server plaatsen voor degene die mijn redder wil zijn!
    Sitethiefmaandag 8 januari 2007 @ 16:19
    quote:
    Op maandag 8 januari 2007 16:09 schreef Spockjuh_ het volgende:

    [..]

    of als iemand voor mij de tabel er wil uitvissen is dat natuurlijk ook mooi, meer is het namelijk niet! sql is gezipt maar 11 mb groot, kan deze op mijn server plaatsen voor degene die mijn redder wil zijn!
    http://www.apachefriends.org/en/xampp.html doet het altijd prima bij mij, .
    Spockjuh_maandag 8 januari 2007 @ 16:50
    ok, geinstalleerd en het draait. alleen het stapje van mijn sql openen en aanpassen kan ik nog even niet vinden, ook niet na het doorlezen van de help
    HuHumaandag 8 januari 2007 @ 18:02
    quote:
    Op maandag 8 januari 2007 16:50 schreef Spockjuh_ het volgende:
    ok, geinstalleerd en het draait. alleen het stapje van mijn sql openen en aanpassen kan ik nog even niet vinden, ook niet na het doorlezen van de help
    Je kunt de SQL backup dan gewoon importeren in je MySQL database via bijvoorbeeld PHPMyAdmin of MySAL Administrator (van mysql.org) en dan de juiste tabel eruit vissen.
    Qunixdinsdag 9 januari 2007 @ 10:13
    Een MySQL vraagje:

    Ik heb een tabel genaamd `tuser` een aantal velden en een daarvan is `GroupNr`.
    Ik heb nog een tabel genaamd `tusergroups` en daar is ook een `GroupNr`.

    Nu wil ik een SQL Query dat alles selecteerd van zowel de tabel `tuser` als `tusergroups`, maar `GroupNr` moet hetzelfde zijn van bijde.

    SELECT * FROM tuser,tusergroups WHERE tuser.GroupNr = tusergroups.GroupNr;

    Klopt dat?
    super-muffindinsdag 9 januari 2007 @ 10:25
    Ja die query is goed.

    (je kunt trouwens ook die query in PHPmyAdmin invoeren en kijken wat dat terug geeft. )
    Qunixdinsdag 9 januari 2007 @ 10:26
    quote:
    Op dinsdag 9 januari 2007 10:25 schreef super-muffin het volgende:
    Ja die query is goed.

    (je kunt trouwens ook die query in PHPmyAdmin invoeren en kijken wat dat terug geeft. )
    Daar werk ik niet mee
    Ik gebruik ASP nu en geen PHP... Vandaar.

    Thanks.
    HuHudinsdag 9 januari 2007 @ 10:36
    Dan gebruik je toch ASPMyAdmin.
    Spockjuh_woensdag 10 januari 2007 @ 23:24
    het werkte overigens, mijn dank
    zwambtenaarwoensdag 10 januari 2007 @ 23:42
    quote:
    Op maandag 8 januari 2007 11:55 schreef Darkomen het volgende:
    $id = 'ID = '. $_GET['id'];
    Het is niet verstandig om de variabele $id zo in een SQL query te zetten. Beter is het om de GET variabele id te valideren om SQL injectie te voorkomen. Je wilt er zeker van zijn dat de opgegeven id-waarde numeriek is en dus zou je op de volgende manier de waarde kunnen valideren:
    1
    2
    3
    4
    5
    if(is_numeric($_GET['id']))
    {
         $id = 'ID = ' . $_GET['id'];
         // Verdere code waaronder uitvoeren van de SQL query.
    }
    mscholwoensdag 10 januari 2007 @ 23:47
    klein doch waarschijnlijk lastig vraagje:

    ik heb een scrippie dat mijn hd (of een remote systeem, a.d.v. een unc pad) doorleest naar bepaalde bestandstypen..
    ik heb dus een input veldje voor mijn directory
    dat mag nu alles bevatten:
    van c:\ tot //server/d$/
    echter wil ik liever een soort filebrowser hebben waar ik de te doorzoeken directory kan opgeven en doorgeven aan mijn php script.
    aangezien php en javascript niet op of client of server filesystem mogen moet ik een andere oplossing hebben.
    wie heeft een idee?
    ik dacht zelf aan een flash directory browser maar ik zou:
    A) niet weten hoe ik die moet bouwen en
    b) ik ben echt 100% bagger met flash..
    het script draait op mijn server en moet 1 andere netwerk pc kunnen benaderen.
    hornagedonderdag 11 januari 2007 @ 00:05
    php is serverside dus daarmee kan je op de server waarop hij draait files browsen.
    javascript is clientside, als je dus op de client naar files wilt zoeken oid moet dat met javascript. De gevonden info kan daarna altijd met een form doorgestuurd worden naar php
    mscholdonderdag 11 januari 2007 @ 00:12
    quote:
    Op donderdag 11 januari 2007 00:05 schreef hornage het volgende:
    php is serverside dus daarmee kan je op de server waarop hij draait files browsen.
    javascript is clientside, als je dus op de client naar files wilt zoeken oid moet dat met javascript. De gevonden info kan daarna altijd met een form doorgestuurd worden naar php
    klopt maar aangezien beide pc's op het zelfde netwerk staan kan ik met een unc pad in php ook andere pc's in het netwerk benaderen..

    ik zoek een directory browser waar ik bijvoorbeeld de pc's kan opgeven (namen) en dat het script mij de mogelijkheid geeft a la windows verkenner (maar alleen voor mappen, geen files)
    ralfiedonderdag 11 januari 2007 @ 10:07
    Je kunt vast wel iets verzinnen met php en javascript? Is nog niet eens zoveel werk om van een aantal directories zoiets te maken

    Je moet alleen goed met css en javascript alles uitlijnen en klikbaar maken.
    mscholdonderdag 11 januari 2007 @ 10:23
    quote:
    Op donderdag 11 januari 2007 10:07 schreef ralfie het volgende:
    Je kunt vast wel iets verzinnen met php en javascript? Is nog niet eens zoveel werk om van een aantal directories zoiets te maken
    [afbeelding]
    Je moet alleen goed met css en javascript alles uitlijnen en klikbaar maken.
    ik had inmiddels zelf ook wel iets in gedachte waarmee ik het in php kon doen (ik heb immers al een functie die directory's langs gaat voor bestanden) die kan ik aanpassen voor alleen directory's
    dan rest mij alleen nog om het inklapbaar te maken (en dit ook te updaten) maar dat komt t.z.t. wel..
    ralfiedonderdag 11 januari 2007 @ 10:52
    http://www.student.ru.nl/rvanhoorn/files/my_documents.htm
    Klein voorbeeldje. Enige waar ik zogauw geen oplossing voor heb is dat de lijntjes doorlopen waar ze moeten stoppen (links van de laatstse open map)
    wipes66donderdag 11 januari 2007 @ 15:22
    http://www.destroydrop.com/javascripts/tree/

    misschien kan je dit er voor gebruiken ?
    mscholdonderdag 11 januari 2007 @ 19:04
    ahh thnx voor de voorbeelden, inmiddels ook me php functie verbouwd zodat ik alleen directory's terug krijg
    nu beide zien te combineren...
    mijn php functie ziet er zo uit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    function getdir($path) {
       
    $dirStack = array($path);
       
    $dirs = array();
        while (
    null !== ($dir = array_pop($dirStack)))
        {
            
    $dh = opendir($dir) or die('Error: Could not open directory: '.$dir);
            while (
    false !== ($file = readdir($dh)))
            {
                
    $skipDirs = array('.', '..', 'System Volume Information', 'Temporary Internet Files', 'Temp', 'WINDOWS','$RECYCLE.BIN','RECYCLER');
                if (!
    in_array($file,$skipDirs))
                {
                    
    $fullFile = $dir . $file;
                     if (
    is_dir($fullFile))
                    {
                        
    $dirs[] = $fullFile. '\';
                           $dirStack[] = $fullFile . '
    ';
                    }
                 }
              }
            closedir($dh);
       }
       return $dirs;
    }
    ?>


    ik krijg dus nu een array met alle sub directory's behalve de mappen die in $skipdirs voor komen

    hmmm ik krijg het niet voor elkaar om een level te generenen (wat mij sneller lijkt dan met regex'en te checken hoeveel \ erin de directory staan (en ik dus kan bepalen waar de directory zich bevind, de root, 1 map diep of 2 of 3 mappen diep.)

    [ Bericht 6% gewijzigd door mschol op 11-01-2007 20:56:26 ]
    hornagedonderdag 11 januari 2007 @ 22:42
    zoiets kan je met een recursieve functie oplossen. Een tree met nodes en dan elke node een niveau geven. Ben je er zo achter.
    fatevrijdag 12 januari 2007 @ 17:31
    quote:
    Op donderdag 11 januari 2007 19:04 schreef mschol het volgende:
    ahh thnx voor de voorbeelden, inmiddels ook me php functie verbouwd zodat ik alleen directory's terug krijg
    nu beide zien te combineren...
    mijn php functie ziet er zo uit:
    [ code verwijderd ]

    ik krijg dus nu een array met alle sub directory's behalve de mappen die in $skipdirs voor komen

    hmmm ik krijg het niet voor elkaar om een level te generenen (wat mij sneller lijkt dan met regex'en te checken hoeveel \ erin de directory staan (en ik dus kan bepalen waar de directory zich bevind, de root, 1 map diep of 2 of 3 mappen diep.)
    .
    In je code zit in elk geval een fout zoals je kan zien aan de highlighting .
    1
    2
    3
    <?php
    $dirs
    [] = $fullFile. '\';
    ?>


    Je moet de \ escapen .
    JeRavrijdag 12 januari 2007 @ 17:36
    quote:
    Op vrijdag 12 januari 2007 17:31 schreef fate het volgende:

    [..]

    .
    In je code zit in elk geval een fout zoals je kan zien aan de highlighting .
    [ code verwijderd ]

    Je moet de \ escapen .
    Jij doet het ook niet. .

    Het is een bug in Replique.
    mscholvrijdag 12 januari 2007 @ 21:13
    quote:
    Op vrijdag 12 januari 2007 17:31 schreef fate het volgende:

    [..]

    .
    In je code zit in elk geval een fout zoals je kan zien aan de highlighting .
    [ code verwijderd ]

    Je moet de \ escapen .
    aha, in me source stond hij wel goed


    maar ik heb een recusive functie gevonden (ik ben geen held in het bouwen van een directory uitlees scrippie )
    ik vraag mij alleen af of ik genoeg heb aan een level (dus hoe diep een map zit..) ik moet, lijkt mij, ook weten onder welke map die subdirectory valt (dus zou ik ook een parentNode moeten meegeven)
    wonderervrijdag 12 januari 2007 @ 21:19
    Hoe moet ik dit lezen: Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php on line 585? Regel 585 is $lines.=$line.'<%split%>'; niet echt iets waar je 30 seconden voor nodig hebt.

    En waar wordt dit door veroorzaakt? Het ging gepaard met een hoog CPU verbruik, komt het daardoor, of gaat de CPU omhoog als een script op zich laat wachten?
    Lightvrijdag 12 januari 2007 @ 21:21
    Oneindige loop, ergens om regel 585.
    JeRavrijdag 12 januari 2007 @ 21:21
    Staat die regel 585 toevallig in een for(each)- of while-loop?
    wonderervrijdag 12 januari 2007 @ 21:27
    quote:
    Op vrijdag 12 januari 2007 21:21 schreef JeRa het volgende:
    Staat die regel 585 toevallig in een for(each)- of while-loop?
    Ja, dat wel...

    Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?

    Heb ook problemen met $result=mysql_db_query($myDB,$query,$dblink); en een aantal dingen die daaruit voortvloeien... waar kan dat op duiden?

    [ Bericht 13% gewijzigd door wonderer op 12-01-2007 21:39:40 ]
    mscholvrijdag 12 januari 2007 @ 21:41
    hmmm zit te proberen om die parentnode terug te krijgen echter wil het nog niet echt lukken..:
    heb deze code: (stukje wat van belang is, tenmiste das wat ik denk..)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    if(is_dir("$path/$file"))
    {
    // Its a directory, so we need to keep reading down...
    $dirs[] .= "$level|$Parentnode|$path$file";
    $Parentnode = array_search(array_search($level."|".$Parentnode."|".$path.$file, $dirs), array_keys($dirs));
    $temp_dir = getDirectory("$path$file/", ($level+1),$Parentnode);

    if(
    is_array($temp_dir))
    {
        foreach(
    $temp_dir as $key => $data)
        {
            
    $dirs[] .= $data;
        }
    }

    // Re-call this same function but on a new directory.
    // this is what makes function recursive.  
    }
    ?>

    ik begin de aanroep met dit:
    getDirectory('d:/',1,0);
    dus alles uit d:/,level 1 voor de root, en 0 voor de parentnode
    de output die ik krijg is dit:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        [0] => 1|0|d:/Apache
        [1] => 2|0|d:/Apache/bin
        [2] => 2|0|d:/Apache/cgi-bin
        [3] => 2|1|d:/Apache/conf
        [4] => 3|2|d:/Apache/conf/ssl
        [5] => 2|2|d:/Apache/htdocs
        [6] => 3|4|d:/Apache/htdocs/manual
        [7] => 4|0|d:/Apache/htdocs/manual/howto
        [8] => 4|0|d:/Apache/htdocs/manual/images
        [9] => 4|1|d:/Apache/htdocs/manual/misc
        [10] => 4|2|d:/Apache/htdocs/manual/mod
        [11] => 4|3|d:/Apache/htdocs/manual/programs
        [12] => 4|4|d:/Apache/htdocs/manual/vhosts
        [13] => 2|4|d:/Apache/icons
        [14] => 3|12|d:/Apache/icons/small
        [15] => 2|12|d:/Apache/include


    terwijl ik dit wil: (x staat voor niks, dus de d:/ in mijn geval)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
        [0] => 1|x|d:/Apache
        [1] => 2|0|d:/Apache/bin
        [2] => 2|0|d:/Apache/cgi-bin
        [3] => 2|0|d:/Apache/conf
        [4] => 3|3|d:/Apache/conf/ssl
        [5] => 2|0|d:/Apache/htdocs
        [6] => 3|5|d:/Apache/htdocs/manual
        [7] => 4|6|d:/Apache/htdocs/manual/howto
        [8] => 4|6|d:/Apache/htdocs/manual/images
        [9] => 4|6|d:/Apache/htdocs/manual/misc
        [10] => 4|6|d:/Apache/htdocs/manual/mod
        [11] => 4|6|d:/Apache/htdocs/manual/programs
        [12] => 4|6|d:/Apache/htdocs/manual/vhosts
        [13] => 2|0|d:/Apache/icons
        [14] => 3|13|d:/Apache/icons/small
        [15] => 2|0|d:/Apache/include


    ik ben hierin echt een dummie

    edit zie nu dat ik iets verkeerd heb gedaan...

    na verandering van de parentnode van de eerste aanroep naar een X doettie het nog niet goed... (nog steeds herkent hij de vorige subdir niet...)
    source code

    [ Bericht 2% gewijzigd door mschol op 12-01-2007 21:49:14 ]
    Lightvrijdag 12 januari 2007 @ 21:42
    quote:
    Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:

    [..]

    Ja, dat wel...

    Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
    Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.
    wonderervrijdag 12 januari 2007 @ 21:44
    quote:
    Op vrijdag 12 januari 2007 21:42 schreef Light het volgende:

    [..]

    Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.
    En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?
    Lightvrijdag 12 januari 2007 @ 21:45
    quote:
    Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:

    [..]

    Ja, dat wel...

    Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
    Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.
    quote:
    Heb ook problemen met $result=mysql_db_query($myDB,$query,$dblink); en een aantal dingen die daaruit voortvloeien... waar kan dat op duiden?
    Wat voor problemen? En wat is de query? En wat doe je met $result?
    Lightvrijdag 12 januari 2007 @ 21:47
    quote:
    Op vrijdag 12 januari 2007 21:44 schreef wonderer het volgende:

    [..]

    En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?
    Neuh. Hoe is die loop? Dus wat is de for(each) of while regel van die loop waarin regel 585 zit?
    wonderervrijdag 12 januari 2007 @ 22:01
    quote:
    Op vrijdag 12 januari 2007 21:45 schreef Light het volgende:

    [..]

    Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.
    [..]

    Wat voor problemen? En wat is de query? En wat doe je met $result?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
     $d
    =connectDB();
     
    $qroom=quote_smart($kamer,$d);
     
    $qroom=make_room($qroom);
     
    $success=settype($ID,"int");
     
    $res=runquery("SELECT * FROM chat_kamer_".$qroom." WHERE ID > '".$ID."'",$d);
     if(
    mysql_num_rows($res)!=0){
      while(
    $row=mysql_fetch_array($res)){
       
    $id=$row["ID"];
       
    $username=$row["username"];
       
    $chatname=parse_chatname($row["chatname"], $username);
       
    $kleur=$row["kleur"];
       
    $sentence=parse_sentence($row["sentence"],$row["systemmess"]);
       
    $line=lineformat($id$chatname$kleur$sentence$row["adminmess"], $username$row["systemmess"]);
       
    $lines.=$line.'<%split%>';
       
    $lid=$row["ID"];
      }
      
    $lines=substr($lines,0,-9);
      
    $callback=$lid.'<%split%>'.$lines;
      return 
    $callback;
     }
     else{
      return 
    '';
     }
    ?>


    $ID wordt meegegeven in de functie. Functie wordt gebruikt om te zien of er nieuwe dingen gezegd zijn en zo ja, laat ze dan zien. Wordt elke twee seconden aangeroepen via een javascript.

    $result is dezelfde als $d. 't Is mijn databaseverbindingsfunctie, die dus eerst aangeroepen wordt en gebruikt voor de query en de magic quotes gedoe.
    Lightvrijdag 12 januari 2007 @ 23:31
    quote:
    Op vrijdag 12 januari 2007 22:01 schreef wonderer het volgende:

    [..]
    [ code verwijderd ]

    $ID wordt meegegeven in de functie. Functie wordt gebruikt om te zien of er nieuwe dingen gezegd zijn en zo ja, laat ze dan zien. Wordt elke twee seconden aangeroepen via een javascript.

    $result is dezelfde als $d. 't Is mijn databaseverbindingsfunctie, die dus eerst aangeroepen wordt en gebruikt voor de query en de magic quotes gedoe.
    Hmm... ik heb hier eens naar gekeken, maar ik kan niet vinden hoe die loop oneindig kan worden.
    wonderervrijdag 12 januari 2007 @ 23:34
    Zijn er andere manieren om een database verbinding aan te maken?

    En wat zou er bijvoorbeeld gebeuren als ID 0 was? De huidige meest recente IDs liggen rond de 500.000 (niet dat er zoveel records in zitten, maar ik laat hem doortellen).
    hornagezaterdag 13 januari 2007 @ 00:10
    jongens,
    Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php
    betekent simpelweg dat alles bewerkingen die gedaan worden om de pagina te laden meer dan 30 seconden in beslag nemen. Vanaf het moment dat de pagina aangevraagd wordt totdat ie klaar met laden is mag niet meer dan 30 seconden in een standaardinstelling.
    Als dit alle code is waarin hij blijft hangen kan je even de query testen in bijvoorbeeld phpmyadmin. Als je daarin wel gewoon snel output krijgt ligt het aan je script.
    Kijk wat er allemaal geladen en geiclude wordt. Dan moet je vast en zeker wel wat vinden.
    Lightzaterdag 13 januari 2007 @ 00:27
    quote:
    Op zaterdag 13 januari 2007 00:10 schreef hornage het volgende:
    jongens,
    Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php
    betekent simpelweg dat alles bewerkingen die gedaan worden om de pagina te laden meer dan 30 seconden in beslag nemen. Vanaf het moment dat de pagina aangevraagd wordt totdat ie klaar met laden is mag niet meer dan 30 seconden in een standaardinstelling.
    Correct. En er zijn een paar mogelijke redenen waarom 30 seconden niet genoeg is. Zo kun je gewoon zoveel code hebben gemaakt dat het niet meer binnen 30 seconden uit te voeren is door de pc. Maar da's niet waarschijnlijk.
    1
    2
    3
    4
    5
    6
    7
    <?php
    $i
    =0;
    while (
    true) {
        
    $i++;
    }
    echo 
    $i;
    ?>

    Dat levert ook een foutmelding op over maximum execution time exceeded. De oorzaak ligt hier voor de hand, maar iets minder duidelijk kun je ook naar oneindige loopjes gaan.
    quote:
    Als dit alle code is waarin hij blijft hangen kan je even de query testen in bijvoorbeeld phpmyadmin. Als je daarin wel gewoon snel output krijgt ligt het aan je script.
    Kijk wat er allemaal geladen en geiclude wordt. Dan moet je vast en zeker wel wat vinden.
    Queries controleren is idd ook een goed plan.
    Lightzaterdag 13 januari 2007 @ 00:30
    quote:
    Op vrijdag 12 januari 2007 23:34 schreef wonderer het volgende:
    Zijn er andere manieren om een database verbinding aan te maken?

    En wat zou er bijvoorbeeld gebeuren als ID 0 was? De huidige meest recente IDs liggen rond de 500.000 (niet dat er zoveel records in zitten, maar ik laat hem doortellen).
    Hmm.. goed punt Probeer het eens, zou ik zeggen. En kijk dan meteen of er een (unique/primary) index op ID staat in de database, hoewel ik die wel verwacht.

    PHPMyAdmin gooit standaard een Limit 0,30 achter je query. Beste manier om dat te omzeilen is er zelf "Limit 0,100000" achter te zetten.
    wondererzaterdag 13 januari 2007 @ 06:02
    Ik ga een beetje vogelen. Ik vind het vooral erg irritant dat het een kwestie van wachten is tot het fout gaat, ik kan het niet zelf forceren
    JeRazaterdag 13 januari 2007 @ 10:55
    Met die loop lijkt me zo niets mis. Doen parse_chatname() en parse_sentence() nog iets vreemds, zoals verbindingen maken met de DB en trage queries executen ofzo?
    mscholzaterdag 13 januari 2007 @ 11:03
    met welke functie kan ik kijken waar in een array exacte waarde staat?
    dus ik heb een array:
    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [0] => 054
        [1] => 121
        [2] => 232
        [3] => 45822
        [4] => 12
    }

    en ik zoek bijvoorbeeld naar 12, niks meer of minder (ik zou zeggen met een regex, echtergeen idee hoe)
    en dan wil ik van de key waar 12 in staat het nummer weten (in dit geval dus 4)
    SuperRembozaterdag 13 januari 2007 @ 11:11
    Zoeken in een array, gokje: array_search()
    mscholzaterdag 13 januari 2007 @ 11:23
    quote:
    Op zaterdag 13 januari 2007 11:11 schreef SuperRembo het volgende:
    Zoeken in een array, gokje: array_search()
    JeRazaterdag 13 januari 2007 @ 12:25
    Arrays zijn nou typisch van die dingen in PHP waarvan ik zou willen dat ze net zoals in Java als extendable class werden geïntroduceerd. Dan had je niet overal meer die losse functies als sort() en count() liggen en was bovenstaand probleem gereduceerd tot Array.indexOf() of desnoods gewoon Array.findKey().
    Swetseneggerzaterdag 13 januari 2007 @ 17:00
    ordinaire terug vind post.
    Lightzaterdag 13 januari 2007 @ 17:19
    quote:
    Op zaterdag 13 januari 2007 12:25 schreef JeRa het volgende:
    Arrays zijn nou typisch van die dingen in PHP waarvan ik zou willen dat ze net zoals in Java als extendable class werden geïntroduceerd. Dan had je niet overal meer die losse functies als sort() en count() liggen en was bovenstaand probleem gereduceerd tot Array.indexOf() of desnoods gewoon Array.findKey().
    Dan moet het hele OO concept beter verwerkt worden in PHP.
    JeRazaterdag 13 januari 2007 @ 17:48
    quote:
    Op zaterdag 13 januari 2007 17:19 schreef Light het volgende:

    [..]

    Dan moet het hele OO concept beter verwerkt worden in PHP.
    Ik vind dat ze al een redelijke basis hebben voor OOP in PHP wat is volgens jou nog het gebrek aan de huidige OO-features?
    wondererzaterdag 13 januari 2007 @ 18:34
    quote:
    Op zaterdag 13 januari 2007 10:55 schreef JeRa het volgende:
    Met die loop lijkt me zo niets mis. Doen parse_chatname() en parse_sentence() nog iets vreemds, zoals verbindingen maken met de DB en trage queries executen ofzo?
    Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...
    JeRazaterdag 13 januari 2007 @ 18:49
    quote:
    Op zaterdag 13 januari 2007 18:34 schreef wonderer het volgende:

    [..]

    Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...
    Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtime
    wondererzaterdag 13 januari 2007 @ 18:54
    quote:
    Op zaterdag 13 januari 2007 18:49 schreef JeRa het volgende:

    [..]

    Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtime
    Heb je een linkje naar een tut waar goed wordt uitgelegd hoe je functies (en database dingen) opbouwt? Er moet best wel een hoop gedaan worden voor de zin er mooi leesbaar uit komt rollen...
    Pulsyzaterdag 13 januari 2007 @ 19:16
    Wat doet runquery eigenlijk? is dat hetzelfde als mysql_query? ik kan op php.net geen functie vinden die runquery heet...

    Wat gebeurt er trouwens als je iets als print"$id"; in je while loop gooit? Dan krijg je als het goed is een hele hoop lijnen, en je kan voor de 30seconden error op stop duwen zodat je ze kan bestuderen. Daar kan je meteen uit opmaken of je loop idd oneindig loopt, of het probleem ergens anders ligt.
    wondererzaterdag 13 januari 2007 @ 22:23
    runquery is een functie die alleen dit doet: $result=mysql_db_query($myDB,$query,$dblink);

    Ik zal asap even proberen om wat scripts aan te passen en uit te proberen, maar daar heb ik mijn vent bij nodig en die zit zelda te spelen
    qu63zondag 14 januari 2007 @ 10:39
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    if($_POST['submit']="submit")
    {
    $id = $_POST['ID'];
    $datum = $_POST['datum'];
    $offertenummer = $_POST['offertenummer'];
    $ordernummer = $_POST['ordernummer'];
    $order = $_POST['order'];
    $bedrag = $_POST['bedrag'];
    if (
    is_array($id) && (count($id)))
    {
    $query = 'UPDATE (ID,datum,offertenummer,ordernummer,offerte,bedrag)
                        VALUES ('
    . $id[0] . ', ' . $datum[0] . ', ' . $offertenummer[0] . ', ' . $ordertenummer[0] . ', ' . $order[0] . ', ' . $bedrag[0] . ')';
                
    $num = count($id);
                for (
    $i = 0; $i < $num; $i++) {
                    
    $query .= ',(' . $id[$i] . ', ' . $datum[$i] . ', ' . $offertenummer[$i] . ', ' . $ordernummer[$i] . ', ' . $order[$i] . ', ' . $bedrag[$i] . ')';
                       }
                
    mysql_query($query);
                }
                }
    ?>

    hoe kan ik deze query nou goed laten gaan?

    $id t/m $bedrag moeten meerdere waarden krijgen (een array dus) en die moeten allemaal de database in. Er komen geen nieuwe rijen bij, het wordt dus alleen maar geupdate.

    ik keek al bij Multiple Queries op dev.mysql.com maar ik weet niet of dat allemaal goed werkt enzo..

    iemand tips?
    zwambtenaarzondag 14 januari 2007 @ 10:43
    quote:
    Op zondag 14 januari 2007 10:39 schreef qu63 het volgende:

    [ code verwijderd ]

    hoe kan ik deze query nou goed laten gaan?

    $id t/m $bedrag moeten meerdere waarden krijgen (een array dus) en die moeten allemaal de database in. Er komen geen nieuwe rijen bij, het wordt dus alleen maar geupdate.

    ik keek al bij Multiple Queries op dev.mysql.com maar ik weet niet of dat allemaal goed werkt enzo..

    iemand tips?
    Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert? En waarom gebruik je daarvoor de update query en niet de insert query?
    qu63zondag 14 januari 2007 @ 10:45
    quote:
    Op zondag 14 januari 2007 10:43 schreef zwambtenaar het volgende:

    [..]

    Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert?
    mij leek een enkele query makkelijker om uit te voeren, maar dat was idd mijn optie als dit niet werkte
    qu63zondag 14 januari 2007 @ 10:49
    quote:
    Op zondag 14 januari 2007 10:43 schreef zwambtenaar het volgende:

    [..]

    Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert? En waarom gebruik je daarvoor de update query en niet de insert query?
    ik haal de waarden uit mn database, daar bouw ik een mooi update-formulier omheen. Dit formulier kan dus ge-submit worden en de nieuwe waarden moeten weer de database in
    zwambtenaarzondag 14 januari 2007 @ 10:50
    quote:
    Op zondag 14 januari 2007 10:49 schreef qu63 het volgende:

    [..]

    ik haal de waarden uit mn database, daar bouw ik een mooi update-formulier omheen. Dit formulier kan dus ge-submit worden en de nieuwe waarden moeten weer de database in
    Ik begrijp het inderdaad. Als een soort tabel-/spreadsheetoverview waarmee je in één keer vele records kunt editten.
    qu63zondag 14 januari 2007 @ 10:51
    quote:
    Op zondag 14 januari 2007 10:50 schreef zwambtenaar het volgende:

    [..]

    Ik begrijp het inderdaad. Als een soort tabel-/spreadsheetoverview waarmee je in één keer vele records kunt editten.
    juistem
    SuperRembozondag 14 januari 2007 @ 12:27
    quote:
    Op zondag 14 januari 2007 10:39 schreef qu63 het volgende:

    [ code verwijderd ]

    hoe kan ik deze query nou goed laten gaan?
    [...]
    iemand tips?
    Volgens mij doe je de eerste regel (met index 0) nu dubbel.

    Bij een INSERT mag je in MySQL meerdere rows opgeven, maar kan hetzelfde ook met UPDATE? Ik denk dat je wat dingen door elkaar haalt. De MySQL INSERT syntax accepteert behalve de standaard insert syntax ook een update-achtige syntax. Maar een UPDATE accepteert niet de insert syntax.

    [ Bericht 13% gewijzigd door SuperRembo op 14-01-2007 12:35:40 ]
    qu63zondag 14 januari 2007 @ 12:35
    quote:
    Op zondag 14 januari 2007 12:27 schreef SuperRembo het volgende:

    [..]

    Volgens mij doe je de eerste regel (met index 0) nu dubbel.
    ohja 8)7

    helaas werkt het nu nog niet..

    volgens mij komt het omdat ik dubbele "name's" heb ofzo :{
    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
    <form action="/order.php" method="post">
    <table width="50%"  border="0" cellspacing="0" cellpadding="0">
    <tr> 
    <td>Datum</td>
    <td>Naam</td>
    <td>Offertenummer</td>
    <td>Ordernummer</td>
    <td>Order</td>
    <td>Bedrag</td>
    </tr>
    <tr><input type="hidden" name="id" value="1">
    <td>vandaag</td>
    <td>Ik</td>
    <td><input name="offertenummer" value="" size="10"></td>
    <td><input name="ordernummer" value="" size="10"></td>
    <td><input name="order" value="ja" size="10">ja/nee</td>
    <td>¤<input name="bedrag" value="352,79" size="10"></td>
    </tr>

    <tr><input type="hidden" name="id" value="2">
    <td>5</td>
    <td>5</td>
    <td><input name="offertenummer" value="" size="10"></td>
    <td><input name="ordernummer" value="5" size="10"></td>
    <td><input name="order" value="5" size="10">ja/nee</td>
    <td>¤<input name="bedrag" value="5" size="10"></td>
    </tr>

    </table>
    <input type="submit" name="submit" value="submit">
    </form>
    HuHuzondag 14 januari 2007 @ 12:44
    Dan moet je van die input names een array maken.

    1
    2
    3
    <input type="text" name="offertenummer[]" value="" size="10">
    <input type="text" name="offertenummer[]" value="" size="10">
    <input type="text" name="offertenummer[]" value="" size="10">


    1
    2
    3
    4
    5
    6
    7
    <?php
    $offertenummer
    = $_POST["offertenummer"];

    echo
    $offertenummer[0];
    echo
    $offertenummer[1];
    echo
    $offertenummer[2];
    ?>


    Let op dat een array bij 0 begint met tellen en jij je ID's bij 1 laat beginnen.
    qu63zondag 14 januari 2007 @ 12:45
    quote:
    Op zondag 14 januari 2007 12:44 schreef HuHu het volgende:
    Dan moet je van die input names een array maken.


    [ code verwijderd ]


    [ code verwijderd ]

    Let op dat een array bij 0 begint met tellen en jij je ID's bij 1 laat beginnen.
    dat komt omdat ik er al een id uit heb geknikkerd
    HuHuzondag 14 januari 2007 @ 12:48
    quote:
    Op zondag 14 januari 2007 12:45 schreef qu63 het volgende:

    [..]

    dat komt omdat ik er al een id uit heb geknikkerd
    Aha... .

    Maar in 1 query meerdere rijen updaten gaat niet lukken. Dan moet je een UPDATE in een loopje doen.

    Of eerst alle rijen verwijderen met 1 query en daarna weer invoegen met 1 query.
    qu63zondag 14 januari 2007 @ 12:49
    stukje code wat ik een keer van Light heb gehad:
    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
    <?php
    //dit poept dus alle waarden in een tabelletje..
    while ($row = mysql_fetch_assoc($result)) {
            echo
    "<tr>n<td>".$row['tijd']."</td>n";
            echo
    "<td>".$row['km']."</td>n";
            echo
    "<td>n<input type="text" name="prijs[".$row['tijd']."][".$row['km']."]" value="".$row['prijs']."">n";
            echo
    "<input type="hidden" name=oud[".$row['tijd'].']['.$row['km']."] value="".$row['prijs']."">n</td>n</tr>n";
        }
    //en dit is de update functie. de rest vavn het script heb ik achterwege gelaten omdat dat alleen maar checks zijn of er iets anders gedaan moet worden..
    function update() {
        
    //nieuwe waarden?
            
    $km = $_POST['km_nieuw'];
            
    $prijs = $_POST['prijs_nieuw'];
            
    $tijd = $_POST['tijd_nieuw'];
            if (
    is_array($km) && is_array($prijs) && is_array($tijd)
                && (
    count($km) == count($prijs)) && (count($km) == count($tijd))) {
                        
    $query = 'INSERT INTO qu63 (tijd, km, prijs)
                        VALUES ('
    . $tijd[0] . ', ' . $km[0] . ', ' . $prijs[0] . ')';
                
    $num = count($km);
                for (
    $i = 0; $i < $num; $i++) {
                    
    $query .= ',(' . $tijd[$i] . ', ' . $km[$i] . ', ' . $prijs[$i] . ')';
                       }
                
    mysql_query($query);
            }
            
    //if(($_POST['km_nieuw'] > 0) && ($_POST['tijd_nieuw'] > 0) && ($_POST['prijs_nieuw'] > 0)) {
                    //mysql_query('INSERT INTO qu63 (prijs, tijd, km) VALUES ('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].')');
                    //mysql_query('INSERT INTO qu63 (prijs, tijd, km) VALUES ('.intval($_POST['prijs'][$tijd][$km]).','.$tijd.','.$km.')');
                    //$aangepast++;
                    //}
        //Bij het begin beginnen :)
        
    reset($_POST['oud']);
        
    //De array bevat tijd, afstand en prijs.
        //Dat is niet in 1 lus uit te lezen, dus doen we het met twee.
        
    while (list($tijd, $tmp) = each($_POST['oud'])) {
            while (list(
    $km, $prijs) = each($tmp)) {
                
    //Als er een andere prijs staat dan zetten we die in de database
                
    if($_POST['prijs'][$tijd][$km] != $prijs) {
                    
    mysql_query('UPDATE qu63 SET prijs = '.intval($_POST['prijs'][$tijd][$km]).' WHERE tijd = '.$tijd.' AND km = '.$km);
                    
    $aangepast++;
                }
            }
        }
    }
    ?>


    daarin werkt het wel..
    qu63zondag 14 januari 2007 @ 13:00
    quote:
    Op zondag 14 januari 2007 12:44 schreef HuHu het volgende:
    Dan moet je van die input names een array maken.
    dat werkt iig ja..

    dan gaan we daarmee verder klooien
    qu63zondag 14 januari 2007 @ 15:09
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    mysql_connect
    (DB_HOST, DB_USER, DB_PASS);
    mysql_select_db(DB_DATABASE);
    $id = $_POST['ID'];
    $datum = $_POST['datum'];
    $naam = $_POST['naam'];
    $offertenummer = $_POST['offertenummer'];
    $ordernummer = $_POST['ordernummer'];
    $order = $_POST['order'];
    $bedrag = $_POST['bedrag'];
    $nieuw = array($id,$datum,$naam,$offertenummer,$ordernummer,$order,$bedrag);
    //print_r($nieuw);
    //echo $nieuw[3][1];
    if (is_array($nieuw) && (count($nieuw)))
    {
                
    $num = count($nieuw);
                for (
    $i = 0; $i < $num; $i++) {
    //            foreach($id as $k => $w) {
                    
    mysql_query("REPLACE 'order' ('ID', 'datum', 'naam', 'offertenummer', 'ordernummer', 'order', 'bedrag') VALUES('" . $nieuw[0][$i] . "', '" . $nieuw[1][$i] . "', '" . $nieuw[2][$i] . "', '" . $nieuw[3][$i] . "', '" . $nieuw[4][$i] . "', '" . $nieuw[5][$i] . "', '" . $nieuw[6][$i] . "')");
                       }
                }
    ?>

    op zich werkt alles, alleen volgens mij klopt er iets niet in mn sql_query..

    ziet iemand de fout?

    regel 12 poept dit uit:
    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
    Array
    (
        [0] => Array
            (
                [1] => 1
                [2] => 2
                [3] => 3
            )

        [1] => Array
            (
                [vandaag] => vandaag
                [5] => 5
                [123] => 123
            )

        [2] => Array
            (
                [1] => Ik
                [2] => 5
                [3] => 123
            )

        [3] => Array
            (
                [1] => 
                [2] => 
                [3] => 12
            )

        [4] => Array
            (
                [1] => 
                [2] => 5
                [3] => 789
            )

        [5] => Array
            (
                [1] => ja
                [2] => 5
                [3] => 55
            )

        [6] => Array
            (
                [1] => 352,79
                [2] => 5
                [3] => 333
            )

    )

    html-code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <form action="/order.php" method="post">
    <table width="50%"  border="0" cellspacing="0" cellpadding="0">
      <tr> 
        <td>Datum</td>
        <td>Naam</td>

       <td>Offertenummer</td>
       <td>Ordernummer</td>
        <td>Order</td>
        <td>Bedrag</td>
      </tr>
    <tr><input type="hidden" name="ID[1]" value="1">
    <td><input type="hidden" name="datum[vandaag]" value="vandaag">vandaag</td>

    <td><input type="hidden" name="naam[1]" value="Ik">Ik</td>
    <td><input name="offertenummer[1]" value="" size="10"></td>
    <td><input name="ordernummer[1]" value="" size="10"></td>
    <td><input name="order[1]" value="ja" size="10">ja/nee</td>
    <td>€<input name="bedrag[1]" value="352,79" size="10"></td>
    </tr>
    <tr><input type="hidden" name="ID[2]" value="2">
    <td><input type="hidden" name="datum[5]" value="5">5</td>
    <td><input type="hidden" name="naam[2]" value="5">5</td>
    <td><input name="offertenummer[2]" value="" size="10"></td>
    <td><input name="ordernummer[2]" value="5" size="10"></td>
    <td><input name="order[2]" value="5" size="10">ja/nee</td>

    <td>€<input name="bedrag[2]" value="5" size="10"></td>
    </tr>
    <tr><input type="hidden" name="ID[3]" value="3">
    <td><input type="hidden" name="datum[123]" value="123">123</td>
    <td><input type="hidden" name="naam[3]" value="123">123</td>
    <td><input name="offertenummer[3]" value="12" size="10"></td>
    <td><input name="ordernummer[3]" value="789" size="10"></td>
    <td><input name="order[3]" value="55" size="10">ja/nee</td>
    <td>€<input name="bedrag[3]" value="333" size="10"></td>
    </tr>

    </table>
    <input type="submit" name="submit" value="submit">
    </form>
    qu63zondag 14 januari 2007 @ 15:58
    gefixed!

    thanx SuperRembo!
    broodmonkehzondag 14 januari 2007 @ 21:14
    Ik heb een datum opgeslagen in de database , nu wil ik zeg maar een overzicht maken van alle gegevens met die datum ouder als een jaar

    Dus ik sla het zo op: 2007-01-14 en ik wil zeg maar alle data na 2008-01-14 in een overzicht hebben.
    Is dit mogelijk?
    fatezondag 14 januari 2007 @ 21:24
    quote:
    Op zondag 14 januari 2007 21:14 schreef broodmonkeh het volgende:
    Ik heb een datum opgeslagen in de database , nu wil ik zeg maar een overzicht maken van alle gegevens met die datum ouder als een jaar

    Dus ik sla het zo op: 2007-01-14 en ik wil zeg maar alle data na 2008-01-14 in een overzicht hebben.
    Is dit mogelijk?
    Ja natuurlijk is dit mogelijk .
    Heb je je data als now() opgeslaan? Dan is het heel wat handiger dan als je het er letterlijk 2007-01-14 inzet...

    Je moet maar eens zoeken mbv het INTERVAL-statement in MySQL hoe je data er zo het best gaat uithalen. (Ik geef niet de code omdat je er anders niets van leert )
    broodmonkehzondag 14 januari 2007 @ 22:47
    quote:
    Op zondag 14 januari 2007 21:24 schreef fate het volgende:

    [..]

    Ja natuurlijk is dit mogelijk .
    Heb je je data als now() opgeslaan? Dan is het heel wat handiger dan als je het er letterlijk 2007-01-14 inzet...

    Je moet maar eens zoeken mbv het INTERVAL-statement in MySQL hoe je data er zo het best gaat uithalen. (Ik geef niet de code omdat je er anders niets van leert )
    met NOW() komt er ook 2007-01-14 uit , dus maakt opzich niet zoveel uit toch? Dat INTERVAL-statement ga ik nu even uitzoeken.
    Swetseneggerzondag 14 januari 2007 @ 22:47
    Als je datum in een DATE of DATETIME veld staat zoals het hoort, kan je dat heel makkelijk doen met

    1
    2
    3
    <?php
    SELECT
    * FROM table WHERE datum<=DATE_SUB(NOW(), INTERVAL 1 YEAR)
    ?>
    Swetseneggerzondag 14 januari 2007 @ 22:48
    quote:
    Op zondag 14 januari 2007 22:47 schreef broodmonkeh het volgende:

    [..]

    met NOW() komt er ook 2007-01-14 uit , dus maakt opzich niet zoveel uit toch?
    Jawel, want op DATE en DATETIME velden kan je sql datum en tijd functies gebruiken. op een varchar veld niet.
    broodmonkehzondag 14 januari 2007 @ 22:55
    quote:
    Op zondag 14 januari 2007 22:48 schreef Swetsenegger het volgende:

    [..]

    Jawel, want op DATE en DATETIME velden kan je sql datum en tijd functies gebruiken. op een varchar veld niet.
    ik had hem al als DATE veld , gebruikte alleen geen NOW() maar ik had de datum al bepaald met date() en dat in de database gezet.
    Swetseneggerzondag 14 januari 2007 @ 22:59
    quote:
    Op zondag 14 januari 2007 22:55 schreef broodmonkeh het volgende:

    [..]

    ik had hem al als DATE veld , gebruikte alleen geen NOW() maar ik had de datum al bepaald met date() en dat in de database gezet.
    Als het maar een DATE veld is. Dan lijkt je methode me nog steeds nodeloos ingewikkeld, mits je een andere datum dan *nu* in de database wil hebben.
    broodmonkehzondag 14 januari 2007 @ 23:01
    quote:
    Op zondag 14 januari 2007 22:59 schreef Swetsenegger het volgende:

    [..]

    Als het maar een DATE veld is. Dan lijkt je methode me nog steeds nodeloos ingewikkeld, mits je een andere datum dan *nu* in de database wil hebben.
    jep dat is ook het geval
    broodmonkehzondag 14 januari 2007 @ 23:17
    maar iig bedankt voor de code , works like a charm !
    profielnaamzondag 14 januari 2007 @ 23:38
    Ik probeerde in eerste instantie mbv javascript een cookie te verwijderen, maar dit werkt niet zo te zien. de situatie is als volgt:

    ik heb een domein waarop de meeste mensen binnenkomen via de index.html op deze pagina wordt een cookie gezet. als de user verder browsed naar een van de andere sites bijv. subdomein.hoofdomein.com dan moet de cookie die eerder op de mainpage gezet is verwijderd worden,
    ik probeer dit nu wel met javascript te doen, omdat ik geen PHP ondersteuning heb ik op deze server, misschien dat ik dit er nog bij ga nemen..

    ik kwam uit op deze javascript code, welke de cookie expiration time in het verleden zou moeten zetten en daardoor automatisch verwijdert.

    De cookie blijft wel staan dus ik doe iets fout..

    hopen maar dat iemand me anders wel kan helpen met PHP code hiervoor.

    dit is de javascript code iedergeval

    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript">
    function delete_cookie ( cookienaam )
    {
      var cookie_date = new Date ( );  // current date & time
      cookie_date.setTime ( cookie_date.getTime() - 1 );
      document.cookie = cookienaam += "=; expires=" + cookie_date.toGMTString();
    }
    </script>
    Tiemiezondag 14 januari 2007 @ 23:42
    quote:
    Op zondag 14 januari 2007 23:38 schreef profielnaam het volgende:
    Ik probeerde in eerste instantie mbv javascript een cookie te verwijderen, maar dit werkt niet zo te zien. de situatie is als volgt:

    ik heb een domein waarop de meeste mensen binnenkomen via de index.html op deze pagina wordt een cookie gezet. als de user verder browsed naar een van de andere sites bijv. subdomein.hoofdomein.com dan moet de cookie die eerder op de mainpage gezet is verwijderd worden,
    ik probeer dit nu wel met javascript te doen, omdat ik geen PHP ondersteuning heb ik op deze server, misschien dat ik dit er nog bij ga nemen..

    ik kwam uit op deze javascript code, welke de cookie expiration time in het verleden zou moeten zetten en daardoor automatisch verwijdert.

    De cookie blijft wel staan dus ik doe iets fout..

    hopen maar dat iemand me anders wel kan helpen met PHP code hiervoor.

    dit is de javascript code iedergeval
    [ code verwijderd ]
    http://www.sitemasters.be/?pagina=tutorials/tutorials&cat=4&id=160
    profielnaammaandag 15 januari 2007 @ 00:03
    quote:
    oké ik heb dit op een andere server gezet als waar de site op draait..

    <?php
    // was er in de eerste plaats een cookie geset?
    if(isset($_COOKIE['cookienaam'])) {
    // verwijder het cookie
    setcookie("cookienaam", "description", time()-3600);
    }
    ?>

    de cookie >> cookienaam, wordt niet uit de cookies folder verwijderd, wat dus de bedoeling is.
    fatemaandag 15 januari 2007 @ 17:57
    quote:
    Op maandag 15 januari 2007 00:03 schreef profielnaam het volgende:

    [..]

    oké ik heb dit op een andere server gezet als waar de site op draait..

    <?php
    // was er in de eerste plaats een cookie geset?
    if(isset($_COOKIE['cookienaam'])) {
    // verwijder het cookie
    setcookie("cookienaam", "description", time()-3600);
    }
    ?>

    de cookie >> cookienaam, wordt niet uit de cookies folder verwijderd, wat dus de bedoeling is.
    Probeer dit eens:

    1
    2
    3
    4
    5
    6
    7
    <?php
    // was er in de eerste plaats een cookie geset?
    if(isset($_COOKIE['cookienaam'])) {
      
    // verwijder het cookie
    setcookie ("cookienaam"""time() - 3600);
    }
    ?>
    profielnaammaandag 15 januari 2007 @ 21:15
    quote:
    Op maandag 15 januari 2007 17:57 schreef fate het volgende:

    [..]

    Probeer dit eens:
    [ code verwijderd ]
    oke heb ik ook geprobeerd net, de cookie blijft nog in de cookies folder staan helaas.
    Ik wil de cookie wel verwijderen van de gebruiker zn pc.
    ralfiemaandag 15 januari 2007 @ 21:20
    dacht dat dat niet kon met javascript of php
    Tiemiemaandag 15 januari 2007 @ 21:26
    quote:
    Op maandag 15 januari 2007 00:03 schreef profielnaam het volgende:

    [..]

    oké ik heb dit op een andere server gezet als waar de site op draait..

    <?php
    // was er in de eerste plaats een cookie geset?
    if(isset($_COOKIE['cookienaam'])) {
    // verwijder het cookie
    setcookie("cookienaam", "description", time()-3600);
    }
    ?>

    de cookie >> cookienaam, wordt niet uit de cookies folder verwijderd, wat dus de bedoeling is.
    Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezen
    profielnaammaandag 15 januari 2007 @ 21:30
    quote:
    Op maandag 15 januari 2007 21:26 schreef Tiemie het volgende:

    [..]

    Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezen
    oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.
    Swetseneggermaandag 15 januari 2007 @ 21:49
    quote:
    Op maandag 15 januari 2007 21:26 schreef Tiemie het volgende:

    [..]

    Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezen
    Dat kan wel, mits je de juiste path info toevoegt.

    http://nl3.php.net/manual/en/function.setcookie.php Kijk hier even naar de informatied over domeinen en paths, profielnaam
    Tiemiemaandag 15 januari 2007 @ 22:25
    quote:
    Op maandag 15 januari 2007 21:49 schreef Swetsenegger het volgende:

    [..]

    Dat kan wel, mits je de juiste path info toevoegt.

    http://nl3.php.net/manual/en/function.setcookie.php Kijk hier even naar de informatied over domeinen en paths, profielnaam
    Het kan (gelukkig) alleen voor de domeinnaam waar de host waar het script op draait. En subdomeinen daarvan.
    quote:
    Only hosts within the specified domain can set a cookie for a domain
    Maar als jij het beter weet, graag meer info
    quote:
    Op maandag 15 januari 2007 21:30 schreef profielnaam het volgende:

    [..]

    oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.
    ah, je had het hiervoor over een andere server. Om dat te doen moet je ervoor zorgen dat het cookie-path goed staat
    Swetseneggermaandag 15 januari 2007 @ 22:27
    quote:
    Op maandag 15 januari 2007 22:25 schreef Tiemie het volgende:

    [..]

    Het kan (gelukkig) alleen voor de domeinnaam waar de host waar het script op draait. En subdomeinen daarvan.
    Ja...?
    quote:
    Op maandag 15 januari 2007 21:30 schreef profielnaam het volgende:

    [..]

    oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.
    -edit- Ah ok, je had zijn laatste post nog niet gelezen.
    wonderermaandag 15 januari 2007 @ 22:41
    Even iets anders:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $image_path
    ="avatars/".$_POST["soort"]."/";
    $_POST["file"]=$file_name;
    if(
    $_POST["action"]){
    $image_path="avatars/".$_POST["soort"]."/";
    if (
    $file_name == "") {
      echo
    "No file found. Check if you entered the path to your local file in the text field of the upload form.";
    }
    else {
    ?>


    Dit werkt ineens niet meer. Niks veranderd verder... Hij komt dus uit op de foutmelding terwijl ik niks anders doe dan anders. Waar ligt dat aan?
    Lightmaandag 15 januari 2007 @ 22:44
    quote:
    Op maandag 15 januari 2007 22:41 schreef wonderer het volgende:
    Even iets anders:
    [ code verwijderd ]

    Dit werkt ineens niet meer. Niks veranderd verder... Hij komt dus uit op de foutmelding terwijl ik niks anders doe dan anders. Waar ligt dat aan?
    $file_name krijgt nergens een waarde in de code die je hebt gepost.
    wonderermaandag 15 januari 2007 @ 22:56
    $_POST["file"]=$file_name;
    Moet dat andersom dan? Het heeft tot op heden altijd gewerkt... Ik snap het even niet meer.
    HuHumaandag 15 januari 2007 @ 23:02
    Ja, dat moet andersom. De = betekend: hetgene links van de = krijgt dezelfde waarde als datgene rechts van het = teken.
    Lightmaandag 15 januari 2007 @ 23:02
    quote:
    Op maandag 15 januari 2007 22:56 schreef wonderer het volgende:
    $_POST["file"]=$file_name;
    Moet dat andersom dan? Het heeft tot op heden altijd gewerkt... Ik snap het even niet meer.
    Daar geef je aan $_POST["file"] een waarde. Andersom werkt het vast beter. Overigens ontbreekt dan hier nog wel de input-controle, wat weer voor veiligheidsproblemen kan zorgen.
    wonderermaandag 15 januari 2007 @ 23:17
    Ik heb even op php.net rondgeneusd en het bleek dat ik weer een beetje achterliep wat betreft dingen. $_FILES enzo schijnt beter te werken en mijn script doet het weer. Met je tijd meegaan is blijkbaar belangrijk

    In ieder geval bedankt voor het meedenken.
    Swetseneggerdinsdag 16 januari 2007 @ 09:12
    quote:
    Op maandag 15 januari 2007 23:17 schreef wonderer het volgende:
    Ik heb even op php.net rondgeneusd en het bleek dat ik weer een beetje achterliep wat betreft dingen. $_FILES enzo schijnt beter te werken en mijn script doet het weer. Met je tijd meegaan is blijkbaar belangrijk

    In ieder geval bedankt voor het meedenken.


    eh, ik denk dat je nu aan super globals refereerd en juist die zijn niet aanbevolen. Gewoon $_POST['formuliernaam'] gebruiken dus inplaats van $formuliernaam

    -edit- wel het script bekijken swets. Ja voor geuploade bestanden gebruik je $_FILES[name][tempname]
    BlueCurldinsdag 16 januari 2007 @ 09:23
    wat is nu de beste manier om een sessie te verwijderen? destroy of unset?
    hornagedinsdag 16 januari 2007 @ 09:56
    unset werkt bij mij altijd wel ok
    wondererdinsdag 16 januari 2007 @ 16:44
    quote:
    Op dinsdag 16 januari 2007 09:12 schreef Swetsenegger het volgende:

    [..]



    eh, ik denk dat je nu aan super globals refereerd en juist die zijn niet aanbevolen. Gewoon $_POST['formuliernaam'] gebruiken dus inplaats van $formuliernaam

    -edit- wel het script bekijken swets. Ja voor geuploade bestanden gebruik je $_FILES[name][tempname]
    Super globals werken niet eens meer op mijn server, dus ik moet een zooi scripts aanpassen
    Chandlerdinsdag 16 januari 2007 @ 17:42
    Klein vraagje.

    Een website werkt een database die tabellen linkt met varchars ipv id's en nu heb ik de tabellen omgezet naar id's ipv varchars... echter is de snelheid met 100% gedaald... het gaat om vele tabellen en natuurlijk heel veel data (50.000 records voor 1 tabel, in totaal meer dan 100.000 records).

    Waar zou dit aan kunnen liggen? de ID's zijn geindexeerd....
    JeRadinsdag 16 januari 2007 @ 18:15
    quote:
    Op dinsdag 16 januari 2007 17:42 schreef Chandler het volgende:
    Klein vraagje.

    Een website werkt een database die tabellen linkt met varchars ipv id's en nu heb ik de tabellen omgezet naar id's ipv varchars... echter is de snelheid met 100% gedaald... het gaat om vele tabellen en natuurlijk heel veel data (50.000 records voor 1 tabel, in totaal meer dan 100.000 records).

    Waar zou dit aan kunnen liggen? de ID's zijn geindexeerd....
    De 'snelheid' is afhankelijk van de queries die je draait dus het zou nogal handig zijn als je die even laat zien ook de tabelstructuur is van belang.
    Chandlerdinsdag 16 januari 2007 @ 18:34
    Ik kan helaas weinig van de tabellen structuur laten zien omdat deze van een klant is een paar queries zou ik wel kunnen laten zien maar ben bang dat ik gewoon per query even een tijd check moet doen... oid

    Jera, kan ik je ook een mailtje sturen? gaat beter dan MSN en ik ben zo off...

    [ Bericht 20% gewijzigd door Chandler op 16-01-2007 20:49:08 ]
    Chandlerdinsdag 16 januari 2007 @ 22:31
    JERA BEDANKT JERA BEDANKT! JERA, JERA, JERA BEDANKT!

    en voor vandaag ben ik er klaar mee

    SuperRembodinsdag 16 januari 2007 @ 23:02
    Wat was 't probleem nou uiteindelijk, en wat de oplossing?
    Lightdinsdag 16 januari 2007 @ 23:08
    quote:
    Op dinsdag 16 januari 2007 16:44 schreef wonderer het volgende:

    [..]

    Super globals werken niet eens meer op mijn server, dus ik moet een zooi scripts aanpassen
    Superglobals zijn dingen als $_POST en $_GET, het lijkt me dat die nog wel werken
    JeRawoensdag 17 januari 2007 @ 01:15
    quote:
    Op dinsdag 16 januari 2007 23:02 schreef SuperRembo het volgende:
    Wat was 't probleem nou uiteindelijk,
    Een gebrek aan juiste indices en MySQL die om één of andere bizarre reden besluit dat een JOIN op een VARCHAR 4x zo snel dient te gaan als een JOIN op een INT, beiden zonder gerelateerde index.
    quote:
    en wat de oplossing?
    Het aanmaken van de juiste indices.
    markiemarkwoensdag 17 januari 2007 @ 23:05
    ok, probleempje met chmod en zo.

    Via een formuliertje kan men een naam opgeven voor een nieuwe map, wanneer dit fomulier gepost wordt, wordt de map aangemaakt, inclusief twee standaard submappen. dit gaat allemaal goed. nu wil ik in de nieuw aangemaakte map drie bestanden laten kopieren met de functie copy, maar deze geeft een fout over rechten. terwijl ik toch echt de rechten voor de map op 777 heb staan. iemand die dit probleem kent, en vooral een oplossing weet?! Hieronder de code

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if ($_GET['action_int'] == "create_new"){
       if (is_dir("gallery/".$_POST['gallery_name'])){
          error("Deze map bestaat al. Kies een andere naam.");
       }else{
          $new_dir = "gallery/".$_POST['gallery_name'];
          // hoofdmap aanmaken
          mkdir($new_dir, 0777);
          
          // gallery bestanden kopieren
          chmod($new_dir, 0777);
          copy("files/gallery.xml", $new_dir."/");
          
          // mappen thums en images aanmaken
          mkdir($new_dir."/thumbs", 0777);
          mkdir($new_dir."/images", 0777);
       }
    }
    JeRawoensdag 17 januari 2007 @ 23:10
    quote:
    Op woensdag 17 januari 2007 23:05 schreef markiemark het volgende:
    ok, probleempje met chmod en zo.

    Via een formuliertje kan men een naam opgeven voor een nieuwe map, wanneer dit fomulier gepost wordt, wordt de map aangemaakt, inclusief twee standaard submappen. dit gaat allemaal goed. nu wil ik in de nieuw aangemaakte map drie bestanden laten kopieren met de functie copy, maar deze geeft een fout over rechten. terwijl ik toch echt de rechten voor de map op 777 heb staan. iemand die dit probleem kent, en vooral een oplossing weet?! Hieronder de code
    [ code verwijderd ]
    Wat voor 'fout over rechten' krijg je precies?
    markiemarkwoensdag 17 januari 2007 @ 23:10
    PHP Warning: copy(gallery/dfgdsfg/) [function.copy]: failed to open stream: Permission denied in c:webfotoindex.php on line 39
    mscholwoensdag 17 januari 2007 @ 23:45
    oke, na herhaaldelijk proberen mijn probleem zelf uit te zoeken toch maar hier posten..
    ik ben dus bezig met een directory script. (een mooie directory browser voor mijn formulier)
    ik krijg de volgende output klik
    en dit is mijn script (met comments) : klik
    zoals je kan zien wil ik dus een output in het volgende formaat hebben:
    <level>|<hoofddirectory>|<directory>

    <level> en <hoofddirectory> zijn beide getallen, level kan ik bepalen, de <hoofddirectory> is echter een heel ander verhaal...

    aangezien ik nooit weet waar de hoofddirectory van een bepaalde directory zich bevind , in de array, moet ik deze dus opzoeken in de array (lijkt mij), alleen stuit ik dan op het probleem dat ik niet weet hoe ik dit moet aanpakken, met array_search krijg ik de melding dat het 2de argument een verkeerde datatype is

    iemand nog een idee hoe ik dit in elkaar kan knutselen..?

    ik wil em zo hebben i.v.m. een Javascriptje dat ik dan direct vanaf php kan laten generen, andere oplossingen zijn ook welkom

    het javascriptje dat ik wil gaan vullen is dit:
    quote:
    <script type="text/javascript">
    <!--
    var Tree = new Array;
    // nodeId | parentNodeId | nodeName | nodeUrl
    Tree[0] = "1|0|Page 1|#";
    Tree[1] = "2|1|Page 1.1|#";
    Tree[2] = "3|1|Page 1.2|#";
    Tree[3] = "4|3|Page 1.2.1|#";
    Tree[4] = "5|1|Page 1.3|#";
    Tree[5] = "6|2|Page 1.1.1|#";
    Tree[6] = "7|6|Page 1.1.1.1|#";
    Tree[7] = "8|6|Page 1.1.1.2|#";
    Tree[8] = "9|1|Page 1.4|#";
    Tree[9] = "10|9|Page 1.4.1|#";
    Tree[10] = "11|0|Page 2|#";
    //-->
    </script>


    [ Bericht 11% gewijzigd door mschol op 17-01-2007 23:51:07 ]
    JeRawoensdag 17 januari 2007 @ 23:49
    quote:
    Op woensdag 17 januari 2007 23:10 schreef markiemark het volgende:
    PHP Warning: copy(gallery/dfgdsfg/) [function.copy]: failed to open stream: Permission denied in c:webfotoindex.php on line 39
    Ah, chmodden op een Windows-systeem, altijd leuk.

    Ik heb niet veel verstand van bestandsrechten op NTFS, maar weet je zeker dat de webserver als een gebruiker draait die in die nieuwe mappen kan? Je kunt bij de eigenschappen van die mappen in het tabblad Security zien welke gebruikers(groepen) toegang hebben tot de mappen.
    JeRawoensdag 17 januari 2007 @ 23:54
    quote:
    Op woensdag 17 januari 2007 23:45 schreef mschol het volgende:
    met array_search krijg ik de melding dat het 2de argument een verkeerde datatype is
    Dáár zit het hele probleem, in de regel met die functie. Zorg er eerst eens voor dat $dirs in alle gevallen (dus ook als je de functie niet-recursief aanroept bijvoorbeeld) een array is. Vervolgens moet je eens gaan debuggen: waar zoek je eigenlijk op met array_search(), wat staat er op dat moment in de array, etc
    markiemarkwoensdag 17 januari 2007 @ 23:56
    quote:
    Op woensdag 17 januari 2007 23:49 schreef JeRa het volgende:

    [..]

    Ah, chmodden op een Windows-systeem, altijd leuk.

    Ik heb niet veel verstand van bestandsrechten op NTFS, maar weet je zeker dat de webserver als een gebruiker draait die in die nieuwe mappen kan? Je kunt bij de eigenschappen van die mappen in het tabblad Security zien welke gebruikers(groepen) toegang hebben tot de mappen.
    hmmz ohja dat levert nogal problemen op he, op een windows server.. het kutte is dat de server van mijn hosting bedrijf ook op windows draait..
    is er een andere oplossing?
    markiemarkdonderdag 18 januari 2007 @ 00:03
    De nieuw gemaakte mappen staan inderdaad op alleen lezen in windows, terwijl ik toch aangeef dat deze bij het aanmaken op 777 moeten staan..
    JeRadonderdag 18 januari 2007 @ 00:04
    quote:
    Op woensdag 17 januari 2007 23:56 schreef markiemark het volgende:

    [..]

    hmmz ohja dat levert nogal problemen op he, op een windows server.. het kutte is dat de server van mijn hosting bedrijf ook op windows draait..
    is er een andere oplossing?
    Ik heb 0,0 ervaring met Windows-servers, dus het enige wat ik je op dit moment kan aanraden is contact opnemen met je hoster om gezamenlijk tot een oplossing te komen
    JeRadonderdag 18 januari 2007 @ 00:07
    quote:
    Op donderdag 18 januari 2007 00:03 schreef markiemark het volgende:
    De nieuw gemaakte mappen staan inderdaad op alleen lezen in windows, terwijl ik toch aangeef dat deze bij het aanmaken op 777 moeten staan..
    Het probleem is dat die modes normaal gesproken worden gebruikt in combinatie met de systeemfunctie (niet PHP dus) chmod(). Windows heeft die functie niet, dus er moet in PHP een conversie plaats vinden van octal mode number naar rechten

    Ik lees in de comments van chmod() dat voor iemand het alleen werkte als je 0666 gebruikte op een Windows machine. Dat zou je eventueel nog kunnen proberen.
    markiemarkdonderdag 18 januari 2007 @ 00:10
    quote:
    Op donderdag 18 januari 2007 00:07 schreef JeRa het volgende:

    [..]

    Het probleem is dat die modes normaal gesproken worden gebruikt in combinatie met de systeemfunctie (niet PHP dus) chmod(). Windows heeft die functie niet, dus er moet in PHP een conversie plaats vinden van octal mode number naar rechten

    Ik lees in de comments van chmod() dat voor iemand het alleen werkte als je 0666 gebruikte op een Windows machine. Dat zou je eventueel nog kunnen proberen.
    met 666 werkt het ook niet. als ik een octale vertaling van 666 of 777 invoer, moet het dan wel werken dacht jij?
    JeRadonderdag 18 januari 2007 @ 00:16
    quote:
    Op donderdag 18 januari 2007 00:10 schreef markiemark het volgende:

    [..]

    met 666 werkt het ook niet. als ik een octale vertaling van 666 of 777 invoer, moet het dan wel werken dacht jij?
    Nee, je moet sowieso octale getallen gebruiken (dus 0666 en 0777), dan voert PHP die omzetting naar decimale representatie zelf uit.

    Echter schrijft die persoon in de comments dat het voor Windows alleen werkte als je het zonder die 0 schreef, maar die comment komt uit 2001 dus de kans is ontzettend groot dat dat in ieder geval niet meer klopt.
    markiemarkdonderdag 18 januari 2007 @ 00:20
    quote:
    Op donderdag 18 januari 2007 00:16 schreef JeRa het volgende:

    [..]

    Nee, je moet sowieso octale getallen gebruiken (dus 0666 en 0777), dan voert PHP die omzetting naar decimale representatie zelf uit.

    Echter schrijft die persoon in de comments dat het voor Windows alleen werkte als je het zonder die 0 schreef, maar die comment komt uit 2001 dus de kans is ontzettend groot dat dat in ieder geval niet meer klopt.
    hehe geeft inderdaad dezelfde fout als ik de 0 weg laat..
    het moet toch wel mogelijk zijn om betrekkelijk eenvoudig bestanden te kopieren op een windows server?
    wobbeldonderdag 18 januari 2007 @ 08:44
    Hoe wis ik alle opties die ik heb opgeslagen in $_SESSION?

    Ik heb namelijk $_SESSION['value1'], $_SESSION['value2'] etc (zo'n 40 stuks) en die moet ik allemaal legen en verwijderen.

    Commando unset ( $_SESSION ) mag niet en werkt ook niet, maar hoe moet ik dan alles gaan wissen? Anders moet ik elke var met de hand gaan unsetten wat me weer 40 regels kost
    CraZaaydonderdag 18 januari 2007 @ 08:58
    quote:
    Op donderdag 18 januari 2007 08:44 schreef wobbel het volgende:
    Hoe wis ik alle opties die ik heb opgeslagen in $_SESSION?
    Kom op zeg... klikkk

    De eerste twee hits zijn meteen je antwoord.
    super-muffindonderdag 18 januari 2007 @ 10:13
    Werkt dit? (tis gewoon een wilde gok hoor )
    Misschien kun je die 40 ook laten tellen met count($_SESSION) als je niet zeker weet of het er precies 40 zijn.
    1
    2
    3
    4
    5
    $i = 1;
    while ($i <= 40) {
         unset($_SESSION[value'' . $i . ''];
         $i++
    }
    ralfiedonderdag 18 januari 2007 @ 10:32
    1
    2
    3
    <?php
    $_SESSION
    =array();
    ?>


    simpel en werkt

    session_destroy() is natuurlijk netter, maar ach, als ut werkt
    hornagedonderdag 18 januari 2007 @ 10:48
    quote:
    Op donderdag 18 januari 2007 10:13 schreef super-muffin het volgende:
    Werkt dit? (tis gewoon een wilde gok hoor )
    Misschien kun je die 40 ook laten tellen met count($_SESSION) als je niet zeker weet of het er precies 40 zijn.
    [ code verwijderd ]
    wat een lelijke while lus. Als je een teller hebt dan maak je een for lus, geen while lus,

    mensen, session_destroy() is natuurlijk het mooiste, waarom iets maken als het er al inzit
    super-muffindonderdag 18 januari 2007 @ 11:06
    quote:
    Op donderdag 18 januari 2007 10:48 schreef hornage het volgende:

    [..]

    wat een lelijke while lus. Als je een teller hebt dan maak je een for lus, geen while lus,

    mensen, session_destroy() is natuurlijk het mooiste, waarom iets maken als het er al inzit
    Oke, dan weet ik dat
    Ik ben nog maar een n00b hé.
    Xtr3mEdonderdag 18 januari 2007 @ 11:34
    oke misschien een noob vraag:

    Ik heb een variabele $tekst die er zo uitziet:

    1
    2
    3
    4
    5
    6
    7
    titel

    regel 1

    2

    eind


    Dus inclusief enters en lege regels.

    Als ik dit wil echo-en komt alles achterelkaar op 1 regel.

    Als ik dit in een textarea echo dan is het wél goed.

    Dus hoe kan ik deze op een gewone pagina correct echo-en??
    Tijndonderdag 18 januari 2007 @ 11:39
    Daar is nl2br() voor.
    Xtr3mEdonderdag 18 januari 2007 @ 11:47
    thx het werkt
    markiemarkdonderdag 18 januari 2007 @ 12:32
    quote:
    Op donderdag 18 januari 2007 00:20 schreef markiemark het volgende:

    [..]

    hehe geeft inderdaad dezelfde fout als ik de 0 weg laat..
    het moet toch wel mogelijk zijn om betrekkelijk eenvoudig bestanden te kopieren op een windows server?
    ok, toch even iets anders bedacht. werk nu op een server waar wel linux en apache draait.. 8-)
    maar krijg wel een andere fout!
    1Warning: copy(gallery/winter/): failed to open stream: Is a directory in /www/htdocs/pixion/foto/index.php on line 67
    Tijndonderdag 18 januari 2007 @ 12:34
    Ik denk dat het copy-commando alleen bestanden kopieert, geen directories.
    hornagedonderdag 18 januari 2007 @ 12:36
    nou, wat staat er op regel 67. Lijkt mij dat je een dir benadert alsof het een file is nl
    markiemarkdonderdag 18 januari 2007 @ 12:38
    quote:
    Op donderdag 18 januari 2007 12:34 schreef Tijn het volgende:
    Ik denk dat het copy-commando alleen bestanden kopieert, geen directories.
    hij hoeft ook geen directory te kopieren, ik geef alleen aan waar deze naartoe gekopieerd moet worden. mapstructuur is als volgt

    -/files
    -/gallery
    ----/album1
    --------/thumbs
    --------/images
    --------bestand.xml

    wanneer er een nieuwe gallery wordt aangemaakt, wordt er in de map gallery een map aangemaakt, inclusief de twee submappen. dat gaat allemaal goed.
    het punt is dat het bestand (bestand.xml) waarvan het origineel in /files staat gekopieerd moet worden naar de nieuwe map (/album1). dit werkt alleen niet, krijg ik die fout..
    mscholdonderdag 18 januari 2007 @ 12:38
    quote:
    Op donderdag 18 januari 2007 12:34 schreef Tijn het volgende:
    Ik denk dat het copy-commando alleen bestanden kopieert, geen directories.
    http://www.w3schools.com/php/func_filesystem_copy.asp

    http://www.visible-form.com/blog/copy-directory-in-php/
    markiemarkdonderdag 18 januari 2007 @ 12:41
    quote:
    Op donderdag 18 januari 2007 12:38 schreef markiemark het volgende:

    [..]

    hij hoeft ook geen directory te kopieren, ik geef alleen aan waar deze naartoe gekopieerd moet worden. mapstructuur is als volgt

    -/files
    -/gallery
    ----/album1
    --------/thumbs
    --------/images
    --------bestand.xml

    wanneer er een nieuwe gallery wordt aangemaakt, wordt er in de map gallery een map aangemaakt, inclusief de twee submappen. dat gaat allemaal goed.
    het punt is dat het bestand (bestand.xml) waarvan het origineel in /files staat gekopieerd moet worden naar de nieuwe map (/album1). dit werkt alleen niet, krijg ik die fout..
    wacht even, had een klein foutje gemaakt... :@
    ik deed dit:
    1copy("files/gallery.xml", $new_dir);


    moest natuurliijk dit zijn:
    1copy("files/gallery.xml", $new_dir."/gallery.xml");


    voorlopig werkt dit op mijn remote server, maar heb dit het liefst ook op een windows server draaien, maar dat werkt niet.. :(
    markiemarkdonderdag 18 januari 2007 @ 12:46
    Shit hee, dat was dus ook gewoon het probleem op de windows server.. ik ben zo'n lul!!!
    hornagedonderdag 18 januari 2007 @ 12:53
    mooi dat je het zelf zegt
    Ahjoh, hoort erbij. Das programmeren/ontwikkelen/scripten
    markiemarkdonderdag 18 januari 2007 @ 12:58
    quote:
    Op donderdag 18 januari 2007 12:53 schreef hornage het volgende:
    mooi dat je het zelf zegt
    Ahjoh, hoort erbij. Das programmeren/ontwikkelen/scripten
    wie mij neer wil slaan, mag dat nu doen!

    gisteren vanaf 23.00 tot 2.00 zitten kutten met chmod rechten en zo..
    en nu zie ik het binnen drie minuten!
    super-muffindonderdag 18 januari 2007 @ 13:22
    Ik heb een formulier dat ik wil beschermen tegen spambots.

    Dit is een deel uit het script.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    //arrays
    $getallen = array("nul", "een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen");
    $plusmin = array("plus", "min");
    //randomizen
    $getal1 = rand(1, 9);
    $getal2 = rand(0, $getal1-1);
    $plusofmin = rand(0, 1);

    //de sommen
    if($plusofmin == "0") $antwoord = $getal1+$getal2;
    elseif(
    $plusofmin == "1") $antwoord = $getal1-$getal2;

    echo
    $getallen[$getal1]." ".$plusmin[$plusofmin]." ".$getallen[$getal2]." is:";
    ?>

    en dan een een deel van het formulier:
    1
    2
    <form method="post" action=""><input type="text" name="antwoord" />
    <input type="hidden" name="goed" value="<? echo $antwoord ?>" /><br><br><input type="submit" value="Plaats bericht" /></form>


    maar nu vraag ik mij af, is dat wel zo veilig tegen spambots met dat hidden input element? Kan ik het anders oplossen of moet ik toch iets anders proberen?
    ralfiedonderdag 18 januari 2007 @ 16:59
    ik denk dat een beetje spambot wel naar dit soort hidden inputs zal kijken, en misschien wel kopieren.

    Wat je beter kunt doen is het antwoord in een sessie opslaan, en die dan controleren

    Ik heb dit systeem nog nergens gezien, dat geeft je wat meer kans dat een spambot het niet zo snel zal kraken. Mocht dit wel zo zijn, is het natuurlijk maar een vrij zwak systeem omdat een bot snel genoeg geprogrammeerd is om deze codes te herkennen (en ze worden eerder geprogrammeerd dit te kunnen als het systeem vaker voorkomt).
    super-muffindonderdag 18 januari 2007 @ 17:12
    Oh ja, daar heb ik nog niet aan gedacht.
    Ik ben ook nog maar 1 dag bezig met sessies namelijk.
    Swetseneggerdonderdag 18 januari 2007 @ 17:19
    kijk gewoon naar een captcha
    Chandlerdonderdag 18 januari 2007 @ 18:54
    Tja maar ook door Captcha komen spambots heen heb zelf nog geen versie gevonden die écht spambots tegenhoud
    CraZaaydonderdag 18 januari 2007 @ 19:24
    quote:
    Op donderdag 18 januari 2007 18:54 schreef Chandler het volgende:
    Tja maar ook door Captcha komen spambots heen heb zelf nog geen versie gevonden die écht spambots tegenhoud
    Uit een goeie captcha kunnen ze nog steeds geen code afleiden volgens mij?
    fokME2donderdag 18 januari 2007 @ 19:42
    Hahaha, mijn spambeveiliging werkt nogsteeds. Gewoon een fixed vraag met "Welke kleur heeft een gele banaan?". Laat die eventueel nog cyclen met "Welke kleur heeft een groene appel?" etc, en volgens mij zit je veilig
    ralfiedonderdag 18 januari 2007 @ 20:17
    quote:
    Op donderdag 18 januari 2007 19:42 schreef fokME2 het volgende:
    Hahaha, mijn spambeveiliging werkt nogsteeds. Gewoon een fixed vraag met "Welke kleur heeft een gele banaan?". Laat die eventueel nog cyclen met "Welke kleur heeft een groene appel?" etc, en volgens mij zit je veilig
    idd. Ik denk dat je snel veilig zit, zolang je systeem maar niet te veel gebruikt wordt op andere plaatsen. Simpele vragen als "kopieer het adres vanuit de adresbalk in dit textvak","welke groente vind je meestal in worteltjestaart","welk apparaat zie je op bovenstaand figuur"(met een plaatje van een trein oid) willen het wel eens beter doen als ingewikkelde plaatjes met cijfers en kleurtjes die je moet gaan overtypen.
    CraZaaydonderdag 18 januari 2007 @ 20:19
    quote:
    Op donderdag 18 januari 2007 19:42 schreef fokME2 het volgende:
    Hahaha, mijn spambeveiliging werkt nogsteeds. Gewoon een fixed vraag met "Welke kleur heeft een gele banaan?". Laat die eventueel nog cyclen met "Welke kleur heeft een groene appel?" etc, en volgens mij zit je veilig
    Ik heb zoiets ook ooit gemaakt voor een gratis e-maildienst a la Hotmail om Nigeriaanse scammers buiten te houden. Waren 100 vragen waarvan je er bij registratie 2 goed moest beantwoorden (bij 1 fout kwam er een derde voor de herkansing). Multiple choice, met voor iedere vraag 6 foute antwoorden en 2 goede, waarvan at random 3 foute en 1 goede getoond werden als opties.

    Omdat dit niet om bots ging maar om mensen van vlees en bloed die geen Nederlands spraken, was dit de enige echt oplossing. Maar tegen spambots werkt het ook uiteraard, al is het daar een beetje overkill voor.
    JeRadonderdag 18 januari 2007 @ 22:19
    Het is toch jammer dat we de legitieme bezoekers moeten gaan lastigvallen met dat soort vragen en CAPTCHA's terwijl we eigenlijk de instanties die niets aan de spammers en scammers doen zouden moeten afstraffen. Niet realistisch, maar wat mij betreft mogen ISPs en hosting providers wel eens gaan samenwerken om diverse subnets stelselmatig toegang te weigeren tot de Nederlandsche netwerken.
    Swetseneggerdonderdag 18 januari 2007 @ 22:27
    quote:
    Op donderdag 18 januari 2007 22:19 schreef JeRa het volgende:
    Het is toch jammer dat we de legitieme bezoekers moeten gaan lastigvallen met dat soort vragen en CAPTCHA's terwijl we eigenlijk de instanties die niets aan de spammers en scammers doen zouden moeten afstraffen. Niet realistisch, maar wat mij betreft mogen ISPs en hosting providers wel eens gaan samenwerken om diverse subnets stelselmatig toegang te weigeren tot de Nederlandsche netwerken.
    Chandlervrijdag 19 januari 2007 @ 09:22
    Het blijft vervelend dat we inderdaad Captcha's moeten blijven gebruiken maar het probleem blijft nu eenmaal dat er ook een hoop spambots zijn, en dat kan het voor genoeg gebruikers vergallen om nog op je website te komen...
    JeRavrijdag 19 januari 2007 @ 14:02
    quote:
    Op vrijdag 19 januari 2007 09:22 schreef Chandler het volgende:
    Het blijft vervelend dat we inderdaad Captcha's moeten blijven gebruiken maar het probleem blijft nu eenmaal dat er ook een hoop spambots zijn, en dat kan het voor genoeg gebruikers vergallen om nog op je website te komen...
    Dat is nog geen reden om de gebruikers aan te pakken. Je zou bijvoorbeeld ook geposte berichten door spamassassin kunnen jagen en berichten met een te hoog spamgehalte weigeren. De versimpelde versie; berichten met teveel 'slechte' woorden een foutmelding geven.

    De overige posts die door het systeem heen glippen kun je alsnog verwijderen en je spamdetectie zo aanpassen dat die posts ook worden tegengehouden.
    Swetseneggervrijdag 19 januari 2007 @ 14:51
    quote:
    Op vrijdag 19 januari 2007 14:02 schreef JeRa het volgende:

    [..]

    Dat is nog geen reden om de gebruikers aan te pakken. Je zou bijvoorbeeld ook geposte berichten door spamassassin kunnen jagen en berichten met een te hoog spamgehalte weigeren. De versimpelde versie; berichten met teveel 'slechte' woorden een foutmelding geven.

    De overige posts die door het systeem heen glippen kun je alsnog verwijderen en je spamdetectie zo aanpassen dat die posts ook worden tegengehouden.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     $verboden
    = array('airline','airplane','anal','asian','bikini','blogspot','bloggen','bridgestone','buy','butt','car','carisoprodol','card'
    ,'casino','cash','cheap','cheep','click','Content-Type','cool','credit','cqq','debt','derf','diet','discount','empire','estate','facial','flight',
    'flights','free','funding','furniture','gallery','gay','girl','generic','goodyear','handbag','handjob','hardcore','have','hot','hold',
    'hydrocodone','infogami','insurance','invited','lolita','loans','loan','mature','milf','mobile','modular','morgage','multipart/mixed;'
    ,'mustang','naked','nice','nothing','oil','order','pharmacy','photo','picture','pizza','prescription','projector','poker','porn','quick'
    ,'ringtones','ringtone','.ru','russian','roulette','sales','search','sex','soft','string','stud','squirt','television','texas','ticket','tire',
    'tires','topless','tramadol','try','tv','ultram','urlcutter','valium','very','viagra','voyeur','wallpaper','welcome','you');
    ?>


    en de lijst werd langer en langer. Pas na een captcha EN deze lijst EN een ip banlist is het redelijk spamvrij. Het zou makkelijk zijn als er taal herkenning module was. Dan weer je gewoon engelse berichten.
    HuHuvrijdag 19 januari 2007 @ 15:13
    quote:
    Op vrijdag 19 januari 2007 14:51 schreef Swetsenegger het volgende:

    [..]
    [ code verwijderd ]

    en de lijst werd langer en langer. Pas na een captcha EN deze lijst EN een ip banlist is het redelijk spamvrij. Het zou makkelijk zijn als er taal herkenning module was. Dan weer je gewoon engelse berichten.
    Taalherkenning is vrij accuraat toe te passen door te scannen op het aantal voorkomens van elke letter. De Nederlandse en Engelse taal verschillen daarin dusdanig dat vrij nauwkeurig gezegt kan worden of een tekst Nederlands of Engels is.

    Zie: http://www.cs.uu.nl/docs/vakken/imp/. Bij college's ga je naar week 43, hoofdstuk 14.3. Dat is een college over Automatische Taalherkenning. Je kan ook het dictaat downloaden van die site, waarin dacht ik de broncode van het programma ook staat uitgelegd.

    Het algoritme is in Java, maar je kan het ook wel omzetten naar PHP. Het gaat er dus om dat je het programma voert met een voorbeeld teksten in elke taal. Daarvan de voorkomens van elke letter turfen. Vervolgens scan je de echte tekst en turf je ook het aantal voorkomens. Vervolgens ga je die vergelijken met de voorbeeldteksten en kun je vrij nauwkeurig bepalen welke taal je invoer is.
    super-muffinvrijdag 19 januari 2007 @ 15:15
    Engelse berichten weigeren in mijn website is niet handig, aangezien ik ook Engelstalige bezoekers krijg.
    Swetseneggervrijdag 19 januari 2007 @ 15:22
    quote:
    Op vrijdag 19 januari 2007 15:13 schreef HuHu het volgende:

    [..]

    Taalherkenning is vrij accuraat toe te passen door te scannen op het aantal voorkomens van elke letter. De Nederlandse en Engelse taal verschillen daarin dusdanig dat vrij nauwkeurig gezegt kan worden of een tekst Nederlands of Engels is.

    Zie: http://www.cs.uu.nl/docs/vakken/imp/. Bij college's ga je naar week 43, hoofdstuk 14.3. Dat is een college over Automatische Taalherkenning. Je kan ook het dictaat downloaden van die site, waarin dacht ik de broncode van het programma ook staat uitgelegd.

    Het algoritme is in Java, maar je kan het ook wel omzetten naar PHP. Het gaat er dus om dat je het programma voert met een voorbeeld teksten in elke taal. Daarvan de voorkomens van elke letter turfen. Vervolgens scan je de echte tekst en turf je ook het aantal voorkomens. Vervolgens ga je die vergelijken met de voorbeeldteksten en kun je vrij nauwkeurig bepalen welke taal je invoer is.
    Ik heb een fucking gastenboekje op mijn hoompeets... dit is misschien een brug te ver, ze krijgen wel een captcha voorgeschoteld

    Nee interessant, ik ga het zeker lezen.
    JeRavrijdag 19 januari 2007 @ 15:43
    quote:
    Op vrijdag 19 januari 2007 14:51 schreef Swetsenegger het volgende:

    [..]
    [ code verwijderd ]

    en de lijst werd langer en langer. Pas na een captcha EN deze lijst EN een ip banlist is het redelijk spamvrij. Het zou makkelijk zijn als er taal herkenning module was. Dan weer je gewoon engelse berichten.
    Maar dat is niet helemaal wat ik bedoel. Je hebt bijvoorbeeld ook open source implementaties van spam detectie met Bayes learning, zodat je zelf bijvoorbeeld echte spamberichten kunt laten 'leren' detecteren. Dat soort detectiealgoritmes worden bv. ook in het spamfilter van Mozilla Thunderbird gebruikt, en die kreeg ik tot zo'n 95% effectief. Voor die 5%, tja, ik heb liever 5% spam die ik moet opruimen dan 100% bezoekers die ik moet hinderen
    ralfievrijdag 19 januari 2007 @ 15:45
    En dat is dan weer het voordeel als je je gebruikers in laat loggen, je hoeft ze eigenlijk alleen bij het registreren lastig te vallen met een captha of iets dergelijks. Ik kan me niet voorstellen dat voor die ene keer iemand dat hinderlijk vindt...Lijkt me erger als ze posts moeten gaan herschrijven omdat er een verboden woord instaat ofzo.
    JeRavrijdag 19 januari 2007 @ 15:55
    quote:
    Op vrijdag 19 januari 2007 15:45 schreef ralfie het volgende:
    En dat is dan weer het voordeel als je je gebruikers in laat loggen, je hoeft ze eigenlijk alleen bij het registreren lastig te vallen met een captha of iets dergelijks. Ik kan me niet voorstellen dat voor die ene keer iemand dat hinderlijk vindt...Lijkt me erger als ze posts moeten gaan herschrijven omdat er een verboden woord instaat ofzo.
    Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjes
    HuHuvrijdag 19 januari 2007 @ 15:58
    quote:
    Op vrijdag 19 januari 2007 15:55 schreef JeRa het volgende:

    [..]

    Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjes
    Maar daarvoor heb je dan weer de activatie van een registratie door een admin. Zodat die een handmatige controle kan uitvoeren. Meestal zie je aan het mailadres al snel genoeg of het een spammer is of niet.
    ralfievrijdag 19 januari 2007 @ 16:06
    quote:
    Op vrijdag 19 januari 2007 15:55 schreef JeRa het volgende:

    [..]

    Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjes
    true, maar dat soort users merk je snel genoeg op, en het is niet zodanig massaal dat je die als admin niet zomaar op kunt ruimen. Temninste, ik heb nog geen enkel forum gezien waar nigeriaanse stamspam overvloedig was
    JeRavrijdag 19 januari 2007 @ 16:54
    Tja, als je dan toch aan registratie gaat doen vind ik niet dat je users moet laten wachten op handmatige activatie door een admin. En als je dan toch users moet gaan opruimen kun je net zo goed dat beetje spam dat er doorheen komt en de daaraan gekoppelde users opruimen, want ik gok dat je het niet altijd aan het mailadres kunt zien
    wobbelvrijdag 19 januari 2007 @ 16:58
    Hoe zorg ik ervoor dat de laatste 10 tekens van een string met onbekende lengte worden verwijderd?

    En de eerste 10 tekens? < substr ( $string, 10 );
    fatevrijdag 19 januari 2007 @ 18:07
    quote:
    Op vrijdag 19 januari 2007 16:58 schreef wobbel het volgende:
    Hoe zorg ik ervoor dat de laatste 10 tekens van een string met onbekende lengte worden verwijderd?

    En de eerste 10 tekens? < substr ( $string, 10 );
    Werk hier wat mee voor het eerste, het tweede ongeveer analoog
    1
    2
    3
    4
    5
    6
    <?php
    $str
    = 'abcdefghijklmnopqrstuvwxyz';
    $lengte = strlen($str);
    $min_lengte = $lengte - 10;
    echo
    substr($str, 0, $min_lengte);    
    ?>
    Swetseneggervrijdag 19 januari 2007 @ 18:18
    Hoe kan ik sender in de mail header aanpassen? gewoon sender: <mail adres>?
    Swetseneggervrijdag 19 januari 2007 @ 18:19
    quote:
    Op vrijdag 19 januari 2007 15:43 schreef JeRa het volgende:

    [..]

    Maar dat is niet helemaal wat ik bedoel. Je hebt bijvoorbeeld ook open source implementaties van spam detectie met Bayes learning, zodat je zelf bijvoorbeeld echte spamberichten kunt laten 'leren' detecteren. Dat soort detectiealgoritmes worden bv. ook in het spamfilter van Mozilla Thunderbird gebruikt, en die kreeg ik tot zo'n 95% effectief. Voor die 5%, tja, ik heb liever 5% spam die ik moet opruimen dan 100% bezoekers die ik moet hinderen
    quote:
    Op vrijdag 19 januari 2007 15:22 schreef Swetsenegger het volgende:

    [..]

    Ik heb een fucking gastenboekje op mijn hoompeets... dit is misschien een brug te ver, ze krijgen wel een captcha voorgeschoteld
    HuHuvrijdag 19 januari 2007 @ 18:34
    quote:
    Op vrijdag 19 januari 2007 18:18 schreef Swetsenegger het volgende:
    Hoe kan ik sender in de mail header aanpassen? gewoon sender: <mail adres>?
    1
    2
    From: "HuHu HuHu" <huhu@huhu.hu>
    Reply-To: "HuHu HuHu" <huhu@huhu.hu>


    De Reply-To is niet verplicht dacht ik, maar kun je eventueel dus aanpassen mocht je de reply ergens anders naar toe willen hebben.
    Swetseneggervrijdag 19 januari 2007 @ 20:00
    quote:
    Op vrijdag 19 januari 2007 18:34 schreef HuHu het volgende:

    [..]
    [ code verwijderd ]

    De Reply-To is niet verplicht dacht ik, maar kun je eventueel dus aanpassen mocht je de reply ergens anders naar toe willen hebben.
    Nee, dit past dus de From: aan, maar niet Sender.
    HuHuvrijdag 19 januari 2007 @ 20:15
    Ah, foutje.
    quote:
    Sender: This header is unusual in email (X-Sender: is usually used instead), but appears occasionally, especially in copies of Usenet posts. It should identify the sender; in the case of Usenet posts, it is a more reliable identifier than the From: line.
    X-Sender: The usual email analogue to the Sender: header in Usenet news, this header purportedly identifies the sender with greater reliability than the From: header. In fact, it is nearly as easy to forge, and should therefore be viewed with the same sort of suspicion as the From: header.
    Je zou dus gewoon Sender: kunnen gebruiken als header.
    slakkiezaterdag 20 januari 2007 @ 13:31
    Fout in preg_replace
    quote:
    Op zaterdag 20 januari 2007 13:26 schreef Pelgrim het volgende:
    Ik heb een foutje zitten in een preg_replace. Maar ik kan hem niet vinden.

    1
    2
    3
    4
    <?php
    $input 
    preg_replace("_\[quote=(.*?)\](.*?)\[\/quote\]_ise",
      
    "$this->quotebox( '$1', '$2' )"$input); 
    ?>


    Ik vermoed zelf dat het ligt aan het tweede veld van de functie.
    JeRazaterdag 20 januari 2007 @ 14:58
    @Pelgrim

    Waarom escape je de forwardslash? Als je de U-modifier toevoegt hoef je niet overal de greediness te negaten (dan kun je dus .*? schrijven als .*). Verder is het wel handig om te weten waar je op matcht en wat er zou moeten gebeuren, en wat er eventueel al gebeurt.
    Swetseneggerzaterdag 20 januari 2007 @ 15:01
    zo te zien wil hij [quote=naam]de quote[/quote] patronen herkennen waarbij hij de naam en de quote wil hebben
    JeRazaterdag 20 januari 2007 @ 15:11
    quote:
    Op zaterdag 20 januari 2007 15:01 schreef Swetsenegger het volgende:
    zo te zien wil hij [quote=naam]de quote[/qote] patronen herkennen waarbij hij de naam en de quote wil hebben
    Dat snap ik, maar misschien wil hij wel iets compleets anders, weten wij veel.

    Overigens denk ik dat het probleem ligt bij $this die in die doublequoted string wordt geparsed een backslash voor dat dollarteken zal misschien al wat helpen.
    BlueCurlzaterdag 20 januari 2007 @ 17:09
    probleempje ik had mysql 4.(x) nu heb ik mysql 5.0 geinstalleerd enkel het probleem is dat als ik de PK aangeef dat ie gewoon NOT NULL moet zijn dat ie dat niet doet. Daarnaast werkt AUTO INCREMENT dus niet.. die geeft errors als ik record toevoeg. En als ik het wil aanpassen kan ik dat gewoon doen netzoals me create met NOT NULL maar dan blijft ie gewoon NULL weergeven na de query..



    iemand een idee hoe dit te verhelpen is?
    JeRazaterdag 20 januari 2007 @ 17:40
    quote:
    Op zaterdag 20 januari 2007 17:09 schreef BlueCurl het volgende:
    probleempje ik had mysql 4.(x) nu heb ik mysql 5.0 geinstalleerd enkel het probleem is dat als ik de PK aangeef dat ie gewoon NOT NULL moet zijn dat ie dat niet doet. Daarnaast werkt AUTO INCREMENT dus niet.. die geeft errors als ik record toevoeg. En als ik het wil aanpassen kan ik dat gewoon doen netzoals me create met NOT NULL maar dan blijft ie gewoon NULL weergeven na de query..

    [afbeelding]

    iemand een idee hoe dit te verhelpen is?
    REPAIR TABLE {tabelnaam} en de laatste versie van PMA gebruiken (als je die niet al had)?
    BlueCurlzaterdag 20 januari 2007 @ 18:14
    geen idee welke versie ik heb van PMA. iig niet de nieuwste gok ik zo. ga dat eens proberen tnx iig!

    edit1
    versie 2.9.2 nu ernaast en me tabellen zijn weer zoals ze waren.. met not null erbij! alles werkt weer bedankt!

    edit2:
    nu krijg ik nog steeds error wat denk ik met auto increment te maken heeft!

    deze tabell:


    met deze query:
    INSERT INTO server VALUES ('','24.132.29.55','2007-01-20 18:41:12');

    Geeft deze error:


    heb autoincrement op 100 gezet daar is die nog niet voorbij geweest! en hij staat gewoon op auto increment... waarom gaat eie nu de fout in?

    Ik heb het bij elke tabel.. terwijl ik het bij de vorige versie en online bij mijn host provider het niet heb...

    [ Bericht 32% gewijzigd door BlueCurl op 20-01-2007 18:52:33 ]
    CraZaayzaterdag 20 januari 2007 @ 19:13
    Je probeert een lege string te gebruiken als serid zo te zien? Moet je deze niet gewoon leeg laten?
    fatezaterdag 20 januari 2007 @ 19:28
    Probeer dit eens?;

    INSERT INTO server SET serip = '24.132.29.55', serdateadded = '2007-01-20 18:41:12'
    of
    INSERT INTO server SET serip = '24.132.29.55', serdateadded = NOW()
    CraZaayzaterdag 20 januari 2007 @ 19:41
    quote:
    Op zaterdag 20 januari 2007 19:28 schreef fate het volgende:
    Probeer dit eens?;

    INSERT INTO server SET serip = '24.132.29.55', serdateadded = '2007-01-20 18:41:12'
    of
    INSERT INTO server SET serip = '24.132.29.55', serdateadded = NOW()
    Is dat correcte syntax voor een insert?

    Moet het niet dit zijn:
    INSERT INTO server (serip, serdateadded) VALUES ('24.132.29.55', '2007-01-20 18:41:12')
    JeRazaterdag 20 januari 2007 @ 20:08
    quote:
    Op zaterdag 20 januari 2007 19:13 schreef CraZaay het volgende:
    Je probeert een lege string te gebruiken als serid zo te zien? Moet je deze niet gewoon leeg laten?
    Je moet hem inderdaad niet opnemen in de kolomlijst in een INSERT-query, of NULL meegeven.
    quote:
    Op zaterdag 20 januari 2007 19:41 schreef CraZaay het volgende:

    [..]

    Is dat correcte syntax voor een insert?

    Moet het niet dit zijn:
    INSERT INTO server (serip, serdateadded) VALUES ('24.132.29.55', '2007-01-20 18:41:12')
    Vziw mag het allebei in MySQL.
    fatezaterdag 20 januari 2007 @ 20:42
    quote:
    Op zaterdag 20 januari 2007 20:08 schreef JeRa het volgende:

    [..]

    Je moet hem inderdaad niet opnemen in de kolomlijst in een INSERT-query, of NULL meegeven.
    [..]

    Vziw mag het allebei in MySQL.
    Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vinden .
    JeRazaterdag 20 januari 2007 @ 20:46
    quote:
    Op zaterdag 20 januari 2007 20:42 schreef fate het volgende:

    [..]

    Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vinden .
    Wat is er precies makkelijker aan en over welke overeenkomstige waarden heb je het?
    ChOaszaterdag 20 januari 2007 @ 20:49
    quote:
    Op zaterdag 20 januari 2007 20:42 schreef fate het volgende:

    [..]

    Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vinden .
    En eenvoudiger om een SQL-injection uit te voeren.