FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 20
Swetseneggermaandag 23 januari 2006 @ 11:55

cd niet bijgeleverd

Vorige delen:
[PHP] voor dummies - Deel 1
[PHP] voor dummies - Deel 2
[PHP] voor dummies - Deel 3
[PHP] voor dummies - Deel 4
[PHP] voor dummies - Deel 5
[PHP/(My)SQL] voor dummies - Deel 6
[PHP/(My)SQL] voor dummies - Deel 7
[PHP/(My)SQL] voor dummies - Deel 8
[PHP/(My)SQL] voor dummies - Deel 9
[PHP/(My)SQL] voor dummies - Deel 10
[PHP/(My)SQL] voor dummies - Deel 11
[PHP/(My)SQL] voor dummies - Deel 12
[PHP/(My)SQL] voor dummies - Deel 13
[PHP/(My)SQL] voor dummies - Deel 14
[PHP/(My)SQL] voor dummies - Deel 15
[PHP/(My)SQL] voor dummies - Deel 16
[PHP/(My)SQL] voor dummies - Deel 17
[PHP/(My)SQL] voor dummies - Deel 18
[PHP/(My)SQL] voor dummies - Deel 19

Zie ook:
  • PHP Dataverwerking
  • Officiële PHP website
  • PHP Documentatie
  • MySQL Reference Manual
  • Yet Another PHP Faq
  • PHP Cheat Sheet

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • the_disheavermaandag 23 januari 2006 @ 12:16
    hoi!

    tvp dus

    Deel 20 alweer
    Desdinovamaandag 23 januari 2006 @ 12:21
    quote:
    Op maandag 23 januari 2006 12:16 schreef the_disheaver het volgende:
    hoi!

    tvp dus

    Deel 20 alweer
    eensch.


    kan je een $string niet-overschrijfbaar maken voor die pageload?

    dus
    $string = "bla";

    bescherm($string); (ofzo )

    en dat
    $string = "bla2";

    dan niet meer werkt?
    the_disheavermaandag 23 januari 2006 @ 12:23
    quote:
    Op maandag 23 januari 2006 12:21 schreef Desdinova het volgende:

    [..]

    eensch.


    kan je een $string niet-overschrijfbaar maken voor die pageload?

    dus
    $string = "bla";

    bescherm($string); (ofzo )

    en dat
    $string = "bla2";

    dan niet meer werkt?
    kun je niet isset() gebruiken?

    En misschien een functie ervan maken om wat typewerk te voorkomen?
    Roonaanmaandag 23 januari 2006 @ 12:25
    define('my_define', 'bla')
    SuperRembomaandag 23 januari 2006 @ 12:25
    quote:
    Op maandag 23 januari 2006 11:51 schreef Tokus het volgende:
    Waarom wordt er door de mensen hier die mysql'en zovaak nadrukkelijk een inner join aangegeven zoals hierboven ("inner join user u on i.userid = u.userid") ?

    Dat kan toch ook gewoon door 2 tabellen te noemen en in je where-clause ze te verbinden?
    Omdat de query veel overzichtelijker wordt. Je ziet in een oogopslag hoe de tabellen gejoined worden (inner/left/right) en met welke velden (userID, locationID) en welke condities alleen het resultaat filteren. Zeker als er veel tabellen in de query staan of als er op meerdere kolommen wordt gejoind dan wordt de notatie zonder joins snel een onoverzichtelijke lijst met condities.

    Vergelijk

    1
    2
    3
    4
    5
    SELECT i.info, u.name, l.location,
    FROM information i
    INNER JOIN users u ON i.userID = u.userID
    INNER JOIN locations l ON i.locationID = l.locationID 
    WHERE i.infoID = $id 

    met

    1
    2
    3
    4
    5
    SELECT i.info, u.name, l.location,
    FROM information i, users u, locations l
    WHERE i.infoID = $id 
       AND i.userID = u.userID
       AND i.locationID = l.locationID 

    Met left outer joins wordt het nog onduidelijker

    1
    2
    3
    4
    5
    SELECT i.info, u.name, l.location,
    FROM information i, users u, locations l
    WHERE i.infoID = $id 
       AND i.userID *= u.userID
       AND i.locationID *= l.locationID 
    ViPeRIImaandag 23 januari 2006 @ 12:31
    Kan je dit nog iets verder verklaren?
    Volgens mij is een $string altijd overschrijfbaar?
    Desdinovamaandag 23 januari 2006 @ 12:33
    daar was k al bang voor ja
    Roonaanmaandag 23 januari 2006 @ 12:34
    quote:
    Op maandag 23 januari 2006 12:31 schreef ViPeRII het volgende:
    Kan je dit nog iets verder verklaren?
    Volgens mij is een $string altijd overschrijfbaar?
    maar een define niet.
    Desdinovamaandag 23 januari 2006 @ 12:37
    quote:
    Op maandag 23 januari 2006 12:34 schreef Ro�a� het volgende:

    [..]

    maar een define niet.
    ook niet zo:

    define ("string", "bla");
    define ("string", "bla2");

    ?
    freissmaandag 23 januari 2006 @ 12:41
    tvp
    Roonaanmaandag 23 januari 2006 @ 12:41
    quote:
    Op maandag 23 januari 2006 12:37 schreef Desdinova het volgende:

    [..]

    ook niet zo:

    define ("string", "bla");
    define ("string", "bla2");

    ?
    nee.
    Swetseneggermaandag 23 januari 2006 @ 12:43
    Ik ben alweer anderhalf jaar aan het PHP'en
    JeRamaandag 23 januari 2006 @ 14:07
    quote:
    Op maandag 23 januari 2006 12:41 schreef Ro�a� het volgende:

    [..]

    nee.
    Je vergeet te iets te vertellen

    1
    2
    3
    define('CONSTANTE', 'blaat');

    echo CONSTANTE;  //zonder de $
    JeRamaandag 23 januari 2006 @ 14:10
    quote:
    Op maandag 23 januari 2006 12:25 schreef SuperRembo het volgende:

    [..]

    Omdat de query veel overzichtelijker wordt. Je ziet in een oogopslag hoe de tabellen gejoined worden (inner/left/right) en met welke velden (userID, locationID) en welke condities alleen het resultaat filteren. Zeker als er veel tabellen in de query staan of als er op meerdere kolommen wordt gejoind dan wordt de notatie zonder joins snel een onoverzichtelijke lijst met condities.

    ...
    Ik geloof zelfs dat een JOIN intern sneller is dan een WHERE-clause in MySQL. Een WHERE-clausule wordt namelijk ná het maken van een resultset toegepast, in het geval van een WHERE-join dus nadat álle rijen met álle andere rijen zijn 'verbonden'. Een JOIN zal al vanaf het begin een restrictie toepassen waarna alsnog een WHERE-clausule kan worden toegepast.

    Waarschijnlijk zal MySQL dit tegenwoordig optimaliseren, maar het was voor mij wel één van de redenen om JOINs te gaan gebruiken.
    Desdinovamaandag 23 januari 2006 @ 15:36
    quote:
    Op maandag 23 januari 2006 14:07 schreef JeRa het volgende:

    [..]

    Je vergeet te iets te vertellen
    [ code verwijderd ]
    ik zag t al op php.net


    nog ff n vraagje,

    wat is de beste manier om te voorkomen/checken of inputfields leeg zijn?
    Da_Koenmaandag 23 januari 2006 @ 15:50
    Ik heb ff een klein vraagje over meertalige websites.
    Stel ik heb de volgende code:
    1
    2
    3
    <?php
    echo "Beste " . $gebruiker . " op deze site " . $nogeenvar;
    ?>

    Stel ik zou de strings uit de database halen(voor meerdere talen), hoe zou ik zoiets dan het beste kunnen aanpakken?
    ikke_ookmaandag 23 januari 2006 @ 15:59
    Je zou een sessie variabele kunnen maken waar je de taal in opslaat en die gebruiken in je query, of een GET variabele in je url meegeven en die meegeven in je query.
    Da_Koenmaandag 23 januari 2006 @ 16:02
    Ja ok, dat had ik ook al bedacht. Mijn probleem zit um in de string zoals je hier boven ziet.
    Mijn pagina's zien er namelijk vooral zo uit. Dus dan zou ik voor "Beste " en " op deze site " en apart veld moeten maken in de database waardoor je foute zinsconstructies krijgt(al zeker als het alles gaat vertalen).

    Iemand die hier ervaging me heeft?
    Nevermindmaandag 23 januari 2006 @ 16:19
    1
    2
    3
    <?php
    define
    ( 'TVP', true );
    ?>
    HuHumaandag 23 januari 2006 @ 16:25
    quote:
    Op maandag 23 januari 2006 16:02 schreef Da_Koen het volgende:
    Ja ok, dat had ik ook al bedacht. Mijn probleem zit um in de string zoals je hier boven ziet.
    Mijn pagina's zien er namelijk vooral zo uit. Dus dan zou ik voor "Beste " en " op deze site " en apart veld moeten maken in de database waardoor je foute zinsconstructies krijgt(al zeker als het alles gaat vertalen).

    Iemand die hier ervaging me heeft?
    Dat kan zo:

    $tekst = "Beste [naam] op deze site [site].";
    $naam = "Jan";
    $site = "fok.nl";

    $tekst1 = str_replace("[naam]", $tekst, $naam);
    $tekst2 = str_replace("[site]", $tekst1, $site);
    echo $tekst2;

    Niet zo netjes, maar je snapt het idee wel denk ik.
    Da_Koenmaandag 23 januari 2006 @ 16:33
    Dat is idd wel een aardige oplossing, bedankt. Weet er misschien nog iemand anders een (minder omslachtige )oplossing hiervoor?
    JeRamaandag 23 januari 2006 @ 16:38
    quote:
    Op maandag 23 januari 2006 16:33 schreef Da_Koen het volgende:
    Dat is idd wel een aardige oplossing, bedankt. Weet er misschien nog iemand anders een (minder omslachtige )oplossing hiervoor?
    Ik stop vertalingen meestal niet in een database maar in aparte bestanden, voorbeeldje:
    1
    2
    $lang = array();
    $lang['welcome'] = 'Welkom %s!';

    1
    2
    $lang = array();
    $lang['welcome'] = 'Welcome, %s!';

    En dan include je het juiste taalbestand in je core, waarna je zoiets kunt doen:
    1printf($lang['welcome'], $naam);

    Maar er zijn natuurlijk nog veel meer manieren om het te doen
    Dizermaandag 23 januari 2006 @ 21:32
    Er werd mij verwezen om hierheen te komen ondanks dat het om een PERL vraagje gaat. Maar ja, PHP is geloof ik gebaseerd op PERL...

    Wat doe ik fout? Ik wil puur een aantal velden invoegen in de database..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/perl -w
    use DBI;
    use Mysql;

    $DBHOST = "localhost";
    $DBNAME = "test";
    $DBUSER = "root";
    $DBPASS = "root";

    $DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

    $qry = qq~INSERT INTO movie VALUES ("3", "blaat");

    $db->disconnect;


    Ik krijg steeds de foutmelding: Can't find string terminator "~" anywhere before EOF at db.pl line 12.
    Roonaanmaandag 23 januari 2006 @ 21:41
    quote:
    Op maandag 23 januari 2006 15:36 schreef Desdinova het volgende:

    [..]

    ik zag t al op php.net


    nog ff n vraagje,

    wat is de beste manier om te voorkomen/checken of inputfields leeg zijn?
    isset() incombinatie met empty() en eventueel preg_match
    JeRamaandag 23 januari 2006 @ 21:53
    quote:
    Op maandag 23 januari 2006 21:32 schreef Dizer het volgende:
    Er werd mij verwezen om hierheen te komen ondanks dat het om een PERL vraagje gaat. Maar ja, PHP is geloof ik gebaseerd op PERL...

    Wat doe ik fout? Ik wil puur een aantal velden invoegen in de database..
    [ code verwijderd ]

    Ik krijg steeds de foutmelding: Can't find string terminator "~" anywhere before EOF at db.pl line 12.
    Nou heb ik echt 0,0 verstand van Perl maar ik gok dat je een ~ moet plaatsen achter je query, afgaand op de foutmelding
    Dizermaandag 23 januari 2006 @ 22:08
    quote:
    Op maandag 23 januari 2006 21:53 schreef JeRa het volgende:

    [..]

    Nou heb ik echt 0,0 verstand van Perl maar ik gok dat je een ~ moet plaatsen achter je query, afgaand op de foutmelding
    Krijg nu de foutmelding:

    Name "main::qry" used only once: possible typo at db.pl line 12.
    JeRamaandag 23 januari 2006 @ 22:16
    quote:
    Op maandag 23 januari 2006 22:08 schreef Dizer het volgende:

    [..]

    Krijg nu de foutmelding:

    Name "main::qry" used only once: possible typo at db.pl line 12.
    Doe je verder nog iets met $qry? Want nu voer je namelijk niets uit je doet geen query, niets.
    Dizermaandag 23 januari 2006 @ 22:22
    quote:
    Op maandag 23 januari 2006 22:16 schreef JeRa het volgende:

    [..]

    Doe je verder nog iets met $qry? Want nu voer je namelijk niets uit je doet geen query, niets.
    Dit is alles wat ik heb staan, ik wil namelijk de query uitvoeren dat ie dus in de database gaat vullen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/usr/bin/perl -w
    use DBI;
    use Mysql;

    $DBHOST = "localhost";
    $DBNAME = "test";
    $DBUSER = "root";
    $DBPASS = "root";

    $DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

    $qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;

    $DB->disconnect();


    Ik wil dus als ik die db.pl script uitvoer, dat ie dus de database gaat vullen..
    Swetseneggermaandag 23 januari 2006 @ 22:27
    Bij PHP/MySQL moet je dan nog wel wat doen met die variabele $qry
    namelijk
    mysql_query($qry);

    Anders heb je namelijk alleen een var met een database pointer welke niet uitgevoerd wordt.

    Is dat in PERL ook niet zo. Kortom, moet je niet wat doen met $qry?

    -edit- zoiets
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/perl -w
    use DBI;
    use Mysql;

    $DBHOST = "localhost";
    $DBNAME = "test";
    $DBUSER = "root";
    $DBPASS = "root";

    $DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

    $qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
    $DB= mysql->query($qry);

    $DB->disconnect();
    Dizermaandag 23 januari 2006 @ 22:46
    Thx! Alleen krijg ik nu een foutmelding:

    Can't use string ("Mysql") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/Mysql.pm

    Swetseneggermaandag 23 januari 2006 @ 23:09
    quote:
    Op maandag 23 januari 2006 22:46 schreef Dizer het volgende:
    Thx! Alleen krijg ik nu een foutmelding:

    Can't use string ("Mysql") as a HASH ref while "strict refs" in use at C:/Perl/site/lib/Mysql.pm

    tja, dit lijkt me nu ook logischer, maar ja.... ik weet geen reet van PERL

    -edit- Wat gevonden op google

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/perl -w
    use DBI;
    use Mysql;

    $DBHOST = "localhost";
    $DBNAME = "test";
    $DBUSER = "root";
    $DBPASS = "root";

    $DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

    $qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
    my $in2 = $DB->prepare($qry);
    $in2->execute;
    $DB->disconnect();


    dit kan ook nog
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/usr/bin/perl -w
    use DBI;
    use Mysql;

    $DBHOST = "localhost";
    $DBNAME = "test";
    $DBUSER = "root";
    $DBPASS = "root";

    $DB = Mysql->connect($DBHOST, $DBNAME, $DBUSER, $DBPASS);

    $qry = qq~INSERT INTO movie VALUES ("3", "blaat")~;
    $DB->query($qry);

    $DB->disconnect();


    http://www.oreilly.com/catalog/msql/chapter/ch10.html

    [ Bericht 10% gewijzigd door Swetsenegger op 23-01-2006 23:15:25 ]
    Nevermindmaandag 23 januari 2006 @ 23:53
    Okay, deze snap ik even niet .

    1
    2
    3
    4
    echo $this -> filecontents . "<br>";
    $this -> formatted = explode( "\n", $this -> filecontents );
    print_r( $this -> formatted );
    die();


    output:
    1
    2
    3
    4
    5
    6
    7
    8
    bla

    die
    bla
    <br>Array
    (
        [0] => 
    )


    Er zitten enters in de output, dus waarom komt er niks in de array?
    In plaats van exploden op "\n" ook "\r\n", chr(10) en nog veel meer geprobeerd, maar het werkt niet. Wat mis ik?
    JeRadinsdag 24 januari 2006 @ 00:09
    @Nevermind

    Geen idee waar dat aan zou kunnen liggen. Sterker nog, hier werkt het perfect.

    Probeer eens de pointer vast te zetten aan de twee variabelen? Dus $this->filecontents ipv $this -> filecontents? Geen idee of het uitmaakt, wellicht is het een PHP bug.
    Neverminddinsdag 24 januari 2006 @ 00:27
    Zou misschien een bug kunnen zijn. Ik heb wel meer vage problemen op mijn thuisserver (w2k, php4.3.10), zoals deze die nog niet beantwoord is. Dat is ook iets wat gewoon behoord te werken, en wat op een Linux-installatie wel werkt. Ik gebruik mijn thuisserver om alles wat ik maak te testen, maar als ik zoveel vage fouten blijf houden waar ik veel te veel tijd mee kwijt ben is het niet echt praktisch meer

    spaties weg maakt overigens niet uit

    Wat dan wel weer apart is, is dat dit wel werkt:
    1
    2
    3
    4
    5
    6
    7
    8
    $str = "

    bla

    bla";

    $test = explode( "\n", $str );
    print_r( $test );


    1
    2
    3
    4
    5
    6
    7
    8
    Array
    (
        [0] => 
        [1] => 
        [2] => bla
        [3] => 
        [4] => bla
    )


    Dus het heeft ook niet met de verschillende newlines-characters te maken, van linux en windows. Nu begrijp ik er nog minder van
    H4zedinsdag 24 januari 2006 @ 00:36
    Ik ben ff een beetje aan 't klooien met een uploadform. T wil maar niet werken (hij blijft de or die uitvoeren) Zie hier de 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
    <?php
    if ( isset( $_FILES['fupload'] ) ) {

         print "name: ".     $_FILES['fupload']['name']       ."<br />";
         print "size: ".     $_FILES['fupload']['size'] ." bytes<br />";
         print "temp name: ".$_FILES['fupload']['tmp_name']   ."<br />";
         print "type: ".     $_FILES['fupload']['type']       ."<br />";
         print "error: ".    $_FILES['fupload']['error']      ."<br />";


             $source = $_FILES['fupload']['tmp_name'];
             $target = "/test".$_FILES['fupload']['name'];
             move_uploaded_file( $source, $target ) or die ("Couldn't copy");

     }
    else {
    ?>

     <form enctype="multipart/form-data" action="" method="post">
     <input type="file" name="fupload" /><br/>
     <input type="submit" value="upload!" />
     </form>
    <?php
    }
    ?>

    Ik heb die map 'test' gechmod naar 777, dus daar ligt het probleem niet. Verder is dit script uit een e-book, dus met 't script zit 't ook wel goed denk ik (en hoop ik).

    Iemand die misschien een oplossing heeft? BVD


    edit: de error_log geeft een open_basedir probleem aan:
    quote:
    [23-Jan-2006 15:27:43] PHP Warning: move_uploaded_file(): open_basedir restriction in effect. File(/test/39629_vlagrdam.jpg) is not within the allowed path(s): (/home/haze/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/haze/public_html/studie/project2/log/upload.php on line 13


    [ Bericht 6% gewijzigd door H4ze op 24-01-2006 00:53:33 ]
    Sadardinsdag 24 januari 2006 @ 00:52


    [ Bericht 100% gewijzigd door Sadar op 24-01-2006 00:53:44 ]
    Sadardinsdag 24 januari 2006 @ 00:53
    laat maar verkeerd gelezen
    H4zedinsdag 24 januari 2006 @ 00:54
    Hehe, 't wordt al laat he

    Ik heb m'n post ff geupdate met iets wat in de error_log stond. Ben al een beetje aan 't rondzoeken op andere forums, maar kan niet echt iets vinden wat helpt ofzo..
    Neverminddinsdag 24 januari 2006 @ 00:55
    Moet hier niet een slash na de mapnaam?
    1$target = '/test/'.$_FILES['fupload']['name'];


    -edit- timing
    staat safe mode aan? (check je phpinfo.php even) Zo ja, probeer de uploadmap aan laten maken door php, je kan gezeur krijgen met de map 'owner'.
    JeRadinsdag 24 januari 2006 @ 00:55
    quote:
    Op dinsdag 24 januari 2006 00:27 schreef Nevermind het volgende:
    Zou misschien een bug kunnen zijn. Ik heb wel meer vage problemen op mijn thuisserver (w2k, php4.3.10), zoals deze die nog niet beantwoord is. Dat is ook iets wat gewoon behoord te werken, en wat op een Linux-installatie wel werkt. Ik gebruik mijn thuisserver om alles wat ik maak te testen, maar als ik zoveel vage fouten blijf houden waar ik veel te veel tijd mee kwijt ben is het niet echt praktisch meer

    spaties weg maakt overigens niet uit

    Wat dan wel weer apart is, is dat dit wel werkt:
    [ code verwijderd ]


    [ code verwijderd ]

    Dus het heeft ook niet met de verschillende newlines-characters te maken, van linux en windows. Nu begrijp ik er nog minder van
    Ik zou zeggen - mits je het wilt -, probeer eens PHP5 voor zover ik weet zijn daar toch de meeste ontwikkelingen in op dit moment en wellicht hebben ze iets dusdanig veranderd waardoor jouw bugs worden opgelost.

    Dus eventjes naast PHP4 draaien en kijken of het doet wat je wilt dat het doet.
    JeRadinsdag 24 januari 2006 @ 00:58
    quote:
    Op dinsdag 24 januari 2006 00:36 schreef H4ze het volgende:
    Ik ben ff een beetje aan 't klooien met een uploadform. T wil maar niet werken (hij blijft de or die uitvoeren) Zie hier de code:
    [ code verwijderd ]

    Ik heb die map 'test' gechmod naar 777, dus daar ligt het probleem niet. Verder is dit script uit een e-book, dus met 't script zit 't ook wel goed denk ik (en hoop ik).

    Iemand die misschien een oplossing heeft? BVD


    edit: de error_log geeft een open_basedir probleem aan:
    [..]

    Je wilt iets wegschrijven naar de map /test/ - en dit mag niet! Dat is buiten jouw bereik (de éérste slash betekent de root, net als in /home/ bijvoorbeeld).
    H4zedinsdag 24 januari 2006 @ 00:58
    quote:
    Op dinsdag 24 januari 2006 00:55 schreef Nevermind het volgende:
    Moet hier niet een slash na de mapnaam?
    [ code verwijderd ]
    Nope, heb ik ook al geprobeerd. Dan probeert ie t plaatje te uploaden als File(/test//39629_vlagrdam.jpg) , volgens de error_log. En dat werkt natuurlijk sowieso niet.

    Thnx voor de replys iig jongens.
    Neverminddinsdag 24 januari 2006 @ 00:58
    quote:
    Op dinsdag 24 januari 2006 00:55 schreef JeRa het volgende:

    [..]

    Ik zou zeggen - mits je het wilt -, probeer eens PHP5 voor zover ik weet zijn daar toch de meeste ontwikkelingen in op dit moment en wellicht hebben ze iets dusdanig veranderd waardoor jouw bugs worden opgelost.

    Dus eventjes naast PHP4 draaien en kijken of het doet wat je wilt dat het doet.
    Dat is zeker te proberen, ga ik morgen eens mee aan de slag. Maar mijn online ruimte heeft ook PHP4 (en mijn host gaat nog lang niet updaten geloof ik), dus het is handig om dezelfde versie lokaal te draaien, zodat alles direct werkt. Maar wat dat betreft heb ik weinig te verliezen
    H4zedinsdag 24 januari 2006 @ 01:08
    quote:
    Op dinsdag 24 januari 2006 00:58 schreef JeRa het volgende:

    [..]

    Je wilt iets wegschrijven naar de map /test/ - en dit mag niet! Dat is buiten jouw bereik (de éérste slash betekent de root, net als in /home/ bijvoorbeeld).
    verdomme wat stom van me. Thnx! Het werkt nu
    Desdinovadinsdag 24 januari 2006 @ 09:34
    quote:
    Op maandag 23 januari 2006 21:41 schreef Ro�a� het volgende:

    [..]

    isset() incombinatie met empty() en eventueel preg_match
    maar kan het ook dat ik een foutmelding geef voordat de pagina met het formulier wordt verlaten? dus een onclick check zeg maar. klinkt als javascript, maar misschien kan het ook met php.
    Dizerdinsdag 24 januari 2006 @ 10:15
    quote:
    Op maandag 23 januari 2006 23:09 schreef Swetsenegger het volgende:

    [..]

    tja, dit lijkt me nu ook logischer, maar ja.... ik weet geen reet van PERL

    -edit- Wat gevonden op google
    [ code verwijderd ]

    dit kan ook nog
    [ code verwijderd ]

    http://www.oreilly.com/catalog/msql/chapter/ch10.html
    De tweede code werkt
    Swetseneggerdinsdag 24 januari 2006 @ 11:08
    quote:
    Op dinsdag 24 januari 2006 10:15 schreef Dizer het volgende:

    [..]

    De tweede code werkt
    [P(ERL)HP/(My)SQL] voor dummies
    9christensendinsdag 24 januari 2006 @ 11:49
    hoe noem ik het laatste record in mysql?

    ik wil kunnen zoeken tussen een bepaalde record en de laatste,
    JeRadinsdag 24 januari 2006 @ 11:53
    quote:
    Op dinsdag 24 januari 2006 11:49 schreef 9christensen het volgende:
    hoe noem ik het laatste record in mysql?

    ik wil kunnen zoeken tussen een bepaalde record en de laatste,
    Als je met oplopende id's werkt kun je een simpele conditie stellen, id > bepaalde_record_id dan evalueert ie automatisch alles tussen die id en de laatste. Of wil je éxclusief de laatste?

    Je kunt dan nog altijd zoiets doen:

    SELECT id FROM tabel ORDER BY id DESC LIMIT 0, 1

    De id die je dan terugkrijgt is de laatste id

    [ Bericht 10% gewijzigd door JeRa op 24-01-2006 12:04:52 ]
    Roonaandinsdag 24 januari 2006 @ 12:34
    quote:
    Op dinsdag 24 januari 2006 11:53 schreef JeRa het volgende:
    Als je met oplopende id's werkt kun je een simpele conditie stellen, id > bepaalde_record_id
    Impliciet zou dat inderdaad moeten kunnen met id of een ander record. Om immers tussen een record a en het laatste record te zoeken moet er een veld worden gevonden waarop geordend kan worden om te bepalen of.
    Vipersdinsdag 24 januari 2006 @ 13:03
    Vraagje:

    Dit is mijn script:
    if(!empty($_FILES['foto']['tmp_name'])){
    $filetmp = $_FILES['foto']['tmp_name'];
    $filetype = $_FILES['foto']['type'];
    $filesize = $_FILES['foto']['size'];

    $isnieuw = TRUE;
    }else{
    $isnieuw = FALSE;
    }
    if($_POST['Knop']=="Toevoegen") {
    // Toevoegen van een foto
    if($isnieuw == TRUE && getimagesize($filetmp) != FALSE){

    Voor een deel dan. Dit werkt dus bijna altijd tenzij een niet nader te noemen webhosting debiel de tmp map niet openbaar stelt aan hun klanten.
    Heeft iemand een kort script waarmee dit wel binnen mijn range kan.
    Da_Koendinsdag 24 januari 2006 @ 15:45
    Ik denk niet dat dat het probleem is... Welke error krijg je?
    Vipersdinsdag 24 januari 2006 @ 16:13
    quote:
    Op dinsdag 24 januari 2006 15:45 schreef Da_Koen het volgende:
    Ik denk niet dat dat het probleem is... Welke error krijg je?
    File(/tmp/phpAhdIzx) is not within the allowed path(s):
    Desdinovadinsdag 24 januari 2006 @ 20:52
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function myTruncate(&$string, $limit, $break=" ", $pad="..."){
        
    # return with no change if string is shorter than $limit
        
    if(strlen($string) &lt;= $limit) return;
        
    # is $break present between $limit and the end of the string?
        
    if(false !== ($breakpoint = strpos($string, $break, $limit))) {
            if(
    $breakpoint &lt; strlen($string) - 1) {
                
    # truncate string and pad
                
    $string = substr($string, 0, $breakpoint) . $pad;
            }   
        }
    }
    ?>


    wat ik wil,
    $string moet afgekort worden tot $limit spaties. gewoon een truncate dus. dat werkt prima op zichzelf. nou heb ik deze code iets aangepast naar:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function myTruncate(&$string, $limit, $itemID, $break=" ", $pad="(<a href=\"more.php?ID=".$itemID."\">Read more...</a>)"){
        
    # return with no change if string is shorter than $limit
        
    if(strlen($string) &lt;= $limit) return;
        
    # is $break present between $limit and the end of the string?
        
    if(false !== ($breakpoint = strpos($string, $break, $limit))) {
            if(
    $breakpoint &lt; strlen($string) - 1) {
                
    # truncate string and pad
                
    $string = substr($string, 0, $breakpoint) . $pad;
            }   
        }
    }
    ?>


    en nou istie kapot
    maar waarom?
    JeRadinsdag 24 januari 2006 @ 20:59
    Ik heb zo'n vermoeden dat je $itemID niet in de parameterlijst kunt gebruiken aangezien hij daar pas wordt gedefiniëerd beter zet je de default waarde van $pad dus in de body van de functie op hetgeen jij wilt.
    Desdinovadinsdag 24 januari 2006 @ 21:07

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function myTruncate(&$string, $limit, $pad, $break=" "){
        
    # return with no change if string is shorter than $limit
        
    if(strlen($string) &lt;= $limit) return;
        
    # is $break present between $limit and the end of the string?
        
    if(false !== ($breakpoint = strpos($string, $break, $limit))) {
            if(
    $breakpoint &lt; strlen($string) - 1) {
                
    # truncate string and pad
                
    $string = substr($string, 0, $breakpoint) . $pad;
            }   
        }
    }
    ?>


    myTruncate ($content, 190, "(nieuwe pad info met itemID geintegreerd )"); werkt!

    ty
    Desdinovawoensdag 25 januari 2006 @ 09:35
    ik heb een database bij n vriend van me. normaal verbind ik altijd met localhost, maar ik heb nu met hem geregeld dat het vanaf een andere server ook toegankelijk is.

    maar, dan moet ik dus het localhost vervangen met iets anders. wat moet ik weten van hem en hoe kom ik erachter wat het is? hij is momenteel niet bereikbaar, dus misschien dat ik er zelf achter kan komen met jullie hulp.

    normaal log ik in via sql.domein.nl, waarna ik doorverwezen wordt naar een secure1.domein.nl/phpmyadmin, waar dus de beheerapplicatie gedraaid wordt. connecten met sql.domein.nl lukt niet. http://sql.domein.nl ook niet. tips?
    HuHuwoensdag 25 januari 2006 @ 09:37
    Localhost vervangen door zijn IP adres, of z'n domeinnaam. Vervolgens de juiste poort opgeven waar de server naar luistert (dus ook forwarden in de router) en het zou moeten werken.
    Dizerdonderdag 26 januari 2006 @ 11:52
    Ik probeer het bestand "tagger-chunker-english" te draaien vanuit een PERL executable. Maar ik heb het gevoel dat dit niet wil werken vanwege het feit dat het draait op een XP machine? Iemand enig idee?

    Het wordt aangeroepen aan de hand van het volgende methode:

    1$tree_tagger_exec = "$tree_tagger_dir/cmd/tagger-chunker-english";


    En het bestand 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/bin/sh

    # Set these paths appropriately

    TT_DIR="/scratch/wikipedia/TreeTagger"
    BIN="$TT_DIR/bin"
    CMD="$TT_DIR/cmd"
    LIB="$TT_DIR/lib"

    TOKENIZER=${BIN}/separate-punctuation
    ABBR_LIST=${LIB}/english-abbreviations
    TAGGER=${BIN}/tree-tagger
    PARFILE1=${LIB}/english.par
    PARFILE2=${LIB}/english-chunker.par
    FILTER=${CMD}/filter-chunker-output.perl


    # put all on one line
    cat $* |
    # do tokenization
    #$TOKENIZER +1 +s +l $ABBR_LIST |
    # separate clitics from preceding words
    sed -e "s/'\(s\|re\|ve\|d\|m\|em\|ll\)/ '\1/g" \
    -e "s/n't/ n't/g" \
    -e '/^$/d' |
    $TOKENIZER +s +l $ABBR_LIST |
    sed -e "s/' \(s\|re\|ve\|d\|m\|em\|ll\)\($\|[^a-z]\)/'\1\2/g" |
    tr ' ' '\n' |
    # remove empty lines
    grep -v '^$' |
    # tagging
    $TAGGER $PARFILE1 -token -sgml |
    perl -nae 'if ($#F==0){print}else{print "$F[0]-$F[1]\n"}' |
    $TAGGER $PARFILE2 -token -sgml -eps 0.00000001 -quiet |
    $FILTER


    Thx
    Neverminddonderdag 26 januari 2006 @ 12:08
    Kun je niet beter een [PERL] voor dummies-topic openen?
    Dizerdonderdag 26 januari 2006 @ 12:09
    quote:
    Op donderdag 26 januari 2006 12:08 schreef Nevermind het volgende:
    Kun je niet beter een [PERL] voor dummies-topic openen?
    Lijkt me niet zo verstandig. Weinig mensen doen nog wat een PERL en PHP is gebaseerd op PERL (toch?). Plus, ik heb eerder vragen gesteld over PERL op fok en toen werd ik verwezen naar dit topic
    JeRadonderdag 26 januari 2006 @ 12:29
    quote:
    Op donderdag 26 januari 2006 12:09 schreef Dizer het volgende:

    [..]

    Lijkt me niet zo verstandig. Weinig mensen doen nog wat een PERL en PHP is gebaseerd op PERL (toch?). Plus, ik heb eerder vragen gesteld over PERL op fok en toen werd ik verwezen naar dit topic
    Je moet eens kijken naar de TT_DIR variabele, die geeft aan wat de root is van alles wat uitgevoerd wordt. Die staat nu op /scratch/etc/, en die wil jij vast op de directory zetten waar je je meuk hebt staan dat wordt dan c:\dir\etc\, bijvoorbeeld.
    Dizerdonderdag 26 januari 2006 @ 12:40
    quote:
    Op donderdag 26 januari 2006 12:29 schreef JeRa het volgende:

    [..]

    Je moet eens kijken naar de TT_DIR variabele, die geeft aan wat de root is van alles wat uitgevoerd wordt. Die staat nu op /scratch/etc/, en die wil jij vast op de directory zetten waar je je meuk hebt staan dat wordt dan c:\dir\etc\, bijvoorbeeld.
    Helemaal niet bij nagedacht. Bedankt. Alleen zit ik nu dus nog steeds met de volgende fout:

    c:/wikipedia/TreeTagger/cmd/tree-chunker-english wordt niet herkend als een interne
    of externe opdracht, programma of batchbestand.
    lukt niet Permission denied


    JeRadonderdag 26 januari 2006 @ 12:48
    Mja, dat komt omdat het een Perl-scriptje is, en die draaien native niet op Windows XP geen idee hoe je dat aan de praat krijgt, misschien dat je hier de benodigde executables kunt vinden om je scriptje te draaien. Maar zegt de documentatie hier niet iets over?
    Dizerdonderdag 26 januari 2006 @ 12:57
    quote:
    Op donderdag 26 januari 2006 12:48 schreef JeRa het volgende:
    Mja, dat komt omdat het een Perl-scriptje is, en die draaien native niet op Windows XP geen idee hoe je dat aan de praat krijgt, misschien dat je hier de benodigde executables kunt vinden om je scriptje te draaien. Maar zegt de documentatie hier niet iets over?
    Ik heb me dood gegoogled. Kan er niks over vinden. Ik heb het scriptje wel eerder zien draaien, maar dat was uiteraard op een Unix bak of een Mac. Het zou moeten werken volgens de schrijver ervan. Ik heb active Perl al op mijn xp bak. En alles werkt prima behalve dit
    JeRadonderdag 26 januari 2006 @ 13:15
    quote:
    Op donderdag 26 januari 2006 12:57 schreef Dizer het volgende:

    [..]

    Ik heb me dood gegoogled. Kan er niks over vinden. Ik heb het scriptje wel eerder zien draaien, maar dat was uiteraard op een Unix bak of een Mac. Het zou moeten werken volgens de schrijver ervan. Ik heb active Perl al op mijn xp bak. En alles werkt prima behalve dit
    Moet je met die Active Perl niet eerst een perl binary aanroepen met als argument je scriptje? (Zoals bij Java gebeurt bv)
    Fatalitydonderdag 26 januari 2006 @ 13:22
    $pass = ( $_POST['wachtwoord']!= '') ? MD5($_POST['wachtwoord']) : $_POST['ww_crypt'];

    wachtwoord wordt dus geMD5t , maar ik snap de constructie hier neit helemaal.. wat doet die ? en : daar?
    Iemand hier een artikeltje over, of zelf tijd te veel om het volledig uit te gaan leggen
    JeRadonderdag 26 januari 2006 @ 13:24
    quote:
    Op donderdag 26 januari 2006 13:22 schreef Fatality het volgende:
    $pass = ( $_POST['wachtwoord']!= '') ? MD5($_POST['wachtwoord']) : $_POST['ww_crypt'];

    wachtwoord wordt dus geMD5t , maar ik snap de constructie hier neit helemaal.. wat doet die ? en : daar?
    Iemand hier een artikeltje over, of zelf tijd te veel om het volledig uit te gaan leggen
    Dat is de ternary conditional operator. Hierover lees je meer op deze pagina
    Dizerdonderdag 26 januari 2006 @ 13:26
    quote:
    Op donderdag 26 januari 2006 13:15 schreef JeRa het volgende:

    [..]

    Moet je met die Active Perl niet eerst een perl binary aanroepen met als argument je scriptje? (Zoals bij Java gebeurt bv)
    Ach, ik ga het wel op een unix bak draaien. Word er gek van. Moet nog meer doen voor de deadline Bedankt voor je hulp
    Fatalitydonderdag 26 januari 2006 @ 14:14
    quote:
    Op donderdag 26 januari 2006 13:24 schreef JeRa het volgende:

    [..]

    Dat is de ternary conditional operator. Hierover lees je meer op deze pagina
    wéér die operators

    Bedankt
    Fatalitydonderdag 26 januari 2006 @ 16:26
    wie werkt er hier wel meer met het PEAR framework.. ik ben er dus nu mee bezig en ik moet zeggen dat ik er wel erg over te spreken ben.
    #ANONIEMdonderdag 26 januari 2006 @ 17:18
    Wie kan mij helpen met mailforms?

    Ik wil (moet, voor school) iets maken waar fictieve studenten eten kunnen bestellen.

    Op de eerste pagina staat een form, waar met POST allerhande keuzes kunnen worden ingevoerd.
    Daarna moeten we een tweede pagina maken, waarop de student zijn keuze te zien krijgt. Als hij iets fout heeft gedaan moet hij terug. Als hij die zooi wil hebben, moet hij mailen.

    En daar zit hem het probleem. Ik kan prima een mailform maken als de gegevens op de zelfde pagina staan, maar het lijkt net of ik de inhoud van de $_POSTjes, of de variabelen die ik daarvan gemaakt heb, niet nog een pagina mee kan sturen. Iemand mij helpen?

    Hier kun je het bestelformulier vinden:
    http://stud.cmd.hro.nl/0764519/jaar1/winter/mme/ (les3)
    Daaronder ook de .phps bestanden.

    Een standaard mailscript heb ik ook, ik weet niet waar ik die moet plaatsen. Als ik hem op pagina 2 plaats, mailt ie al voordat er op de knop "bestel" geragd is...

    Help!
    R-Mondonderdag 26 januari 2006 @ 17:33
    quote:
    Op donderdag 26 januari 2006 17:18 schreef Toeps het volgende:
    Wie kan mij helpen met mailforms?

    Ik wil (moet, voor school) iets maken waar fictieve studenten eten kunnen bestellen.

    Op de eerste pagina staat een form, waar met POST allerhande keuzes kunnen worden ingevoerd.
    Daarna moeten we een tweede pagina maken, waarop de student zijn keuze te zien krijgt. Als hij iets fout heeft gedaan moet hij terug. Als hij die zooi wil hebben, moet hij mailen.

    En daar zit hem het probleem. Ik kan prima een mailform maken als de gegevens op de zelfde pagina staan, maar het lijkt net of ik de inhoud van de $_POSTjes, of de variabelen die ik daarvan gemaakt heb, niet nog een pagina mee kan sturen. Iemand mij helpen?
    $_POST werkt inderdaad maar op 1 pagina. Je kan twee dingen doen, alles in een sessie stoppen, of alles op de 2de pagina printen in een form met <input type="hidden" name="x" value="y" /> per $_POST, en de Bestellen die meuk-knop koppelen aan dat form. Dat eerste is het leukst maar het tweede is het makkelijkst.
    #ANONIEMdonderdag 26 januari 2006 @ 17:35
    Sessies hebben we nog niet gehad, daar ga ik me maar niet aan wagen, het moet morgen af zijn...

    Die tweede klinkt doenbaar, dus daar ga ik me eens aan wagen.

    Tnx.
    #ANONIEMdonderdag 26 januari 2006 @ 18:07
    1
    2
    3
    <form action="bestel.php" method="post" name="bestelling2">
    <input name="naam" value="<?php echo $_POST["naam"];?>" type="hidden">
    </form>


    Het doet niet werken...
    R-Mondonderdag 26 januari 2006 @ 19:49
    quote:
    Op donderdag 26 januari 2006 18:07 schreef Toeps het volgende:

    [ code verwijderd ]

    Het doet niet werken...
    1<input name="naam" value="r-mon" type="hidden">


    Het doet wel werken hier.

    En ik zou dit doen:

    1<?php if(isset($_POST["naam"])) { echo $_POST["naam"]; } ?>
    Neverminddonderdag 26 januari 2006 @ 20:26
    quote:
    Op donderdag 26 januari 2006 18:07 schreef Toeps het volgende:

    [ code verwijderd ]

    Het doet niet werken...
    Je moet wel eerst iets invullen en het dan verbeteren hè
    als ik die opdrachten zie baal ik er van dat ik net gestopt ben met CMD
    #ANONIEMdonderdag 26 januari 2006 @ 20:28
    ZOW! Nu ik es!

    Ben gisteren begonnen met My SQL 4.1, dus ik ben een echte n00b.

    Wat ik heb gedaan:

    MySQL 4.1 en java enviroment gedownload en development enviroment van java. 6.0
    MySQL database gedownload met content welke ik nodig heb voor het draaien van een game server.
    Batch bestanden gedownload en wat aangepast.
    Navicat gedownload
    Easyphp 1.8 gedownload.

    Ik heb de database in MySQL geimporteerd.
    Heb properties bestanden aangepast en heb vervolgens de .bat bestanden aangepast.
    Nu heb ik 3 services nodig:
    Login server
    Game server
    Proxy

    Proxy werkt
    Game server heeft login server draaiende nodig
    Login server krijgt een error tijdens uitvoeren van Batch bestand:

    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
    Starting L2J Login Server.

    loading login config
    MLog clients using java 1.4+ standard logging.
    Initializing c3p0-0.9.0 [built 08-??????-2005 15:47:30 +0400; debug? false; trac
    e: 5]
    Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@37fb1e [ conn
    ectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@1e0f
    f2f [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 10
    00, autoCommitOnClose -> true, automaticTestTable -> null, breakAfterAcquireFail
    ure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.
    c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnre
    solvedTransactions -> false, identityToken -> 1e0ff2f, idleConnectionTestPeriod
    -> 0, initialPoolSize -> 1, maxIdleTime -> 0, maxPoolSize -> 10, maxStatements -
    > 100, maxStatementsPerConnection -> 0, minPoolSize -> 1, nestedDataSource -> co
    m.mchange.v2.c3p0.DriverManagerDataSource@2a5330 [ description -> null, driverCl
    ass -> null, factoryClassLocation -> null, identityToken -> 2a5330, jdbcUrl -> j
    dbc:mysql://localhost/l2jdb, properties -> {user=******, password=******} ], pre
    ferredTestQuery -> null, propertyCycle -> 300, testConnectionOnCheckin -> false,
     testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ],
     factoryClassLocation -> null, identityToken -> 37fb1e, numHelperThreads -> 3 ]
    Loaded 127 server names
    Exception in thread "main" java.lang.NumberFormatException: Zero length BigInteg
    er
            at java.math.BigInteger.<init>(Unknown Source)
            at net.sf.l2j.loginserver.GameServerTable.stringToHex(GameServerTable.ja
    va:232)
            at net.sf.l2j.loginserver.GameServerTable.load(GameServerTable.java:156)

            at net.sf.l2j.loginserver.GameServerTable.<init>(GameServerTable.java:43
    1)
            at net.sf.l2j.loginserver.GameServerTable.getInstance(GameServerTable.ja
    va:67)
            at net.sf.l2j.loginserver.LoginServer.main(LoginServer.java:84)

    Server terminated abnormaly


    server terminated

    Press any key to continue . . .


    Batch bestand:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    @echo off
    :start
    echo Starting L2J Login Server.
    echo.
    java -Xmx128m -cp javolution.jar;c3p0-0.9.0.jar;mysql-connector-java-3.1.10-bin.jar;sqljdbc.jar;l2jserver.jar; net.sf.l2j.loginserver.LoginServer
    if ERRORLEVEL 2 goto restart
    if ERRORLEVEL 1 goto error
    goto end
    :restart
    echo.
    echo Admin Restart ...
    echo.
    goto start
    :error
    echo.
    echo Server terminated abnormaly
    echo.
    :end
    echo.
    echo server terminated
    echo.
    pause


    Ik weet mijn god niet wat er fout gaat en waar. Heb java al opnieuw geinstalleerd, geen suc6. Weet iemand welke richting ik uit moet zoeken?

    Hiervoor had ik in de MySQL database een string leeg gemaakt (gewoon alle getallen gedelete) omdat ik deze niet goed had laten invoeren. Deze string was Hexid, welke ik leeg had gehaald omdat ik ergens gelezen had dat de error die ik toen had opgelost kon worden door het verwijderen van de string. Gezien ik de string niet kan verwijderen, niet weet hoe te verwijderen heb ik deze dus leeggemaakt met dit als gevolg.. Maar of het gerelateerd is weet ik niet.

    [ Bericht 4% gewijzigd door #ANONIEM op 26-01-2006 20:31:10 ]
    #ANONIEMdonderdag 26 januari 2006 @ 20:30
    quote:
    Op donderdag 26 januari 2006 20:26 schreef Nevermind het volgende:

    [..]

    Je moet wel eerst iets invullen en het dan verbeteren hè
    als ik die opdrachten zie baal ik er van dat ik net gestopt ben met CMD
    Nevermind, mijn button had text="submit" ipv value.

    Altijd dat eeuwige gevloek om van die kleinigheidjes, hehehe.
    #ANONIEMdonderdag 26 januari 2006 @ 20:46
    Lijkt er nu op dat er meer aan de hand is, wil een nieuwe hex id aanmaken met een batch bestand welke dat doet en dan krijg ik deze error:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Exception in thread "main" java.lang.NumberFormatException: Zero length BigInteg
    er
            at java.math.BigInteger.<init>(Unknown Source)
            at net.sf.l2j.loginserver.GameServerTable.stringToHex(GameServerTable.ja
    va:232)
            at net.sf.l2j.loginserver.GameServerTable.load(GameServerTable.java:156)

            at net.sf.l2j.loginserver.GameServerTable.<init>(GameServerTable.java:43
    1)
            at net.sf.l2j.gsregistering.GameServerRegister.main(GameServerRegister.j
    ava:42)
    Press any key to continue . . .
    Swetseneggerdonderdag 26 januari 2006 @ 20:58
    Kan ik in SQL op 2 kolommen orderen, waarbij de eerste zwaarder telt dan de tweede bv?

    Stel ik wil iets orderen op laagste prijs, maar bij een gelijke prijs wil ik wel dat het hoogste id bovenaan staat?
    JeRadonderdag 26 januari 2006 @ 21:06
    quote:
    Op donderdag 26 januari 2006 20:58 schreef Swetsenegger het volgende:
    Kan ik in SQL op 2 kolommen orderen, waarbij de eerste zwaarder telt dan de tweede bv?

    Stel ik wil iets orderen op laagste prijs, maar bij een gelijke prijs wil ik wel dat het hoogste id bovenaan staat?
    ORDER BY price ASC, id DESC

    Dit kan met zoveel kolommen als je wilt. Hoe eerder het in de rij komt, des te hoger is de prioriteit. Dit is overigens ook de volgorde waarop je multiple column indices wilt definiëren
    ikke_ookdonderdag 26 januari 2006 @ 21:08
    ORDER BY price,id
    ?
    volgens mij werkt dat.

    -edit-
    Wat Jera zegt dus, ik had ff niet gezien dat de een oplopend en de ander aflopend moet zijn.
    Swetseneggerdonderdag 26 januari 2006 @ 21:09
    quote:
    Op donderdag 26 januari 2006 21:06 schreef JeRa het volgende:

    [..]

    ORDER BY price ASC, id DESC

    Dit kan met zoveel kolommen als je wilt. Hoe eerder het in de rij komt, des te hoger is de prioriteit.
    Mooi
    quote:
    Dit is overigens ook de volgorde waarop je multiple column indices wilt definiëren
    Time-out.
    Hoe geef ik een volgorde aan indices?
    JeRadonderdag 26 januari 2006 @ 21:11
    quote:
    Op donderdag 26 januari 2006 21:09 schreef Swetsenegger het volgende:

    [..]

    Time-out.
    Hoe geef ik een volgorde aan indices?
    Als je met phpMyAdmin werkt heb je bij het structuuroverzicht van een tabel een hokje waarmee je op x aantal kolommen een index kunt maken.

    Je kunt dit op meerdere kolommen doen. Stel dat je kolom a en b hebt, en je creëert één index op (a,b) dan zal er een index worden gecreëerd voor kolom a, en wanneer deze geen verschil meer toont, op kolom b. In jouw geval zou dat dus (price,id) kunnen zijn alhoewel ik me afvraag of MySQL dit niet al kan optimaliseren gezien dat id vast een primary key is. Een query zoals de ORDER hierboven wordt dan in ieder geval geoptimaliseerd en zal sneller werken, zeker bij grotere aantallen rows in de tabel
    Swetseneggerdonderdag 26 januari 2006 @ 21:13
    quote:
    Op donderdag 26 januari 2006 21:11 schreef JeRa het volgende:

    [..]

    Als je met phpMyAdmin werkt heb je bij het structuuroverzicht van een tabel een hokje waarmee je op x aantal kolommen een index kunt maken.

    Je kunt dit op meerdere kolommen doen. Stel dat je kolom a en b hebt, en je creëert één index op (a,b) dan zal er een index worden gecreëerd voor kolom a, en wanneer deze geen verschil meer toont, op kolom b. In jouw geval zou dat dus (price,id) kunnen zijn alhoewel ik me afvraag of MySQL dit niet al kan optimaliseren gezien dat id vast een primary key is. Een query zoals de ORDER hierboven wordt dan in ieder geval geoptimaliseerd en zal sneller werken, zeker bij grotere aantallen rows in de tabel
    Ok, duidelijk thanks
    qu63donderdag 26 januari 2006 @ 23:47
    mijn scriptje:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function chkuri($link){
             
    $churl = @fopen("http://".$link,'r');
             if (!
    $churl) {
                
    $message="";
             }else{
                
    $message=include('http://www.qu63.nl/ads.php');
             }
             return
    $message;
    }
    $link="home.qu63.nl";
    echo
    chkuri($link);
    ?>

    het werkt allemaal wel, alleen krijg ik na mn banner (die door ads.php gemaak wordt) het cijfer 1.

    ben ik iets vergeten in mijn script ofzo? ads.php geeft namelijk alleen een banner weer, en geen cijfer 1 erna..
    ikke_ookdonderdag 26 januari 2006 @ 23:57
    die include returned een true als hij kan includen, en een false als hij niet kan includen.
    Die true of false komt nu in $message terecht.
    $message wordt gereturned door chkuri(), en wordt ge-echoed.
    Dus die true wordt geprint, een 1 in dit geval


    Denk ik


    -edit-
    De oplossing is dus die echo weglaten, maar gewoon alleen die functie aanroep daar neer zetten.
    -edit2-
    Of beter nog, die hele return $message weglaten, want die heeft totaal geen zin op deze manier. Hij heeft wel zin als je later nog een keer wil controleren of die pagina daadwerkelijk is geinclude.
    JeRavrijdag 27 januari 2006 @ 00:00
    @qu63

    Wat ikke_ook zegt, en je zou dus die include() kunnen vervangen door een file_get_contents() om te laten werken. overigens is het wel vreemd om een functie die 'chkuri' heet zoiets te laten doen
    qu63vrijdag 27 januari 2006 @ 00:02
    quote:
    Op donderdag 26 januari 2006 23:57 schreef ikke_ook het volgende:
    die include returned een true als hij kan includen, en een false als hij niet kan includen.
    Die true of false komt nu in $message terecht.
    $message wordt gereturned door chkuri(), en wordt ge-echoed.
    Dus die true wordt geprint, een 1 in dit geval


    Denk ik


    -edit-
    De oplossing is dus die echo weglaten, maar gewoon alleen die functie aanroep daar neer zetten.
    dus de echo verwijderen en dan $chkuri($link);
    ikke_ookvrijdag 27 januari 2006 @ 00:06
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function chkuri($link){
             if (@fopen("http://".$link,'r')){
                   return true;
             }else{
                  return false;
             }
    }
    $link="home.qu63.nl";
    if(chkuri($link)){
          include('http://www.qu63.nl/ads.php');
    }
    ?>


    korter en werkt ook, en tis beter qua naamgeving lijkt mij.
    alhoewel het nog steeds zinloos lijkt (tenzij je die functie nog meer gebruikt), zonder die functie kan het nog korter, maar als je graag een functie wil gebruiken
    1
    2
    3
    4
    $link="home.qu63.nl";
    if(fopen("http://".$link,'r')){
          include('http://www.qu63.nl/ads.php');
    }

    Doet allemaal hetzelfde lijkt mij...

    Of wat Jera zegt:
    1
    2
    3
    4
    5
    $link="home.qu63.nl";
    if(fopen("http://".$link,'r')){
          echo file_get_contents('http://www.qu63.nl/ads.php');
    }
    ?>
    qu63vrijdag 27 januari 2006 @ 00:12
    thanks!
    wobbelzaterdag 28 januari 2006 @ 14:54
    Aargh, ik heb problemen met de headers van een e-mail...


    Ik krijg dit als e-mailtje maar ik moet HTML hebben...

    En dit is mijn code....
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        
    function sendMail($receiver, $subject, $body, $from = "blaat@lala.nl")
        {
            
    /* This function send a HTML Email */
               
    $headers = "MIME-Version: 1.0\r\n";
                
    $headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
                
    $headers.= "From: lala <" . $from . ">\r\n";
            return
    mail($receiver, $subject, $body, $headers);
        
        }
    ?>
    Darkomenzaterdag 28 januari 2006 @ 15:01
    Daar heb ik ook veel problemen mee gehad, dit werkt voor mij als ik HTML wil verzenden:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $boundary = md5(uniqid(time()));
             $headers = "From: site  <Email@email.nl>\r\n";
             $headers .= "MIME-Version: 1.0\r\n";
             $headers .= "Content-type: multipart/alternative;\r\n";
             $headers .= " boundary=\"$boundary\"\r\n";

          //   $send_message = "you shouldn't see this ever\r\n\r\n";

             $send_message .= "--$boundary\r\n";

             $send_message .= "Content-type: text/plain;\r\n";
             $send_message .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
             $send_message .= strip_tags($message) . "\r\n";

             $send_message .= "--$boundary\r\n";

             $send_message .= "Content-type: text/html;\r\n";
             $send_message .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
             $send_message .= $message . "\r\n";

             $send_message .= "--$boundary--\r\n";
    Roonaanzaterdag 28 januari 2006 @ 15:04
    gebruik gewoon de phpmailer class.
    wobbelzaterdag 28 januari 2006 @ 15:12
    quote:
    Op zaterdag 28 januari 2006 15:04 schreef Ro�a� het volgende:
    gebruik gewoon de phpmailer class.
    die mail functie gaat straks met het template systeem werken...dus nee
    Roonaanzaterdag 28 januari 2006 @ 15:15
    quote:
    Op zaterdag 28 januari 2006 15:12 schreef wobbel het volgende:

    [..]

    die mail functie gaat straks met het template systeem werken...dus nee
    En waarom precies gaat dat niet samen?
    wobbelzaterdag 28 januari 2006 @ 16:28
    quote:
    Op zaterdag 28 januari 2006 15:15 schreef Ro�a� het volgende:

    [..]

    En waarom precies gaat dat niet samen?
    omdat er straks automatisch een template geladen wordt bij het versturen van het bericht, wat op 't moment nog niet is ingebouwd bij deze functie lieve schat....
    LeeHarveyOswaldzaterdag 28 januari 2006 @ 21:53
    Ik heb in een pagina, waarvan de headers al verzonden zijn, de volgende code:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    if(!empty($_POST)){

    $aan = $_POST['aan'];
    $onderwerp = $_POST['onderwerp'];
    $realname = $_POST['realname'];
    $email = $_POST['email'];
    $nickname = $_POST['nickname'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $bericht = $_POST['bericht'];
    $pf = "@pestforum.nl";
    $adres = $aan.$pf;
    $voor = "Email via contact formulier: " ;
    $totaalonderwerp = $voor.$onderwerp;
    $eindbericht = "Het onderstaande email bericht is afkomstig van het contactformulier van pestforum.nl\nGegevens van de persoon:\nNaam: $realname \nForum naam: $nickname \n Email adres: $email \n IP Nummer: $ip \n \n bericht onderwerp: $onderwerp \n\n bericht: \n $bericht ";
    mail($adres, $totaalonderwerp, "$eindbericht", "From: PestforumFormulier");

    $text = "Je email is verzonden! Bedankt! (Pestforum is in het andere venster nog geopend!)";
    die(
    $text);

    }
    ?>


    Is er een manier dat na het 'je email is verzonden..' bericht niet kan flooden door simpelweg op F5 en OK te drukken?
    Swetseneggerzaterdag 28 januari 2006 @ 21:56
    quote:
    Op zaterdag 28 januari 2006 21:53 schreef LeeHarveyOswald het volgende:
    Ik heb in een pagina, waarvan de headers al verzonden zijn, de volgende code:
    [ code verwijderd ]

    Is er een manier dat na het 'je email is verzonden..' bericht niet kan flooden door simpelweg op F5 en OK te drukken?
    Ja, je structuur veranderen zodat je na 'de mail is verzonden' gewoon een header kan meegeven.

    -edit- en ik zie dat het een extra venster is. Simpelweg sluiten met een javascript?
    LeeHarveyOswaldzaterdag 28 januari 2006 @ 22:02
    quote:
    Op zaterdag 28 januari 2006 21:56 schreef Swetsenegger het volgende:

    [..]

    Ja, je structuur veranderen zodat je na 'de mail is verzonden' gewoon een header kan meegeven.

    -edit- en ik zie dat het een extra venster is. Simpelweg sluiten met een javascript?
    hmm dat eerste gaat nogal lastig worden vrees ik.....

    Sluiten met javascript 'vraagt' toch of het venster gesloten moet worden? het gaat nl. niet om een popup
    Swetseneggerzaterdag 28 januari 2006 @ 22:05
    quote:
    Op zaterdag 28 januari 2006 22:02 schreef LeeHarveyOswald het volgende:

    [..]

    hmm dat eerste gaat nogal lastig worden vrees ik.....
    wrom?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    if(!empty($_POST)){

    $aan = $_POST['aan'];
    $onderwerp = $_POST['onderwerp'];
    $realname = $_POST['realname'];
    $email = $_POST['email'];
    $nickname = $_POST['nickname'];
    $ip = $_SERVER['REMOTE_ADDR'];
    $bericht = $_POST['bericht'];
    $pf = "@pestforum.nl";
    $adres = $aan.$pf;
    $voor = "Email via contact formulier: " ;
    $totaalonderwerp = $voor.$onderwerp;
    $eindbericht = "Het onderstaande email bericht is afkomstig van het contactformulier van pestforum.nl\nGegevens van de persoon:\nNaam: $realname \nForum naam: $nickname \n Email adres: $email \n IP Nummer: $ip \n \n bericht onderwerp: $onderwerp \n\n bericht: \n $bericht ";
    mail($adres, $totaalonderwerp, "$eindbericht", "From: PestforumFormulier");

    // zet dit in een cookie "Je email is verzonden! Bedankt! (Pestforum is in het andere venster nog geopend!)";

    header('location: '.$_SERVER['PHP_SELF']);

    //rest van de pagina. Immers, als er gepost is, hoef je toch de rest van de pagina niet uit te voeren.
    //lees hier je cookie uit en echo de inhoud.
    ?>
    quote:
    Sluiten met javascript 'vraagt' toch of het venster gesloten moet worden? het gaat nl. niet om een popup
    Weet ik eigenlijk niet
    LeeHarveyOswaldzaterdag 28 januari 2006 @ 22:48
    de code hierboven staat in een else{ } dus dat kan ik moeilijk even gaan verkassen ... ik moest dus een manier verzinnen dat het verzenden tegen gaat.

    kan ik niet op een of andere manier zeggen $_post == empty; ?
    LeeHarveyOswaldzaterdag 28 januari 2006 @ 22:58
    En als ik tekst uit mijn database haal om weer te geven, en ik wil daar een klein stukje PHP in doen (voor statistieken) kan dat dan? en hoe?
    Swetseneggerzaterdag 28 januari 2006 @ 23:01
    quote:
    Op zaterdag 28 januari 2006 22:48 schreef LeeHarveyOswald het volgende:
    de code hierboven staat in een else{ } dus dat kan ik moeilijk even gaan verkassen ... ik moest dus een manier verzinnen dat het verzenden tegen gaat.

    kan ik niet op een of andere manier zeggen $_post == empty; ?
    In een else

    Die code wordt toch pas uitgevoerd bij een post? Een post springt sowieso direkt naar de action pagina. Je kijkt dus direkt boven aan die pagina of die POST er is, zoja doe wat. Zo nee ga dan pas html parsen. Elke andere constructie zorgt er sowieso voor dat je regelmatig html voor niets parst.

    Je kan het nog met deze proberen
    1ini_set('session.cache_limiter', 'private');
    LeeHarveyOswaldzaterdag 28 januari 2006 @ 23:07
    quote:
    Op zaterdag 28 januari 2006 23:01 schreef Swetsenegger het volgende:

    [..]

    In een else

    Die code wordt toch pas uitgevoerd bij een post? Een post springt sowieso direkt naar de action pagina. Je kijkt dus direkt boven aan die pagina of die POST er is, zoja doe wat. Zo nee ga dan pas html parsen. Elke andere constructie zorgt er sowieso voor dat je regelmatig html voor niets parst.

    Je kan het nog met deze proberen
    [ code verwijderd ]
    Stukje controle er boven maar ik heb het inmiddels opgelost .. (overigens dat met die stats nog niet)
    LeeHarveyOswaldzondag 29 januari 2006 @ 01:53
    hmm iemand enig idee waarom de volgende query het in MySQLadmin goed doet, maar vanuit mn php pagina niet:

    1$sql = "SELECT COUNT(Datum) AS Views FROM Stats WHERE Datum >= '".$startdag."' AND Datum <= '".$vandaag."' order by Views DESC LIMIT 0, 5";
    SuperRembozondag 29 januari 2006 @ 01:57
    Welke query voer je precies uit in mysqladmin en in php? Welke foutmelding krijg je?
    LeeHarveyOswaldzondag 29 januari 2006 @ 02:04
    Bovenstaande query voerde ik uit (alleen in mysqladmin de variabele vandaag en startdag vervangen door data)

    Unknown column 'Views' in 'field list'

    is mn error...
    SuperRembozondag 29 januari 2006 @ 02:23
    Ik snap de foutmelding niet helemaal. Maar je query geeft altijd maar 1 regel terug dus er valt niets te sorteren
    JeRazondag 29 januari 2006 @ 06:51
    De foutmelding is inderdaad vaag; ik gok dat MySQL de nieuwe kolom `Views` niet in het geheugen houdt voor de ORDER-procedure om de reden die SuperRembo geeft; er is maar één rij en die kun je niet sorteren.
    rickmanszondag 29 januari 2006 @ 08:10
    je zou eventueel nog kunnen overwegen om backticks om de kolom in de order by toe te voegen, dat wil de nodige interpretatie problemen nog wel voorkomen .
    JeRazondag 29 januari 2006 @ 08:18
    quote:
    Op zondag 29 januari 2006 08:10 schreef rickmans het volgende:
    je zou eventueel nog kunnen overwegen om backticks om de kolom in de order by toe te voegen, dat wil de nodige interpretatie problemen nog wel voorkomen .
    Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
    Reference Manual :: 9.6 Treatment of Reserved Words in MySQL

    Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waard wat lul ik nou het is het proberen helemaal niet waard, sorteren op één rij is nutteloos ik moet leren m'n eigen antwoorden te onthouden

    Echter wordt het een probleem mocht je meerdere rijen met COUNT()-waarden hebben. Zou MySQL al bij voorbaat hebben besloten aan de vorm van de query dat er geen sortering mogelijk is? Want een dergelijke query met GROUP BY wil je natuurlijk wel kunnen sorteren.

    edit zoveel:
    Heb het met een soortgelijke query geprobeerd hier op MySQL 4.1.15, dat werkt zowel in phpMyAdmin als in PHP prima. Ik gok dat LeeHarveyOswald iets verkeerds heeft zitten in $startdag of $vandaag

    [ Bericht 7% gewijzigd door JeRa op 29-01-2006 08:30:22 ]
    Swetseneggerzondag 29 januari 2006 @ 09:32
    quote:
    Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:

    [..]

    Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
    Reference Manual :: 9.6 Treatment of Reserved Words in MySQL

    Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waard wat lul ik nou het is het proberen helemaal niet waard, sorteren op één rij is nutteloos ik moet leren m'n eigen antwoorden te onthouden

    Echter wordt het een probleem mocht je meerdere rijen met COUNT()-waarden hebben. Zou MySQL al bij voorbaat hebben besloten aan de vorm van de query dat er geen sortering mogelijk is? Want een dergelijke query met GROUP BY wil je natuurlijk wel kunnen sorteren.

    edit zoveel:
    Heb het met een soortgelijke query geprobeerd hier op MySQL 4.1.15, dat werkt zowel in phpMyAdmin als in PHP prima. Ik gok dat LeeHarveyOswald iets verkeerds heeft zitten in $startdag of $vandaag
    wat een lang antwoord jera
    JeRazondag 29 januari 2006 @ 09:42
    quote:
    Op zondag 29 januari 2006 09:32 schreef Swetsenegger het volgende:

    [..]

    wat een lang antwoord jera
    Ben een beetje gefrustreerd door de programmeurs van MySQL. Ze moeten maar een fatsoenlijke parser + bijbehorende foutmeldingen schrijven goddomme hier, de bron van al het kwaad!

    [ Bericht 13% gewijzigd door JeRa op 29-01-2006 09:49:05 ]
    rickmanszondag 29 januari 2006 @ 10:15
    quote:
    Op zondag 29 januari 2006 08:18 schreef JeRa het volgende:

    [..]

    Daar zat ik ook al aan te denken, kan 'views' echter niet op deze pagina vinden:
    Reference Manual :: 9.6 Treatment of Reserved Words in MySQL

    Views worden pas ondersteund vanaf MySQL 5.x maar zelfs daar komt het alleen als de keyword 'view' voor. Maar het is het proberen iig waard wat lul ik nou het is het proberen helemaal niet waard, sorteren op één rij is nutteloos ik moet leren m'n eigen antwoorden te onthouden
    hetgeen wat ik wel een paar ben tegen gekomen is dat mysql het vrij lastig vond om op aliases te sorteren als er een geen backticks om heen stonden. Gelukkig was het geen constant gedrag, want soms wilde die het wel en soms niet .
    LeeHarveyOswaldzondag 29 januari 2006 @ 11:19
    Ik ga mn sort er even uitslopen (die stond er idd nog in van de vorige versie van mn bezoekers teller, toen was het gewoon een domme hit teller) en mocht het dan niet werken, kijk ik mn variabele even na danku!
    LeeHarveyOswaldzondag 29 januari 2006 @ 11:23
    Ik zie nu dat ik toch helemaal verkeerd bezig ben Hij doet het trws nog niet
    LeeHarveyOswaldzondag 29 januari 2006 @ 11:39
    1
    2
    3
    4
    5
    6
    7
    <?php
    $sql
    = "SELECT COUNT(Datum) as Viewed FROM Stats WHERE Datum = '".$vandaag."'";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {
    $Views = $result['Viewed'];
    echo
    $Views;
    ?>


    Geeft exact dezelfde foutmelding
    JeRazondag 29 januari 2006 @ 11:49
    Doe eens een 'echo $sql;' na je regel met '$sql = ...'. Het is raar dat je nog steeds een foutmelding krijgt over 'views' terwijl je nu je alias 'viewed' hebt genoemd namelijk.
    LeeHarveyOswaldzondag 29 januari 2006 @ 11:53
    Ik ben zó stom bezig

    Ik tel mn stats pagina ook mee voor mn stats, en daar staat nog een kolom views in
    JeRazondag 29 januari 2006 @ 11:55
    quote:
    Op zondag 29 januari 2006 11:53 schreef LeeHarveyOswald het volgende:
    Ik ben zó stom bezig

    Ik tel mn stats pagina ook mee voor mn stats, en daar staat nog een kolom views in
    You're not to blame, MySQL wist dus weldegelijk dat er een kolom 'views' was maar presteerde het om een cryptische en compleet nietszeggende foutmelding te produceren.
    LeeHarveyOswaldzondag 29 januari 2006 @ 12:19
    Ik heb het besloten totaal anders te doen, en zit nu alweer vast

    Wat ik wil is uit mn tabel Stats (ID, Titel, Datum, Tijd) Alle titels selecteren, weergeven, en dan gesorteerd op meeste weergaves

    Dit blijkt iets lastiger dan ik dacht Iemand die nog wel de bomen door het bos ziet?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    echo "<tr><td><b>Pagina:</b></td><td><b>Views</b></td></tr>";
    $sql = "SELECT Titel FROM Stats WHERE Datum >= '".$startdag."' AND Datum <= '".$vandaag."' GROUP BY Titel";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {
    $Pagina = $result['Titel'];

    $sql = "SELECT COUNT(ID) AS Viewed FROM Stats WHERE Titel = '".$Pagina."'";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {

    $Views = $result['Viewed'];
    echo
    "<tr><td><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></tr>";
    }
    }
    ?>
    SuperRembozondag 29 januari 2006 @ 12:49
    1
    2
    3
    4
    5
    SELECT Titel, COUNT(ID) Viewed
    FROM Stats
    WHERE Datum BETWEEN $startdag AND $vandaag
    GROUP BY Titel
    ORDER BY Views
    LeeHarveyOswaldzondag 29 januari 2006 @ 12:51
    je bent geweldig Dat is ook nog een stukje helderder
    wobbelzondag 29 januari 2006 @ 13:18
    Klinkt misschien heel stom...maar kan je ook != doen bij een query?

    Dus:
    SELECT Url FROM Pornosites WHERE Betaald != 'y'

    Dat ie alles selecteerd, maar niet als Betaald "y" is
    SuperRembozondag 29 januari 2006 @ 13:23
    Probeer het eens!
    wobbelzondag 29 januari 2006 @ 13:27
    quote:
    Op zondag 29 januari 2006 13:23 schreef SuperRembo het volgende:
    Probeer het eens!
    Het werkt
    Swetseneggerzondag 29 januari 2006 @ 13:32
    quote:
    Op zondag 29 januari 2006 12:51 schreef LeeHarveyOswald het volgende:
    je bent geweldig

    SuperRembo is de 'gecompliceerde query helder gemaakt' master
    Een paar queries van hem, en je gaat het uiteindelijk zelf nog begrijpen

    Hail SuperRembo, Roonaan, Light en Jera (in willekeurige volgorde) voor hun aanhoudende hulp van ons prutsers .
    LeeHarveyOswaldzondag 29 januari 2006 @ 13:51
    Prutsers?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $uurA
    =  date("$i:0:0");
    $uur = $i + 1;
    $uurB =  date("$uur:0:0");
    $Views = "";
    $Pagina = "";
    $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {
    $Views = $result['Viewed'];
    $Pagina = $result['Titel'];
    if(!empty(
    $Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";}
    }
    ?>


    Hoe komt het dat ik nu altijd een waarde krijg voor 00:00 tm 01:00, ook al is er geen pagina geladen rond die tijd? Het gaat dan om de statistieken van de gene die er onder komt...

    zie http://pestforum.nl/statistieken.php?show=vandaag onderaan voor wat ik bedoel...
    JeRazondag 29 januari 2006 @ 13:56
    Ehm, dat is niet de manier waarop je date() behoort te gebruiken check de manual van PHP daar eens op, want zoals het er nu staat klopt dat in ieder geval al niet.
    LeeHarveyOswaldzondag 29 januari 2006 @ 13:57
    Het werkt wel ...

    Alleen bij 00:00 tm 01:00 gaat het mis ..
    JeRazondag 29 januari 2006 @ 14:00
    quote:
    Op zondag 29 januari 2006 13:57 schreef LeeHarveyOswald het volgende:
    Het werkt wel ...
    Wát werkt er wel, dan? Enig idee wat date() doet? verder zie ik niet waar je $i vandaan haalt?
    LeeHarveyOswaldzondag 29 januari 2006 @ 14:02
    hmm ik heb dat deel van een eerder stuk gekopieerd, waar de huidige datum ingevoegd moest worden ... Daar zit dus de wazigheid in

    Maar verklaart niet het probleem, want de hele statistiek pagina werkt wél gewoon ..
    LeeHarveyOswaldzondag 29 januari 2006 @ 14:03
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    $vandaag
    =  date("Y-m-d");
    $i = 0;
    while (
    $i &lt;= 24):
    $uurA =  "$i:0:0";
    $uur = $i + 1;
    $uurB =  "$uur:0:0";
    $Views = "";
    $Pagina = "";
    $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {
    $Views = $result['Viewed'];
    $Pagina = $result['Titel'];
    if(!empty(
    $Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";}
    }

    $i++;
    endwhile;


    echo
    "</table>";
    ?>


    Zo issie nu, maar werking is niet veranderd
    JeRazondag 29 januari 2006 @ 14:05
    quote:
    Op zondag 29 januari 2006 14:03 schreef LeeHarveyOswald het volgende:

    [ code verwijderd ]

    Zo issie nu, maar werking is niet veranderd
    Sowieso wil je dat '< 24' maken in die while-loop, of wil je ook op 24:00-25:00 checken?

    Verder lijkt het me dat de Tijd-kolom wordt gecontroleerd op waardes als 1:0:0, klopt dat ook met wat er in de database staat? Dus qua formatting? Wat voor type kolom is Tijd?
    LeeHarveyOswaldzondag 29 januari 2006 @ 14:10
    Rond middernacht bevat de database niets, want die heb ik net leeg gehaald

    De tijd die ik in de database zet is $tijd = date("H:i:s");
    JeRazondag 29 januari 2006 @ 14:13
    quote:
    Op zondag 29 januari 2006 14:10 schreef LeeHarveyOswald het volgende:
    Rond middernacht bevat de database niets, want die heb ik net leeg gehaald

    De tijd die ik in de database zet is $tijd = date("H:i:s");
    Je ziet dat de views tussen 0:00 en 1:00 geiljk zijn aan het totaal aantal views...ik denk dat hij '14:00:00' ook ziet als een waarde die tussen '1:0:0' en '0:0:0' ligt. Ik zou er dus voor zorgen dat je formatting beter in elkaar gaat zitten controleer met '01:00:00' ipv '1:0:0', aangezien je die eerste waarde ook in de database stopt.

    Overigens, als je alleen de views tussen bepaalde uren vastlegt, waarom gebruik je dan zo'n formatting in de database? Waarom niet een UNSIGNED TINYINT met de waarde van het uur?
    LeeHarveyOswaldzondag 29 januari 2006 @ 18:05
    Ik kom er nog niet uit ... het lukt me niet om er een goed werkend geheel uit te krijgen met een 0 voor het uur, indien < 10 uur.....
    Darkomenzondag 29 januari 2006 @ 18:54
    if(strlen($uur)==1) {$uur = '0'.$uur;}

    zoiets werkt altijd
    LeeHarveyOswaldzondag 29 januari 2006 @ 19:13
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    while ($i &lt; 24):
    if(
    strlen($i)==1) {$i = '0'.$i;}
    $uurA =  "$i:0:0";
    $uur = $i + 1;
    $uurB =  "$uur:0:0";
    $Views = "";
    $Pagina = "";
    $sql = "SELECT Titel, COUNT(ID) Viewed FROM Stats WHERE Datum BETWEEN '$startdag' AND '$vandaag' AND Tijd BETWEEN '$uurA' AND '$uurB' GROUP BY Titel ORDER BY Viewed DESC LIMIT 0, 5";
    $query = mysql_query($sql) or die(mysql_error());
    while (
    $result = mysql_fetch_array($query)) {
    $Views = $result['Viewed'];
    $Pagina = $result['Titel'];
    if(!empty(
    $Pagina)){echo "<tr><td align = left>".$uurA." - ".$uurB."</td><td align = right><a href='http://pestforum.nl".$Pagina."'>".$Pagina."</a></td><td align = right>".$Views."</td></td></tr>";}
    }
    ?>


    en nu doettie helemaal raar (bij (Bijna?) alle uren het totaal aangeven ipv. alleen van dat uur..)
    SuperRembozondag 29 januari 2006 @ 19:24
    Waarom zit je nou de hele tijd te kloten met datum en tijd strings in varchar kolommen? Gebruik gewoon een DATETIME kolom.
    Swetseneggerzondag 29 januari 2006 @ 19:38
    Mag ik een korte .htaccess vraag stellen?

    ik heb een 404 verwijzing aangemaakt in mijn .htaccess en een eigen 404 pagina geupload.
    En.... dat werkt: http://www.tweedehandsboek.net/test.html
    ...Maar toch niet helemaal: http://www.tweedehandsboek.net/test.php


    Waar moet ik dit zoeken?
    JeRazondag 29 januari 2006 @ 19:46
    quote:
    Op zondag 29 januari 2006 19:38 schreef Swetsenegger het volgende:

    Waar moet ik dit zoeken?
    'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.
    Swetseneggerzondag 29 januari 2006 @ 19:54
    quote:
    Op zondag 29 januari 2006 19:46 schreef JeRa het volgende:

    [..]

    'No input file' duidt erop dat je webhoster PHP via CGI aanbiedt; de php-cgi interface geeft die foutmelding namelijk als er een .php-bestand wordt aangeroepen dat niet bestaat. Hoe je dat oplost weet ik zo even niet, waarschijnlijk kun je het beste even overleggen met je webhoster.
    Die is zo flexibel als een loden deur
    Maar goed, het zal zeer waarschijnlijk niet aan mij maar aan hen liggen correct?
    quote:
    Kaychelle: The Custom 404 pages won't work for .php files because , by default B-one offers PHP to be executed as CGI which cannot be changed.
    Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.

    [ Bericht 10% gewijzigd door Swetsenegger op 29-01-2006 19:59:54 ]
    JeRazondag 29 januari 2006 @ 20:17
    quote:
    Op zondag 29 januari 2006 19:54 schreef Swetsenegger het volgende:
    Goedkope tip van ome Swets.... Ga NOOIT naar b-one.net voor hosting. Ze hebben niets, kennen niets en ondersteunen niets.
    Tja, dat krijg je met dat soort hosters als je honderden websites op één shared webserver gaat draaien dan moet er een mate van beveiliging zijn. Als je dan geen safe_mode wilt gebruiken ben je toegewezen op PHP-CGI die je kunt laten uitvoeren onder de rechten van de gebruiker, maar tegelijkertijd krijg je dat soort perikelen.

    Mijn advies: zoek een degelijke webhoster waar je waarschijnlijk wel iets meer voor moet betalen, maar een uitstekende support levert en jou vertrouwt in waar je je website voor gebruikt. Ik zit nu bij een webhostbedrijf in België (naast m'n eigen webhosting) en zij doen er absoluut niet moeilijk over om scripts commando's uit te laten voeren, onder CGI iets te laten draaien of om je helemaal uit te leven met de configuratie van PHP. Het zijn de subtiele verschillen
    Swetseneggerzondag 29 januari 2006 @ 20:28
    quote:
    Op zondag 29 januari 2006 20:17 schreef JeRa het volgende:

    [..]

    Tja, dat krijg je met dat soort hosters als je honderden websites op één shared webserver gaat draaien dan moet er een mate van beveiliging zijn. Als je dan geen safe_mode wilt gebruiken ben je toegewezen op PHP-CGI die je kunt laten uitvoeren onder de rechten van de gebruiker, maar tegelijkertijd krijg je dat soort perikelen.

    Mijn advies: zoek een degelijke webhoster waar je waarschijnlijk wel iets meer voor moet betalen, maar een uitstekende support levert en jou vertrouwt in waar je je website voor gebruikt. Ik zit nu bij een webhostbedrijf in België (naast m'n eigen webhosting) en zij doen er absoluut niet moeilijk over om scripts commando's uit te laten voeren, onder CGI iets te laten draaien of om je helemaal uit te leven met de configuratie van PHP. Het zijn de subtiele verschillen
    Dat klopt, andere sites draaien ook bij een bevriend hoster.
    Maar in dit geval; wilde ik kijken of ik er wat mee kon verdienen. Hoe goedkoper de hosting, des te eerder het geld oplevert
    JeRazondag 29 januari 2006 @ 20:41
    quote:
    Op zondag 29 januari 2006 20:28 schreef Swetsenegger het volgende:

    [..]

    Dat klopt, andere sites draaien ook bij een bevriend hoster.
    Maar in dit geval; wilde ik kijken of ik er wat mee kon verdienen. Hoe goedkoper de hosting, des te eerder het geld oplevert
    Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen geven
    LeeHarveyOswaldzondag 29 januari 2006 @ 20:46
    quote:
    Op zondag 29 januari 2006 19:24 schreef SuperRembo het volgende:
    Waarom zit je nou de hele tijd te kloten met datum en tijd strings in varchar kolommen? Gebruik gewoon een DATETIME kolom.
    Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?
    Swetseneggerzondag 29 januari 2006 @ 20:47
    quote:
    Op zondag 29 januari 2006 20:41 schreef JeRa het volgende:

    [..]

    Kun je bij je huidige hosting mod_rewrite gebruiken? Want dan zou je in principe alles behalve de toegestane pagina's een 404 kunnen geven
    Dat weet ik niet Ik heb me sowieso nog nooit in mod_rewrites verdiept.
    SuperRembozondag 29 januari 2006 @ 21:18
    quote:
    Op zondag 29 januari 2006 20:46 schreef LeeHarveyOswald het volgende:

    [..]

    Maar goed, dat is dus in het begin fout gegaan, kan ik nu weinig meer aan veranderen (immers, het invoeren van statistieken en het weergeven van simpele overzichten werkt al, en anders moet ik dat allemaal gaan aanpassen). Dus hoe zou ik het nu werkend kunnen krijgen?
    Lijkt lijkt me zeker de moeite waard om het nu nog om te bouwen. Als je tabel eenmaal vol met statistieken zit is het veel meer werk om het om te zetten.

    $s = date('H:i:s'); geeft de huidige tijd als 21:17:52, 24-uurs tijd met voorloopnullen. Maar als je nog steeds dingen als $uurA = date("$i:0:0"); gebruikt dan gaat het natuurlijk mis.
    JeRazondag 29 januari 2006 @ 21:25
    Ik gebruik bijna altijd een Unix epoch timestamp. Een 4-byte unsigned integer waarmee je gemakkelijk kunt rekenen - als je de rijen wilt hebben in een bepaald tijdbestek bepaal je de grenzen en doe je een timestamp BETWEEN x AND y DATETIME heb ik nooit zo heel goed begrepen aangezien je dan op databaseniveau bezig bent met formatting van een datum/tijd, terwijl ik liever bezig ben met de presentatie van dat soort dingen op templateniveau.

    En LeeHarveyOswald, het loont zeker om nu nog je databasestructuur aan te passen zeker omdat je zei dat je pas nog de statistieken gereset hebt, nu maakt het nog weinig uit.
    Swetseneggerzondag 29 januari 2006 @ 21:38
    En je kan natuurlijk een convertor scriptje schrijven welke je huidige varchar tijd omzet naar een correct formaat voor DATETIME kolommen.

    Zet je de boel even over
    Desdinovamaandag 30 januari 2006 @ 15:35
    is er een goede manier om berichten af te vangen die vrijwel volledig in caps geschreven zijn? het probleem is dat niet alle berichten volledig in caps geschreven worden, en om alles via strtolower(); om te zetten is n beetje matig. het mooiste zou ook nog s zijn als elke keer dat het bericht wordt omgezet naar kleine letters wanneer nodig, de eerste letter na een punt-spatie weer een hoofdletter wordt. en natuurlijk de allereerste letter ook
    JeRamaandag 30 januari 2006 @ 15:56
    @Desdinova

    Je kunt een functie schrijven die het aantal hoofdletters t.o.v. het totaal aantal letters telt. Komt het percentage boven een gekozen grens uit, zeg 15%, dan zou je ervoor kunnen kiezen om een strtolower() toe te passen.
    Swetseneggermaandag 30 januari 2006 @ 16:23
    quote:
    Op maandag 30 januari 2006 15:35 schreef Desdinova het volgende:
    is er een goede manier om berichten af te vangen die vrijwel volledig in caps geschreven zijn? het probleem is dat niet alle berichten volledig in caps geschreven worden, en om alles via strtolower(); om te zetten is n beetje matig. het mooiste zou ook nog s zijn als elke keer dat het bericht wordt omgezet naar kleine letters wanneer nodig, de eerste letter na een punt-spatie weer een hoofdletter wordt. en natuurlijk de allereerste letter ook
    reguliere expressie?

    Kijk eens op het volgende linkje. Die doen wel niet precies wat je wil, maar met de code welke daar gepost is, moet je denk ik een eind kunnen komen.
    http://www.phpfreakz.nl/forum.php?forum=5&iid=705810
    SuperRembomaandag 30 januari 2006 @ 16:30
    quote:
    Op zondag 29 januari 2006 21:25 schreef JeRa het volgende:
    Ik gebruik bijna altijd een Unix epoch timestamp. Een 4-byte unsigned integer waarmee je gemakkelijk kunt rekenen - als je de rijen wilt hebben in een bepaald tijdbestek bepaal je de grenzen en doe je een timestamp BETWEEN x AND y DATETIME heb ik nooit zo heel goed begrepen aangezien je dan op databaseniveau bezig bent met formatting van een datum/tijd, terwijl ik liever bezig ben met de presentatie van dat soort dingen op templateniveau.
    Echte formatting is het niet. Als ik het goed heb wordt een DATETIME op dezelfde manier opgeslagen als een DECIMAL.
    JeRamaandag 30 januari 2006 @ 16:49
    quote:
    Op maandag 30 januari 2006 16:30 schreef SuperRembo het volgende:

    [..]

    Echte formatting is het niet. Als ik het goed heb wordt een DATETIME op dezelfde manier opgeslagen als een DECIMAL.
    Voor zover ik me kan herinneren moest ik weldegelijk een string naar een bepaald formaat (YYYY-MM-DD HH:mm oid) omzetten om in een DATETIME kolom te kunnen opslaan
    SuperRembomaandag 30 januari 2006 @ 17:38
    Je kunt zonder problemen 20060130164900 in een DATETIME inserten.
    JeRamaandag 30 januari 2006 @ 17:45
    quote:
    Op maandag 30 januari 2006 17:38 schreef SuperRembo het volgende:
    Je kunt zonder problemen 20060130164900 in een DATETIME inserten.
    Dan nog heb ik liever dat er één standaard komt die overal gebruikt kan worden in plaats van een bepaald formaat dat per tijdzone of per land verschilt immers, is op jouw manier een bepaalde datum nu 1 februari of 2 januari? (0102, 0201). En is een bepaalde tijd in het uur van omschakeling van winter- naar zomertijd (of andersom) nu vóór of ná de omschakeling? Nee, geef mij maar de oude vertrouwde secondes sinds 1 januari 1970 hoewel die natuurlijk voor geen meter werken als je een datum vóór 1970 wilt opslaan, dan zal een DATETIME vast en zeker beter werken
    SuperRembomaandag 30 januari 2006 @ 18:09
    Een DATETIME doet niets met tijdzones en zomertijd. Net als jouw timestamps. Een datum is YYYYMMDD of YYYYMMDDHHMMSS, dus 20060102 is 2 januari en niet 1 februari.
    Als je een query uitvoert zonder formatting via php dan krijg je met een timestamp wijnig informatieve waarden als 1138640905. Dan heb ik toch liever 20060130180825 of '2006-01-30 18:08:25'.
    wobbelmaandag 30 januari 2006 @ 18:23
    Hoe controleer of ik een variable een getal is?
    GEEN komma of punt getal (dus geen 25,50 en 13,37) maar gewoon alleen 2550 of alleen 1337.

    is_int() niet
    is_float() ook niet :s


    echo Aantal: " . is_int ( $sAmount ) . ";
    geeft trouwens alleen Aantal: weer, dus zonder true of false erachter
    mscholmaandag 30 januari 2006 @ 18:27
    klein vraagje dat niet zo zeer met php te maken heeft en toch weer wel:
    als ik in php de funvtie mail() gebruik kan ik er ook headers aan meegeven...
    weet iemand welke headers dit allemaal zijn?
    want dat kan ik namelijk niet vinden...
    wobbelmaandag 30 januari 2006 @ 18:28
    quote:
    Op maandag 30 januari 2006 18:27 schreef mschol het volgende:
    klein vraagje dat niet zo zeer met php te maken heeft en toch weer wel:
    als ik in php de funvtie mail() gebruik kan ik er ook headers aan meegeven...
    weet iemand welke headers dit allemaal zijn?
    want dat kan ik namelijk niet vinden...
    Ligt eraan wat je wilt meegeven er zijn er nogal wat, je kan ze ook zelf aanmaken. Zo hebben wij een extra header X-Info: met daarin onze bedrijfsnaam omdat wij het script geprogged hebben
    Swetseneggermaandag 30 januari 2006 @ 18:29
    quote:
    Op maandag 30 januari 2006 18:23 schreef wobbel het volgende:
    Hoe controleer of ik een variable een getal is?
    GEEN komma of punt getal (dus geen 25,50 en 13,37) maar gewoon alleen 2550 of alleen 1337.

    is_int() niet
    is_float() ook niet :s
    is_int doet toch precies wat je wil?
    quote:
    echo Aantal: " . is_int ( $sAmount ) . ";
    geeft trouwens alleen Aantal: weer, dus zonder true of false erachter
    je moet toch voorwaardelijk controleren, dus if(is_int($sAmount)){
    mscholmaandag 30 januari 2006 @ 18:36
    quote:
    Op maandag 30 januari 2006 18:28 schreef wobbel het volgende:

    [..]

    Ligt eraan wat je wilt meegeven er zijn er nogal wat, je kan ze ook zelf aanmaken. Zo hebben wij een extra header X-Info: met daarin onze bedrijfsnaam omdat wij het script geprogged hebben
    nou allee de beetje standaard headers zou al prettig zijn (degene die dus het meest worden gebruikt..)
    ik wil er een beetje mee klooien en kijken hoe het aankomt enzo vandaar..
    Nevermindmaandag 30 januari 2006 @ 18:41
    Hier een paar;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Reply-To: "Somebody" <SomeReplyAddr@somplace.com>
    From: "Somebody" <somebozo@yahoo.com>
    To: <gboyd@expita.com>
    Subject: Test message
    Date: Fri, 2 Mar 2001 12:04:31 -0800
    Organization: SomeOrganiztion
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Mailer: Microsoft Outlook Express 5.00.2919.6600


    Dat is typisch googlewerk hoor

    -edit-
    http://www.expita.com/header1.html
    Naar beneden scrollen tot 'Common e-mail headers'
    wobbelmaandag 30 januari 2006 @ 18:41
    lama
    FritsFluitketelmaandag 30 januari 2006 @ 18:41
    Hej mensen, ik zit een beetje met php te prutsen en kom er op het moment met google ed niet uit.

    Het gaat hierom: http://nieuw.jkoetsier.nl

    De inhoud van elke pagina staat opgeslagen in een *.dat bestandje (op dit moment alleen Home met de tekst "Welkom" en de 404 melding). In die bestandjes gebruik ik gewoon html, dus plaatjes ed zijn ook mogelijk. Nu komt mijn probleem. Als ik nu een lange lap tekst kwijt wil, wil ik niet dat m'n tabel vergroot wordt, ik wil dan een scrollbalkje krijgen. Nu lijkt me dat ik iets moet doen met een dynamisch tekstveld, maar ik kan hier niks over vinden. Daarnaast moet ik natuurlijk ook gewoon plaatjes op pagina's kwijt kunnen. Hoe pak ik dit aan?
    Nevermindmaandag 30 januari 2006 @ 18:44
    quote:
    Op maandag 30 januari 2006 18:41 schreef wobbel het volgende:
    lama
    -edit-
    mooie timing hoor
    wobbelmaandag 30 januari 2006 @ 18:45
    quote:
    Op maandag 30 januari 2006 18:29 schreef Swetsenegger het volgende:

    [..]

    is_int doet toch precies wat je wil?
    [..]

    je moet toch voorwaardelijk controleren, dus if(is_int($sAmount)){
    Waarom krijg ik dan deze foutmelding:
    Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.

    Debugging:
    Inkoopprijs: 25
    Verkoopprijs: 25
    Aantal: 4


    Script:
    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
    <?php
    $sProductId                                
    = addslashes ( $_POST['ProductId'] );
            
    $sAmount                                = $_POST['Amount'];
            
    $sIn                                    = $_POST['In'];
            
    $sOut                                    = $_POST['Out'];
            
    $sDate                                    = date ( "U" );
            
            
    $rCheckProduct                            = mysql_query ( "SELECT COUNT(IdProduct)
                                                    FROM Producten
                                                    WHERE IdProduct = '"
    . $sProductId . "'" );
            
    $rCheckResult                            = mysql_result ( $rCheckProduct, 0 );
            
            if (
    $rCheckResult == 1 )
            {
            
                if (
    is_int ( $sAmount ) )
                {
                
                
                }
                else
                {
                
                    
    $error-&gt;Report                        ( "Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.<br /><br />Debugging:<br />Inkoopprijs: " . $sIn  . "<br />Verkoopprijs: " . $sOut  . "<br />Aantal: " . $sAmount  . "", 0, 1 );
                
                }
            
            }
            else
            {
            
                
    $error-&gt;Report                        ( "Het opgegeven product is niet gevonden. <br /><br />Debugging:<br />Records gevonden: " . $rCheckResult , 0, 1 );
            
            }
    ?>
    Swetseneggermaandag 30 januari 2006 @ 19:02
    quote:
    Op maandag 30 januari 2006 18:41 schreef FritsFluitketel het volgende:
    Hej mensen, ik zit een beetje met php te prutsen en kom er op het moment met google ed niet uit.

    Het gaat hierom: http://nieuw.jkoetsier.nl

    De inhoud van elke pagina staat opgeslagen in een *.dat bestandje (op dit moment alleen Home met de tekst "Welkom" en de 404 melding). In die bestandjes gebruik ik gewoon html, dus plaatjes ed zijn ook mogelijk. Nu komt mijn probleem. Als ik nu een lange lap tekst kwijt wil, wil ik niet dat m'n tabel vergroot wordt, ik wil dan een scrollbalkje krijgen. Nu lijkt me dat ik iets moet doen met een dynamisch tekstveld, maar ik kan hier niks over vinden. Daarnaast moet ik natuurlijk ook gewoon plaatjes op pagina's kwijt kunnen. Hoe pak ik dit aan?
    dit heeft niets met php te maken, maar puur met html en CSS.
    Kijk eens op www.handleidinghtml.nl
    Swetseneggermaandag 30 januari 2006 @ 19:06
    quote:
    Op maandag 30 januari 2006 18:45 schreef wobbel het volgende:

    [..]

    Waarom krijg ik dan deze foutmelding:
    Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.
    Geef je formulier eens.
    JeRamaandag 30 januari 2006 @ 19:10
    quote:
    Op maandag 30 januari 2006 18:09 schreef SuperRembo het volgende:
    Een DATETIME doet niets met tijdzones en zomertijd. Net als jouw timestamps.
    Er is een uur per jaar waarbij je bij DATETIME het verschil niet kunt vertellen maar bij Unix timestamps wél
    quote:
    Als je een query uitvoert zonder formatting via php dan krijg je met een timestamp wijnig informatieve waarden als 1138640905. Dan heb ik toch liever 20060130180825 of '2006-01-30 18:08:25'.
    Dat kan, maar zoals gezegd format ik liever niet met MySQL. MySQL is mijn opslagformaat, en met PHP of via een template zorg ik voor de formatting. Zo is er bijvoorbeeld date() waarbij timestamps zich uitzonderlijk goed als parameter lenen. Als je dan toch iets na een query direct geformatteerd wilt zien door MySQL, dan gebruik je toch FROM_UNIXTIME()? Nee, ze zullen iets zonder formatting en met bredere opties dan een epoch-timestamp (iets dat langer dan 2038 meegaat bijvoorbeeld) moeten introduceren in MySQL voordat ik daar op over ga
    FritsFluitketelmaandag 30 januari 2006 @ 19:11
    quote:
    Op maandag 30 januari 2006 19:02 schreef Swetsenegger het volgende:

    [..]

    dit heeft niets met php te maken, maar puur met html en CSS.
    Kijk eens op www.handleidinghtml.nl
    Ik krijg het dus niet voor elkaar, want in een tekstvak (waarbij je dus scrollbalken krijgt) krijg je geen plaatjes en frames hou ik niet zo van. Ik zou het graag anders doen, maar hoe..
    Swetseneggermaandag 30 januari 2006 @ 19:15
    quote:
    Op maandag 30 januari 2006 19:11 schreef FritsFluitketel het volgende:

    [..]

    Ik krijg het dus niet voor elkaar, want in een tekstvak (waarbij je dus scrollbalken krijgt) krijg je geen plaatjes en frames hou ik niet zo van. Ik zou het graag anders doen, maar hoe..
    vergeet tabellen en kijk naar div's een overflow div is je oplossing
    SuperRembomaandag 30 januari 2006 @ 19:57
    quote:
    Op maandag 30 januari 2006 19:10 schreef JeRa het volgende:

    [..]

    Er is een uur per jaar waarbij je bij DATETIME het verschil niet kunt vertellen maar bij Unix timestamps wél
    Wat is dit voor onzin
    quote:
    Dat kan, maar zoals gezegd format ik liever niet met MySQL. MySQL is mijn opslagformaat, en met PHP of via een template zorg ik voor de formatting. Zo is er bijvoorbeeld date() waarbij timestamps zich uitzonderlijk goed als parameter lenen. Als je dan toch iets na een query direct geformatteerd wilt zien door MySQL, dan gebruik je toch FROM_UNIXTIME()? Nee, ze zullen iets zonder formatting en met bredere opties dan een epoch-timestamp (iets dat langer dan 2038 meegaat bijvoorbeeld) moeten introduceren in MySQL voordat ik daar op over ga
    Het wordt tijd dat php een fatsoenlijk datum formaat krijgt.
    FritsFluitketelmaandag 30 januari 2006 @ 20:06
    Foutje
    FritsFluitketelmaandag 30 januari 2006 @ 20:08
    Found it

    Thx
    Roonaanmaandag 30 januari 2006 @ 20:11
    quote:
    Op maandag 30 januari 2006 19:57 schreef SuperRembo het volgende:

    [..]

    Wat is dit voor onzin
    zal wel de wintertijd/zomertijd transitie overlap uur zijn.
    SuperRembomaandag 30 januari 2006 @ 20:29
    quote:
    Op maandag 30 januari 2006 20:11 schreef Ro�a� het volgende:

    [..]

    zal wel de wintertijd/zomertijd transitie overlap uur zijn.
    Ja, ik snap dat hij daar op doelt. Maar een DATETIME met een datum en een INT kolom met een timestamp doen beide niets met tijdzone/zomertijd. Alleen functies als NOW() in mysql en date() in php kun je beinvloeden door tijdzones en zomertijd.
    SkaterSammaandag 30 januari 2006 @ 21:03
    Even een kort vraagje, is het mogelijk om de height en width van een plaatje te krijgen zonder imageGD?
    SuperRembomaandag 30 januari 2006 @ 21:08
    Ja, dat kan met getimagesize(). "This function does not require the GD image library."
    SkaterSammaandag 30 januari 2006 @ 21:08
    danku
    wobbelmaandag 30 januari 2006 @ 22:04
    quote:
    Op maandag 30 januari 2006 19:06 schreef Swetsenegger het volgende:

    [..]

    Geef je formulier eens.
    Hoezo boeit het formulier? Zoals je ziet is mijn output gewoon 4 (Aantal $sAmount).....

    Volledige script:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <?php
    php
    # -------------- © 2003, 2004, 2005 NetEQ Internet Services --------------- #
    /* Load main library Files */
    require_once                                    ( "../lib/htconfig.php" );
    require_once                                    (
    $GLOBALS['SITE']['LibPath'] . "main.php" );

    if (
    $_SERVER['REQUEST_METHOD'] == "POST" )
    {

        if (
    $_POST['Amount'] AND $_POST['In'] AND $_POST['Out'] AND $_POST['ProductId'] )
        {
        
            
    $sProductId                                = addslashes ( $_POST['ProductId'] );
            
    $sAmount                                = $_POST['Amount'];
            
    $sIn                                    = $_POST['In'];
            
    $sOut                                    = $_POST['Out'];
            
    $sDate                                    = date ( "U" );
            
            
    $rCheckProduct                            = mysql_query ( "SELECT COUNT(IdProduct)
                                                    FROM Producten
                                                    WHERE IdProduct = '"
    . $sProductId . "'" );
            
    $rCheckResult                            = mysql_result ( $rCheckProduct, 0 );
            
            if (
    $rCheckResult == 1 )
            {
            
                if (
    is_int ( $sAmount ) )
                {
                
                
                }
                else
                {
                
                    
    $error-&gt;Report                        ( "Inkoopprijs, Verkoopprijs of Aantal zijn geen geldige formaten.<br /><br />Debugging:<br />Inkoopprijs: " . $sIn  . "<br />Verkoopprijs: " . $sOut  . "<br />Aantal: " . $sAmount  . "", 0, 1 );
                
                }
            
            }
            else
            {
            
                
    $error-&gt;Report                        ( "Het opgegeven product is niet gevonden. <br /><br />Debugging:<br />Records gevonden: " . $rCheckResult , 0, 1 );
            
            }
        
        }
        else
        {
        
            
    $error-&gt;Report                            ( "Niet alle verplichte velden zijn ingevuld.", 0, 1 );
        
        }

    }
    else
    {

        
    $error-&gt;Report                                ( "Ongeldige aanvraag", 0, 1 );
        
    }
    ?>


    Zoals je ziet wordt de input geleverd vanaf een ander HTML formulier...hier de code...

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
       <form method="post" action="#SITE_URL/admin/product_stock_add.php">
       <input name="ProductId" type="hidden" value="#IDPRODUCT" />
       <table width="100%" border="0" cellspacing="1" cellpadding="1">
         <tr>
            <td bgcolor="#E8E8E8" colspan="2"><strong>Aantal</strong></td>
            <td bgcolor="#F5F5F5" colspan="5"><input name="Amount" type="text" id="Amount" size="5" maxlength="10" /></td>
          </tr>
         <tr>
           <td bgcolor="#E8E8E8" colspan="2"><strong>Inkoopprijs</strong></td>
           <td bgcolor="#F5F5F5" colspan="5"><input name="In" type="text" id="In" />
             (Kommagetallen scheiden door een punt. Voorbeeld: <strong>22.50</strong>) </td>
           </tr>
         <tr>
           <td bgcolor="#E8E8E8" colspan="2"><strong>Verkoopprijs</strong></td>
           <td bgcolor="#F5F5F5" colspan="5"><input name="Out" type="text" id="Out" />
             (Kommagetallen scheiden door een punt. Voorbeeld: <strong>22.50</strong>)</td>
           </tr>
         <tr>
           <td colspan="7" align="center" bgcolor="#E8E8E8"><input name="AddStock" type="submit" id="AddStock" value="Voorraad toevoegen" /></td>
           </tr>
        </table>
       </form>


    En die colspan 2 en 5 komt omdat het vanaf een hele grote tabel is, maar ik heb het ff wat lkeiner gemaakt zodat het overzichtelijker is
    Chandlermaandag 30 januari 2006 @ 22:04
    tvp, tis al weer een tijdje geleden dat ik dit gelezen heb
    H4zemaandag 30 januari 2006 @ 23:35
    Ik heb ff een vraagje betreffende wat queries. Inzicht in de database/tabellen is geloof ik niet nodig, dus die geef ik er niet bij.

    1
    2
    3
    4
    5
    6
    SELECT COUNT(klantnr)
    FROM klanten
    WHERE kortingcode=5
    AND plaats='gouda'
    GROUP BY kortingcode
    HAVING COUNT(kortingcode)>2

    Dit werkt prima

    1
    2
    3
    4
    SELECT COUNT(fietsnr),merknaam
    FROM fietsen
    GROUP BY merknaam
    HAVING aantal_versnellingen>=5

    Dit werkt niet

    Maar zodra ik aantal_versnellingen ook in de SELECT zet, werkt het wel! Zoals hieronder dus:
    1
    2
    3
    4
    SELECT COUNT(fietsnr),merknaam,aantal_versnellingen
    FROM fietsen
    GROUP BY merknaam
    HAVING aantal_versnellingen>=5


    Mijn vraag is nu, hoe kan dit? Waarom hoef ik in de bovenste query hetgeen wat in de HAVING clause staat niet in de SELECT te zetten? En waarom moet dit wel bij die andere? Ligt dit aan de COUNT in de eerste query, dat ie 't daarom wel pakt, of ligt het aan mysql. Of ben ik gewoon dom bezig

    Ik weet trouwens dat ik ipv die HAVING ook gewoon WHERE kan doen (dan werkt 't ook gewoon), maar vroeg me verder gewoon af waarom 't niet werkt met die HAVING zonder aantal_versnellingen in de SELECT

    BVD
    SuperRembomaandag 30 januari 2006 @ 23:57
    Het aantal_versnellingen is onbepaald als je er niet op groepeert.

    In je laatste query hoort eigenlijk GROUP BY merknaam, aantal_versnellingen te staan. Het is fout van MySQL dat ie daar niet over klaagt. Het resultaat wat je nu krijgt hangt maar net af van de volgorde waarin de gegevens in de tabel staan.
    H4zedinsdag 31 januari 2006 @ 00:19
    quote:
    Op maandag 30 januari 2006 23:57 schreef SuperRembo het volgende:
    Het aantal_versnellingen is onbepaald als je er niet op groepeert.

    In je laatste query hoort eigenlijk GROUP BY merknaam, aantal_versnellingen te staan. Het is fout van MySQL dat ie daar niet over klaagt. Het resultaat wat je nu krijgt hangt maar net af van de volgorde waarin de gegevens in de tabel staan.
    Dus

    1
    2
    3
    4
    SELECT COUNT(fietsnr),merknaam
    FROM fietsen
    GROUP BY merknaam,aantal_versnellingen
    HAVING aantal_versnellingen>=5


    Zou wel moeten werken? Doet ie dus ook niet...
    #1054 - Unknown column 'aantal_versnellingen' in 'having clause'

    Thnx iig voor de snelle reply iig
    JeRadinsdag 31 januari 2006 @ 05:54
    quote:
    Op maandag 30 januari 2006 20:29 schreef SuperRembo het volgende:

    [..]

    Ja, ik snap dat hij daar op doelt. Maar een DATETIME met een datum en een INT kolom met een timestamp doen beide niets met tijdzone/zomertijd. Alleen functies als NOW() in mysql en date() in php kun je beinvloeden door tijdzones en zomertijd.
    Je had ook zo'n antwoord kunnen geven in plaats van het af te doen met "wat is dit voor onzin " een UNSIGNED INT kolom met een timestamp geeft het aantal seconden sinds 1 januari 1970 weer. Je begrijpt misschien wel dat in dat ene uur 7200 seconden zitten, gezien na 3600 seconden de tijd een uur terug wordt gezet. Een Unix timestamp houdt daar dus gewoon rekening mee, terwijl een DATETIME twee keer dezelfde waardes zal laten zien.
    JeRadinsdag 31 januari 2006 @ 06:00
    quote:
    Op dinsdag 31 januari 2006 00:19 schreef H4ze het volgende:

    [..]

    Dus
    [ code verwijderd ]

    Zou wel moeten werken? Doet ie dus ook niet...
    #1054 - Unknown column 'aantal_versnellingen' in 'having clause'

    Thnx iig voor de snelle reply iig
    Je hebt gegroepeerd op aantal_versnellingen maar waarschijnlijk wil je je clausule in de where stoppen, dus WHERE aantal_versnellingen >= 5.
    wobbeldinsdag 31 januari 2006 @ 08:00
    Hierboven staat mijn vraag, het heeft nogal haast
    JeRadinsdag 31 januari 2006 @ 08:57
    quote:
    Op dinsdag 31 januari 2006 08:00 schreef wobbel het volgende:
    Hierboven staat mijn vraag, het heeft nogal haast
    Ja meneer.

    is_int() retourneert het type van de variabele. In $_POST staan vooral strings, dus daarom krijg je een foutmelding. Waarschijnlijk heb je meer aan is_numeric(). Of je gebruikt natuurlijk intval() of een andere manier om naar een integer te casten om er zeker van te zijn dat je een integer hebt, het enige waar je dan nog op hoeft te controleren is of de waarde die je daaruit krijgt groter is dan 0. Sommige mensen vinden dit geen goede methode aangezien je dan de user input verandert.
    Swetseneggerdinsdag 31 januari 2006 @ 09:55
    quote:
    Op maandag 30 januari 2006 22:04 schreef wobbel het volgende:

    [..]

    Hoezo boeit het formulier? Zoals je ziet is mijn output gewoon 4 (Aantal $sAmount).....

    Volledige script:
    [ code verwijderd ]

    Zoals je ziet wordt de input geleverd vanaf een ander HTML formulier...hier de code...
    [ code verwijderd ]

    En die colspan 2 en 5 komt omdat het vanaf een hele grote tabel is, maar ik heb het ff wat lkeiner gemaakt zodat het overzichtelijker is

    Om te zien of je een string meegeeft in plaats van een integer.

    -edit-
    Jera was me voor.
    rickmansdinsdag 31 januari 2006 @ 10:34
    als kleine aanvulling: je kan eventueel ook aan type juggling doen om zeker te zijn van je typen:

    1
    2
    3
    <?php
    $myInt
    = (int) $myInt;
    ?>
    SuperRembodinsdag 31 januari 2006 @ 10:35
    quote:
    Op dinsdag 31 januari 2006 05:54 schreef JeRa het volgende:

    [..]

    Je had ook zo'n antwoord kunnen geven in plaats van het af te doen met "wat is dit voor onzin " een UNSIGNED INT kolom met een timestamp geeft het aantal seconden sinds 1 januari 1970 weer. Je begrijpt misschien wel dat in dat ene uur 7200 seconden zitten, gezien na 3600 seconden de tijd een uur terug wordt gezet. Een Unix timestamp houdt daar dus gewoon rekening mee, terwijl een DATETIME twee keer dezelfde waardes zal laten zien.
    In de database zet je de tijd zonder zomertijd, of een timestamp zonder zomertijd. Wat is het verschil
    MTVGNdinsdag 31 januari 2006 @ 11:14
    Ik heb me toch iets vaags ... ik zit in een formulier waar ik onder bepaalde voorwaarden een radio-keuze heb, in dit geval wordt deze niet weergegeven, ik doe een GET waarbij ik dezelfde pagina opnieuw aanroep, maar nu met andere parameters en vervolgens het volgende:

    381 if (isset($_GET["weekmaand"]) && !empty($_GET["weekmaand"]));
    382 {
    383 echo $_GET["weekmaand"];
    384 #####
    385 }

    en wat krijg ik?
    Notice: Undefined index: weekmaand in ##### on line 383

    Volgens mij kan dat helemaal niet want de radio 'weekmaand' is in het formulier helemaal niet weergegeven en dus bestaat deze niet en dus zou ik niet bij de echo moeten komen ...
    Wie snapt wat hier fout gaat?
    SuperRembodinsdag 31 januari 2006 @ 11:21
    Er staat een puntkomma achter je if
    MTVGNdinsdag 31 januari 2006 @ 12:07
    Ik blij dat ik in het juiste topic gereageerd heb
    SkaterSamdinsdag 31 januari 2006 @ 13:57
    Ok, nog een vraagje, hoe maak je iets sticky? Dus dat het bovenaan de resultaten lijst blijft staan. Zowiezo moet je een tabel hebben waarin een label 'sticky' is geplaatst (met als waardes true of false), en dan moet je die met een query sorteren, maar ik kan even niet begrijpen hoe de query zal zijn, moet je dan een dubbel ORDER BY hebben??

    1SELECT * FROM table ORDER BY sticky, datum DESC LIMIT 0,15

    Maar moet je dan niet aangeven dat ie alleen die stickys plaatst die true zijn?
    Desdinovadinsdag 31 januari 2006 @ 14:08
    ORDER BY sticky DESC, datum DESC

    je moet ze beiden defineren. ik heb het verhaal niet gevolgd, maar als een sticky waarde 1 heeft, zettie die dus automatisch bovenaan (mits de niet-sticky's 0 hebben)
    SkaterSamdinsdag 31 januari 2006 @ 14:15
    Ja, ik heb dus nu gewoon een field sticky aan de tabel toegevoegd met de waardes: yes en no, en dan inderdaad wat jij zei, en dat doet ie het, aangezien Y eerder zou komen dan N, weet ik dat ook weer
    the_disheaverdinsdag 31 januari 2006 @ 14:34
    quote:
    Op dinsdag 31 januari 2006 14:15 schreef SkaterSam het volgende:
    Ja, ik heb dus nu gewoon een field sticky aan de tabel toegevoegd met de waardes: yes en no, en dan inderdaad wat jij zei, en dat doet ie het, aangezien Y eerder zou komen dan N, weet ik dat ook weer
    Ik zou wel eerder gebruik maken van 1 of 0.
    SkaterSamdinsdag 31 januari 2006 @ 16:16
    quote:
    Op dinsdag 31 januari 2006 14:34 schreef the_disheaver het volgende:
    Ik zou wel eerder gebruik maken van 1 of 0.
    Dit is makkelijker te controleren? Of leest het sneller uit de DB, of is het gewoon logischer?

    vroeg ik me af
    Lightdinsdag 31 januari 2006 @ 16:17
    quote:
    Op dinsdag 31 januari 2006 14:34 schreef the_disheaver het volgende:

    [..]

    Ik zou wel eerder gebruik maken van 1 of 0.
    Eens. De programmalogica wordt duidelijk eenvoudiger door 0 en 1 ipv "N" en "Y".
    R-Mondinsdag 31 januari 2006 @ 17:07
    Probleempje met for-loops.

    Ik heb twee arrays, eentje met nieuwe waarden en eentje met oude waarden. Het aantal kan verschillen en de nieuwe moeten in de db worden gezet.

    Maar omdat het aantal kan verschillen verschillen ook de queries die moeten worden uitgevoerd elke keer. Dus heb ik dit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(count($new) == count($old)) {
    // update
    }
    elseif(count($new) < count($old)) {
    // update, delete
    }
    elseif(count($new) > count($old)) {
    // update, insert
    }


    Nou loop ik vast op het punt waar vergeleken moet worden hoeveel waarden ge-updatemoeten worden en hoeveel waarden er ge-delete/ge-insert moeten worden (de for-loops binnen deze if-jes dus). Hopelijk kan iemand me hiermee helpen (als dit duidelijk genoeg is).
    JeRadinsdag 31 januari 2006 @ 17:22
    quote:
    Op dinsdag 31 januari 2006 16:16 schreef SkaterSam het volgende:

    [..]

    Dit is makkelijker te controleren? Of leest het sneller uit de DB, of is het gewoon logischer?

    vroeg ik me af
    Semantisch gezien is het logischer om 'y' en 'n' te gebruiken, maar aangezien je op een sticky status wilt sorteren kun je beter voor 0 en 1 kiezen omdat je dan zeker weet welke waarde bovenaan komt. Bij 'y' en 'n' is dat maar gokken (MySQL sorteert ze geloof ik op volgorde dat ze gedefinieerd zijn, maar dit hoeft dus niet persé zo te zijn).
    JeRadinsdag 31 januari 2006 @ 17:25
    quote:
    Op dinsdag 31 januari 2006 17:07 schreef R-Mon het volgende:
    Probleempje met for-loops.
    -snip-
    Door gebruik te maken van array_diff() kun je ontdekken welke waarden er zijn weggehaald en welke er zijn toegevoegd. Echter, als je maar met één soort waarde werkt weet ik niet waarom je ooit een UPDATE zal uitvoeren?
    LeeHarveyOswalddinsdag 31 januari 2006 @ 17:37
    hmm het volgende stukje code werkt wel, maar het lukt mij onmogelijk om de mededelingen: tekst, en de marquee naast elkaar te krijgen.. iemand enig idee hoe dit aan te pakken?

    1
    2
    3
    <?php
                                       
    echo"          <td class='row4'><span class='desc'><font size = 2 color = gray>[12:34] </font><font size = 2 color = red>Mededelingen: </font> <font size = 2 color = purple> <marquee Direction='up' loop='true' height='10'  hspace='30'  scrollamount='1' scrolldelay='70'>$reactielijn</marquee></font><br /></span></td>";
    ?>
    R-Mondinsdag 31 januari 2006 @ 18:08
    quote:
    Op dinsdag 31 januari 2006 17:25 schreef JeRa het volgende:

    [..]

    Door gebruik te maken van array_diff() kun je ontdekken welke waarden er zijn weggehaald en welke er zijn toegevoegd. Echter, als je maar met één soort waarde werkt weet ik niet waarom je ooit een UPDATE zal uitvoeren?
    Er moet ook ge-update kunnen worden omdat, kijk. Het is voor een poll. Ik heb een tabel options met de velden id,pollid,option,votes. Als je een poll wilt editten wordt elke option die bij een gegeven pollid hoort ingeladen in een form. Form wordt gesubmit, dit moet verwerkt worden. Er zijn tien input's voor de opties dus er kunnen er maximaal 10 worden gesubmit maar er kunnen ook een paar léég zijn.
    Stel ik verbeter in één van de opties een tikfoutje, maar ik voeg ook twee opties toe. Dan moet er dus ge-update en ge-insert worden.

    Wat ik nu heb in if(count($new) > count($old)) is dit (werkt niet):
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for($x=0;$x<count($old);$x++) {

       // UPDATE
       
       $queryUpdateOption = "UPDATE " . $tableOptions . 
                 " SET `option`='" . $new[$x] . "' WHERE `id`=" . $old[$x]['id'];
       
    }
    for($x=count($old)+1;$x<count($new);$x++) {
       
       // INSERT $new[$x];
       
    }


    De volgorde van de arrays is geen probleem, ik weet dat de volgordes overeenkomen. Maar hoe ik die for-loops moet controleren, dat wanneer voor de lengte van de kleinste is ge-update, verder wordt gegaan met het inserten van de rest. Dat is het.
    LeeHarveyOswalddinsdag 31 januari 2006 @ 18:09
    vanaf nu geld hier een LIFO afhandelings procedure
    the_disheaverdinsdag 31 januari 2006 @ 18:12
    quote:
    Op dinsdag 31 januari 2006 17:37 schreef LeeHarveyOswald het volgende:
    hmm het volgende stukje code werkt wel, maar het lukt mij onmogelijk om de mededelingen: tekst, en de marquee naast elkaar te krijgen.. iemand enig idee hoe dit aan te pakken?
    [ code verwijderd ]
    CSS gebruiken? float: left enzo.

    Waarom eigenlijk zoveel html laten echo´en?
    LeeHarveyOswalddinsdag 31 januari 2006 @ 18:13
    quote:
    Op dinsdag 31 januari 2006 18:12 schreef the_disheaver het volgende:

    [..]

    CSS gebruiken? float: left enzo.

    Waarom eigenlijk zoveel html laten echo´en?
    Vanuit groot php document met beveiliging enzo Alleen selecte groep users mag dit zien, maar met een DIE is het hele document (Forum) uitbeeld, en dat is ook weer niet de bedoeling. .....
    the_disheaverdinsdag 31 januari 2006 @ 18:16
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <td class='row4'>
    <span class='desc'>
    <font size = 2 color = gray style='float:left'>[12:34] </font>
    <font size = 2 color = red style='float:left'>Mededelingen: </font> 
    <font size = 2 color = purple style='float:left'> 
    <marquee Direction='up' loop='true' height='10'  hspace='30'  scrollamount='1' scrolldelay='70'>$reactielijn</marquee>
    </font>
    <br /></span></td>";
    ?>

    Zoiets misschien? Niet getest enzo
    Lightdinsdag 31 januari 2006 @ 18:19
    quote:
    Op dinsdag 31 januari 2006 17:22 schreef JeRa het volgende:

    [..]

    Semantisch gezien is het logischer om 'y' en 'n' te gebruiken, maar aangezien je op een sticky status wilt sorteren kun je beter voor 0 en 1 kiezen omdat je dan zeker weet welke waarde bovenaan komt. Bij 'y' en 'n' is dat maar gokken (MySQL sorteert ze geloof ik op volgorde dat ze gedefinieerd zijn, maar dit hoeft dus niet persé zo te zijn).
    Om het makkelijker te maken kun je ook nog char(1) gebruiken.

    Ander voordeel van 0 en 1 boven 'n' en 'y' is dat iedere (beetje) programmeertaal bij boolean vergelijkingen 0 en false gelijkstelt, net als 1 (niet 0) en true. Er is geen enkele taal die 'n' naar false zal omzetten. Dan wordt iets als
    1
    2
    3
    if ($sticky) {
    ...

    alweer minder, omdat er meer vergelijkingen nodig zijn.
    LeeHarveyOswalddinsdag 31 januari 2006 @ 18:43
    quote:
    Op dinsdag 31 januari 2006 18:16 schreef the_disheaver het volgende:

    [ code verwijderd ]

    Zoiets misschien? Niet getest enzo
    Dat werkt Thnq!!!
    the_disheaverdinsdag 31 januari 2006 @ 23:07
    Ik heb in windows een script gebouwd. Maar nu zit ik voornamelijk onder linux. En daar gaat forwarden met hetzelfde script niet goed.

    1
    2
    3
    <?php
    header
    ('Location: index.php');
    ?>

    Ik krijg ook geen foutmeldingen te zien. Kan een of ander php.ini instelling hier iets te maken mee hebben?

    edit: lijkt toch iets anders te zijn... hij pakt de logoutpagina pas na een refresh.... vreemd. Alleen door het gehele script te posten zou ik geholpen kunnen worden. En das een beetje veel

    Laat maar voor even dus
    Swetseneggerdinsdag 31 januari 2006 @ 23:09
    1
    2
    3
    <?php
    header
    ('Location: '.$_SERVER['PHP_SELF']);
    ?>


    werkt dit wel?
    the_disheaverdinsdag 31 januari 2006 @ 23:13
    quote:
    Op dinsdag 31 januari 2006 23:09 schreef Swetsenegger het volgende:

    [ code verwijderd ]

    werkt dit wel?
    Nee, zie mijn edit. Maar het is wel een betere manier. Tenminste, geeft ie ook de attributen erbij mee? (dus ?id=2) (wat dus niet moet) ow, maakt volgens mij niets uit...
    the_disheaverdinsdag 31 januari 2006 @ 23:24
    edit2: het ligt toch echt aan de header();
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    if (!isset($_SESSION['general']['afdeling'])) {
        if (isset(
    $_POST['afdeling'])) {
            
    $_SESSION['general']['afdeling'] = $_POST[afdeling];
            
    header('Location: '.$_SERVER['PHP_SELF']);
        }
        print
    $keuzeformulier_afdeling
    }
    if (isset(
    $_SESSION['general']['afdeling'])) {
          print
    $afdeling_gegevens
    }
    ?>

    Na het inzenden van het formulier print hij zowel het keuze formulier opneuw af, als de afdeling_gegevens, terwijl in feite na het inzenden van de form een session gezet moet worden, en de pagina opnieuw geladen moet worden . Daardoor zal het form niet meer weergegeven worden (immers, isset($_SESSION) is true, maar alleen de afdelinggevens.

    Hier maakt het weinig uit, door middel van een else {} is het makkelijk op te lossen, maar later zal het script echt opnieuw geladen moeten worden aangezien hetzelfde script meerdere malen uitgevoerd zal moeten worden.

    Ofwel, de header() doet het niet op linux. Zonder foutmeldingen in error.log. Wat kan het zijn?

    [ Bericht 74% gewijzigd door the_disheaver op 31-01-2006 23:44:09 ]
    the_disheaverwoensdag 1 februari 2006 @ 00:47
    En opgelost: waarschijnlijk zat in de windows php.ini de output_buffering wel on, maar in linux niet. Dat maakte het verschil Hij doet het nu!
    DionysuZwoensdag 1 februari 2006 @ 02:44
    kan je een location header naar een relative path laten verwijzen? ik dacht dat die alleen absolute paths nam.
    JeRawoensdag 1 februari 2006 @ 07:03
    quote:
    Op woensdag 1 februari 2006 02:44 schreef DionysuZ het volgende:
    kan je een location header naar een relative path laten verwijzen? ik dacht dat die alleen absolute paths nam.
    Ja, dat kan, en nee, het is geen good practice
    Libriswoensdag 1 februari 2006 @ 08:20
    Ik heb een form met verschillende buttons, die elk verschillende value en name hebben. Hoe kan ik de value en name aflezen uit de $_POST na een submit?

    Met
    1
    2
    3
    foreach ($_POST as $control) {
       echo "control: ".$control."<br>";
    }

    Krijg ik alleen de value, niet de naam...
    Swetseneggerwoensdag 1 februari 2006 @ 08:35
    quote:
    Op woensdag 1 februari 2006 08:20 schreef Libris het volgende:
    Ik heb een form met verschillende buttons, die elk verschillende value en name hebben. Hoe kan ik de value en name aflezen uit de $_POST na een submit?

    Met
    [ code verwijderd ]

    Krijg ik alleen de value, niet de naam...
    1
    2
    3
    foreach($_POST['whatever'] as $k => $v){
    //$k bevat de key (naam) $v bevat de value.
    }
    Libriswoensdag 1 februari 2006 @ 08:59
    Merci!
    Swetseneggerwoensdag 1 februari 2006 @ 13:18
    voor de liefhebbers: http://www.microsoft.com/windows/ie/ie7/devwebchecklist.mspx
    H4zewoensdag 1 februari 2006 @ 16:05
    Vraagje:

    Als ik connectie maak met een mysql database, dan geef ik bij host altijd localhost op. Nu wil ik van buitenaf een connectie met de DB maken. Ik neem aan dat ik bij host dan ook gewoon een IP adres kan invullen?

    [ Bericht 13% gewijzigd door H4ze op 01-02-2006 16:14:09 ]
    R-Monwoensdag 1 februari 2006 @ 16:18
    quote:
    Op woensdag 1 februari 2006 16:05 schreef H4ze het volgende:
    Vraagje:

    Als ik connectie maak met een mysql database, dan geef ik bij host altijd localhost op. Nu wil ik van buitenaf een connectie met de DB maken. Ik neem aan dat ik bij host dan ook gewoon een IP adres kan invullen?
    Juist.
    qu63woensdag 1 februari 2006 @ 19:35
    niet helemaal php/mysql vraag, maar ik hoop toch dat iemand kan helpen

    heb een mooi flashupload script, alleen krijg ik een 405 error als ik iets wil uploaden

    kan het zijn dat ik iets moet aanpassen aan de cfm bestanden die aangeroepen worden? of moet ik die in mn webserver instellen
    R-Monwoensdag 1 februari 2006 @ 19:40
    quote:
    Op woensdag 1 februari 2006 19:35 schreef qu63 het volgende:
    niet helemaal php/mysql vraag, maar ik hoop toch dat iemand kan helpen

    heb een mooi flashupload script, alleen krijg ik een 405 error als ik iets wil uploaden

    kan het zijn dat ik iets moet aanpassen aan de cfm bestanden die aangeroepen worden? of moet ik die in mn webserver instellen
    405 errors often arise with the POST method. You may be trying to introduce some kind of input form on your Web site, but not all ISPs allow the POST method necessary to process the form.

    All 405 errors can be traced to configuration of the Web server and security governing access to the content of the Web site, so should easily be explained by your ISP.

    Inderdaad iets met webserver instellen dus.
    qu63woensdag 1 februari 2006 @ 19:48
    quote:
    Op woensdag 1 februari 2006 19:40 schreef R-Mon het volgende:

    [..]

    405 errors often arise with the POST method. You may be trying to introduce some kind of input form on your Web site, but not all ISPs allow the POST method necessary to process the form.

    All 405 errors can be traced to configuration of the Web server and security governing access to the content of the Web site, so should easily be explained by your ISP.

    Inderdaad iets met webserver instellen dus.
    kutzooi

    ik heb al rondgekeken op de site van aprelium, maar daar vond ik niks

    enig idee of ik daar ook weer een engine (a la php, perl, etc) voor nodig heb?
    elroy1988woensdag 1 februari 2006 @ 20:45
    wie kan mij even helpen ? Ik weet wel wat van php maar nog niet zo veel. Ik heb deze site ter beschikking : http://www.smarthotelsolutions.com/jaarboekVC/index.php

    Dit is een inschrijfformulier voor een Jaarboek van school. Ik wil dit uitbreiden, maar wat voor programma (liefst free) is het beste volgens jullie hiervoor?

    [ Bericht 0% gewijzigd door elroy1988 op 01-02-2006 22:47:50 ]
    qu63woensdag 1 februari 2006 @ 20:55
    laat maar, mijn probleem is al gefixed

    ik had een coldfusion-server moeten draaien of een ander scripot gebruiken. script is nu aangepast naar php
    the_disheaverwoensdag 1 februari 2006 @ 21:04
    quote:
    Op woensdag 1 februari 2006 20:45 schreef elroy1988 het volgende:
    wie kan mij even helpen ? Ik weet wel wat van php maar nog niet zo veel. Ik heb deze site ter beschikking : http://www.smarthotelsolutions.com/jaarboek/index.php

    Dit is een inschrijfformulier voor een Jaarboek van school. Ik wil dit uitbreiden, maar wat voor programma (liefst free) is het beste volgens jullie hiervoor?
    huh? ik krijg een 404 op die link....

    Verder snap ik de vraag totaal niet... wat wil je uitbreiden, en waarom zou je daar een programma voor nodig moeten hebben?
    elroy1988woensdag 1 februari 2006 @ 22:49
    euhm ik schreef, Ik wil dit uitbreiden. Nou zoals je nu ziet zie je wat componenten, maar ik wil wat dingen toevoegen, en mij lijkt dat met een programma beter, omdat ik geen verstand van PHP heb om het uit de losse pols te schudden zonder hulp van programma's!

    Dus vandaar mijn vraag om uberhaupt info hierover te krijgen!
    JeRawoensdag 1 februari 2006 @ 22:51
    quote:
    Op woensdag 1 februari 2006 22:49 schreef elroy1988 het volgende:
    euhm ik schreef, Ik wil dit uitbreiden. Nou zoals je nu ziet zie je wat componenten, maar ik wil wat dingen toevoegen, en mij lijkt dat met een programma beter, omdat ik geen verstand van PHP heb om het uit de losse pols te schudden zonder hulp van programma's!

    Dus vandaar mijn vraag om uberhaupt info hierover te krijgen!
    Je link werkt niet. Iets dat niet bestaat uitbreiden wordt lastig.
    qu63woensdag 1 februari 2006 @ 22:59
    quote:
    Op woensdag 1 februari 2006 22:51 schreef JeRa het volgende:

    [..]

    Je link werkt niet. Iets dat niet bestaat uitbreiden wordt lastig.
    en http://www.smarthotelsolutions.com/ verwijst ook door naar een mooi opgezette site
    quote:
    Herzlich Willkomen bei Smarthotelsolutions
    Wij willen ons gaarne introduceren als een bedrijf gespecialiseerd in hotel produkten en oplossingen die bijdragen aan kostenbesparing en winstgevendheid alsmede ook het het niveau van service en klantvriendelijkheid aanzienlijk vergroten. Met bijna 18 jaar ervaring in het leveren van deze produkten, hebben wij de ervaring en kennis opgebouwd om voor u een betrouwbare partner te mogen zijn. Contacteer ons voor een vrijblijvende offerte, het is ons een bijzonder genoegen u te mogen aanbieden.

    Work with us and find out what your Hotel can save every year !!!

    SmartHotelSolutions
    in 3 talen
    JeRawoensdag 1 februari 2006 @ 23:01
    Het kan aan mij liggen, maar die site zag er volgens mij een uurtje geleden compleet anders uit
    Swetseneggerwoensdag 1 februari 2006 @ 23:12
    quote:
    Voorlopig ben ik niet zo blij met beta 2.
    Betekent het een en ander aanpassen, maar dat heeft meer met design dan php te maken
    DionysuZwoensdag 1 februari 2006 @ 23:12
    quote:
    Op woensdag 1 februari 2006 23:12 schreef Swetsenegger het volgende:

    [..]

    Voorlopig ben ik niet zo blij met beta 2.
    Betekent het een en ander aanpassen, maar dat heeft meer met design dan php te maken
    webdevelopment for dummies?

    die png verbetering zit ik al heel lang op te wachten
    Swetseneggerwoensdag 1 februari 2006 @ 23:36
    quote:
    Op woensdag 1 februari 2006 23:12 schreef DionysuZ het volgende:

    [..]

    webdevelopment for dummies?

    die png verbetering zit ik al heel lang op te wachten
    Mjah, maar alle ie6 hacks welke je in het verleden hebt toegepast werken nu niet meer. MAAR.... het werkt ook nog steeds niet gelijk aan Opera of firefox mbt CSS.

    Ik ben in ieder geval wat paginaatjes al 'netjes' aan het maken in IE7. Dat gaat wel aardig, maar leukigheidjes zoals een footer welke altijd onderaan de viewport staat, behalve wanneer er meer content is, heb ik nog niet aan de praat
    JeRawoensdag 1 februari 2006 @ 23:38
    Ik ga denk ik m'n sites gewoon op dezelfde manier opbouwen als ik altijd al deed; zo veel mogelijk aan de 'standaard' houden en waar nodig bijschaven. Als IE7 uitkomt verwacht ik dat dat niet heel veel werk oplevert, want ik gebruik niet of weinig IE6-hacks (ik probeer ze te ontwijken mits mogelijk).
    DionysuZwoensdag 1 februari 2006 @ 23:42
    quote:
    Op woensdag 1 februari 2006 23:36 schreef Swetsenegger het volgende:

    [..]

    Mjah, maar alle ie6 hacks welke je in het verleden hebt toegepast werken nu niet meer. MAAR.... het werkt ook nog steeds niet gelijk aan Opera of firefox mbt CSS.
    <!--[if IE]><!--[if lt IE 7]><![endif]--><![endif]-->
    of
    <!--[if gte IE 7]><![endif]-->
    jah leuk
    quote:
    Ik ben in ieder geval wat paginaatjes al 'netjes' aan het maken in IE7. Dat gaat wel aardig, maar leukigheidjes zoals een footer welke altijd onderaan de viewport staat, behalve wanneer er meer content is, heb ik nog niet aan de praat
    http://www.howtocreate.co.uk/fixedPosition.html

    maar goed, is niet echt php/mysql related he
    DionysuZwoensdag 1 februari 2006 @ 23:43
    quote:
    Op woensdag 1 februari 2006 23:38 schreef JeRa het volgende:
    Ik ga denk ik m'n sites gewoon op dezelfde manier opbouwen als ik altijd al deed; zo veel mogelijk aan de 'standaard' houden en waar nodig bijschaven. Als IE7 uitkomt verwacht ik dat dat niet heel veel werk oplevert, want ik gebruik niet of weinig IE6-hacks (ik probeer ze te ontwijken mits mogelijk).
    is IE7 al uit? Heb nl. nog een PNG hack bij een klant, dan moet ik die even aanpassen.
    Swetseneggerwoensdag 1 februari 2006 @ 23:45
    quote:
    Op woensdag 1 februari 2006 23:42 schreef DionysuZ het volgende:

    [..]

    <!--[if IE]><!--[if lt IE 7]><![endif]--><![endif]-->
    of
    <!--[if gte IE 7]><![endif]-->
    jah leuk
    Alleen werkt het dan nog steeds niet in IE7
    quote:
    http://www.howtocreate.co.uk/fixedPosition.html

    maar goed, is niet echt php/mysql related he
    In beta2 blijft er niets fixed staan Blijkbaar nog steeds niet 'gefixed'
    DionysuZwoensdag 1 februari 2006 @ 23:53
    [Centraal] Internet Explorer 7 bèta 2
    dossiedonderdag 2 februari 2006 @ 17:42
    Ik heb een vraag over verschillende formulieren op een pagina.

    Kan je in php onderscheiden welk formulier gepost wordt? Je kan dit natuurlijk doen aan de hand van een hidden field als er geen onderscheidend veld is in elk formulier.

    Maar hoe zit het met de naam van het formulier? In javascript wordt hiervan gebruik gemaakt, maar in php is er niets over te vinden in bijvoorbeeld $_POST.

    Mis ik iets, of is de formuliernaam van geen betekenis voor php?
    JeRadonderdag 2 februari 2006 @ 18:20
    Javascript is een client side iets, PHP draait op de server. De webserver weet alleen wat de webbrowser naar hem toestuurt, en de namen van formulieren is niet iets wat meegestuurd wordt. PHP krijgt de POST-variabelen direct van de webserver en kan dus niet weten wat de naam van het formulier aan de client side was.
    Swetseneggerdonderdag 2 februari 2006 @ 21:18
    Op een website verzend ik een HTML mail.
    Deze mail bevat onder andere een tabel.

    Dit gaat in 9 van de 10 gevallen goed, maar bij de 10e krijgt de ontvanger het mailtje wel binnen, maar bij de eerste <td... wordt de mail afgebroken. De rest van de content staat er niet in.

    1
    2
    3
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headers .= "From: mail@domein.nl";


    De headers lijken me goed?

    Nu maak ik gewoon gebruik van de mail() functie en ik weet dat die niet zo best is. Maar is bovenstaande een van de situaties welke ik daardoor kan verwachten of moet dit toch echt in mijn code zitten? Of kan ik beter gebruik gaan maken van phpmailer?

    -edit-
    Hoe stel ik phpmailer in? Ik moet toch ergens gebruikersnaam en wachtwoord van de smtpserver opgeven. Overigens zit ik dan ook met relaying, ik kan niet de smtp van de hoster gebruiken met een ander mail adres natuurlijk.

    [ Bericht 30% gewijzigd door Swetsenegger op 02-02-2006 21:33:41 ]
    Swetseneggerzaterdag 4 februari 2006 @ 18:14
    Er zaten wat kleine foutjes in de HTML source van de mail, maar nog steeds gaat het bij een enkeling fout. Ik snap er geen reet van
    De_Hertogzondag 5 februari 2006 @ 12:33
    Is dit topic alleen voor de combinatie MySQL en PHP of mag een vraag voor alleen MySQL ook? Ik wil namelijk met een programmatje, gewoon via een socket op poort 3306, communiceren met MySQL om even snel wat gegevens in te lezen. Ik had verwacht dat als ik zou telnetten naar 3306 ik gewoon de MySQL - prompt zou krijgen, maar blijkbaar zit dit anders in elkaar. Weet iemand het protocol dat MySQL voor netwerkconnecties gebruikt?
    Lightzondag 5 februari 2006 @ 13:05
    Ik weet wel dat een mysql installatie komt met een programmaatje "mysql". Die kan wel verbinding maken met een server, en daarmee kun je dan alles regelen.
    JeRazondag 5 februari 2006 @ 13:22
    Als je de MySQL prompt wilt krijgen:

    $ mysql -h {host} -u {username} -p

    En als je moeilijk wilt gaan doen:

    http://www.redferni.uklinux.net/mysql/MySQL-Protocol.html

    De_Hertogzondag 5 februari 2006 @ 13:29
    quote:
    Op zondag 5 februari 2006 13:22 schreef JeRa het volgende:
    Als je de MySQL prompt wilt krijgen:
    Ik wil niet die prompt, ik wil verbinding maken met een socket vanuit een programma (dat ik zelf aan het maken ben, dus) en dan wil ik in feite hetzelfde als die prompt via het netwerk binnen krijgen. Ik zal maar eens naar de moeilijke manier gaan kijken. Alhoewel dat document gaat over het 4.1 protocol, en versie 5 een nieuw protocol heeft. Ik had gehoopt dat het zo makkelijk zou zijn als bijvoorbeeld POP3..
    Knutzondag 5 februari 2006 @ 13:55
    The SQL used for the query has an incorrect syntax:
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT bC.bC_pluginSettings.setting , bC.bC_pluginSettings.value , 
    bC.bC_plugins.filename, bC.bC_plugins.directory FROM bC.bC_plugins
     LEFT JOIN 
    bC.bC_pluginSettings ON (bC.bC_plugins.pluginId = bC.bC_pluginSettings.pluginId) JOIN 
    bC.bC_pagePlugins ON (bC.bC_plugins.pluginId = bC.bC_pagePlugins.pluginId) JOIN 
    bC.bC_pages ON (bC.bC_pages.pageId = bC.bC_pagePlugins.pageId) WHERE 
    bC.bC_pagePlugins.pageId = 4 AND bC.bC_pages.siteId = 1 ORDER BY 
    bC.bC_pagePlugins.order

    ASCMySQL error:
    You have an error in your SQL syntax near ON (bC.bC_plugins.pluginId = bC.bC_pagePlugins.pluginId) JOIN bC.bC_pages ON (bC at line 1


    Ik zie de fout niet, en het mooie is op een unix server met hogere SQL werkt het wel.
    Apache/2.0.54 (Ubuntu) PHP/4.4.0-3ubuntu1 Server at localhost Port 80
    Ikzelf draai :
    MySQL 4.0.0-alpha-nt running on localhost as root@localhost Op een windows machine.
    Roonaanzondag 5 februari 2006 @ 13:58
    Kan je ipv JOIN niet gewoon een komma gebruiken?
    SuperRembozondag 5 februari 2006 @ 14:09
    @Knut: Vervang de JOINs door INNER JOINs.

    Als je aliasses voor de tabellen gebruikt krijg je denk ik een veel beter leesbare query.
    Knutzondag 5 februari 2006 @ 14:10
    that's it
    Desdinovamaandag 6 februari 2006 @ 10:09
    Ik heb de volgende code gevonden:
    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
    <?php
    php
    if($_GET['image'] && $_GET['width'])
    {
    // het is niet handig om de grootte mee te geven maar voor test doeleinden wel
        //Waar komt het bestand vandaan?
        
    $bronvanhetbestand = "upload/". $_GET['image'];
         
        
    //De hoogte en breedte ophalen van het plaatje
        
    $dimensions = getimagesize($bronvanhetbestand);
         
        
    //Dit is de breedte die alle plaatjes krijgen
        
    $doelbreedte = $_GET['width'];
         
        
    //Hoogte en breedte toekennnen aan nieuwe variabelen
        
    $bronbreedte = $dimensions[0];
        
    $bronhoogte  = $dimensions[1];
         
        
    //De nieuwe hoogte berekenen aan de gegevens van het oude plaatje en de doel breedte
        
    $doelhoogte = ($bronhoogte * $doelbreedte) / $bronbreedte;
         
        
    //De hoogte, als het nodig is, afronden
        
    $doelhoogte = round($doelhoogte, 0);
         
        
    //Zeggen dat dit bestand een plaatje is
        
    header('content-type: image/jpeg');
         
        
    //Het plaatje inlezen in de variabele $image
        
    $image = imagecreatefromjpeg($bronvanhetbestand);
         
        
    //een nieuw klein plaatje maken met de gewenste grootte
        
    $destination = imagecreatetruecolor($doelbreedte, $doelhoogte);
         
        
    //Het nieuwe plaatje vullen met verkleinde plaatje
        
    imagecopyresampled($destination, $image, 0, 0, 0, 0, $doelbreedte, $doelhoogte, $bronbreedte, $bronhoogte);
         
        
    //Het plaatje weergeven
        
    imagejpeg($destination);
         
        
    //Het bronplaatje verwijderen
        
    imagedestroy($image);
         
        
    //Het doelplaatje verwijderen
        
    imagedestroy($destination);
    }
    else
    {
        echo
    "Er is geen plaatje meegegeven";
    }

    ?>


    Het idee van dit script is okee, alleen als dit script uitgevoerd moet worden bij elk plaatje krijg ik een onnodig hoge serverbelasting. dus wat ik wil, is dat het resultaat-plaatje wordt opgeslagen.

    zoiezo verander ik een aantal dingen in dit script. Zo maak ik de width een eigen waarde, en wordt de $_GET[''] een $_FILES. Dus on-upload, wil ik het verkleinde plaatje opslaan zeg maar hoe doe ik dat?
    JeRamaandag 6 februari 2006 @ 10:57
    De functie imagejpeg() heeft een enorm handige en optionele parameter 'string filename' daarmee moet je al een heel eind komen lijkt me.
    Pronkmaandag 6 februari 2006 @ 14:36
    Ik heb een tijdje terug via dit forum een oplossing gekregen voor het plaatsen van een cookie dat alleen geldig is op de dag dat het wordt geplaatst.

    1
    2
    3
    <?php
    setcookie
    ("teller", "true", strtotime("tomorrow 0"), "/");
    ?>


    Dit gebruik ik om te zorgen dat bezoekers op mijn site maar 1x per dag worden geregistreerd.

    Vandaag kwam ik er achter dat de cookies nu nog maar geldig zijn totdat het browser window gesloten wordt. (sessie) Zonder dat ik iets aan de code heb veranderd. Ik heb alleen de PHP versie ooit een keertje geupdate. Van 5.x.x naar 5.x.x .

    Heeft iemand een idee hoe ik er voor kan zorgen dat dit weer werkt? Desnoods op een andere manier?
    Fatalitymaandag 6 februari 2006 @ 14:40
    @ pronk
    Kun je niet bij de registratie tevens het IP + datum in een Database gooien? En zo de mogelijkheid tot controleren hebben. (cookies kun je altijd nog wissen)
    Pronkmaandag 6 februari 2006 @ 14:47
    Nee, ik heb op het moment (helaas) geen databose tot mijn beschilkkng. En de site wordt veel bezocht door mensen van het zelfde bedrijf dus dan zou het IP steeds gelijk zijn.
    Pronkmaandag 6 februari 2006 @ 15:24
    AH, het is opgelost. Op deze manier werkt het wel weer. Het komt dus waarschijnlijk echt door de PHP update.

    1
    2
    3
    <?php
    setcookie
    ("$teller", "true", strtotime("tomorrow 0:0:0"), "/");
    ?>
    Nevermindmaandag 6 februari 2006 @ 21:16
    Heeft een bestand iets unieks waardoor het te identificeren is? Ik ben bezig met een LAN-applicatie die elke nacht alle videobestanden indexeert en er screenshots van maakt. Op dit moment wordt gecheckt of het bestand al eerder is geïndexeerd door de url (locatie). Maar als ik een bestand verplaats of hernoem wil ik niet dat die opnieuw geïndexeerd wordt, anders kost het weer een hoop cpukracht voor niks.

    Daarom wil ik in de database een uniek id aanwijzen aan elk bestand dat geïndexeerd is, zodat ik het kan koppelen aan de screenshots. Maar wat is een goede manier hiervoor? Een md5-checksum?
    DionysuZmaandag 6 februari 2006 @ 21:18
    quote:
    Op maandag 6 februari 2006 21:16 schreef Nevermind het volgende:
    Heeft een bestand iets unieks waardoor het te identificeren is? Ik ben bezig met een LAN-applicatie die elke nacht alle videobestanden indexeert en er screenshots van maakt. Op dit moment wordt gecheckt of het bestand al eerder is geïndexeerd door de url (locatie). Maar als ik een bestand verplaats of hernoem wil ik niet dat die opnieuw geïndexeerd wordt, anders kost het weer een hoop cpukracht voor niks.

    Daarom wil ik in de database een uniek id aanwijzen aan elk bestand dat geïndexeerd is, zodat ik het kan koppelen aan de screenshots. Maar wat is een goede manier hiervoor? Een md5-checksum?
    gooi het bestand door een hashfunctie en vergelijk de hash met eerdere hashes
    DionysuZmaandag 6 februari 2006 @ 21:20
    bijvoorbeeld:

    1$newhash = hash_file("md5","test.avi");

    ofzo
    Nevermindmaandag 6 februari 2006 @ 21:20
    quote:
    Op maandag 6 februari 2006 21:18 schreef DionysuZ het volgende:

    [..]

    gooi het bestand door een hashfunctie en vergelijk de hash met eerdere hashes
    Ik ontdek nu pas dat het erg simpel is

    -edit-
    je was me voor
    Tijnmaandag 6 februari 2006 @ 22:08
    Wat is een fijne gratis PHP-editor voor Windows?
    Swetseneggermaandag 6 februari 2006 @ 22:10
    quote:
    Op maandag 6 februari 2006 22:08 schreef Tijn het volgende:
    Wat is een fijne gratis PHP-editor voor Windows?
    phpdesigner
    Swetseneggermaandag 6 februari 2006 @ 22:12
    Ik heb een 19" Sun Netra X1 met UltraSparc IIe 400Mhz en 1 GB geheugen op de kop getikt.
    En die ga ik co-locaten en een eigen webserver draaien voor m'n domeintjes.

    Nu nog bekijken hoe ik er een stabiele linux distro opkrijg, want er zit dus geen enkele aansluiting op dat apparaat behalve console en ethernet
    Tijnmaandag 6 februari 2006 @ 22:13
    quote:
    Op maandag 6 februari 2006 22:10 schreef Swetsenegger het volgende:

    [..]

    phpdesigner
    Bedankt!
    rickmansmaandag 6 februari 2006 @ 22:16
    quote:
    Op maandag 6 februari 2006 22:08 schreef Tijn het volgende:
    Wat is een fijne gratis PHP-editor voor Windows?
    jedit doet ook op andere OS's
    Tijnmaandag 6 februari 2006 @ 22:17
    quote:
    Op maandag 6 februari 2006 22:16 schreef rickmans het volgende:

    [..]

    jedit doet ook op andere OS's
    Oei, Java. Is dat niet langzaam?
    DionysuZmaandag 6 februari 2006 @ 22:18
    ben ook erg tevreden over JEdit
    Lightmaandag 6 februari 2006 @ 22:19
    quote:
    Op maandag 6 februari 2006 22:12 schreef Swetsenegger het volgende:
    Ik heb een 19" Sun Netra X1 met UltraSparc IIe 400Mhz en 1 GB geheugen op de kop getikt.
    En die ga ik co-locaten en een eigen webserver draaien voor m'n domeintjes.

    Nu nog bekijken hoe ik er een stabiele linux distro opkrijg, want er zit dus geen enkele aansluiting op dat apparaat behalve console en ethernet
    Doe je goed

    Doet dat ding booten van netwerk? Dan is daar vast wel iets mee te doen
    Swetseneggermaandag 6 februari 2006 @ 22:19
    Ik zal 'm eens downloaden. Een goede crossplatform editor is natuurlijk best prettig
    FuifDuifmaandag 6 februari 2006 @ 22:19
    Even een vraagje:

    Om met data entiteiten te werken (bijvoorbeeld een persoon) zijn er meerdere mogelijkheden. Zo kun je gebruik maken van een array, maar ook van een object.

    Array:

    1
    2
    3
    $person = array();
    $person["name"] = "Piet";
    $person["age"] = 25;


    Object
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class Person
    {
        var $name = null;
        var $age = null;

        function Person($name, $age)
        {
            $this->name = name;
            $this->age = age;
        }

        // Getter en setter functies
    }


    Tegenwoordig gaat ook PHP steeds meer richting het object georiënteerde paradigma. Wat is nu eigenlijk het voordeel van een object Person boven een array die de eigenschappen van een persoon beschrijft?
    Swetseneggermaandag 6 februari 2006 @ 22:22
    quote:
    Op maandag 6 februari 2006 22:19 schreef Light het volgende:

    [..]

    Doe je goed

    Doet dat ding booten van netwerk? Dan is daar vast wel iets mee te doen
    Hij zal vast moeten kunnen booten van netwerk. De vraag is nu.... hoe.
    Maar geen probleem hij heeft (met linux distro) gedraaid als webserver voor de website van de werkgever. Tot die op een gegeven moment een paar 100GB per maand ging trekken en dat werd teveel voor dit servertje.

    Ik ga 'm nu bij dezelfde webboer colocaten, dus die kent de machine en we gaan 'm samen inrichten

    Overigens zit alle software erbij. Solaris 8, Gnome 1.4, Star office 5.2 en zelfs Oracle 9
    Lightmaandag 6 februari 2006 @ 22:23
    Ik gebruik overigens Eclipse (PHPEclipse) als editor. Heeft wat meer mogelijkheden dan JEdit, vind ik dan
    rickmansmaandag 6 februari 2006 @ 22:24
    quote:
    Op maandag 6 februari 2006 22:17 schreef Tijn het volgende:

    [..]

    Oei, Java. Is dat niet langzaam?
    neuh valt reuze mee, zit hier er mee te werken op een pentium 3 en dat gaat prima. Het voordeel is dat er veel plugins bij zitten en daar kan je leuke dingen mee doen (waaronder de php parser/ debugger en folding).
    Swetseneggermaandag 6 februari 2006 @ 22:24
    quote:
    Op maandag 6 februari 2006 22:24 schreef rickmans het volgende:

    [..]

    neuh valt reuze mee, zit hier er mee te werken op een pentium 3 en dat gaat prima. Het voordeel is dat er veel plugins bij zitten en daar kan je leuke dingen mee doen (waaronder de php parser/ debugger en folding).
    folding is het enige wat ik mis in phpdesigner. Verder doet die exact hetzelfde als Zend.
    Tijnmaandag 6 februari 2006 @ 22:25
    Ja, die plugins zien er wel leuk uit inderdaad.
    FuifDuifmaandag 6 februari 2006 @ 22:25
    quote:
    Op maandag 6 februari 2006 22:24 schreef rickmans het volgende:

    [..]

    neuh valt reuze mee, zit hier er mee te werken op een pentium 3 en dat gaat prima. Het voordeel is dat er veel plugins bij zitten en daar kan je leuke dingen mee doen (waaronder de php parser/ debugger en folding).
    Ik gebruik zelf Zend Studio voor het ontwikkelen van PHP applicaties en dat is een behoorlijk forse IDE en volledig geschreven in Java. Ook ik moet zeggen dat het prima werkt. Natuurlijk is het zwaarder dan een pure Windows applicatie, maar ik ondervind er geen hinder van.
    FuifDuifmaandag 6 februari 2006 @ 22:26
    quote:
    Op maandag 6 februari 2006 22:24 schreef Swetsenegger het volgende:

    [..]

    folding is het enige wat ik mis in phpdesigner. Verder doet die exact hetzelfde als Zend.
    Kun je folden met Zend?
    FuifDuifmaandag 6 februari 2006 @ 22:32
    quote:
    Op donderdag 2 februari 2006 17:42 schreef dossie het volgende:
    Ik heb een vraag over verschillende formulieren op een pagina.

    Kan je in php onderscheiden welk formulier gepost wordt? Je kan dit natuurlijk doen aan de hand van een hidden field als er geen onderscheidend veld is in elk formulier.

    Maar hoe zit het met de naam van het formulier? In javascript wordt hiervan gebruik gemaakt, maar in php is er niets over te vinden in bijvoorbeeld $_POST.

    Mis ik iets, of is de formuliernaam van geen betekenis voor php?
    Wat betreft een formulier worden enkel de HTTP post variabelen doorgegeven aan PHP. Als je in je PHP code formulieren wilt kunnen onderscheiden, zul je de namen moeten definiëren in een hidden-veld. Aan het name-attribuut van de form-tag heb je in dit geval niets.
    Swetseneggermaandag 6 februari 2006 @ 22:34
    Wat een verschrikkelijke layout heeft Jedit
    Ja Zend heeft code folding. Tenminste de laatste versie.

    Zend vond ik wel verschrikkelijk traag
    FuifDuifmaandag 6 februari 2006 @ 22:35
    Ik ben trouwens wel eens benieuwd. Wie is hier nog meer een groot voorstander van het model view control paradigma?
    Tijnmaandag 6 februari 2006 @ 22:35
    quote:
    Op maandag 6 februari 2006 22:34 schreef Swetsenegger het volgende:
    Wat een verschrikkelijke layout heeft Jedit
    Inderdaad, maar ik vind PHP Designer ook niet echt moederste mooiste eigenlijk
    Roonaanmaandag 6 februari 2006 @ 22:35
    Zend heeft af en toe ruzie met Webdrive. Blijven beide hangen. Dat zuigt.

    Trouwens werkt Zend ook aardig voor ActionScript
    LeeHarveyOswaldmaandag 6 februari 2006 @ 22:36
    SQL vraagje

    met LIKE '%$term%' krijg ik iets wat lijkt op het ingevoerde; geld geeft geld, geldig, gelden, gelderland etc etc.

    Ik wil nu ook een optie voor een exact woord, in een grotere tekst Hoe moet ik dat aanpakken?
    Swetseneggermaandag 6 februari 2006 @ 22:36
    quote:
    Op maandag 6 februari 2006 22:36 schreef LeeHarveyOswald het volgende:
    SQL vraagje

    met LIKE '%$term%' krijg ik iets wat lijkt op het ingevoerde; geld geeft geld, geldig, gelden, gelderland etc etc.

    Ik wil nu ook een optie voor een exact woord, in een grotere tekst Hoe moet ik dat aanpakken?
    Geen wildcards (%) gebruiken?
    FuifDuifmaandag 6 februari 2006 @ 22:37
    Maar ook Zend vind ik wat betreft het design niet echt heel mooi. Voor Java maak ik gebruik van IntelliJ IDEA en dat ziet er super gelikt uit. Dat zou ik ook graag voor PHP zien, maar helaas.
    Swetseneggermaandag 6 februari 2006 @ 22:38
    quote:
    Op maandag 6 februari 2006 22:35 schreef Roöaän het volgende:
    Zend heeft af en toe ruzie met Webdrive. Blijven beide hangen. Dat zuigt.

    Trouwens werkt Zend ook aardig voor ActionScript
    Roonaan, kan je niet eens een kleine tut schrijven hoe je flash koppelt aan PHP en MySQL?
    Tijnmaandag 6 februari 2006 @ 22:38
    Het liefst heb ik eigenlijk iets simpels als notepad, maar dan met syntax coloring en line numbers. Veel meer vraag ik niet
    FuifDuifmaandag 6 februari 2006 @ 22:39
    quote:
    Op maandag 6 februari 2006 22:38 schreef Tijn het volgende:
    Het liefst heb ik eigenlijk iets simpels als notepad, maar dan met syntax coloring en line numbers. Veel meer vraag ik niet
    UltraEdit?
    LeeHarveyOswaldmaandag 6 februari 2006 @ 22:40
    quote:
    Op maandag 6 februari 2006 22:36 schreef Swetsenegger het volgende:

    [..]

    Geen wildcards (%) gebruiken?
    binnen de titel werkt dit wel, tot een bepaalde hoogte (heel raar, niet consequent). In de tekst zelf lijkt het totaal niet te werken...

    ( www.pestforum.nl/zoek.php is werkende voorbeeld)
    FuifDuifmaandag 6 februari 2006 @ 22:40
    quote:
    Op maandag 6 februari 2006 22:40 schreef LeeHarveyOswald het volgende:

    [..]

    binnen de titel werkt dit wel, tot een bepaalde hoogte (heel raar, niet consequent). In de tekst zelf lijkt het totaal niet te werken...

    ( www.pestforum.nl/zoek.php is werkende voorbeeld)
    En als je dan zoekt op " WOORD " en niet "WOORD"? Dus inclusief spaties?
    Tijnmaandag 6 februari 2006 @ 22:41
    quote:
    Op maandag 6 februari 2006 22:39 schreef FuifDuif het volgende:

    [..]

    UltraEdit?
    Die is niet gratis, toch?