abonnement Unibet Coolblue Bitvavo
  vrijdag 9 januari 2009 @ 18:36:54 #1
136730 PiRANiA
All thinking men are atheists.
pi_64860974

cd niet bijgeleverd

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

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


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

    Tutorials:
  • W3Schools PHP
  • W3Schools SQL

    Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP
  • pi_64861219
    TVP
    Bodybuilding #1
    Hardlopen #2
      vrijdag 9 januari 2009 @ 18:46:42 #3
    136730 PiRANiA
    All thinking men are atheists.
    pi_64861322
    Eindelijk weer eens een PI
      vrijdag 9 januari 2009 @ 18:54:21 #4
    75592 GlowMouse
    l'état, c'est moi
    pi_64861607
    quote:
    Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:

    [..]

    Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
    Heb je één voorbeeld van tabellen, gegevens en een query die anders uitgevoerd wordt in Theta style dan in ANSI style? Het zou wel heel knullig zijn als de query optimizer dit verschillend oppakt.
    Voor zover ik weet zijn de enige voordelen van ANSI style de extra mogelijkheden om te joinen (outer join) en de overzichtelijkheid.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64863308
    quote:
    Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:

    [..]

    Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
    Dit moet ik rectificeren. Het maakt geen fuck uit. Ik heb een benchmark gedraaid op een database met tabellen van miljoenen records en beide vormen zijn even snel.
    pi_64864393
    quote:
    Op vrijdag 9 januari 2009 15:24 schreef Gloeidoos het volgende:

    Ik heb de tables aangepast om het een beetje simpel te houden. In feite is het een kolomnaam met de naam state, enum('enabled','disabled'). Volgens mij komen hier uiteindelijk nog meer states bij, als dat nodig is.

    Maar voor booleans zal ik dan voortaan wel 0 en 1 gebruiken .
    Met meer states is enum inderdaad een optie
      vrijdag 9 januari 2009 @ 20:12:56 #7
    75592 GlowMouse
    l'état, c'est moi
    pi_64864526
    quote:
    Op vrijdag 9 januari 2009 20:09 schreef Roy_T het volgende:

    [..]

    Met meer states is enum inderdaad een optie
    De integer die jij voorstelde was sowieso overdone om 0 of 1 op te slaan. Een tinyint voldoet dan al. En onder de byte per veld kom je niet, dus tinyint/enum is om het even en dan kies je natuurlijk de duidelijkste.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64865700
    quote:
    Op vrijdag 9 januari 2009 19:42 schreef Farenji het volgende:

    [..]

    Dit moet ik rectificeren. Het maakt geen fuck uit. Ik heb een benchmark gedraaid op een database met tabellen van miljoenen records en beide vormen zijn even snel.
    Het zou dan ook niet best zijn als het wél uit zou maken.
    pi_64875197
    Deze tvp ik dan maar. Bedankt voor de antwoorden.
    pi_64876025
    hey :p

    hoe maak je een veld dat zichzelf optelt als er iets word bijgevoerd?
    stel een nieuw gegeven en dan moet dat cijfer in phpmyadmin doortellen.

    ik ben net begonnen met phpmyadmin. Hou hier alsjeblieft even rekening mee.
    Redacted
      zaterdag 10 januari 2009 @ 11:07:30 #11
    75592 GlowMouse
    l'état, c'est moi
    pi_64879910
    Zoek eens op primary key en auto_increment.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64879923
    Als je een nieuwe tabel maakt in je database staat bij Extra(volgens mij) staat auto_increment, die moet je selecteren, dan telt een veld zichzelf aldoor met 1 op.
    Bodybuilding #1
    Hardlopen #2
    pi_64880530
    thats all ?
    Redacted
    pi_64880576
    Probeer het eens uit
    Bodybuilding #1
    Hardlopen #2
      zaterdag 10 januari 2009 @ 14:15:32 #15
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_64884804
    quote:
    Op zaterdag 10 januari 2009 11:40 schreef cablegunmaster het volgende:
    thats all ?
    Jeps

    Eventueel kan je ook nog 2 primare keys toevoegen, en één auto increment.
    Maar als je wilt kan het auto increment ook gebonden zijn aan de 2e primare key.
      zaterdag 10 januari 2009 @ 14:18:09 #16
    107951 JortK
    Immer kwaliteitsposts
    pi_64887713
    quote:
    Op vrijdag 9 januari 2009 18:10 schreef Farenji het volgende:

    [..]

    Die tweede vorm is veel efficienter. Je geeft daar meteen aan hoe gejoind moet worden in de on clause, en daardoor kan de query beter geoptimaliseerd worden.
    Volgens mij maakt het MySQL niets uit of je WHERE of ON gebruikt bij een JOIN. Tenzij je op zoek gaat naar NULL-waardes, dat lukt je niet zonder ON.
      zaterdag 10 januari 2009 @ 16:28:05 #18
    75592 GlowMouse
    l'état, c'est moi
    pi_64888895
    quote:
    Op zaterdag 10 januari 2009 15:47 schreef Light het volgende:

    [..]

    Volgens mij maakt het MySQL niets uit of je WHERE of ON gebruikt bij een JOIN. Tenzij je op zoek gaat naar NULL-waardes, dat lukt je niet zonder ON.
    Bij een inner join maakt het inderdaad niets uit
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64889081
    ik heb nu alles werkend behalve het toevoegen.
    hoe krijg je dat een form submit en dan insert?
    ik zit nu namelijk met dat hij niet wil toevoegen.
    hij kan de database wel connecten.

    <?php
    if (isset($_POST['submit'])){
    <inc 'connect.php' >
    $submit = "insert into reis
    (bestemming )
    values ( ' ".strip_tags($_POST['bestemming']." ' )" ;

    $voegtoe = mysql_query($submit) or die (mysql_error ());

    } else {
    ?>
    <html>
    <body>
    <form action="<?php echo($_server["php_self"]);?> method="post">
    <input type="text" name="bestemming">
    <input type ="submit" name="submit" value="verzenden">
    <input type="reset" name="reset" value="leegmaken">
    </form>
    Redacted
      zaterdag 10 januari 2009 @ 16:42:56 #20
    75592 GlowMouse
    l'état, c'est moi
    pi_64889303
    Waarom wil hij niet toevoegen? Wat geeft echo $voegtoe?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64889424
    quote:
    Op zaterdag 10 januari 2009 16:42 schreef GlowMouse het volgende:
    Waarom wil hij niet toevoegen? Wat geeft echo $voegtoe?
    hij laat het form zien..

    en dan submit ik en doet hij niks.
    en komt er in tabel reis niks bij.

    een parse error op de regel van die else
    Redacted
      zaterdag 10 januari 2009 @ 16:48:23 #22
    75592 GlowMouse
    l'état, c'est moi
    pi_64889448
    var_dump($_POST) bovenaan
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64889573
    quote:
    Op zaterdag 10 januari 2009 16:48 schreef GlowMouse het volgende:
    var_dump($_POST) bovenaan
    submit met een hoofdletter S en onder was ook met hoofdletter

    en dan mn isset niet goedstellen

    moet maar eens wat velden checken toevoegen werkt maar niet helemaal naar wens

    werkt nu wel btw

    gewoon een korte pauze nodig
    Redacted
      zaterdag 10 januari 2009 @ 17:03:06 #24
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_64889786
    isset... gebruiken jullie die nou altijd? Ik vind het echt een rare functie..snap hem wel, maar zonder isset, heb je toch hetzelfde?

    Bijvoorbeeld:

    if(ifset($value)){

    }

    tegen

    if($value){

    }


    geen verschil toch?
      zaterdag 10 januari 2009 @ 17:07:09 #25
    75592 GlowMouse
    l'état, c'est moi
    pi_64889904
    1
    2
    3
    4
    5
    6
    <?php
    $a 
    = array(false0'0');
    foreach(
    $a as $value) {
      echo 
    $value 'set' 'not set';
    }
    ?>
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64890055
    Bij een IF Isset word gekeken of de variabele die je aangeeft (in jouw geval $value) een waarde heeft.
    Dit kun je bijvoorbeeld gebruiken om te controleren of iemand op de Submit knop heeft gedrukt o.i.d.

    Ik gebruik liever empty.
    Bodybuilding #1
    Hardlopen #2
    pi_64891439
    quote:
    Op zaterdag 10 januari 2009 17:07 schreef GlowMouse het volgende:

    [ code verwijderd ]
    Je vergeet nog de lege string en de lege array
    pi_64891594
    quote:
    Op zaterdag 10 januari 2009 17:12 schreef Kerol het volgende:
    Bij een IF Isset word gekeken of de variabele die je aangeeft (in jouw geval $value) een waarde heeft.
    Dit kun je bijvoorbeeld gebruiken om te controleren of iemand op de Submit knop heeft gedrukt o.i.d.

    Ik gebruik liever empty.
    empty en isset zijn niet helemaal elkaars tegenpolen. Een variabele kan best een waarde hebben (isset) en toch leeg zijn (empty).
    pi_64891918
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $a 
    'a random string';
    $b 0;
     
    if ( 
    $a == true && $b == false && $a == $b )
    {
        die ( 
    'The universe is broken' );
    }
    ?>
    pi_64892071
    quote:
    Op zaterdag 10 januari 2009 16:35 schreef cablegunmaster het volgende:
    ik heb nu alles werkend behalve het toevoegen.
    hoe krijg je dat een form submit en dan insert?
    ik zit nu namelijk met dat hij niet wil toevoegen.
    hij kan de database wel connecten.

    <?php
    if (isset($_POST['submit'])){
    <inc 'connect.php' >
    $submit = "insert into reis
    (bestemming )
    values ( ' ".strip_tags($_POST['bestemming']." ' )" ;

    $voegtoe = mysql_query($submit) or die (mysql_error ());

    } else {
    ?>
    <html>
    <body>
    <form action="<?php echo($_server["php_self"]);?> method="post">
    <input type="text" name="bestemming">
    <input type ="submit" name="submit" value="verzenden">
    <input type="reset" name="reset" value="leegmaken">
    </form>


    Volgens mij mist hier sowieso een haakje sluiten voor de else ?
    pi_64892171
    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 ((int)0) {
        echo 
    " int 0 is true ";
    } else {
        echo 
    " int 0 is false ";
    }

    if ((string)
    "0") {
        echo 
    " string 0 is true ";
    } else {
        echo 
    " string 0 is false ";
    }

    if ((string)
    "wat dan ook maar niet 0") {
        echo 
    " n.e. string is true ";
    } else {
        echo 
    " n.e. string is false ";


    if ((string)
    "watdanook" == (int)0) {
        echo 
    " n.e. string is equal to int 0 ";
    } else {
        echo 
    " n.e. string is not equal to int 0 ";
    }
    ?>


    ;(
    pi_64892697
    omg waar heb je dat gevonde?
    pi_64892849
    Dit heb ik in de Fucking Manual gevonden. PHP is echt een brak kuttaaltje.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    var_dump
    (== "a"); // 0 == 0 -> true
    var_dump("1" == "01"); // 1 == 1 -> true
    var_dump("1" == "1e0"); // 1 == 1 -> true

    switch ("a") {
    case 
    0:
        echo 
    "0";
        break;
    case 
    "a"// never reached because "a" is already matched with 0
        
    echo "a";
        break;
    }
    ?>



    OMFG.
    pi_64894162
    hoe zit het eigenlijk als ik plaatjes wil submitten ?

    bvb een input file en dan submit

    uiteindelijk geeft hij avatar.png weer input was C:\YYYY\avatar.png
    maar hij slaat hem zo niet op als C:\YYYY\avatar.png

    kan dit anders? of dat hij hem bij de httdocs neerzet, want dat doet hij ook niet.
    Redacted
      zaterdag 10 januari 2009 @ 19:22:11 #35
    75592 GlowMouse
    l'état, c'est moi
    pi_64894256
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64894519
    In navolging van Farenji:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if(isset($_POST['code']))
    {
      
    $code preg_replace("/[^a-zA-Z0-9s]/"''strtolower(trim($_POST['code'])));
      
    $result $db->query("SELECT iets FROM tabel WHERE code = '"$db->real_escape_string($code) ."';");

      if(
    $result->num_rows) {
        
    // doe iets
        
    header('Location: http://het.is.gelukt.nl/pagina.html');
        exit;
      } else {
        echo 
    'Je code is onjuist.';
        exit;
      }

      echo 
    'Oké... wat nu?';
    }
    ?>


    Ik weet niet hoe en ik heb er geen verklaring voor, maar bij sommige bezoekers van mijn site werd "Oké... wat nu?" op het scherm gezet .

    PS: uiteraard had ik er wat anders/netjes van gemaakt, maar het gaat om het idee. Dit is echt het meest vage wat ik tot nu toe met PHP ben tegen gekomen.
      zaterdag 10 januari 2009 @ 19:36:21 #37
    75592 GlowMouse
    l'état, c'est moi
    pi_64894751
    quote:
    Op zaterdag 10 januari 2009 19:29 schreef HuHu het volgende:
    PS: uiteraard had ik er wat anders/netjes van gemaakt, maar het gaat om het idee. Dit is echt het meest vage wat ik tot nu toe met PHP ben tegen gekomen.
    Dan zal in dat proces wel iets fout zijn gegaan. Exit vergeten na de location-header ofzo.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64898200
    Ik kom er net achter dat mijn hosting een querie limit van 100.000 per uur heeft. Is dit toevallig te omzeilen? (ik kan geen meerder mysql account aanmaken).
    ..///
      zaterdag 10 januari 2009 @ 22:05:09 #39
    75592 GlowMouse
    l'état, c'est moi
    pi_64899249
    Dingen cachen op je filesystem.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64900394
    quote:
    Op zaterdag 10 januari 2009 17:03 schreef Likkende_Lassie het volgende:
    isset... gebruiken jullie die nou altijd? Ik vind het echt een rare functie..snap hem wel, maar zonder isset, heb je toch hetzelfde?

    Bijvoorbeeld:

    if(ifset($value)){

    }

    tegen

    if($value){

    }


    geen verschil toch?
    Jawel, als je error_reporting op E_ALL zet, zal je zien dat php een warning geeft dat je een ongedefinieerde variable gebruikt als je if($value) gebruikt.
    pi_64900404
    Dubbel
    pi_64903103
    Waarom kan ik met elke willekeurige username en password inloggen op mijn site :S.
    Ik denk dat het fout gaat bij :
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $query 
    "SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"
            
    $result mysql_query($query); 
            
    $rowcount mysql_num_rows($result);
            
            
    // als er een resultaat is.. (dus groter dan 0)
            
    if($rowcount 0)
    ?>


    De volledige code;

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php
    error_reporting
    (E_ALL);
    mysql_connect("localhost""root""")or die("mysql_error");
    mysql_select_db("opdracht1")or die("mysql_error");

    if(!empty(
    $_POST))
        { 
            
    // username and password verstuurd uit formulier
            
    $myusername=$_POST['username'];
            
    $mypassword=$_POST['wachtwoord'];

            
    // kleine protectie MySQL injection
            
    $myusername stripslashes($myusername);
            
    $mypassword stripslashes($mypassword);
            
    $myusername mysql_real_escape_string($myusername);
            
    $mypassword mysql_real_escape_string($mypassword);
            
    $password md5($mypassword);
            
    // kijk of er een username is met het ingevulde wachtwoord
                    
    $query "SELECT COUNT(*) FROM members WHERE username='".$myusername."' AND password='".$password."'"
            
    $result mysql_query($query); 
            
    $rowcount mysql_num_rows($result);
            
            
    // als er een resultaat is.. (dus groter dan 0)
            
    if($rowcount 0)
            { 
                
    $user $_POST["username"]; 
                
    $wachtwoord $_POST["wachtwoord"]; 
                
    $_SESSION['username'] = $user
                
    $_SESSION['wachtwoord'] = $wachtwoord

                
    header("Location: beveiligd.php"); 
            } 
            else 
            { 
                echo 
    "U heeft geen goede combinatie van emailadres en wachtwoord gebruikt."
            }          
        }
    else
    {
        echo 
    "U heeft de pagina verkeerd opgeroepen.";
    }
     
    ?>
    Bodybuilding #1
    Hardlopen #2
      zondag 11 januari 2009 @ 00:09:48 #43
    75592 GlowMouse
    l'état, c'est moi
    pi_64903182
    count(*) geeft altijd een rijtje terug, namelijk een rij met daarin een getal dat het aantal rijen dat aan WHERE voldoet voorstelt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64903499
    quote:
    Op zondag 11 januari 2009 00:09 schreef GlowMouse het volgende:
    count(*) geeft altijd een rijtje terug, namelijk een rij met daarin een getal dat het aantal rijen dat aan WHERE voldoet voorstelt.
    Dus ik kan beter
    1
    2
    3
    <?php
            $query 
    "SELECT `username` FROM `members` WHERE `username`='".$myusername."' AND password='".$password."'";
    ?>

    ervan maken?

    edit; Jup, dit werkt. Thanks.
    Bodybuilding #1
    Hardlopen #2
      zondag 11 januari 2009 @ 00:19:40 #45
    75592 GlowMouse
    l'état, c'est moi
    pi_64903541
    Nee, je moet niet mysql_num_rows gebruiken.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64903756
    quote:
    Op zondag 11 januari 2009 00:19 schreef GlowMouse het volgende:
    Nee, je moet niet mysql_num_rows gebruiken.
    En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.
    Bestaan de ingevoerde username en password in de db? -> Dan zal hij $rowcount = 1 geven. (Groter dan 1 kan ook niet omdat een username uniek is)
    Bestaan de ingevoerde username en password niet in de db? -> Dan zal hij $rowcount = 0 geven en zal hij direct door gaan naar de ELSE statement omdat alleen als $rowcount groter dan 0 is hij in die IF terugkomt.
    Bodybuilding #1
    Hardlopen #2
    pi_64905431
    quote:
    Op zondag 11 januari 2009 00:26 schreef Kerol het volgende:

    [..]

    En waarom niet? Nu bekijkt hij toch hoeveel rijen usernames er zijn met de ingevoerde username en password.
    Bestaan de ingevoerde username en password in de db? -> Dan zal hij $rowcount = 1 geven. (Groter dan 1 kan ook niet omdat een username uniek is)
    Bestaan de ingevoerde username en password niet in de db? -> Dan zal hij $rowcount = 0 geven en zal hij direct door gaan naar de ELSE statement omdat alleen als $rowcount groter dan 0 is hij in die IF terugkomt.
    Eens
    Maar ik zou geen wachtwoorden opslaan, ook niet in $_SESSION. Natuurlijk wel in de user-tabel, maar daar met encryptie (MD5 / SHA1 / etc). In $_SESSION kun je bijvoorbeeld userid en username opslaan, die kun je beide uit de database trekken. Als je de username uit de database haalt, krijg je de versie zoals die daar is opgeslagen. En omdat MySQL case insensitive is, hoeft dat niet hetzelfde te zijn als wat de klant heeft ingevoerd. (Meteen een reden om het wachtwoord wel via een versleuteling als MD5() te laten gaan, MD5('ABC') != MD5('abc').
    pi_64911600
    ik heb een vraagje ik krijg in mn database wel de datum opgeslagen maar niet de tijd terwijl ik deze regel gebruik.

    date("Y-m-d H:i:s"))

    ligt het aan het veld van de database?
    dat is namelijk een date veld. of moet de tijd apart worden opgeslagen?
    Redacted
      zondag 11 januari 2009 @ 13:22:10 #49
    75592 GlowMouse
    l'état, c'est moi
    pi_64911726
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64913006
    quote:
    het is gelukt alleen maar een veld aanpassen
    Redacted
    pi_64914753
    hoe zit het nu met uploaden van plaatjes

    ik wou een pagina maken waarin de plaatjes werden opgeslagen op hun eigen locatie alleen ik kom zover dat;
    enctype="multipart/form-data" in een form moest staan.

    en dat hiermee <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    de grootte bepaald kon worden.

    ik snap alleen niet hoe je move_file_uploaded kan toepassen. want hoe definieer ik de locatie?
    ik gebruik Xampp en dan moet hij in localhost worden opgeslagen.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $uploaddir 
    '/var/www/uploads/';
    $uploadfile $uploaddir basename($_FILES['avatar']['name']);

    echo 
    '<pre>';
    if (
    move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) {
        echo 
    "Bestand is valide en is geupload \n";
    } else {
        echo 
    "dit bestand is niet valide! \n";
    }

    echo 
    'Wat heb ik fout gedaan:';
    print_r($_FILES);

    print 
    "</pre>";
    ?>


    en ik snap totaal niet hoe ik C:\bestand.jpg kan laten weergeven dat hij dat verplaatst

    krijg telkens dit te zien.
    move_uploaded_file(localhost/phpweek/ontvangen-productenpagina.jpg)

    de naam is alleen het bestand en niet het hele bestandspad hoe fix ik dit

    (ondertussen een gastenboek af met een werkend database tabelletje erachter connectie en verwijder knopje voor commentaar )

    [ Bericht 4% gewijzigd door cablegunmaster op 11-01-2009 15:10:39 ]
    Redacted
      zondag 11 januari 2009 @ 15:09:47 #52
    75592 GlowMouse
    l'état, c'est moi
    pi_64914996
    move_uploaded_file werkt op je filesystem en localhost heb je niet op je filesystem.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64915041
    quote:
    Op zondag 11 januari 2009 15:09 schreef GlowMouse het volgende:
    move_uploaded_file werkt op je filesystem en localhost heb je niet op je filesystem.
    dus eigenlijk werkt het script wel als ik het online zou plaatsen?
    hoe zou de naam heten en zou ik een verbindings wachtwoord + ftp mee moeten sturen?

    natuurlijk CHMOD op de directory
    Redacted
      zondag 11 januari 2009 @ 15:13:41 #54
    75592 GlowMouse
    l'état, c'est moi
    pi_64915120
    Dat script werkt prima ja. Hij zet het bestand op de lokatie $uploadfile, zie de documentatie bij move_uploaded_file.

    Een zin als "en ik snap totaal niet hoe ik C:\bestand.jpg kan laten weergeven dat hij dat verplaatst" is onbegrijpelijk.

    Wat heeft FTP hiermee te maken?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64915438
    quote:
    Op zondag 11 januari 2009 15:13 schreef GlowMouse het volgende:
    Dat script werkt prima ja. Hij zet het bestand op de lokatie $uploadfile, zie de documentatie bij move_uploaded_file.

    Een zin als "en ik snap totaal niet hoe ik C:\bestand.jpg kan laten weergeven dat hij dat verplaatst" is onbegrijpelijk.

    Wat heeft FTP hiermee te maken?
    Ja daar heb je totaal gelijk in.

    ik bedoel hoe kan je een script een plaatje laten weergeven.
    ik kies bijvoorbeeld C:\Glowmouse.jpg

    en dan wil ik dat hij het weergeeft als C:\Glowmouse.jpg
    ipv dat hij dat doet. Geeft hij Glowmouse.jpg weer.
    op de localhost zelf ipv op C:\ hierdoor kan het plaatje niet weergegeven worden.

    het plaatje hoeft niet verplaatst te worden

    weet niet of het mogelijk is

    [ Bericht 7% gewijzigd door cablegunmaster op 11-01-2009 15:41:47 ]
    Redacted
    pi_64915527
    Zijn er hier ook mensen die ervaring hebben met Zend_Controller class van Zend framework uiteraard? En dan met name met het gebruik van meerdere module?
    pi_64921121
    quote:
    Op vrijdag 9 januari 2009 20:12 schreef GlowMouse het volgende:

    De integer die jij voorstelde was sowieso overdone om 0 of 1 op te slaan. Een tinyint voldoet dan al. En onder de byte per veld kom je niet, dus tinyint/enum is om het even en dan kies je natuurlijk de duidelijkste.
    Ik bedoelde dan ook niet INTEGER vs TINYINT, maar een integer i.p.v. een string (het woord enum was toen helemaal nog niet gevallen). Het ging mij om het datatype.
    pi_64921182
    quote:
    Op zondag 11 januari 2009 15:22 schreef cablegunmaster het volgende:

    [..]

    Ja daar heb je totaal gelijk in.

    ik bedoel hoe kan je een script een plaatje laten weergeven.
    ik kies bijvoorbeeld C:\Glowmouse.jpg

    en dan wil ik dat hij het weergeeft als C:\Glowmouse.jpg
    ipv dat hij dat doet. Geeft hij Glowmouse.jpg weer.
    op de localhost zelf ipv op C:\ hierdoor kan het plaatje niet weergegeven worden.

    het plaatje hoeft niet verplaatst te worden

    weet niet of het mogelijk is
    Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?

    Ik vermoed dat je het plaatje onder een andere naam wilt weergeven dan dat het opgeslagen is, door middel van een script? In dat geval moet je je eens gaan inlezen bij header() en file_get_contents()
    pi_64921458
    quote:
    Op zondag 11 januari 2009 18:01 schreef Xcalibur het volgende:

    [..]

    Als je dit nou terugleest, snap je dan zelf wel wat je schrijft?

    Ik vermoed dat je het plaatje onder een andere naam wilt weergeven dan dat het opgeslagen is, door middel van een script? In dat geval moet je je eens gaan inlezen bij header() en file_get_contents()
    ik bedoel dat hij het opslaat als

    localhost\plaatje.jpg

    maar ik wil niet dat hij localhost
    plaatje.jpg weergeeft bij <img src="localhost\plaatje.jpg" \>

    maar dat hij c:\plaatje.jpg weergeeft in img src
    heerlijk onhandig ^^ denk ik maar als hij hem naar de localhost zou kopieren zou ik het ook niet erg vinden
    als hij dat maar deed!
    Redacted
      zondag 11 januari 2009 @ 18:13:45 #60
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_64921500
    Plaats anders even je code?
    Ik denk dat het dan voor iedereen een stuk duidelijker zou zijn wat je bedoeld.
    pi_64921637
    Je moet het plaatje gewoon in de http root opslaan en dan kun je in je html ernaar verwijzen als href="/plaatje.gif".
    pi_64922112
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <?php
    echo var_dump($_POST);
    if (isset(
    $_POST['Submit'])) { 

    if (
    $_POST['vnaam'] == "" ) { 
            
    $error "Voornaam is niet ingevuld<BR />"
        } if (
    $_POST['anaam'] == "") { 
            
    $error .= "Achternaam is niet ingevuld<BR />"
        } if (
    $_POST['email'] == "" ) { 
            
    $error .= "Uw email is niet ingevuld<BR />"
        } if (
    $_POST['comment'] == "" ) {
            
    $error .= "U heeft geen commentaar ingevuld<BR />";
        } if (
    strlen($_POST["vnaam"]) <= 2)  {
            
    $error .= "Voornaam moet minstens 2 tekens bevatten<BR />";
        } if (
    strlen($_POST["anaam"]) < 3)  {
            
    $error .= "Achternaam moet minstens 3 tekens bevatten";
        }
        
    //Als naam, leeftijd of land niet is ingevuld, is $error NIET leeg. 

                 
    if (!isset($error))  
        
    //als de variabele $error niet is aangemaakt ... 
    {
        
    $naam ucfirst($_POST["vnaam"]);
        
    $anaam ucfirst($_POST["anaam"]);
        
    $email $_POST["email"] ;
        
    $date $_POST["email"];
        
    $comment $_POST["comment"];
        
    $avatar $_POST["avatar"];
        
    $time $_POST["datum"];
        
        
    trim($naam);
        
    trim($anaam);
        
    strip_tags($naam);
        
    strip_tags($anaam);
        
    strip_tags($email);
        
    strip_tags($comment);
        
    strip_tags($avatar);
        
    // was ik later mee bezig  weet niet of het werkt
    $uploaddir 'localhost/phpweek/';
    $uploadfile $uploaddir basename($_FILES['avatar']['name']);

    echo 
    '<pre>';
    if (
    move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadfile)) {
        echo 
    "Bestand is valide en is geupload \n";
    } else {
        echo 
    "dit bestand is niet valide! \n";
    }

    echo 
    'Wat heb ik fout gedaan:';
    print_r($_FILES);

    print 
    "</pre>";                            }
    */ 

        echo 
    $naam." ".$anaam."
        <br><a href=\"mailto:"
    .$email."\">".$email."</a><br>
        <img src=\""
    .$_FILES['avatar']['name']."\"/><br>
        "
    .$time."<br>Uw commentaar:<br>".$comment;
        echo(
    "<br><a href =\"".$_SERVER["PHP_SELF"] . "\">Nieuw commentaar toevoegen</a>");

            } else { 
            echo 
    "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />"
            echo 
    "<FONT COLOR=\"#FF0000\">".$error."</FONT>
            <br><a href =\""
    .$_SERVER["PHP_SELF"] . "\">Probeer opnieuw</a>";
        } 
       } else { 
         
    // als er niks ingevuld is word het gastenboek weergegeven net als het hoort.
    ?>

    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
    <html>
    <head>
       <title>Gastenboek</title>
    </head>
    <body>
    <h1>Schrijf een bijdrage in ons gastenboek!</h1>
    <form enctype="multipart/form-data" action="<?php echo($_server["php_self"]);?>" method="post">
    <table border = "0">
      <tr>
        <td align="right">Voornaam</td>
        <td><input type="text" name="vnaam" size='10'></td>
      </tr>
      <tr>
        <td align="right">Achternaam</td>
        <td><input type="text" name="anaam" size='10'></td>
      </tr>
      <tr>
        <td align="right">E-mailadres</td>
        <td><input type="text" name="email" size='10'></td>
      </tr>
      <tr>
        <td align="right">Avatar:</td>
        <td><input type="hidden" name="MAX_FILE_SIZE" value="30000" /><input type="file" name="avatar"></td>
      </tr>
      <tr>
        <td VALIGN="top">Uw bijdrage:</td>
        <td><textarea name="comment" size="255" rows="8"></textarea></td>
      </tr>
      <tr>
        <td><input type="hidden" name="datum" value="<?php echo(date("Y-m-d H:i:s")); ?>"> </td>
        <td><input type="Submit" name="Submit" value="Verzenden"<input type="reset" name="Reset" value="Leegmaken"></td>
      </tr>
    </table>
    </form>
    </table>

    1
    2
    3
    <?php
     

    ?>

    1
    2
    </body>
    </html> 


    het ging om een enkele post in het gastenboek :p niet om het gastenboek te zien of er iets geks mee te doen of een query ( heb al een werkend gastenboek :p maar het zou tof zijn om een avatar bij te kunnen hebben
    deze geeft alleen weer wat je erin stopt :p niet het gastenboek zelf.

    het idee is dat een plaatje word weergegeven. of geupload
    het uploaden snap ik nog niet helemaal.
    ik wou eerst dat het plaatje fysiek naar mn hardeschijf verwees maar online is dat zo kut.
    dus dat doen we niet :p want dan zien jullie mijn prachtige plaatjes niet. :p

    dus uploaden naar de site? hoe doe ik dat :p
    code zal vast wel wat fouten in zitten.

    ben ondertussen met een inlog systeem bezig en een pagina met sessie start stop
    id ^^ en later een wachtwoord vergeten knop word me een site.
    opdracht moet voor dinsdag af

    Eerste keer dat ik dit doe btw
    Redacted
    pi_64922410
    quote:
    Op zondag 11 januari 2009 18:18 schreef Farenji het volgende:
    Je moet het plaatje gewoon in de http root opslaan en dan kun je in je html ernaar verwijzen als href="/plaatje.gif".
    je mist het punt das html geen php
    en als ik je dan heel veel bestanden toe stuur staat je root zo vol
    kan je beter een temp aanmaken ! of een picture map


    hoe zit het met sessies?

    ik kan nu registreren op mn site maar de vraag is moet ik alles opnieuw oproepen ?
    eruithalen van de database alvorens het in de sessie te stoppen ?
    en dan pas onthoud hij de gegevens?

    klopt dit of vergis ik me hierin?

    [ Bericht 21% gewijzigd door cablegunmaster op 11-01-2009 21:52:43 ]
    Redacted
    pi_64931518
    Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
      zondag 11 januari 2009 @ 22:42:19 #65
    75592 GlowMouse
    l'état, c'est moi
    pi_64932001
    quote:
    Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
    Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
    Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64932947
    quote:
    Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:

    [..]

    Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
    Bij twee niveau's diep en letters voor het aangeven van de niveau's heb je 148 bestanden per map. Uitgaande van een uniforme verdeling, uiteraard.
    pi_64933487
    ik zet het resultaat binnenkort wel online. (deze week)

    van al je hulp diensten Glowmouse.
    ben je er heel erg dankbaar om.

    geen idee of file uploaden me gaat lukken


    Het stelt nu nog niet veel voor
    maar je kan inloggen gastenboek alleen als je inlogt
    en je moet er opdrachten op kunnen zien.

    [ Bericht 26% gewijzigd door cablegunmaster op 11-01-2009 23:39:11 ]
    Redacted
    pi_64936575
    quote:
    Op zondag 11 januari 2009 22:42 schreef GlowMouse het volgende:

    Twee of drie diep is zát voor 100.000 afbeeldingen. De eerste vier tekens van de bestandsnaam zorgen trouwens niet echt voor een uniforme verdeling over mappen, of je applicatie moet bestanden zelf een random naam geven.
    Het is door randomization inderdaad uniform verdeeld. Ik had het over 100.000 plus, de kans is groot dat het er binnenkort een veelvoud van zijn. De details doen er eigenlijk ook niet toe; het was meer een "tip" over architectuur. Of je 2 of 4 niveau's diep wilt gaan kan van meerdere zaken afhangen natuurlijk
    pi_64943858
    quote:
    Op zondag 11 januari 2009 22:30 schreef Roy_T het volgende:
    Sterker nog, als het om echt heel veel bestanden gaat kun je beter meer subdirs maken. Voor een applicatie met honderdduizend+ afbeeldingen plaats ik een bestand met de naam igifgarioufglieruhg.jpg daarom in "file/i/g/i/f/igifgarioufglieruhg.jpg"; oftewel subdirs op basis van de eerste 4 karakters van de naam. Als je zoveel bestanden in één dir hebt staan, dan wil dat nog weleens vertragend werken op filesystem niveau.
    Vanaf wanneer gaat zoiets vertragend werken en wat is "vertragend"? Ik zit namelijk ook met tienduizenden afbeeldingen die momenteel nog in één map staan. De honderduizend afbeeldingen is naderend en geen idee hoe zich dit gaat houden als er nog tienduizenden afbeeldingen bij gaan komen. Kan iemand daar iets over zeggen?

    Het gaat om een Windows 2003 systeem met Apache 2 en de harde schijf als NTFS in RAID 1. Daarnaast leest dat systeem ook nog afbeeldingen van een Mac Leopard Server die bestanden deelt die op een HFS+ schijf in RAID 6 staat.
      maandag 12 januari 2009 @ 12:10:03 #70
    75592 GlowMouse
    l'état, c'est moi
    pi_64944027
    Die limieten komen volgens mij meer uit oude filesystems. Tegenwoordig heb je er geen enkel probleem mee, totdat je het mapje opent in bv explorer.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64944286
    quote:
    Op maandag 12 januari 2009 12:10 schreef GlowMouse het volgende:
    Die limieten komen volgens mij meer uit oude filesystems. Tegenwoordig heb je er geen enkel probleem mee, totdat je het mapje opent in bv explorer.
    Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.
      maandag 12 januari 2009 @ 13:28:08 #72
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_64946815
    Even een javascript vraagje, heb het ook al gepost in een javascript voor dummies, maar volgens mij zijn die topics niet heel erg actief

    De sitiutatie is als volgt:

    - Ik heb meerdere select's op mijn pagina, met precies dezelfde waarde, alleen de naam van select is anders.
    - Ik wil, dat zodra er één van de options wordt geselecteerd, in een willekeurige select, dat in elke select (behalve de huidige), de optie verdwijnt. Wordt de optie niet meer geselecteerd, dan moet hij weer overal verschijnen.

    Duidelijk?

    Dit heb ik al aan code:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function disable(){
       
       sel = document.frm.select1.selectedIndex;
       
       if(sel){
          document.frm.select2.remove(sel);
          //document.frm.select2.selectedIndex =0;
       }else{
          document.frm.select2.options[sel] = new Option('???wat te doen????',2);
       }
    }


    Eigenlijk zou hij alle select's op de pagina in een array moeten gooien, en vervolgens hier zn ding doen.
    Wie o wie!
    pi_64954535
    quote:
    Op maandag 12 januari 2009 13:28 schreef Likkende_Lassie het volgende:
    Even een javascript vraagje, heb het ook al gepost in een javascript voor dummies, maar volgens mij zijn die topics niet heel erg actief

    De sitiutatie is als volgt:

    - Ik heb meerdere select's op mijn pagina, met precies dezelfde waarde, alleen de naam van select is anders.
    - Ik wil, dat zodra er één van de options wordt geselecteerd, in een willekeurige select, dat in elke select (behalve de huidige), de optie verdwijnt. Wordt de optie niet meer geselecteerd, dan moet hij weer overal verschijnen.

    Duidelijk?

    Dit heb ik al aan code:
    [ code verwijderd ]

    Eigenlijk zou hij alle select's op de pagina in een array moeten gooien, en vervolgens hier zn ding doen.
    Wie o wie!

    http://www.w3schools.com/HTMLDOM/met_doc_getelementsbytagname.asp
    pi_64963337
    Ik heb een scriptje gemaakt voor als een gebruiker zijn account wilt verwijderen.
    Ik krijg telkens de message 'Uw account is succesvol verwijderd', wat overigens helemaal niet succesvol verlopen is, de user blijft gewoon bestaan en kan zelfs gewoon weer inloggen met dezelfde inloggegevens.
    Ziet iemand wat ik fout doe?
    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
    <?php
    error_reporting
    (E_ALL);
    mysql_connect("localhost""root""")or die("mysql_error");
    mysql_select_db("opdracht1")or die("mysql_error");
    $username $_SESSION['username'];
    if (empty(
    $_POST['submit']))
    {

    Weet je zeker dat je je account wilt verwijderen?
    <
    br/>
    <
    form method="post" action=" $_SERVER['PHP_SELF'] ">
    Ja <input type="radio" name="accdel" value="ja">
    Nee <input type="radio" name="accdel" value="nee"> <br/>
    <
    input type="submit" name="submit" value="Verwijder!"/>
    </
    form>

    }    
    else
    {
            if (
    $_POST['accdel'] == "ja")
            {
            
    mysql_query("DELETE FROM `members` WHERE `username` = '".$username."'");
            
    session_destroy();            
            echo 
    "Uw account is succesvol verwijderd.";
            }
            else
            {
                
    header(profiel.php);
            }
    }    
        
    ?>


    En FOK verwijderd die <? en ?> aldoor.
    Bodybuilding #1
    Hardlopen #2
      maandag 12 januari 2009 @ 20:21:26 #75
    75592 GlowMouse
    l'état, c'est moi
    pi_64963520
    mysql_error geeft? SQL injection rekening mee gehouden?

    header(profiel.php) is geen geldige PHP-code trouwens.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 12 januari 2009 @ 20:23:23 #76
    136730 PiRANiA
    All thinking men are atheists.
    pi_64963607
    whoops
    pi_64963671
    Weet je zeker dat die $username var goed gevuld is? Je vangt de sql errors ook niet af dus als daar wat fout gaat zie je het niet. Maar als $username leeg is dan slaagt de query wel gewoon maar wordt er niks verwijderd.
    pi_64963743
    quote:
    Op maandag 12 januari 2009 20:21 schreef GlowMouse het volgende:
    mysql_error geeft? SQL injection rekening mee gehouden?

    header(profiel.php) is geen geldige PHP-code trouwens.
    SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.
    mysql_error geeft niets, want er is geen error, de rij wordt in de db gewoon niet verwijderd.
    Bodybuilding #1
    Hardlopen #2
    pi_64963810
    quote:
    Op maandag 12 januari 2009 20:24 schreef Farenji het volgende:
    Weet je zeker dat die $username var goed gevuld is? Je vangt de sql errors ook niet af dus als daar wat fout gaat zie je het niet. Maar als $username leeg is dan slaagt de query wel gewoon maar wordt er niks verwijderd.
    $username is niet leeg, er staat wel wat in zie ik net via var_dump();
    Bodybuilding #1
    Hardlopen #2
      maandag 12 januari 2009 @ 20:28:42 #80
    75592 GlowMouse
    l'état, c'est moi
    pi_64963897
    quote:
    Op maandag 12 januari 2009 20:26 schreef Kerol het volgende:

    [..]

    SQL Injection maakt niet uit voor dit, het is maar een opgave voor school.
    mysql_error geeft niets, want er is geen error, de rij wordt in de db gewoon niet verwijderd.
    Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64963972
    quote:
    Op maandag 12 januari 2009 20:28 schreef GlowMouse het volgende:

    [..]

    Je kunt de query gewoon bekijken en zelf uitvoeren en zien wat er gebeurt.
    Notice: Undefined index: username in C:\xampp\htdocs\marcc-online\deleteacc.php on line 22
    NULL

    Raar want als ik gewoon var_dump($username) doe krijg ik daar wel een resultaat uit.

    Nu werkt hij opeens weer
    Bodybuilding #1
    Hardlopen #2
      maandag 12 januari 2009 @ 20:32:50 #82
    75592 GlowMouse
    l'état, c'est moi
    pi_64964111
    En var_dump($_SESSION)? Je bent een regeltje vergeten
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64964163
    quote:
    Op maandag 12 januari 2009 20:32 schreef GlowMouse het volgende:
    En var_dump($_SESSION)? Je bent een regeltje vergeten
    Mja hij werkt opeens weer, geen idee wat de fout nou was maar opeens werkt het scriptje weer.
    Bodybuilding #1
    Hardlopen #2
      maandag 12 januari 2009 @ 20:34:36 #84
    75592 GlowMouse
    l'état, c'est moi
    pi_64964190
    session_start()?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64964357
    quote:
    Op maandag 12 januari 2009 20:34 schreef GlowMouse het volgende:
    session_start()?
    Stond er ook al in, maar bedankt voor de hulp
    Bodybuilding #1
    Hardlopen #2
    pi_64975563
    Kerol mij is dat ook gelukt op mijn eigen manier om mijn account te verwijderen.
    is het jou al gelukt met de geheime vraag ?
    mij namelijk wel

    *zitten op zelfde school *
    Redacted
    pi_64991916
    Ik heb een kort reg expression vraagje:
    Hoe krijg ik uit de volgende tekst
    1example_text + 'needle';

    het volgende resultaat
    1needle


    Wat ik nu heb werkt niet:
    1preg_match('/example_text\s*+\s*\'(.*?)\'/i', "example_text + 'needle';", $matches);


    Sorry, ben een regex n00b :@
      dinsdag 13 januari 2009 @ 15:34:09 #88
    75592 GlowMouse
    l'état, c'est moi
    pi_64992228
    De + heeft in een regexp een speciale betekenis en moet je dus escapen.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_64992380
    quote:
    Op dinsdag 13 januari 2009 15:34 schreef GlowMouse het volgende:
    De + heeft in een regexp een speciale betekenis en moet je dus escapen.
    Dat dus. En verder zou je genoeg hebben aan:

    1
    2
    3
    <?php
    preg_match
    ('/\'(.*?)\'/i'"example_text + 'needle';"$matches);
    ?>


    Je wilt tenslotte alleen het stuk tussen de ' en die example_text ervoor boeit niet lijkt me?
    pi_64992427
    In een regexp is "+" een operator, dus als je het teken "+" wil matchen moet je hem escapen.
    pi_64992459
    Haha, spuit 11.
    pi_64992576
    Mijn fout. Ik had moeten vertellen dat dat hele "example_text + 'needle';" stuk in een grotere tekst staat.

    Ik heb dus die 'needle' nodig en het enige dat ik weet is dat het altijd voorafgegaan wordt door 'example_text + ' en tussen aanhalingstekens staat.

    Hoop dat het zo wat duidelijker is.
    pi_64992845
    quote:
    Op dinsdag 13 januari 2009 15:41 schreef schwa78 het volgende:
    Mijn fout. Ik had moeten vertellen dat dat hele "example_text + 'needle';" stuk in een grotere tekst staat.

    Ik heb dus die 'needle' nodig en het enige dat ik weet is dat het altijd voorafgegaan wordt door 'example_text + ' en tussen aanhalingstekens staat.

    Hoop dat het zo wat duidelijker is.
    Dan zou een \ voor de + genoeg moeten zijn, zoals GlowMouse en Farenji aangeven.
    pi_64993139
    Je hebt gelijk! Hij doet het!

    Thx a bunch!!
    pi_64996719
    quote:
    Op maandag 12 januari 2009 12:18 schreef HuHu het volgende:

    [..]

    Ah... oké, dan hoef ik me voorlopig geen zorgen te maken denk ik. Alleen dat laatste (openen in explorer) klopt inderdaad, dat gaat echt rete-traag. Maar dat hoeft gelukkig nooit te gebeuren.
    Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzo en als ik de map open duurt het wel eventjes... Maar dat komt meer omdat hij dan euh de auteur en de lengte van het txt bestandje moet ophalen
    pi_65007287
    quote:
    Op dinsdag 13 januari 2009 17:12 schreef Wouser het volgende:

    [..]

    Kan ik over meespreken heb een grote collectie aan .txt bestandjes van ieder 1.4gig enzo en als ik de map open duurt het wel eventjes... Maar dat komt meer omdat hij dan euh de auteur en de lengte van het txt bestandje moet ophalen
    logbestanden?
    Redacted
      dinsdag 13 januari 2009 @ 22:04:28 #97
    75592 GlowMouse
    l'état, c'est moi
    pi_65008144
    Dan zul je het over nog geen 1000 bestandjes hebben van 1.4 GB/stuk.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      woensdag 14 januari 2009 @ 00:17:43 #98
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65014184
    Ik probeer een XML document in een array te zetten, maar dit wil niet echt lukken:
    Heb allerlei al reeds geschreven functies die ik op google heb gevonden, geprobeerd, maar ze doen niet wat ik wil.

    Ik wil uiteindelijk als volgt de data uit de array kunnen oproepen


    1
    2
    $array = $xml[0]0];
    $array = $xml[0][1];


    In plaats van de NAAM van de Attribute, wil ik dus ook met een 0 of een 1 de positie van de attribute aan kunnen geven.
    Het eerste nummer (de 0) die jullie zien, is de eerste waarde in het bestand.

    Zo ziet de xml er ongeveer uit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <BESTAND>
       <ITEM>
          <ITEM_NAAM>product A</ITEM_NAAM>
          <ITEM_ID>5123</ITEM_ID>
       </ITEM>
       <ITEM>
          <ITEM_NAAM>product B</ITEM_NAAM>
          <ITEM_ID>123</ITEM_ID>
       </ITEM>
       <ITEM>
          <ITEM_NAAM>product C</ITEM_NAAM>
          <ITEM_ID>952</ITEM_ID>
       </ITEM>
    </BESTAND>


    Als ik bijvoorbeeld echo $array = $xml[1][0]; zou doen, wil ik de NAAM van het 2e item zien...
    Volgens mij moet het niet heel erg moelijk zijn, maar iemand misschien enig idee hoe dit in een array te krijgen? :)
    pi_65015121
    quote:
    Op dinsdag 13 januari 2009 22:04 schreef GlowMouse het volgende:
    Dan zul je het over nog geen 1000 bestandjes hebben van 1.4 GB/stuk.
    dat vind ik ook veel !

    1.4 Terabyte!


    Maar even 1 vraag je ik moet nu alle uitwerkingen van mn opdrachten in html weergeven.

    Hoe kan ik in html bestand html en php weergeven?
    is er iets simpels als een functie die me daar bij helpt ?
    Redacted
    pi_65017624
    quote:
    Op woensdag 14 januari 2009 00:17 schreef Likkende_Lassie het volgende:
    [...]
    Als ik bijvoorbeeld echo $array = $xml[1][0]; zou doen, wil ik de NAAM van het 2e item zien...
    Volgens mij moet het niet heel erg moelijk zijn, maar iemand misschien enig idee hoe dit in een array te krijgen?
    Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65018144
    quote:
    Op woensdag 14 januari 2009 07:29 schreef SuperRembo het volgende:

    [..]

    Je loopt recursief door de xml tree heen en bouwt ondertussen de array op. Lijkt me vrij recht toe recht aan.
    Inderdaad, en op deze pagina staan een paar prima functies daarvoor (in de comments): http://nl3.php.net/xml_parse
      woensdag 14 januari 2009 @ 09:50:42 #102
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65019852
    Ik probeer het volgende, en ik kan niet anders dan de atribute op te roepen als $data_2->NAAM ipv $data_2[0];..

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $xml = simplexml_load_file('/var/www/html/beheer/temp_uploads/'.$_GET['option_2']);
       
       $row = 0;
       $row_2= 0;
       $dump = array();

       foreach ($xml AS $data){
          $dump[$row] = $data;
          $row++;
            
       }
       
       foreach ($dump AS $data_2){
          echo $data_2->NAAM;
          echo '<br />';
       }
    pi_65021244
    quote:
    Op woensdag 14 januari 2009 09:50 schreef Likkende_Lassie het volgende:
    Ik probeer het volgende, en ik kan niet anders dan de atribute op te roepen als $data_2->NAAM ipv $data_2[0];..
    [ code verwijderd ]
    En dat is een probleem omdat?
    pi_65021585
    Ja als je xml objecten in je array gooit, dan komen er ook weer xml objecten uit.
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      woensdag 14 januari 2009 @ 11:05:01 #105
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65022069
    quote:
    Op woensdag 14 januari 2009 10:42 schreef Farenji het volgende:

    [..]

    En dat is een probleem omdat?
    ik het niet zo wil aan roepen
    dus hoe dat te doen?
    pi_65023488
    quote:
    Op woensdag 14 januari 2009 11:05 schreef Likkende_Lassie het volgende:

    ik het niet zo wil aan roepen
    dus hoe dat te doen?
    Zorgen dat er arrays in komen, en geen objecten
    pi_65027385
    quote:
    Op woensdag 14 januari 2009 11:05 schreef Likkende_Lassie het volgende:

    [..]

    ik het niet zo wil aan roepen
    dus hoe dat te doen?
    Je kan die hash die door simplexml wordt gemaakt toch omzetten naar elk formaat dat je zelf wil? Daar kun je gewoon je eigen routine voor schrijven. Of je zou je kunnen afvragen waarom je perse de data als array wil benaderen, wat is precies het voordeel?
      woensdag 14 januari 2009 @ 13:32:03 #108
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65027565
    Ik ben bezig met een importmodule, waar zowel CSV als XML bestanden kunnen worden geimporteerd.
    Op een gegeven moment kunnen er kolommen worden gekoppeld aan die van de database, zodat elke opbouw van zowel CSV als XML te gebruiken is

    Als ik de onderstaande code gebruik, krijg ik deze foutmelding:
    Fatal error: Call to a member function attributes() on a non-object in upload.php on line 137

    1
    2
    3
    4
    5
    6
    7
    $xml = simplexml_load_file('/var/www/html/uploads/9322689b8f690f9d43a47486051bc7db.xml');
    foreach($xml->body[0]->attributes() as $a => $b) {
       if($a=='type') {
          echo $a,'="',$b,"\"</br>";
       }else{ 
       }
    }


    EDIT : volgens mij heb ik het probleem, momentje

    [ Bericht 4% gewijzigd door Likkende_Lassie op 14-01-2009 13:38:32 ]
      donderdag 15 januari 2009 @ 10:47:31 #109
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65062234
    Het is gelukt!
    Het lukte mij echt totaal niet met de functies die hierboven staan, en als ik wat resultaten kreeg, dan had ik al snel 100 regels aan code. Maar zie hieronder:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    $dom 
    = new DomDocument();
          
    $dom->load('/uploads/'.$_GET['option_2']);
          
          foreach (
    $dom->documentElement->childNodes as $articles) {
             
              if (
    $articles->nodeType == && $articles->nodeName == "INFO") {
                  foreach (
    $articles->childNodes  as $item) {
                      if (
    $item->nodeType == AND $i 1) {
                         
    $files[0][] = $item->nodeName;
                      }
                  }
                  
    $i++;
              }
          }
    ?>


    pi_65067605
    Ik heb weer een leuke vraag, ik heb 2 tabellen die ik join.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT images_tree.*, 
           images.id AS imageID, 
           images.filex , 
           images.filey 
    FROM images_tree 
    LEFT JOIN images ON images.cat_id = images_tree.id 
    WHERE images_tree.tree_id = '1' 
    GROUP BY images_tree.id 
    ORDER BY images_tree.title 
    LIMIT 20, 20


    daarvoor gebruik ik de volgende tabellen

    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
    --
    -- Tabel structuur voor tabel `images`
    --

    CREATE TABLE IF NOT EXISTS `images` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `cat_id` mediumint(8) unsigned NOT NULL,
      `user_id` mediumint(8) unsigned NOT NULL,
      `user_ip` varchar(32) NOT NULL,
      `filename` varchar(32) NOT NULL,
      `filedate` date NOT NULL,
      `filetype` char(1) NOT NULL,
      `filesize` int(10) unsigned NOT NULL,
      `filecrc` varchar(15) NOT NULL,
      `filex` mediumint(8) unsigned NOT NULL,
      `filey` mediumint(8) unsigned NOT NULL,
      `views` int(10) unsigned NOT NULL,
      `vote` tinyint(3) unsigned NOT NULL,
      `votes` mediumint(8) unsigned NOT NULL,
      PRIMARY KEY  (`id`),
      UNIQUE KEY `filesize` (`filesize`,`filecrc`,`filex`,`filey`,`cat_id`),
      KEY `cat_id` (`cat_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

    -- --------------------------------------------------------

    --
    -- Tabel structuur voor tabel `images_tree`
    --

    CREATE TABLE IF NOT EXISTS `images_tree` (
      `id` mediumint(8) unsigned NOT NULL auto_increment,
      `tree_id` mediumint(8) unsigned NOT NULL,
      `title` varchar(32) NOT NULL,
      `description` varchar(255) NOT NULL,
      `images` mediumint(8) unsigned NOT NULL,
      `images_size` bigint(20) unsigned NOT NULL,
      PRIMARY KEY  (`id`),
      KEY `id` (`id`,`tree_id`),
      KEY `title` (`title`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;


    echter kost het ruim 0.3 seconden om 20 afbeeldingen uit te lezen uit een database van 1400 categorieen en 75000 afbeeldingen..

    Hoe kan ik deze optimaliseren? ik heb al EXPLAIN op de queries gedaan maar dan blijkt dat er geen filesort gebruikt wordt...
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65068080
    Helpt het als je de KEY id weg haalt bij images_tree en deze vervangt door een index op alleen tree_id?
    pi_65068310
    Niet bepaald nee, dan wordt de query nog slomer
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 15 januari 2009 @ 14:24:32 #113
    75592 GlowMouse
    l'état, c'est moi
    pi_65070278
    En wat is de output van EXPLAIN? Grote kans dat het niet veel sneller kan trouwens, GROUP BY col1 ORDER BY col2 is gewoon een vervelende combinatie.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      donderdag 15 januari 2009 @ 14:43:22 #114
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_65071054
    was ik toch bijna dit topic kwijt..
    pi_65074906
    dit is de explain

    1
    2
    3
    id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra  
    1 SIMPLE images_tree index NULL title 34 NULL 1364 Using where; Using temporary 
    1 SIMPLE images ref cat_id cat_id 3 ****.images_tree.id 54   


    en idd het is nogal wat ongelukkig maar goed
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 15 januari 2009 @ 16:52:27 #116
    75592 GlowMouse
    l'état, c'est moi
    pi_65076655
    Probeer de GROUP BY eens te wijzigen in GROUP BY images_tree.title,images_tree.id, en aan de index op title ook het veld id toe te voegen index toevoegen op (tree_id,title,id).
    Als dat niet werkt: ANALYSE TABLE op de twee tabellen, nog een keer proberen, en anders opnieuw de EXPLAIN-output geven.

    [ Bericht 7% gewijzigd door GlowMouse op 15-01-2009 17:01:01 ]
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65077708
    Ja die index werkt idd heerlijk

    -edit-
    alleen bij de eerste pagina's scheelt het aardig, maar hoever ik in de database kom (qua records) hoe langzamer
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 15 januari 2009 @ 17:37:39 #118
    75592 GlowMouse
    l'état, c'est moi
    pi_65078574
    quote:
    Op donderdag 15 januari 2009 17:16 schreef Chandler het volgende:
    Ja die index werkt idd heerlijk

    -edit-
    alleen bij de eerste pagina's scheelt het aardig, maar hoever ik in de database kom (qua records) hoe langzamer
    Dat heb je wanneer je LIMIT gebruikt.
    Mag ik weten hoe snel de query is op pagina 1, en op pagina 10?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65080877
    vraagje,

    nu ik mijn site online wil plaatsen waar moet ik opletten behalve op captcha tegen spambots en
    escape mysql strings?
    zijn er dingen waar ik rekening mee moet houden?
    behalve dan dat de database online komt te staan.
    Redacted
    pi_65081621
    waar doel je precies op...?
      donderdag 15 januari 2009 @ 20:15:58 #121
    136730 PiRANiA
    All thinking men are atheists.
    pi_65084245
    Wie heeft een simpele JOIN tuto?
    pi_65084323
    quote:
    Op donderdag 15 januari 2009 19:09 schreef Xcalibur het volgende:
    waar doel je precies op...? :?
    ik doel erop

    wat voor beveiliging kan je zelf instellen behalve de formulier checks op je website en de sql injectie checks?
    1
    2
    3
    4
    5
    <?php
    $PLAATJE 
    "rand(1,9)"

    echo "<img src =\"leukplaatje".$PLAATJE.".jpg\"/> ";
    ?>

    vond ik wel tof bedacht btw :D
    Redacted
    pi_65085081
    wat wil je dan beveiligen? en waarom?

    het random plaatje wat je post is op zich hartstikke leuk natuurlijk, maar heeft niks met beveiling te maken
    pi_65085116
    quote:
    Op donderdag 15 januari 2009 20:36 schreef Xcalibur het volgende:
    wat wil je dan beveiligen? en waarom?

    het random plaatje wat je post is op zich hartstikke leuk natuurlijk, maar heeft niks met beveiling te maken
    nee ik bedoel weren tegen sql injecties.
    weren tegen kut users die mijn site proberen plat te leggen.
    users die mn database proberen te mollen!
    Redacted
    pi_65086858
    quote:
    Op donderdag 15 januari 2009 20:37 schreef cablegunmaster het volgende:

    [..]

    nee ik bedoel weren tegen sql injecties.
    weren tegen kut users die mijn site proberen plat te leggen.
    users die mn database proberen te mollen!
    Door te zorgen dat je in ieder geval niet de 25 gevaarlijkste programmeerfouten maakt.
    pi_65092548
    quote:
    Op donderdag 15 januari 2009 17:37 schreef GlowMouse het volgende:
    Dat heb je wanneer je LIMIT gebruikt.
    Mag ik weten hoe snel de query is op pagina 1, en op pagina 10?
    Pagina 1. 0.01
    Pagina 10 0.09
    Pagina 20 0.13
    Pagina 50 0.3
    Pagina 69 0.44

    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 15 januari 2009 @ 23:42:17 #127
    75592 GlowMouse
    l'état, c'est moi
    pi_65092881
    quote:
    Op donderdag 15 januari 2009 23:33 schreef Chandler het volgende:

    [..]

    Pagina 1. 0.01
    Pagina 10 0.09
    Pagina 20 0.13
    Pagina 50 0.3
    Pagina 69 0.44

    Mooi lineair Nadeel van LIMIT, hij kan nooit weten wat er op de 59ste pagina komt zonder eerst de eerste 58 op te halen.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65094865
    Ik heb 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    $result = mysql_query("SELECT * FROM ur_pstats ORDER BY points DESC");
    $nr = 1;

    while($row = mysql_fetch_array($result))

    {

       if (in_array($row['user'],$flow))

       {

       $team = "Flow";

       }

       else

       {
       $team = "Allstars";
       }


    echo "<tr>";
    echo "<td>";
    echo $nr;
    echo "</td>";
    echo "<td>";
    echo $row['user'];
    echo "</td>";
    echo "<td>";
    echo $team;
    echo "</td>";
    echo "<td>";

    $points = $row['points'];
    $points2 = log($row['games'] + 1 ) * ($row['wins'] / $row['games']);

    $points = $points + $points2;
    $points = round($points, 2);

    echo $points;
    echo "</td>";


    Het gaat mij vervolgens om points. Zoals jullie kunnen zien is er in de table ur_pstats een kolom met de naam 'points'. Ik sorteer de resultaten op points. Nu is het probleem dat ik onlangs een wijziging heb doorgevoerd. Het gaat hierbij om de regel met log(). Na deze bewerking ontstaat er een nieuwe waarde voor points. Nu wil ik eigenlijk sorteren op deze points, en niet op de points die ik uit de tabel haal.

    Is hier een makkelijke oplossing voor? Het enige wat ik kan bedenken is op een of andere manier een array te maken, want volgens mij kun je de array ook sorteren op waarden. Een alternatief zou zijn om voordat de points worden opgeslagen de bewerking met log toe te voegen. Welke zou makkelijker zijn?
      vrijdag 16 januari 2009 @ 01:01:41 #129
    75592 GlowMouse
    l'état, c'est moi
    pi_65094900
    SELECT user,points,log(games+1)*wins/games AS points2 FROM ur_pstats ORDER BY points2 DESC
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      vrijdag 16 januari 2009 @ 01:02:23 #130
    75592 GlowMouse
    l'état, c'est moi
    pi_65094913
    Lekker voor je performance trouwens als je veel rijen hebt. In dat geval kan het beter zijn om een apart veld aan te maken met deze score en daarop te indexeren.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65095210
    Denk aan ongeveer 200 rijen. Als ik

    $result = mysql_query("SELECT * FROM ur_pstats ORDER BY points DESC");

    verander in

    $result = mysql_query("SELECT user,points,log(games+1)*wins/games AS points2 FROM ur_pstats ORDER BY points2 DESC");

    dan krijg ik een halve tabel met alleen maar nullen .

    edit-

    Ik heb t zelf inmiddels gefixed.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while($row = mysql_fetch_array($result))


    {

    $user = $row['user'];
    $points = $row['points'];
    $points2 = log($row['games'] + 1 ) * ($row['wins'] / $row['games']);
    $points = $points + $points2;

    mysql_query("UPDATE ur_pstats SET points2 = '$points' WHERE user = '$user");

    }


    [ Bericht 51% gewijzigd door Irix op 16-01-2009 01:45:34 ]
    pi_65097798
    quote:
    Op donderdag 15 januari 2009 23:42 schreef GlowMouse het volgende:

    [..]

    Mooi lineair Nadeel van LIMIT, hij kan nooit weten wat er op de 59ste pagina komt zonder eerst de eerste 58 op te halen.
    Goed, maar hoe kan ik dit versnellen cq optimaliseren? D:
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      vrijdag 16 januari 2009 @ 10:42:30 #133
    75592 GlowMouse
    l'état, c'est moi
    pi_65101041
    quote:
    Op vrijdag 16 januari 2009 08:48 schreef Chandler het volgende:

    [..]

    Goed, maar hoe kan ik dit versnellen cq optimaliseren? D:
    Vantevoren een tabel vullen met een extra veld waarin je aangeeft op welke plek welke foto komt. Op dat veld kun je indexeren en in je query kun je dan WHERE ipv LIMIT gebruiken.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65102319
    Hmm.. ik ga eens wat research doen en idd er is helaas in dit geval geen andere optie dan limit (tenminste zo zie ik het hehe).

    Dus moet ik de pagina's gewoon maar gaan cachen!

    [ Bericht 49% gewijzigd door Chandler op 16-01-2009 11:26:14 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65109800
    Ik heb een lastig regex probleempje. Of misschien wel heel simpel, maar ik weet er nog niet zo veel van af.

    Ik heb een lap tekst in een variabele staan en daarin komst steeds het volgende stuk tekst in voor (maar dan steeds met andere data).

    1
    2
    3
    4
    5
    6
    7
    8
    <p class="info">
    <strong class="TitleOff">
    <a href="[b]url_die_ik_zoek[/b]">[b]Titel die ik zoek[/b]</a>
    </strong> 
    <strong class="datetime">
    <span style="font-size:10px;">Aired</span>
    <span style="font-size:10px;">[b]Datum die ik zoek[/b]</span>
    </strong>[b]Omschrijving die ik zoek[/b]</p>


    Hoe krijg ik nou met preg_match nou alle informatie eruit gevist? En dan ook nog zo dat de gevonden titels en omschrijvingen ook nog bij elkaar matchen?
    pi_65110723
    Wil je per se een regex gebruiken? Anders zou de DOM parsen weleens veel makkelijker kunnen zijn.
    pi_65110907
    Dat had ik eerst geprobeerd, maar daar snap ik nog een stuk minder van.

    Het lukt me wel om bijvoorbeeld alle links eruit te zoeken, maar hoe ik verder moet zou ik niet zo snel weten.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $dom = new DOMDocument();
    @$dom->loadHTML($result);
    $xpath = new DOMXPath($dom);

    // -- Alle links
    $hrefs = $xpath->evaluate("/html/body//ol//li//a");

    // -- Links doorlopen
    for ($i = 0; $i < $hrefs->length; $i++)
    {
       $href = $hrefs->item($i);
       $url = $href->getAttribute('href');
       echo $url."<br />";
    }
    pi_65111438
    Je zou eerst alle <p>'s met class "info" kunnen zoeken, en vervolgens daar doorheen loopen en binnen iedere gevonden <p> zoeken op link (href en titel), de tweede <span>, etc.
    pi_65111604
    Eehhh Zoals ik al zei weet ik nog maar weinig van XPath.
    Hoe moet ik dat precies doen?
    pi_65133632
    quote:
    Op vrijdag 16 januari 2009 15:25 schreef Roy_T het volgende:
    Je zou eerst alle <p>'s met class "info" kunnen zoeken, en vervolgens daar doorheen loopen en binnen iedere gevonden <p> zoeken op link (href en titel), de tweede <span>, etc.
    Zo moeilijk is Xpath niet hoor ;)

    1
    2
    3
    4
    $nodes = $xpath->query('//p[@class="info"]');
    foreach($nodes as $node) {
         $a = $node->getAttribute('href');
    }


    Hiermee kan je wel vooruit denk ik.
    pi_65134684
    quote:
    Op zaterdag 17 januari 2009 03:04 schreef Gloeidoos het volgende:

    [..]

    Zo moeilijk is Xpath niet hoor
    [ code verwijderd ]

    Hiermee kan je wel vooruit denk ik.
    Alleen werkt dit natuurlijk niet, omdat een <p> geen href attribuut heeft
    pi_65137705
    hey mensen, ik ben bezig met een pagina om je account te activeren. als je bent geregistreerd krijg je een mail met een link. (dat is nu nog gewoon op de site). De link ziet er uit als activate.php?activate=$activate&code=$code. Hier is $active het user_nr en $code de code die in de kolom active_code in de database is gezet. Alles werkt leuk en aardig, maar volgens mij doet hij het niet door de sql query. Hij veranderd namelijk ook niks in de database, maar hij komt wel door de check of $active > 0 en strlen($code) ==32. Iemand enig idee wat ik fout doe?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
       if (isset($_GET['activate'])) {
          $activate = (int) $_GET['activate'];
       } else {
          $activate = 0;
       }
       if (isset($_GET['code'])) {
          $code = $_GET['code'];
       } else {
          $code = 0;
       }

       if ( ($activate > 0) && (strlen($code) == 32)) {
          include('include/inc_connect.php');
          $query = "UPDATE users SET active_code = NULL WHERE user_nr = '".$active."' AND active_code = '".$code."' LIMIT 1 ;";  
          $result = mysql_query($query) or die(mysql_error());

          if (mysql_affected_rows() == 1) {
             echo "<b class=\"title\">Geactiveerd</b>";
             echo "<p>Je account is nu actief, je kan nu inloggen.</p>";
          } else {
             echo "<b class=\"title\">Activeren niet succesvol</b>";
             echo "<p>Je account kon niet geactiveerd worden. Kijk of de link klopt of neem contact op met onze <a href=\"mailto:xxxxxxxx\">Administrator</a></p>";
          mysql_close();
          }
       } else {
          echo "<b class=\"title\">Activatie link klopt niet!</b>";
          echo "<p>Probeer opnieuw</p>";
       }
    ?>
    pi_65140854
    quote:
    Op zaterdag 17 januari 2009 08:57 schreef Roy_T het volgende:

    [..]

    Alleen werkt dit natuurlijk niet, omdat een <p> geen href attribuut heeft
    Hehe het was al laat.
    pi_65163912
    quote:
    Op zaterdag 17 januari 2009 12:24 schreef mrpaplu het volgende:
    hey mensen, ik ben bezig met een pagina om je account te activeren. als je bent geregistreerd krijg je een mail met een link. (dat is nu nog gewoon op de site). De link ziet er uit als activate.php?activate=$activate&code=$code. Hier is $active het user_nr en $code de code die in de kolom active_code in de database is gezet. Alles werkt leuk en aardig, maar volgens mij doet hij het niet door de sql query. Hij veranderd namelijk ook niks in de database, maar hij komt wel door de check of $active > 0 en strlen($code) ==32. Iemand enig idee wat ik fout doe?
    [ code verwijderd ]
    Wat heb je gedaan om te debuggen? Toen je om te debuggen "$query = "UPDATE users SET active_code = NULL WHERE user_nr = '".$active."' AND active_code = '".$code."' LIMIT 1 ;";" eens gewoon echode, wat kreeg te toen te zien?

    Want volgens mij bestaat heel de variabele $active niet (en bedoel je $activate).
    pi_65170736
    quote:
    Op zaterdag 17 januari 2009 12:24 schreef mrpaplu het volgende:
    hey mensen, ik ben bezig met een pagina om je account te activeren. als je bent geregistreerd krijg je een mail met een link. (dat is nu nog gewoon op de site). De link ziet er uit als activate.php?activate=$activate&code=$code. Hier is $active het user_nr en $code de code die in de kolom active_code in de database is gezet. Alles werkt leuk en aardig, maar volgens mij doet hij het niet door de sql query. Hij veranderd namelijk ook niks in de database, maar hij komt wel door de check of $active > 0 en strlen($code) ==32. Iemand enig idee wat ik fout doe?
    [ code verwijderd ]
    Handig activeringssysteem. Code "'='' or ''='" (aanvullen met spaties tot 32 tekens) is altijd goed

    [ Bericht 1% gewijzigd door SuperRembo op 18-01-2009 16:38:23 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65173582
    http://cablegunmaster.nl

    Mijn resultaat van al de php opdrachten van school. :p
    moet alleen nog weten hoe ik de php kan laten weergeven voor documenten , in html
    waarom dit geen spam is , komt omdat hier aan mensen van dit forum hebben meegeholpen
    Dank aan glowmouse vnmlijk

    [ Bericht 36% gewijzigd door cablegunmaster op 18-01-2009 15:54:51 ]
    Redacted
      zondag 18 januari 2009 @ 16:03:08 #148
    75592 GlowMouse
    l'état, c'est moi
    pi_65174465
    quote:
    Op zondag 18 januari 2009 15:45 schreef cablegunmaster het volgende:
    moet alleen nog weten hoe ik de php kan laten weergeven voor documenten , in html
    <?php echo '<?php echo \'hoi!\'; ?>'; ?>
    Of iets met http://nl2.php.net/manual/en/function.highlight-file.php
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65174492
    quote:
    Op zondag 18 januari 2009 16:03 schreef GlowMouse het volgende:

    [..]

    <?php echo '<?php echo \'hoi!\'; ?>'; ?>
    that all
    Redacted
      zondag 18 januari 2009 @ 16:04:42 #150
    75592 GlowMouse
    l'état, c'est moi
    pi_65174539
    Zie edit, waarschijnlijk staat de code namelijk wel in een bestand ergens. De uitdaging is dan nog om te zorgen dat alleen van de juiste bestanden de code weergegeven wordt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      zondag 18 januari 2009 @ 16:08:13 #151
    85919 Likkende_Lassie
    Doe eens wat aan je ondertitel
    pi_65174773
    quote:
    Op zondag 18 januari 2009 14:34 schreef SuperRembo het volgende:

    [..]

    Handig activeringssysteem. Code "'='' or ''='" is altijd goed

    Hoe dan? (waar?)
      zondag 18 januari 2009 @ 16:09:58 #152
    75592 GlowMouse
    l'état, c'est moi
    pi_65174853
    quote:
    Op zondag 18 januari 2009 16:08 schreef Likkende_Lassie het volgende:

    [..]

    Hoe dan? (waar?)
    In die query als $activate leeg is.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65175137
    Die parameter code wordt ook nergens gevalideerd. Dit is heel gevaarlijk. Je kan de email validatie makkelijk omzeilen door wat met de URL te rommelen (bedenk wat er gebeurt als $code = '1\' or \'1', *alle* users worden dan klakkeloos gevalideerd), en je kan veel ergere dingen doen (databases/tabellen droppen, wachtwoorden veranderen, etc).
    pi_65176281
    quote:
    Op zondag 18 januari 2009 16:08 schreef Likkende_Lassie het volgende:

    [..]

    Hoe dan? (waar?)
    1
    2
    3
    4
    5
    $query = "UPDATE users 
       SET active_code = NULL 
       WHERE user_nr = '".$active."' 
          AND active_code = '".$code."' 
       LIMIT 1 ;";  


    wordt dan
    1
    2
    3
    4
    5
    $query = "UPDATE users 
       SET active_code = NULL 
       WHERE user_nr = '123' 
          AND active_code = '' OR '' = ''
       LIMIT 1 ;";  
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65200270
    Ik maak voor de verandering ook maar eens een vragende post.

    Ik heb een klein appje gebouwd in PHP waarin bestanden van ewen paar honderden MBs kunnen worden geupload. Uiteraard niet de bedoeling, HTTP is daar niet voor bedoeld, en dat programma gaat ook flink tegen mijn principes in. Maar goed, in opdracht van stijfkoppige opdrachtgevers toch maar moeten maken.

    Nu werkt dat programma`tje heel leuk en aardig, is ook goed getest geworden met flinke bestanden tot 1 GB wat allemaal goed uitpakte. Nou doet zich 'opeens' een vreemd verschijnsel voor. Willekeurig retourneert $_FILES['blabla']['error'] nummertje 7. Men neme php.net: http://nl3.php.net/manual/en/features.file-upload.errors.php
    quote:
    UPLOAD_ERR_CANT_WRITE

    Value: 7; Failed to write file to disk. Introduced in PHP 5.1.0.
    Dat is hem dus. Tijdens het testen heb ik inderdaad gemerkt dat wanneer je in php.ini de upload_tmp_dir instelling vult met een verkeerd pad, je die error code 7 krijgt. Deze hadden we op het eind van de testronde echter naar de correcte map gezet, dat vervolgens ook succesvol werkte.

    En nu dus opeens willekeurig krijg je error code 7. Wie weet wat er hier aan de hand is? Ik heb al gegoogled maar vind alleen maar hetgeen dat ik hierboven gequote heb. Ik weet dus, wat de error message ook daadwerkelijk aangeeft, dat er niet naar de tmp dir geschreven kan worden, maar het waarom vind ik nergens.
    pi_65200545
    Is de map niet gewoon vol?
    pi_65202500
    Nop, het betreft hier een NAS met meer dan 1 TB opslagcapaciteit en daar is nog genoeg van beschikbaar.
      maandag 19 januari 2009 @ 11:57:55 #159
    75592 GlowMouse
    l'état, c'est moi
    pi_65202642
    Bestand te groot voor het gebruikte filesystem? Foutmeldingen krijg je niet willekeurig, dus zoek het patroon maar
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65204481
    quote:
    Op maandag 19 januari 2009 11:57 schreef GlowMouse het volgende:
    Bestand te groot voor het gebruikte filesystem? Foutmeldingen krijg je niet willekeurig, dus zoek het patroon maar
    Daar lijkt het juist wel heel erg op. Aan de grootte ligt het niet, want de ene keer pakt 'ie wel 700 MB, en de andere keer weer niet.
    pi_65205315
    quote:
    Op maandag 19 januari 2009 12:56 schreef Tuvai.net het volgende:

    [..]

    Daar lijkt het juist wel heel erg op. Aan de grootte ligt het niet, want de ene keer pakt 'ie wel 700 MB, en de andere keer weer niet.
    Problemen met het netwerk, dat de NAS onbereikbaar is (wordt ?) tijdens het wegschrijven?
    pi_65206445
    quote:
    Op maandag 19 januari 2009 13:17 schreef HuHu het volgende:

    [..]

    Problemen met het netwerk, dat de NAS onbereikbaar is (wordt ?) tijdens het wegschrijven?
    Dacht ik ook al aan, maar het gebeurt ook over een intern netwerk waar de verbinding constant en ononderbroken is.
    pi_65206492
    quote:
    Op maandag 19 januari 2009 13:45 schreef Tuvai.net het volgende:

    [..]

    Dacht ik ook al aan, maar het gebeurt ook over een intern netwerk waar de verbinding constant en ononderbroken is.
    Dat dacht ik ook over het interne netwerk op m'n werk, tot het moment dat het niet zo bleek te zijn .
    pi_65206872
    quote:
    Op maandag 19 januari 2009 13:47 schreef HuHu het volgende:

    [..]

    Dat dacht ik ook over het interne netwerk op m'n werk, tot het moment dat het niet zo bleek te zijn .
    Maar dat is in dit geval dus wel zo, dat hebben we zelfs nog met een tooltje geverifieerd.
      maandag 19 januari 2009 @ 13:58:04 #165
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_65206914
    Misschien een firewall die het niet toestaat dat ut lang open staat?
    pi_65213158
    Check de max_execution_time eens van php... misschien krijg je die melding ook als ie de upload stopt omdat deze tijd is verstreken?
    pi_65216361
    ik heb een vraag stel ik wil 100 posts op een gastenboek max hebben

    limit 0-10
    en dan wil ik de volgende 10 weer in een andere pagina etc.
    kan dit met een makkelijker scriptje?
    dan elke keer weer na 10 posts een nieuwe pagina te maken?
    Redacted
      maandag 19 januari 2009 @ 18:07:11 #168
    75592 GlowMouse
    l'état, c'est moi
    pi_65216435
    Zet de huidige pagina in een GET-variabele.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65216809
    quote:
    Op maandag 19 januari 2009 18:07 schreef GlowMouse het volgende:
    Zet de huidige pagina in een GET-variabele.
    ik zat te denken limit X en limit Y
    en dan +10 limit X en +10 limit Y
    alleen ik kon de hrefs niet verzinnen.

    dan krijg ik nog een switch met een get?
    boven op mijn switch en get

    dus simpelgezegd een nieuwe map ervoor gebruiken

    [ Bericht 10% gewijzigd door cablegunmaster op 19-01-2009 18:23:31 ]
    Redacted
    pi_65217128
    quote:
    Op maandag 19 januari 2009 16:33 schreef Farenji het volgende:
    Check de max_execution_time eens van php... misschien krijg je die melding ook als ie de upload stopt omdat deze tijd is verstreken?
    Deze staat ook al erg hoog. Was sowieso noodzakelijk omdat het hier vrij grote file uploads betreft.
    pi_65217450
    quote:
    Op maandag 19 januari 2009 18:27 schreef Tuvai.net het volgende:

    [..]

    Deze staat ook al erg hoog. Was sowieso noodzakelijk omdat het hier vrij grote file uploads betreft.
    Voor grote upload kun je beter geen PHP gebruiken, maar iets als über uploader.
    pi_65217573
    quote:
    Op maandag 19 januari 2009 18:27 schreef Tuvai.net het volgende:

    [..]

    Deze staat ook al erg hoog. Was sowieso noodzakelijk omdat het hier vrij grote file uploads betreft.
    Gewoon op oneindig zetten.
    1
    2
    3
    <?php
    set_time_limit
    (0);
    ?>
    pi_65217650
    quote:
    Op maandag 19 januari 2009 18:36 schreef HuHu het volgende:

    [..]

    Voor grote upload kun je beter geen PHP gebruiken, maar iets als über uploader.
    Er zijn oplossingen die beter geschikt zijn voor uploads dan php, da's waar. Maar soms heb je weinig keuze.
    pi_65217682
    quote:
    Op maandag 19 januari 2009 18:42 schreef Light het volgende:

    [..]

    Er zijn oplossingen die beter geschikt zijn voor uploads dan php, da's waar. Maar soms heb je weinig keuze.
    Dat klopt ja, als je vast zit aan een bepaald platform dan moet je wel. Maar als de keuze bestaat, dan zou je het kunnen overwegen. überuploader gaat via CGI en perl enzo (weet het niet precies) en dat ondersteunen veel hosts vaak wel.
    pi_65217758
    quote:
    Op maandag 19 januari 2009 18:40 schreef Light het volgende:

    [..]

    Gewoon op oneindig zetten.
    [ code verwijderd ]
    Die instelling heeft toch geen invloed op file uploads?
    quote:
    Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.
    Zie het onderstreepte gedeelte, volgens mij houdt dat in dat uploads niet meetellen voor de execution time. Wel staat er nog dit:
    quote:
    Your web server can have other timeout configurations that may also interrupt PHP execution. Apache has a Timeout directive and IIS has a CGI timeout function. Both default to 300 seconds. See your web server documentation for specific details.
    Bron: php.net
    pi_65218410
    Ik baal ook behoorlijk van dit projectje. Ik heb immers vanaf het begin gezegd dat grote file uploads via HTTP een slecht idee is (is het gewoon niet voor bedoeld, daar heb je immers FTP voor), vanwege het 2GB bestandslimit, de fragiliteit van het uploaden via HTTP (één storing in he verbinding en je bent terug bij af), de slechte mogelijkheden van het geven van feedback naar de gebruiker toe (voortgang e.d., daar heb je enkel een hoop omslachtige PHP extensies voor die ook verre van heilig zijn). Maar goed, een stijfkoppige opdrachtgever wou toch per sé het hele gebeuren webbased en via HTTP en komt nu toch pijnlijk er achter dat dat achteraf niet zo'n goed idee was.

    Maar goed, daar kunnen we toch niks meer aan doen, maar dit probleem dat zich nu voordoet is wel heel erg vreemd, en erg willekeurig. Misschien ook wel handig om te vermelden dat de betreffende NAS een of ander gaar QNAP prul is waar je op allerlei gebieden mee beperkt wordt (zéér minieme en uitgeklede Linux distributie). Ook tijdens de installatie van het programma ontzettend veel problemen mee gehad.
      maandag 19 januari 2009 @ 19:24:14 #177
    75592 GlowMouse
    l'état, c'est moi
    pi_65219074
    quote:
    Op maandag 19 januari 2009 18:18 schreef cablegunmaster het volgende:

    [..]

    ik zat te denken limit X en limit Y
    en dan +10 limit X en +10 limit Y
    alleen ik kon de hrefs niet verzinnen.

    dan krijg ik nog een switch met een get?
    boven op mijn switch en get

    dus simpelgezegd een nieuwe map ervoor gebruiken
    gastenboek.php?page=x.

    Daarna in je gastenboek.php:
    1
    2
    3
    4
    5
    6
    <?php
    $page 
    = (int)$_GET['page'];
    $page min(0$page);
    $page max($page$numpages);
    $query 'SELECT adsf FROM ghjkl ORDER BY qwerty LIMIT ' 10*$page ',10';
    ?>


    Voor dat uploadprobleem zou ik in de php-broncode duiken.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65235434
    quote:
    Op maandag 19 januari 2009 18:45 schreef HuHu het volgende:

    [..]

    Die instelling heeft toch geen invloed op file uploads?
    [..]

    Zie het onderstreepte gedeelte, volgens mij houdt dat in dat uploads niet meetellen voor de execution time. Wel staat er nog dit:
    [..]

    Bron: php.net
    Je hebt gelijk. Gelukkig is er ook nog de instelling max_input_time.
    pi_65237829
    quote:
    Op maandag 19 januari 2009 19:24 schreef GlowMouse het volgende:

    1
    2
    3
    $page = (int)$_GET['page'];
    $page = min(0, $page);
    $page = max($page, $numpages);
    Aangenomen dat $numpages groter is dan 0, resulteert dit altijd in $page = $numpages :P
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      dinsdag 20 januari 2009 @ 11:45:00 #180
    75592 GlowMouse
    l'état, c'est moi
    pi_65238912
    quote:
    Op dinsdag 20 januari 2009 11:07 schreef SuperRembo het volgende:

    [..]

    Aangenomen dat $numpages groter is dan 0, resulteert dit altijd in $page = $numpages
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65255175
    Ik heb maar een script gepakt van internet.
    aangepast en in mijn gastenboek geplempt
    elke 10 berichtjes maakt hij een nieuwe pagina aan ( query variabele).
    Redacted
    pi_65308717
    beste mensen,

    voor een opdracht moet ik een database maken (met sql) (op laag niveau) en daarin moet ik tabellen maken. De tabellen heb ik gemaakt met het create-statement. Het gaat over een tabel over smaakafwijkingen (zoet, zuur, bitter enz.). Hoe kan ik verwerken bij het schrijven van een tabel dat men alleen deze waardes kan invullen en geen andere? Moet dit meteen bij de create-statements of kan je dit later ook toevoegen als je de waardes in gaat vullen en dat je dan zegt dat ze alleen die smaken in kunnen voeren.

    Hopelijk is het een beetje duidelijk en alvast bedankt voor de reacties.

    [ Bericht 6% gewijzigd door TheRoach op 22-01-2009 10:14:00 ]
    pi_65308885
    Als de smaken van te voren vast staan kun je een ENUM gebruiken.
    pi_65309214
    quote:
    Op donderdag 22 januari 2009 10:12 schreef HuHu het volgende:
    Als de smaken van te voren vast staan kun je een ENUM gebruiken.
    Ok thnx. Klopt het dat het dan op deze manier moet:

    1
    2
    3
    4
    5
    Create table kwantitatief
                         (WBFnummer number (8) not null,
       Geuraanduiding enum ("zoet", "zuur", "bitter" enz. not null,
                          ......
       PRIMARY KEY(WBFnummer));


    En als mensen een cijfer moeten geven kan je dan ook gewoon [ kleur enum (1, 2, 3, ... , 10) not null,]
    doen?
      donderdag 22 januari 2009 @ 10:28:57 #185
    75592 GlowMouse
    l'état, c'est moi
    pi_65309322
    Nee, dat kan niet. Lees http://dev.mysql.com/doc/refman/5.0/en/enum.html door (alles is wel interessant om te lezen daar).

    Maar voor getallen zijn er weer andere datatypen beschikbaar
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65309327
    Nadeel van een enum is dat je je database moet aanpassen als er een smaak bijkomt
    Hoewel die kans in dit geval waarschijnlijk 0 is
    pi_65309507
    Ja er komt geen smaak bij , dus dan is het wel makkelijk...
    pi_65309768
    quote:
    Op donderdag 22 januari 2009 10:28 schreef GlowMouse het volgende:
    Nee, dat kan niet. Lees http://dev.mysql.com/doc/refman/5.0/en/enum.html door (alles is wel interessant om te lezen daar).

    Maar voor getallen zijn er weer andere datatypen beschikbaar
    Iets dergelijks klopt dus niet? Wat moet er veranderd worden?:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Create table kwantitatief
       (WBFnummer number (8) not null,
       Geuraanduiding ENUM (“vol” , “wijnachtig” , “complex” , “fris” , “fruitig” , “bloemig” , “kruidig” , “honingachtig” , “houtachtig” , “aards”)not null,
       Geurafwijking ENUM (“aceton” , “muf” , “muis” , “geranium” , “oxidatie” , “sulfiet” , “azijn” , “rotte_eieren” , “gist” , “medicijn”)not null,
       Smaakafwijking ENUM (“body” , “zoet” , “zuur” , “zout” , “bitter” , “mineralen” , “groenten” , “meststof” ) not null,
       Smaakgebrek ENUM (“oxidatie” , “azijnzuur” , “muf” , “medicijnachtig” , “gistsmaak” , “muis” , “rotte_eieren” )not null,
       Balansafwijking ENUM (“zoet” , “zuur” , “zout” , “bitter” , “jannine” , “body” , “alcohol” , “mousse” ) not null,
       Afdronkafwijking ENUM (“bitter” , “muf” , “zuur” )not null,
       Opmerkingen varchar (50),
       PRIMARY KEY(WBFnummer)
       );


    [ Bericht 39% gewijzigd door TheRoach op 22-01-2009 11:21:04 ]
      donderdag 22 januari 2009 @ 11:21:21 #189
    181657 LordNemephis
    computer says no
    pi_65310918
    Hoi mensen,

    ik wil graag tellen hoeveel regels er in een text-area zitten. Dit heb ik tot nu toe
    1
    2
    $regels = count(explode("\n",$_POST['$fObjText']));
    echo $regels;


    Maar de waarde van uitkomst is altijd 1

    Iemand een idee hoe dit wel werkend te krijgen?
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
      donderdag 22 januari 2009 @ 11:24:02 #190
    75592 GlowMouse
    l'état, c'est moi
    pi_65311019
    quote:
    Op donderdag 22 januari 2009 10:44 schreef TheRoach het volgende:

    [..]

    Iets dergelijks klopt dus niet? Wat moet er veranderd worden?:
    [ code verwijderd ]
    Met cijfers gaat het fout zoals je kunt lezen. Maar van het getallenidee ben je opeens afgestapt?
    quote:
    Op donderdag 22 januari 2009 11:21 schreef LordNemephis het volgende:
    Hoi mensen,

    ik wil graag tellen hoeveel regels er in een text-area zitten. Dit heb ik tot nu toe
    [ code verwijderd ]

    Maar de waarde van uitkomst is altijd 1

    Iemand een idee hoe dit wel werkend te krijgen?
    Gokje: $_POST['$fObjTest'] is niet ingesteld. Gaat dat wel goed het dat dollarteken?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65311075
    quote:
    Op donderdag 22 januari 2009 11:24 schreef GlowMouse het volgende:

    [..]

    Met cijfers gaat het fout zoals je kunt lezen. Maar van het getallenidee ben je opeens afgestapt?
    [..]

    Ik heb 1 tabel met getallen (kwalitatief) en 1 tabel met letters (kwantitatief), deze laatste tabel heb ik hierboven laten zien. Maar kan dit zo of niet?
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 11:38:16 #192
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65311490
    quote:
    Op donderdag 22 januari 2009 11:21 schreef LordNemephis het volgende:
    Hoi mensen,

    ik wil graag tellen hoeveel regels er in een text-area zitten. Dit heb ik tot nu toe
    [ code verwijderd ]

    Maar de waarde van uitkomst is altijd 1

    Iemand een idee hoe dit wel werkend te krijgen?
    Op de eerste plaats waarom wil je dit? en \n is niet op elk OS gelijk. Je kan beter PHP_EOL pakken
      donderdag 22 januari 2009 @ 11:48:52 #193
    75592 GlowMouse
    l'état, c'est moi
    pi_65311878
    quote:
    Op donderdag 22 januari 2009 11:25 schreef TheRoach het volgende:

    [..]

    Ik heb 1 tabel met getallen (kwalitatief) en 1 tabel met letters (kwantitatief), deze laatste tabel heb ik hierboven laten zien. Maar kan dit zo of niet?
    Wat je liet zien wel, met cijfers moet je opletten, zie de eerder geplaatste link.
    quote:
    Op donderdag 22 januari 2009 11:38 schreef Swetsenegger het volgende:

    [..]

    en \n is niet op elk OS gelijk. Je kan beter PHP_EOL pakken
    Het gaat om user-invoer, dus je end-of-line hangt van de gebruiker af en niet van de server. Ik weet niet wat de browser doorstuurt trouwens, dat zou best voor alle OS's hetzelfde kunnen zijn.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 11:59:31 #194
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65312282
    quote:
    Op donderdag 22 januari 2009 11:48 schreef GlowMouse het volgende:

    [..]

    Wat je liet zien wel, met cijfers moet je opletten, zie de eerder geplaatste link.
    [..]

    Het gaat om user-invoer, dus je end-of-line hangt van de gebruiker af en niet van de server. Ik weet niet wat de browser doorstuurt trouwens, dat zou best voor alle OS's hetzelfde kunnen zijn.
    Hmz, nee volgens mij niet hoor. in de POST vars staat volgens mij het eol teken van je OS
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 12:00:10 #195
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65312308
    Maar goed je kan er natuurlijk ook eerst een nl2br overheen halen en dan exploden op <br />
      donderdag 22 januari 2009 @ 12:02:17 #196
    75592 GlowMouse
    l'état, c'est moi
    pi_65312397
    quote:
    Op donderdag 22 januari 2009 11:59 schreef Swetsenegger het volgende:

    [..]

    Hmz, nee volgens mij niet hoor. in de POST vars staat volgens mij het eol teken van je OS
    http://www.sitepoint.com/(...)dings-in-javascript/
    Je kunt niks vertrouwen blijkbaar.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65313103
    Het file upload error nummer 7 probleem is opgelost. De fout zat 'm in het feit dat een van de 5 HDs van de NAS naar de knoppen was (RAID array). Schijfje vervangen en het schijnt weer te werken.
    pi_65319609
    quote:
    Op donderdag 22 januari 2009 12:02 schreef GlowMouse het volgende:

    [..]

    http://www.sitepoint.com/(...)dings-in-javascript/
    Je kunt niks vertrouwen blijkbaar.
    Volgens mij kun je er prima op vertrouwen dat IE doet waar het zelf zin in heeft
    pi_65322648
    Jeuj mijn eerste post in deze reeks..
    Nouja, ik ben opzoek naar een domein check script, er is genoeg te vinden dat is het probleem niet.
    Helaas zijn alle scripts super langzaam.
    Ik heb tientallen scripts geprobeerd, deze bijvoorbeeld, erg mooi script maar lang niet zo snel als die van een hostingbedrijf zoals bijvoorbeeld deze.
    Iemand enig idee waar het hem in zit?
    "Op Fok! val je pas op als je normaal bent." -mazaru
      donderdag 22 januari 2009 @ 17:04:14 #200
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_65322799
    Ik zal waarschijnlijk hier niet goed zitten, maar misschien dat jullie me wel kunnen helpen waar en hoe ik het volgende kan bewerkstelligen.

    Waar ik namelijk op zoek naar ben is een manier om de gebruikers te informeren. Echter is de bedoeling dat dit redelijk real-time gebeurd. In ons systeem komt het namelijk wel eens voor dat een pagina tot 30 minuten open staat. Men is dan in de tussentijd papieren aan het uitzoeken welke data ingevuld moet worden etc.
    Nu wil ik dus, dat ook al is er geen activiteit, dat het systeem ook bij deze gebruikers een bericht op het scherm kan plaatsen.

    Iemand een idee hoe ik dit doe en waar ik dit het beste kan zoeken?
    pi_65324650
    Ben mijn website aan het aanpassen, maar kom er even niet uit...

    Ik wil graag een hyperlink toevoegen aan een plaatje die in een <div> zit.
    hier onder het stukje code waar het om gaat...

    1
    2
    3
    4
    5
    6
    7
    else if($page == 'index.php')

             {
                
                echo "<div id='imageLeft6'></div>";

             }

    Heb <a href=""> op meerdere plekken geprobeerd, maar het lukt allemaal niet...

    thnx..
    pi_65325945
    quote:
    Op donderdag 22 januari 2009 17:04 schreef ursel het volgende:
    Ik zal waarschijnlijk hier niet goed zitten, maar misschien dat jullie me wel kunnen helpen waar en hoe ik het volgende kan bewerkstelligen.

    Waar ik namelijk op zoek naar ben is een manier om de gebruikers te informeren. Echter is de bedoeling dat dit redelijk real-time gebeurd. In ons systeem komt het namelijk wel eens voor dat een pagina tot 30 minuten open staat. Men is dan in de tussentijd papieren aan het uitzoeken welke data ingevuld moet worden etc.
    Nu wil ik dus, dat ook al is er geen activiteit, dat het systeem ook bij deze gebruikers een bericht op het scherm kan plaatsen.

    Iemand een idee hoe ik dit doe en waar ik dit het beste kan zoeken?
    Hmm lijkt me zo te zien wel iets om in ajax te maken
    "Op Fok! val je pas op als je normaal bent." -mazaru
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 18:42:56 #203
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65326111
    1
    2
    3
    4
    5
    6
    7
    else if($page == 'index.php')

             {
                
                echo "<div id='imageLeft6'><a href=\"linkje\"><img src=\"path/naar/plaatje\" /></div>";

             }
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 18:44:16 #204
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65326160
    quote:
    Op donderdag 22 januari 2009 18:37 schreef Flepke het volgende:

    [..]

    Hmm lijkt me zo te zien wel iets om in ajax te maken
    Wat is er mis met gewoon simpele clientside scripting?
      donderdag 22 januari 2009 @ 18:46:48 #205
    181657 LordNemephis
    computer says no
    pi_65326217
    quote:
    Op donderdag 22 januari 2009 17:58 schreef Eastman het volgende:
    Ben mijn website aan het aanpassen, maar kom er even niet uit...

    Ik wil graag een hyperlink toevoegen aan een plaatje die in een <div> zit.
    hier onder het stukje code waar het om gaat...
    [ code verwijderd ]

    Heb <a href=""> op meerdere plekken geprobeerd, maar het lukt allemaal niet...

    thnx..
    In je CSS bestand:
    1
    2
    3
    4
    5
    6
    7
    8
    #logo_4ro {
      background:url(../img/4ro.gif) no-repeat left;
      width: 120px;
      height: 39px;
      position: relative; 
      float: left; 
      margin-left: 32px;
    }


    in je header:
    1<script type="text/javascript" src="js/target_blank.js"></script>


    in je JS bestand:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // JavaScript Document
    function externalLinks() {
    if (!document.getElementsByTagName) return;
    var anchors = document.getElementsByTagName("a");
    for (var i=0; i<anchors.length; i++) {
    var anchor = anchors[i];
    if (anchor.getAttribute("href") &&
    anchor.getAttribute("rel") == "external")
    anchor.target = "_blank";
    }
    }
    window.onload = externalLinks; 


    en in je body:
    1<a id="logo_4ro" accesskey="0" href="http://www.4ro.nl" rel="external"></a>


    en terugkomend op mijn vraag:
    quote:
    Op donderdag 22 januari 2009 12:00 schreef Swetsenegger het volgende:
    Maar goed je kan er natuurlijk ook eerst een nl2br overheen halen en dan exploden op <br />
    Ik heb het uiteindelijk na een en ander proberen anders opgelost want het bleek dat regels tellen toch niet de oplossing was. Kan wel gaan uitleggen hoe en wat maar dat wordt een lang verhaal en ik wil zo eerst ontbijten

    Het is irritant als je nog niet genoeg kennis hebt om alles 123 op te lossen - wel leerzaam, maar ook tijdvretend om nieuwe dingen uit te vinden.

    [ Bericht 4% gewijzigd door LordNemephis op 22-01-2009 18:48:12 (typootje) ]
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
    pi_65327254
    quote:
    Op donderdag 22 januari 2009 18:42 schreef Swetsenegger het volgende:

    [ code verwijderd ]
    En nog "</a>" na het plaatje. (Hoewel het zonder ook wel zal "werken")
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65327379
    quote:
    Op donderdag 22 januari 2009 18:42 schreef Swetsenegger het volgende:

    [ code verwijderd ]


    Thanks, ik heb geprobeerd, maar het lukt niet echt...

    afbeelding is dan helemaal weg..
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 19:21:27 #208
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65327418
    quote:
    Op donderdag 22 januari 2009 19:19 schreef Eastman het volgende:

    [..]

    Thanks, ik heb geprobeerd, maar het lukt niet echt...

    afbeelding is dan helemaal weg..
    Zie de opmerking van SuperRembo boven je. En post je relevante code eens.
    pi_65327463
    quote:
    Op donderdag 22 januari 2009 18:44 schreef Swetsenegger het volgende:

    [..]

    Wat is er mis met gewoon simpele clientside scripting?
    Ajax *is* gewoon "simpele clientside scripting", maar los daarvan:

    Zonder gebruik van asynchrone technieken moet je dan periodiek de hele pagina refreshen (het web is immers een pull technologie, geen push technologie) of je moet gebruik moet maken van ranzige truukjes als iframes (die je ook periodiek moet refreshen), en dan is het veel beter om gewoon gebruik te maken van ajax want dat is exact voor dat doel ontworpen.
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 19:25:58 #210
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65327525
    quote:
    Op donderdag 22 januari 2009 19:23 schreef Farenji het volgende:

    [..]

    Ajax *is* gewoon "simpele clientside scripting", maar los daarvan:
    Bij ajax ga je verbinding leggen met de server, dus gaat een stapje verder.
    quote:
    Zonder gebruik van asynchrone technieken moet je dan periodiek de hele pagina refreshen (het web is immers een pull technologie, geen push technologie) of je moet gebruik moet maken van ranzige truukjes als iframes (die je ook periodiek moet refreshen)
    Waarom Controleer gewoon op input events.
    quote:
    , en dan is het veel beter om gewoon gebruik te maken van ajax want dat is exact voor dat doel ontworpen.
    Ik zie helemaal niet in waarom je de server erbij zou moeten betrekken om te controleren of de client wat doet.
    pi_65327578
    [post verwijderd]

    [ Bericht 50% gewijzigd door Eastman op 23-01-2009 14:43:24 ]
    pi_65327603
    quote:
    Op donderdag 22 januari 2009 19:25 schreef Swetsenegger het volgende:

    [..]

    Bij ajax ga je verbinding leggen met de server, dus gaat een stapje verder.
    [..]

    Waarom Controleer gewoon op input events.
    [..]

    Ik zie helemaal niet in waarom je de server erbij zou moeten betrekken om te controleren of de client wat doet.
    Het gaat ursel er om dat (als ik hem goed begrijp) *vanuit de webserver* een bericht *naar de gebruiker* verstuurd kan worden, *ook als die gebruiker geen activiteit vertoont*.

    Jij mag me uitleggen hoe je dat zonder ajax en zonder herladende iframes voor elkaar gaat krijgen.
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 19:30:55 #213
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65327638
    quote:
    Op donderdag 22 januari 2009 19:29 schreef Farenji het volgende:

    [..]

    Het gaat ursel er om dat (als ik hem goed begrijp) *vanuit de webserver* een bericht *naar de gebruiker* verstuurd kan worden, *ook als die gebruiker geen activiteit vertoont*.

    Jij mag me uitleggen hoe je dat zonder ajax en zonder herladende iframes voor elkaar gaat krijgen.
    Dat gaat inderdaad niet, maar ik begrijp dat hij gebruikers gewoon wil waarschuwen bij te lange inactiviteit. En dat gaat prima zonder ajax.
    pi_65327726
    quote:
    Op donderdag 22 januari 2009 19:30 schreef Swetsenegger het volgende:

    [..]

    Dat gaat inderdaad niet, maar ik begrijp dat hij gebruikers gewoon wil waarschuwen bij te lange inactiviteit. En dat gaat prima zonder ajax.
    Dat zijn 2 verschillende dingen.
    Dus mag ursel even duidelijkheid geven over wat ie precies bedoelt, maar hoe dan ook, dat kan ie beter hier doen: [Javascript] voor dummies (deel 8)
    pi_65328112
    quote:
    Op donderdag 22 januari 2009 19:29 schreef Farenji het volgende:

    Het gaat ursel er om dat (als ik hem goed begrijp) *vanuit de webserver* een bericht *naar de gebruiker* verstuurd kan worden, *ook als die gebruiker geen activiteit vertoont*.

    Jij mag me uitleggen hoe je dat zonder ajax en zonder herladende iframes voor elkaar gaat krijgen.
    Comet (aka "reverse ajax")
      donderdag 22 januari 2009 @ 19:58:52 #216
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_65328341
    quote:
    Op donderdag 22 januari 2009 19:29 schreef Farenji het volgende:

    [..]

    Het gaat ursel er om dat (als ik hem goed begrijp) *vanuit de webserver* een bericht *naar de gebruiker* verstuurd kan worden, *ook als die gebruiker geen activiteit vertoont*.

    Jij mag me uitleggen hoe je dat zonder ajax en zonder herladende iframes voor elkaar gaat krijgen.
    Dit inderdaad. In dit geval moesten we met spoed voor onderhoud de applicatie tijdelijk uitschakelen. Echter zijn niet al onze gebruikers in het pand zelf aanwezig en kunnen dit ook gewoon bedrijven zijn welke ingelogged zijn. Om ervoor te zorgen dat ze niet al hun reeds al ingevulde, maar dus nog niet opgeslagen informatie kwijt raken zat ik er aan te denken om iets te bouwen dat ik een bericht op zijn scherm laat zien waarbij ik hem waarschuw dat het systeem er even uit moet.

    Maarja, verwachtte idd dat het wel iets van Ajax zou gaan worden ja. Ff maar in verdiepen dan

    [ Bericht 8% gewijzigd door ursel op 22-01-2009 20:08:20 ]
    pi_65328560
    quote:
    Op donderdag 22 januari 2009 19:48 schreef Roy_T het volgende:

    [..]

    Comet (aka "reverse ajax")
    Jaja.
    quote:
    Specific techniques for accomplishing streaming Comet include the following.

    Hidden IFrame
    [..]

    XMLHttpRequest
    [..]
    Dussss.... oude wijn in nieuwe zakken.
    pi_65328683
    Er schijnt een één of ander Java ding te zijn dat een request kan ontvangen, in de wachtrij zetten en pas op het moment dat het nodig is een response stuurt. Werkt voor duizenden requests die op die manier kunnen blijven "hangen" zonder dat het problemen geeft op je server.

    Dan maakt je AJAX applicatie bij het laden een connectie, de server slaat die op en als het nodig is (na 10 minuten ofzo) stuurt 'ie data terug. Ik weet alleen even de naam niet .
    pi_65328709
    quote:
    Op donderdag 22 januari 2009 20:08 schreef Farenji het volgende:

    Jaja.
    Wat "Jaja"? Comet is een prima manier om een HTTP-connectie open te houden en data naar de client te sturen, zonder dat deze hoeft te pollen. Niet meer zeggen dus dat je altijd moet pollen (AJAX, pagina's in iframes refreshen, whatever).
      FOK!-Schrikkelbaas donderdag 22 januari 2009 @ 20:17:46 #220
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65328755
    quote:
    Op donderdag 22 januari 2009 20:15 schreef Roy_T het volgende:

    [..]

    Wat "Jaja"? Comet is een prima manier om een HTTP-connectie open te houden en data naar de client te sturen, zonder dat deze hoeft te pollen. Niet meer zeggen dus dat je altijd moet pollen (AJAX, pagina's in iframes refreshen, whatever).
    van je eigen bron
    quote:
    Comet applications typically use Ajax with long polling to detect new information on the server.
    pi_65329507
    Ik weet al weer wat ik bedoelde: Continuations middels Jetty. Daarmee zou je zoiets kunnen doen.
      donderdag 22 januari 2009 @ 20:54:09 #222
    63192 ursel
    "Het Is Hier Fantastisch!
    pi_65329677
    ahh.. mooi en genoeg leesvoer voor morgen..
    Bedankt allemaal..
    pi_65335849
    Ik moet een ranglijst maken voor een spel met 3 spelers. In totaal zijn er 111 spelers en ieder speelt 24 wedstrijden. Ik heb de volgende tabellen:

    Tabel1:
    Id | Naam | Punten1 | ... | Punten24 | Totaal

    Met punten1 de behaalde punten in wedstrijd 1 en totaal het totaal aantal punten.

    Tabel2:
    Id | Naam | Tegenstanders

    Tegenstanders is van het type string en gescheiden met komma's.

    Nu moet ik de volgende output hebben:

    Positie | Naam | Punten1 | ... | Punten24 | Totaal | Weerstand
    1. | John | ... | .....
    2. etcetera

    met Weerstand de som van de punten van alle tegenstanders van (in dit geval John). John heeft 48 tegenstanders gehad en van deze 48 personen moeten de totaalscores bij elkaar opgeteld worden en bij Weerstand van John komen te staan.
    En zo ook voor de overige 110 spelers.

    Het enige lastige hierbij is dus hoe ik de weerstandspunten van elke speler ga bepalen. Hier heb ik een query voor nodig, maar ik heb geen idee hoe ik die moet maken.
      vrijdag 23 januari 2009 @ 00:12:50 #224
    75592 GlowMouse
    l'état, c'est moi
    pi_65335883
    Het begint met een goede opzet. 24 kolommen om punten weer te geven is geen goede opzet. Strings scheiden met komma's is ook not-done in een database, niet hier althans.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65337147
    Ik heb volgens mij net een oplossing gevonden. De code (zonder alle 24 wedstrijden)

    1
    2
    3
    4
    5
    6
    7
    SELECT t.naam, t.totaal, SUM(s.totaal) AS weerstand
    FROM `tabel1` AS t, `tabel1` AS s
    WHERE FIND_IN_SET(s.naam,
      (SELECT tegenstanders from `tabel2` where naam=t.naam)
    )>0
    GROUP BY t.naam
    ORDER BY t.totaal DESC, weerstand DESC


    [ Bericht 19% gewijzigd door mrbombastic op 23-01-2009 12:19:40 ]
    pi_65346118
    Zou je die wedstrijden niet liever in een tabel "wedstrijden" zetten, met hierin dus voor iedere user 24 rows (eentje per wedstrijd)? En een tabel "tegenstanders" met hierin dus voor iedere user een row per tegenstander?

    PS: Het is niet echt een vraag
    pi_65382825
    mail() en headers

    Hoi,

    ik ondervind problemen met de ingebouwde mail() functie van PHP.
    Als ik mijn nieuwsbirfe verstuur komt het HTML-mailtje lang niet overal correct aan. Wel HTML, geen HTML, alleen maar de gecodeerde tekst.

    Het zal naar ik vermoed te maken hebben met de headers van het emailtje.
    Nu ben ik naarstig op zoek naar een oplossing.
    - een tutorial waarin de mailheaders tot in details worden besproken.
    - een geschikte mailclass (phpmailer en swiftmailer bijvoorbeeld)
    - whatever

    Ik wil meer te weten komen over de oorzaken en oplossing. Met name details van de diverse headers. Wat ik ook zoek, ik kom niet veel verder dan de standaard opties (afzender, attachement, cc, bcc, returnadress etc.)

    Iemand een link met meer info over hoe email echt cporrect te versturen?
    pi_65383003
    Ik zoek tutorials over design patterns... Weet iemand een paar goeie?
      FOK!-Schrikkelbaas zondag 25 januari 2009 @ 13:46:32 #229
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65383130
    quote:
    Op zondag 25 januari 2009 13:37 schreef beerten het volgende:
    mail() en headers

    Hoi,

    ik ondervind problemen met de ingebouwde mail() functie van PHP.
    Als ik mijn nieuwsbirfe verstuur komt het HTML-mailtje lang niet overal correct aan. Wel HTML, geen HTML, alleen maar de gecodeerde tekst.

    Het zal naar ik vermoed te maken hebben met de headers van het emailtje.
    Nu ben ik naarstig op zoek naar een oplossing.
    - een tutorial waarin de mailheaders tot in details worden besproken.
    - een geschikte mailclass (phpmailer en swiftmailer bijvoorbeeld)
    - whatever

    Ik wil meer te weten komen over de oorzaken en oplossing. Met name details van de diverse headers. Wat ik ook zoek, ik kom niet veel verder dan de standaard opties (afzender, attachement, cc, bcc, returnadress etc.)

    Iemand een link met meer info over hoe email echt cporrect te versturen?
    Houdt er ook rekening mee dat volgens een bepaalde rfc mails maar een bepaalde lengte mogen zijn zonder linebreak. In html mails zet ik dus gewoon achter elke regel een <br /> Dat heeft bij mij problemen met onder andere planet ontvangers afgevangen.

    Ah, gevonden: http://www.phpfreakz.nl/forum.php?forum=1&iid=776898
    pi_65387073
    quote:
    Op zondag 25 januari 2009 13:42 schreef Qunix het volgende:
    Ik zoek tutorials over design patterns... Weet iemand een paar goeie?
    Dat is een best breed begrip, welke / wat voor patterns? Creationele? Structurele? Er zijn er veel.
    Met google en in wikipedia vind je veel info maar goed toepassen van design patterns is imho niet iets dat je "even" uit een tutorial leert. Het gaat erom dat je weet welke bekende patterns er allemaal al zijn, en vooral: hoe richt je je applicatie zo goed mogelijk in, zodat je zo handig mogelijk van de patterns gebruik maakt (en ook: wanneer moet je een pattern niet gebruiken).

    Als je er echt meer over wil weten dan is het misschien het beste om er het standaardwerk over te kopen: http://www.amazon.com/Des(...)sional/dp/0201633612

    Mocht je gewoon willen beginnen met wat simpele patterns, dan zou ik aanraden: Observer, Iterator en Command. Relatief makkelijk te implementeren maar erg nuttig.
    pi_65416507
    Htacces en rewrite vraagje
    Ik heb 2 urls die moeten worden verwezen, deze kunnen dus beide voorkomen

    domein.nl/auto/userid
    en
    domein.nl/auto/userid?img=id

    De eerste los ik zo op,
    RewriteRule ^auto/$ [L]
    #RewriteRule auto/(.*) rewritetestfolder/?user=$1 [PT]

    en de 2de zo
    RewriteCond %{QUERY_STRING} img=(.*)
    RewriteRule ^auto/(.*) rewritetestfolder/index.php?user=$1&img=%1

    Maar hoe krijg ik deze samen werkend, als ik ze zoals hierboven bovenelkaar zit dan word de eerste url niet verwezen en krijg ik een 404 error.
      maandag 26 januari 2009 @ 13:42:48 #232
    91039 mstx
    2x1/2 = 1/2 x 1/2
    pi_65417933
    quote:
    Op maandag 26 januari 2009 12:58 schreef Darkomen het volgende:
    Htacces en rewrite vraagje
    Ik heb 2 urls die moeten worden verwezen, deze kunnen dus beide voorkomen

    domein.nl/auto/userid
    en
    domein.nl/auto/userid?img=id

    De eerste los ik zo op,
    RewriteRule ^auto/$ [L]
    #RewriteRule auto/(.*) rewritetestfolder/?user=$1 [PT]

    en de 2de zo
    RewriteCond %{QUERY_STRING} img=(.*)
    RewriteRule ^auto/(.*) rewritetestfolder/index.php?user=$1&img=%1

    Maar hoe krijg ik deze samen werkend, als ik ze zoals hierboven bovenelkaar zit dan word de eerste url niet verwezen en krijg ik een 404 error.
    Dat zou gewoon met 1 regel moeten kunnen omdat hij met de QSA parameter alle GET variabelen (dus ook "img") er automatisch bij zet.
    1RewriteRule ^auto/([0-9]+)$ rewritetestfolder/index.php?user=$1 [QSA]
    Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
    als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
    👾
    pi_65418100
    Oek dat zoek ik dus, eens proberen, alvast bedankt!
    pi_65420767
    Hallo, ik heb hier een PHP-script. Dit script leest RSS items uit.

    Deze wil ik gebruiken voor een nieuwspagina, waarop meerdere nieuwsfeeds uit worden gelezen zoals AD, NU.nl, NOS en meer. Het is voor een website die ik voor mijn stage aan het vernieuwen ben.

    Eén van de problemen met de huidige site is dat er nogal veel tegelijkertijd wordt uitgelezen waardoor de site veel trager is en wat minder overzichtelijk is dan hij zou kunnen zijn.

    Nu is de bedoeling dit te verminderen door maximaal de vijf nieuwste items uit te lezen, in plaats van wat er soms wel twintig zijn per feed. Ik heb echter geen verstand van PHP en dit script ook niet geschreven, en nu is mijn vraag: hoe kan ik deze code aanpassen zodat alleen de vijf recentste berichten worden getoond? Verder werkt dit script overigens exact zoals de bedoeling is.

    Code:
    quote:
    <?php
    //define the source of the feed
    define('omroepzeeland_feed','http://www.omroepzeeland.nl/rss_feed/index.xml');
    //recive file form server
    $xml_feed = file_get_contents(omroepzeeland_feed);
    //create a xml phraser
    $xml_praser = xml_parser_create();
    //tell the vars to the xml phrasers
    xml_parse_into_struct($xml_praser,$xml_feed,$xml_keys,$xml_index);
    //lets phrase ^^
    xml_parser_free($xml_praser);
    //generate the headlines
    for($i = 2; !empty($xml_index['TITLE'][$i]); $i++){
    //title van de website in bold de rest niet.
    if($i == 0){
    //echo '<strong>Headlines van:<a href=\"'.$xml_keys[$xml_index['LINK'][$i]]['value'].'\">".$xml_keys[$xml_index['TITLE'][$i]]['value']."</a></strong><br />';
    echo '<strong>Headlines van:<a href="'.$xml_keys[$xml_index['LINK'][$i]]['value'].'">'.$xml_keys[$xml_index['TITLE'][$i]]['value'].'</a></strong><br />';
    }else{

    echo '<a href="'.$xml_keys[$xml_index['LINK'][$i]]['value'].'">'.$xml_keys[$xml_index['TITLE'][$i]]['value'].'</a><br />';
    }
    }
    ?>
      maandag 26 januari 2009 @ 15:08:59 #235
    75592 GlowMouse
    l'état, c'est moi
    pi_65420841
    Om de vijf recenste op te halen moet je alsnog alle feeds ophalen, en dat is juist wat tijd kost. De truc is om de feeds al ergens lokaal te hebben staan.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65421126
    Hm, dat is eigenlijk ook de bedoeling niet.

    Maar het is visueel in elk geval wel een oplossing, alleen technisch dus niet.
    pi_65423221
    quote:
    Op maandag 26 januari 2009 15:16 schreef RensWisse het volgende:
    Hm, dat is eigenlijk ook de bedoeling niet.

    Maar het is visueel in elk geval wel een oplossing, alleen technisch dus niet.
    Het idee achter RSS is ook niet dat je bij iedere pageview opnieuw de feed uitleest.
    pi_65424942
    Gebruik MagpieRSS ofzo om die feeds binnen te trekken. Zit ingebakken caching in.
    pi_65450240
    Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\besteldone.php on line 111
    Dat is de error die ik krijg n.a.v. mijn volgende script:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
            mysql_connect
    (localhost"root""") or die mysql_error();[s][/s]
            
    mysql_select_db("leertaak") or die mysql_error();
            
            
    $query1 mysql_query("SELECT `klantnr` FROM `klant` WHERE `username` = '".$_SESSION['username']."'") or die mysql_error();
            
    $rowmysql_fetch_array($query1);
            
    $klantnr $row['klantnr'];
            
    mysql_query("INSERT INTO `orders` (`klantnr`) VALUES ('".$klantnr."')") or die mysql_error();
            
            
    $query2 mysql_query("SELECT `ordernr` FROM `orders` WHERE `klantnr` = '".$klantnr."'") or die mysql_error();
            
    $row2 mysql_fetch_array($query2);
            
    $ordernr $row2['ordernr'];
    ?>
    Natuurlijk is het script groter dan dit maar het gaat hierboven fout... Iemand die de fout ziet? Ik kom er niet uit.
    111 begint bij $query1 = ........

    [ Bericht 1% gewijzigd door Kerol op 27-01-2009 12:09:18 ]
    Bodybuilding #1
    Hardlopen #2
    pi_65450289
    1
    2
    3
    <?php
    mysql_select_db
    (leertaak);
    ?>


    Je bent de $ voor leertaak vergeten.
    pi_65450513
    Nee $leertaak bestaat niet eens, maar leertaak is de database die geselecteerd moet worden..

    Overigens krijg ik nu deze error; Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\besteldone.php on line 108
    Bodybuilding #1
    Hardlopen #2
      dinsdag 27 januari 2009 @ 12:14:25 #242
    75592 GlowMouse
    l'état, c'est moi
    pi_65450661
    or die mysql_error();[ s ][ /s]

    wat is dat met die [ s ]?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65450691
    quote:
    Op dinsdag 27 januari 2009 12:14 schreef GlowMouse het volgende:
    or die mysql_error();[ s ][ /s]

    wat is dat met die [ s ]?
    Heeft Fok er zelf ingezet, staat niet in het bestand
    Bodybuilding #1
    Hardlopen #2
      dinsdag 27 januari 2009 @ 12:26:40 #244
    75592 GlowMouse
    l'état, c'est moi
    pi_65450997
    Die is een functie dus moet je haakjes gebruiken om argumenten mee te geven
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65451169
    quote:
    Op dinsdag 27 januari 2009 12:26 schreef GlowMouse het volgende:
    Die is een functie dus moet je haakjes gebruiken om argumenten mee te geven
    Bodybuilding #1
    Hardlopen #2
    pi_65455832
    Ik zit met iets vaags, op een of andere manier wordt een bepaald element niet meegenomen als ik een pagina verstuurd met POST (form)

    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
    <?php
    print_r($_POST);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />

        <link href="/style.css" rel="stylesheet" type="text/css" />
        <link href="/style_menu.css" rel="stylesheet" type="text/css" />
        <link href="/card.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="/card.js"></script>
    </head>
    <body>


                <form method="post" action="" name="ecard_form">
                <input type="hidden" id="card_id" name="card_id" value="d9752b49" />

                <div class="ecard_left">
                    <strong>Ontvanger(s)</strong><br />
                    <br />
                    <fieldset>
                    <label>Naam</label><input type="text" id="card_receiver_name" name="card_receiver_name" /><br />
                    <label>Email</label><input type="text" id="card_receiver_email" name="card_receiver_email" /><br />
                    </fieldset>
                    <a style="font-size: 10px;" href="javascript:void(0);" onclick="ecardjs_toevoegen();">Toevoegen</a> -
                    <a style="font-size: 10px;" href="javascript:void(0);" onclick="ecardjs_verwijderen();">Verwijderen</a> -
                    <a style="font-size: 10px;" href="javascript:void(0);" onclick="ecardjs_bewerken();">Bewerken</a> -
                    <div style="font-size: 9px; display: inline;" id="ecards_over">10 over</div><br />
                    <select name="card_receivers" size="4" class="ecard_email_list" id="ecards_to"></select><br />
                </div>

                <br />
                <input type="submit" name="action_preview" value="Bekijk voorbeeld" />
                <input type="submit" name="action_send" value="Verstuur e-card" />
                </form>
    </body>
    </html>


    Als ik op bekijk voorbeeld klik zou ik ook in de array van $_POST card_receivers moeten tegenkomen maar die staat er niet bij (ongeacht of er gegevens zijn ingevuld)

    1
    2
    3
    4
    5
    6
    7
    Array
    (
        [card_id] => d9752b49
        [card_receiver_name] => 
        [card_receiver_email] => 
        [action_preview] => Bekijk voorbeeld
    )


    Wat doe ik fout?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65456335
    Ik ben een noob in php.
    maar ik ben nu bezig met een klein beetje tekst. zoals hieronder:
    1
    2
    3
    4
    5
    6
    7
    8
       <style type="text/css">
    .style1 {font-weight: bold}
        </style>
       <div class="footer">      
         <p>text.</p>
         <p>text.</p>
         <p>text.</p>
       </div>

    het probleem is dat ik nu steeds een witregel krijg tussen de stukken text ik krijg nu dus zoiets:
    quote:
    text.

    text.

    text.
    terwijl ik dit wil:
    quote:
    text.
    text.
    text.
    Weet iemand hoe ik dit (waarschijnlijk simpele) probleem op kan lossen?
    pi_65456401
    Dat is geen PHP maar HTML. Je moet <br /> gebruiken. Zoek maar even op Google naar de betekenis van tags als <p> en <br /> en dergelijke.
    pi_65456496
    quote:
    Op dinsdag 27 januari 2009 14:56 schreef HuHu het volgende:
    Dat is geen PHP maar HTML. Je moet <br /> gebruiken. Zoek maar even op Google naar de betekenis van tags als <p> en <br /> en dergelijke.
    ok bedankt
    pi_65456498
    text<br />
    text<br />
    text<br />

    pi_65456554
    quote:
    Op dinsdag 27 januari 2009 14:41 schreef Chandler het volgende:
    Ik zit met iets vaags, op een of andere manier wordt een bepaald element niet meegenomen als ik een pagina verstuurd met POST (form)
    [ code verwijderd ]

    Als ik op bekijk voorbeeld klik zou ik ook in de array van $_POST card_receivers moeten tegenkomen maar die staat er niet bij (ongeacht of er gegevens zijn ingevuld)
    [ code verwijderd ]

    Wat doe ik fout?
    Doe jij met JS dynamisch de 'naam' en 'email' veldjes vermeerderen? Zo ja, geef je die wel elk een uniek ID en name attribuut mee?
    pi_65456915
    Nou heb ik een volgend probleem
    De tekst staat bovenaan in een tekst vak. Maar deze moet tegen de onderkant aanzitten. Hoe doe ik dat?
    pi_65456950
    quote:
    Op dinsdag 27 januari 2009 15:08 schreef toma het volgende:
    Nou heb ik een volgend probleem
    De tekst staat bovenaan in een tekst vak. Maar deze moet tegen de onderkant aanzitten. Hoe doe ik dat?
    Dat zou je wellicht hier kunnen vragen: [CSS] voor dummies - deel 11 of in een apart topic. Het heeft namelijk niets te maken met PHP of MySQL.
    pi_65456993
    quote:
    Op dinsdag 27 januari 2009 15:10 schreef HuHu het volgende:

    [..]

    Dat zou je wellicht hier kunnen vragen: [CSS] voor dummies - deel 11 of in een apart topic. Het heeft namelijk niets te maken met PHP of MySQL.
    Ok, ik wist niet dat daar een apart topic voor is.
    pi_65460696
    quote:
    Op dinsdag 27 januari 2009 14:59 schreef Tuvai.net het volgende:

    [..]

    Doe jij met JS dynamisch de 'naam' en 'email' veldjes vermeerderen? Zo ja, geef je die wel elk een uniek ID en name attribuut mee?
    De naam hoeft niet uniek te zijn. Als je bijvoorbeeld name="card[]" gebruikt dan krijg je in het php-script netjes een array te zien
    pi_65460763
    quote:
    Op dinsdag 27 januari 2009 14:59 schreef Tuvai.net het volgende:

    [..]

    Doe jij met JS dynamisch de 'naam' en 'email' veldjes vermeerderen? Zo ja, geef je die wel elk een uniek ID en name attribuut mee?
    Nee, die velden worden gebruikt om de card_receivers te vullen met data

    <option value="email">naam (email)</option>
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      FOK!-Schrikkelbaas dinsdag 27 januari 2009 @ 20:09:04 #257
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65467321
    query vraagje

    koppeltabel bestaande uit 2 kolommen, land_1 en land_2
    values

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    1   2
    1   3
    1   4
    1   5
    2   4
    2   5
    2   6
    2  10
    3   5
    4   5
    5   7
    5  12
    6  12
    8   9
    10 11
    13 14


    Nu wil ik alle buren van land 5, dus 1,2,3,4,7,12.

    query
    1SELECT * FROM buren WHERE land_1=5 OR land_2=5

    Maar dit geeft uiteraard OOK de 5 terug en die heb ik niet nodig.
    pi_65468486
    1
    2
    3
    SELECT land_1 as buur FROM buren WHERE land_2 = 5
      UNION
    SELECT land_2 as buur FROM buren WHERE land_1 = 5


    Zoiets denk ik.
    pi_65468719
    knip

    [ Bericht 98% gewijzigd door SuperRembo op 27-01-2009 20:42:20 (ff iets langer nadenken....) ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65469057
    ik vraag me af ik heb nu een lijst met informatie. uit een sql bestand
    hierop is een veld status
    nu wil ik op meerdere dingen veranderen en met 1 knop toegepast krijgen.


    bvb
    Besteld
    onbesteld
    geleverd
    ongeleverd

    maar hoe kan ik laten checken of er iets veranderd is ten opzichte van de database? en het daarin veranderen?

    ik zat zelf te denken aan een query om het eruit te halen.
    en een update query alleen hoe zet ik een for each voorwaarde die controleerd of het verandert is of niet?
    moet ik dan een extra veld met aanvink erachter maken? zoiets van vink deze.
    Ik zat me af te vragen of het ook zonder kon
    Redacted
    pi_65469679
    quote:
    Op dinsdag 27 januari 2009 20:09 schreef Swetsenegger het volgende:
    query vraagje
    [...] Nu wil ik alle buren van land 5, dus 1,2,3,4,7,12. [...]
    Als je de buren van land 5 wil hebben, dan moet je de regels hebben waarbij een van de twee landen 5 is, maar je wil uiteindelijk het land hebben dat juist ongelijk aan 5 is:

    1
    2
    3
    SELECT CASE land_1 WHEN 5 THEN land_2 ELSE land_1 END AS land
    FROM buren 
    WHERE 5 IN (land_1, land_2)


    Of anders geschreven:
    1
    2
    3
    SELECT IF (land_1 = 5, land_2, land_1) AS land
    FROM buren 
    WHERE 5 IN (land_1, land_2)


    [ Bericht 16% gewijzigd door SuperRembo op 27-01-2009 21:08:18 ]
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
      FOK!-Schrikkelbaas dinsdag 27 januari 2009 @ 21:11:24 #262
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65470048
    quote:
    Op dinsdag 27 januari 2009 21:02 schreef SuperRembo het volgende:

    [..]

    Als je de buren van land 5 wil hebben, dan moet je de regels hebben waarbij een van de twee landen 5 is, maar je wil uiteindelijk het land hebben dat juist ongelijk aan 5 is:
    [ code verwijderd ]

    Of anders geschreven:
    [ code verwijderd ]
    Klinkt logisch. Wat ik er niet bij verteld heb is dat het access betreft. En ik krijg een foutmelding terug

    invalid sql statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' or 'UPDATE'

    iemand een idee?
      FOK!-Schrikkelbaas dinsdag 27 januari 2009 @ 21:22:18 #263
    1972 Swetsenegger
    Egocentrische Narcist
    pi_65470576
    ach nevermind, hij maakt z'n eigen huiswerk maar. Heb al 3 van de 4 voor 'm opgelost
    pi_65470633
    In Access moet je denk ik IIf() gebruiken in plaats van If().
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65481160
    quote:
    Op dinsdag 27 januari 2009 16:52 schreef Chandler het volgende:

    [..]

    Nee, die velden worden gebruikt om de card_receivers te vullen met data

    <option value="email">naam (email)</option>
    Iemand die mijn fout ziet? of ben ik nou gek aan't worden?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65481354
    quote:
    Op woensdag 28 januari 2009 09:00 schreef Chandler het volgende:

    [..]

    Iemand die mijn fout ziet? of ben ik nou gek aan't worden?
    De fout zit 'm dan sowieso in het feit hoe die 'options' dynamisch gegenereerd worden. Post je Javascript eens.
    pi_65482637
    -edit-

    [ Bericht 99% gewijzigd door Chandler op 28-01-2009 14:39:39 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65484480
    Volgens mij kan het trouwens niet aan javascript liggen, tenminste dat is mijn idee
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65489801
    Nee, maar eventueel wel aan de HTML die je JS uitpoept. Post dus even de HTML die er is nadat eventuele JS "onload" is uitgevoerd.
    pi_65491435
    dat is er niet, er wordt geen javascript gedraaid zonder interactie van de gebruiker. Oftewel de gebruiker dient te klikken alvorens javascript functies worden gebruikt.

    en zo wordt de selectbox toegevoegd..

    1document.getElementById('ecards_to').options[document.getElementById('ecards_to').options.length] = new Option(name + " (" + email + ")", email, false, false);


    maar ik zit mij te bedenken dat wanneer geen van de items worden geselecteerd deze ook niet meegenomen worden in de output van de form. Ik ga eens testen als ze allemaal geselecteerd zijn..

    ik hoor zo dat dit werkt )

    -edit-

    dat is stom maar idd de adressen moesten gewoon geselecteerd worden... dat een mens daar zo lang overheen kan kijken
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65503312
    Ik snap nooit hoe je zulke onleesbare code kan schrijven :X
    Zo zie je toch veel beter wat je doet:

    1
    2
    var options = document.getElementById('ecards_to').options;
    options[options.length] = new Option(name + " (" + email + ")", email, false, false);
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65504262
    Ik zorg altijd voor een $-functie in javascript. Voor zover ik weet zit die ook (maar dan uitgebreider) in de meeste frameworks, dus wel zo makkelijk.
    1
    2
    3
    function $(e) {
      return document.getElementById(e);
    }


    En speciaal voor Chandler is er ook [Javascript] voor dummies (deel 8)
    pi_65504370
    quote:
    Op woensdag 28 januari 2009 20:04 schreef Light het volgende:
    Ik zorg altijd voor een $-functie in javascript. Voor zover ik weet zit die ook (maar dan uitgebreider) in de meeste frameworks, dus wel zo makkelijk.
    [ code verwijderd ]

    En speciaal voor Chandler is er ook [Javascript] voor dummies (deel 8)
    Ja fijn een "$" functie waarmee je kan verhullen dat je vreselijk inefficiente code schrijft
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65504768
    quote:
    Op woensdag 28 januari 2009 20:07 schreef SuperRembo het volgende:

    [..]

    Ja fijn een "$" functie waarmee je kan verhullen dat je vreselijk inefficiente code schrijft
    Ja, het is een extra functie-aanroep en dat kun je als inefficient betitelen. Aan de andere kant vind ik het de leesbaarheid juist ten goede komen. En er zijn meer mogelijkheden met zo'n functie.
    pi_65509618
    "$" is een totaal nietszeggende "naam", en draagt daardoor niet erg bij aan de leesbaarheid. En met verhullen bedoelde ik in dit gevan niet de extra functieaanroep, maar het 2x opzoeken van een element op basis van id.

    Maar dit gaat wel erg off topic voor dit php topic
    Wil iedereen die in telekinese gelooft nu mijn hand op steken?
    | Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
    pi_65525310
    Ik ben goed in onschrijfbare taal :P

    Maar tnx SR, ik zal het in het vervol eens wat duidelijker beschrijven.

    Nu iets anders

    1
    2
    3
    4
    EXPLAIN SELECT images . * 
    FROM images
    ORDER BY rand( ) 
    LIMIT 4 


    geeft een filesort weer, hoe kan ik het beste random items uit een database halen? zonder op een filesort uit te komen?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65525654
    quote:
    Op donderdag 29 januari 2009 12:54 schreef Chandler het volgende:
    Ik ben goed in onschrijfbare taal

    Maar tnx SR, ik zal het in het vervol eens wat duidelijker beschrijven.

    Nu iets anders
    [ code verwijderd ]

    geeft een filesort weer, hoe kan ik het beste random items uit een database halen? zonder op een filesort uit te komen?
    ik snap niet wat je bedoelt. hiermee krijg je 4 random resultaten uit je database?
    en wat is een filesort
    Redacted
    pi_65525771
    Met explain voor deze query krijg je uitleg van MySQL

    Dit is de uitleg

    1
    2
    id  select_type  table  type  possible_keys  key  key_len  ref  rows  Extra  
    1 SIMPLE images ALL NULL NULL NULL NULL 109447 Using temporary; Using filesort 


    echter duurt het laden van 4 afbeeldingen veelste lang.

    1Toon Records 0 - 3 (4 totaal, Query duurde 0.2950 sec
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65525916
    Ik denk dat 'ie bijna 110.000 rijen niet meer in z'n geheugen kan sorteren, dus dat 'ie over gaat op een filesort. Vermoed dat je er weinig aan kunt veranderen.
    pi_65526289
    Gatsie, maar server technisch dan?
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 29 januari 2009 @ 13:20:10 #281
    91039 mstx
    2x1/2 = 1/2 x 1/2
    pi_65526307
    Je zou kunnen proberen of het sneller is als je alle rijen ophaalt en in de rest van je (PHP?) script er random 4 uit te halen.
    Of als er geen rijen verwijderd zijn (geen missende id's) kun je met PHP 4 random nummers genereren en die in de WHERE gebruiken (WHERE id IN (500,345,12342,34327)).
    Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
    als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
    👾
    pi_65526807
    mstx, goed idee zeg.

    Alleen in dit geval komt het voor dat rijen verwijderd worden.. Maar dan nog zou dit theoretisch sneller zijn, al zou ik 10 rijen laden...

    Maar in dit geval kan ik natuurlijk met gemak 10 nummers opgeven

    1SELECT images.* FROM images WHERE id IN ('35431','84018','65942','62894','54022','41721','61780','90420','10700','50790') LIMIT 4


    werkt binnen 0.001 seconde

    [ Bericht 64% gewijzigd door Chandler op 29-01-2009 13:39:53 ]
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65526943
    Je kunt ook 4 queries doen met:

    1SELECT images.* FROM images WHERE id = RAND() * MAX(id);


    Dat is misschien wel sneller. Wat ook sneller kan zijn is dit:

    1SELECT images.* FROM images WHERE id IN (SELECT id FROM images ORDER BY RAND() LIMIT 4)


    Als je op id een INDEX hebt is dat sneller.

    edit: dat laatste is dus hetzelfde als hierboven, maar dan in MySQL en met de garantie dat je geen ontbrekende nummers selecteert (wat dodelijk is voor je query).
    pi_65527432
    id is sowiezo geindexeerd aangezien deze primary is (auto_increment)

    en helaas kan ik nog geen subqueries gebruiken op meeste van mijn hosting pakketten... dus moet ik het doen met enkele queries... toch super dat je meedenkt!
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 29 januari 2009 @ 14:45:57 #285
    75592 GlowMouse
    l'état, c'est moi
    pi_65529644
    Filesort heeft niets met het filesystem te maken; ook een sorteerproces dat geheel in het geheugen plaatsvindt wordt zo genoemd. Er zijn tegenwoordig twee manieren waarop MySQL handmatig kan sorteren, de details zijn wel in de manual te vinden.
    quote:
    Op donderdag 29 januari 2009 13:35 schreef HuHu het volgende:
    Je kunt ook 4 queries doen met:
    [ code verwijderd ]
    Met het risico dat het betreffende id niet bestaat. De IN met LIMIT is trouwens zeker sneller, maar heeft ook als risico dat je geen 4 rijen terugkrijgt.
    quote:
    Op donderdag 29 januari 2009 13:35 schreef HuHu het volgende:
    Wat ook sneller kan zijn is dit:
    [ code verwijderd ]

    Als je op id een INDEX hebt is dat sneller.

    edit: dat laatste is dus hetzelfde als hierboven, maar dan in MySQL en met de garantie dat je geen ontbrekende nummers selecteert (wat dodelijk is voor je query).
    Zit je weer met die ORDER BY RAND() die je op grote datasets wilt vermijden.

    Ik zou een tweede tabel maken met mooie oplopende getallen en daaruit selecteren. Heb je zowel het voordeel van de index als de zekerheid dat je 4 rijen terugkrijgt.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65529926
    Nou ik doe het nu gewoon anders, ik maak met PHP 10 random getallen aan, die ik een array zet, deze array zet ik weer binnen de id IN () en zet daar een LIMIT van 4 op zo kom ik er dus ook
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
      donderdag 29 januari 2009 @ 14:55:35 #287
    75592 GlowMouse
    l'état, c'est moi
    pi_65530069
    Die had je al gezegd, maar heeft als risico dat je niet gegarandeerd 4 rijen terugkrijgt. Als je random getallen toevallig hetzelfde zijn, krijg je zeker geen 4 rijen terug.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65535769
    Dat klopt idd maar daar moeten de gebruikers het dan maar mee doen
    The people who lost my respect will never get a capital letter for their name again.
    Like trump...
    pi_65590676
    1
    2
    $data = mysql_real_escape_string(trim($_POST['content']));
    $query = "UPDATE pages SET content = '".$data."' WHERE id = '".$_GET['id']."'";

    Alles gaat goed, de query doet z'n werk, maar met de URL's gaat het fout, deze zien er zo uit: \"http://bla\"

    De postdata komt van de FCKeditor.

    Ik heb al wat zitten rommelen met magic_quotes, maar die staat volgens de hoster UIT op de server.
    Verder heb ik stripslashes geprobeerd, dat heeft ook geen enkel nut.

    Na 2 dagen ben ik het rotzooien beu, en hoop ik dat iemand een oplossing weet :@.
      zaterdag 31 januari 2009 @ 11:18:06 #290
    75592 GlowMouse
    l'état, c'est moi
    pi_65590800
    Of het uitstaat kun je zo zien in phpinfo. Via .htaccess kun je het evt uitschakelen, en voor compatibiliteit neem je zoiets op in een headerfile.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    if(get_magic_quotes_gpc()) {
      foreach(
    $_POST as $key => $val) {
        
    $_POST[$key] = stripslashes($val);
      }
      foreach(
    $_GET as $key => $val) {
        
    $_GET[$key] = stripslashes($val);
      }
      foreach(
    $_COOKIE as $key => $val) {
        
    $_COOKIE[$key] = stripslashes($val);
      }
      foreach(
    $_REQUEST as $key => $val) {
        
    $_REQUEST[$key] = stripslashes($val);
      }
    }
    ?>


    Waarom niet $id = intval($_GET['id']); en $id in je query gebruiken? Zonder magic_quotes is je query namelijk niet zo best.
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65590978
    quote:
    Op zaterdag 31 januari 2009 11:18 schreef GlowMouse het volgende:
    Of het uitstaat kun je zo zien in phpinfo. Via .htaccess kun je het evt uitschakelen, en voor compatibiliteit neem je zoiets op in een headerfile.
    [ code verwijderd ]
    Die code gaat fout als er arrays in $_POST, $_GET ofzo zitten.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if(get_magic_quotes_gpc()) {
        function 
    stripslashes_deep(&$value)
        {
            
    $value is_array($value) ?
                        
    array_map('stripslashes_deep'$value) :
                        
    stripslashes($value);

            return 
    $value;
        }

        
    stripslashes_deep($_GET);
        
    stripslashes_deep($_POST);
        
    stripslashes_deep($_COOKIE);
        
    stripslashes_deep($_REQUEST);
    }
     
    ?>


    Zie ook http://nl.php.net/manual/en/function.get-magic-quotes-gpc.php
    pi_65591056
    Dat script deed 't 'm wel.
    Ik had het via htaccess uitgeschakeld, maar dat leverde geen resultaat op. Vreemd dus, maar nou werkt het. Thanks!

    Het nut van intval snap ik. Dat heb ik ook gelijk toegepast. .

    Maar wat is er niet zo best aan m'n query? Ik ben nog niet zo'n PHP held.
      zaterdag 31 januari 2009 @ 11:34:07 #293
    75592 GlowMouse
    l'état, c'est moi
    pi_65591092
    Script van Light is een stuk beter dus gebruik die maar.

    Zonder magic_quotes zou $_GET['id'] best gelijk kunnen zijn aan ' OR 'a'='a

    groetjes,
    GlowMouse
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65591164
    quote:
    Op zaterdag 31 januari 2009 11:32 schreef veldmuis het volgende:
    Dat script deed 't 'm wel.
    Ik had het via htaccess uitgeschakeld, maar dat leverde geen resultaat op. Vreemd dus, maar nou werkt het. Thanks!

    Het nut van intval snap ik. Dat heb ik ook gelijk toegepast. .

    Maar wat is er niet zo best aan m'n query? Ik ben nog niet zo'n PHP held.
    Volgens mij was het ontbreken van de intval() eigenlijk het grootste probleem. De rest komt netjes door mysql_real_escape_string() en is dus ook veilig. Overigens hoef je getallen ($id) niet tussen quotes te zetten.
    pi_65619746
    stel ik heb een tekst van 600 tekens.
    maar het is te lang om op het beeld weer tegeven achter elkaar.

    de tekst staat aan elkaar. Kan ik dan een for each ( strlength($tekst > 150 )
    { echo "<br>";}
    en dat de tekst word opgesplitst? of kan ik beter met subregels werken?

    en dan de textarea in 4 delen maken ? want ik vind het wel stom om een commentaar veld op te splitsen.
    Redacted
      zondag 1 februari 2009 @ 12:48:58 #296
    75592 GlowMouse
    l'état, c'est moi
    pi_65619796
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65620000
    Redacted
    pi_65620075
    Hay, ik wil een visitekaartjewebsite in php maken. Is het mogelijk doormiddel van een grafische applicatie gewoon er een kan ontwerpen? met html kan dat al wel natuurlijk.
      zondag 1 februari 2009 @ 12:58:03 #299
    75592 GlowMouse
    l'état, c'est moi
    pi_65620096
    quote:
    Op zondag 1 februari 2009 12:57 schreef RoW_0 het volgende:
    Hay, ik wil een visitekaartjewebsite in php maken. Is het mogelijk doormiddel van een grafische applicatie gewoon er een kan ontwerpen? met html kan dat al wel natuurlijk.
    Wat moet de rol van PHP zijn
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
    pi_65620140
    quote:
    Op zondag 1 februari 2009 12:58 schreef GlowMouse het volgende:

    [..]

    Wat moet de rol van PHP zijn
    ziet dat er niet wat mooier uit? ben een noob op de scripting gebied. maar HTML ziet er soms zo 1998 uit.
      zondag 1 februari 2009 @ 13:03:09 #301
    75592 GlowMouse
    l'état, c'est moi
    pi_65620280
    Ziet een huis er van buiten mooier uit als er een CV-ketel in zit?
    eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
      maandag 2 februari 2009 @ 09:30:19 #302
    74548 Jo0Lz
    Lick the box!
    pi_65646912
    Yes we can! | I didn't fail, it's just postponed success.
    abonnement Unibet Coolblue Bitvavo
    Forum Opties
    Forumhop:
    Hop naar:
    (afkorting, bv 'KLB')