FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies - Deel 51 - Mijn eerste!
markiemarkvrijdag 12 oktober 2007 @ 01:23

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

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
  • SuperrrTuxxxvrijdag 12 oktober 2007 @ 01:58
    Je eerste wat ? Je eerste topic uit deze reeks ?
    markiemarkvrijdag 12 oktober 2007 @ 02:01
    Nou even wat betreft het probleem van Scriptha
    quote:
    Op donderdag 11 oktober 2007 19:26 schreef Scriptha het volgende:
    Ik heb een mysql table met items, en 1 met bijbehorende plaatjes. Die moeten bij elkaar, dus ik doe een join,
    maar dan komt daar
    item|plaatje_id
    test1|2
    test1|5
    uit als ik meerder plaatjes heb, en ik gebruik een foreach om het te printen, dus krijg ik alles meerdere keren..
    Hoe kan ik dit goed verwerken? Dus item en dan alle plaatjes..
    Ik zat een beetje met hetzelfde probleem om een bedrijf in kaart te brengen.. (vestigingen, afdelingen, gebruikers). Ik het dat het als volgt opgelost:
    1. alle vestigingen van het bedrijf ophalen en in een array gooien
    2. alle afdelingen van het bedrijf ophalen en in een array gooien
    3. alle gebruikers van het bedrijf ophalen en in een array gooien
    4. door middel van een for loop alle vestigingen weergeven
    5. door middel van for loop in for loop (4) de afdelingen met eigenschap afd.bedrijf=bedrijf.id ophalen
    6. door middel van for loop in for loop (5) de gebruikers ophalen met eigenschap usr.afdeling = afdeling.id ophalen

    nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..

    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
    <?php
    // vestigingen
    $vquery "SELECT id, naam FROM vestigingen WHERE bedrijf = ".$_SESSION['bedrijf'].";";
    $vresult mysql_query($vquery);
    $vestigingen = array();
    $v_counter 0;
    while(list(
    $vid$vnaam) = mysql_fetch_row($vresult)){
        
    $vestigingen[$v_counter]['id'] = $vid;
        
    $vestigingen[$v_counter]['naam'] = $vnaam;
        
    $v_counter++;
    }

    // afdelingen
    $aquery "SELECT id, naam, vestiging FROM afdelingen WHERE bedrijf = ".$_SESSION['bedrijf'].";";
    $aresult mysql_query($aquery);
    $afdelingen = array();
    $a_counter 0;
    while(list(
    $aid$anaam$avestiging) = mysql_fetch_row($aresult)){
        
    $afdelingen[$a_counter]['id'] = $aid;
        
    $afdelingen[$a_counter]['naam'] = $anaam;
        
    $afdelingen[$a_counter]['vestiging'] = $avestiging;
        
    $a_counter++;
    }

    // gebruiker
    $uquery "SELECT id, voornaam, tussenvoegsel, achternaam, afdeling FROM users WHERE bedrijf = ".$_SESSION['bedrijf'].";";
    $uresult mysql_query($uquery);
    $users = array();
    $u_counter 0;
    while(list(
    $uid$uvoornaam$utussenvoegsel$uachternaam$uafdeling) = mysql_fetch_row($uresult)){
        
    $users[$u_counter]['id'] = $uid;
        
    $users[$u_counter]['voornaam'] = $uvoornaam;
        
    $users[$u_counter]['tussenvoegsel'] = $utussenvoegsel;
        
    $users[$u_counter]['achternaam'] = $uachternaam;
        
    $users[$u_counter]['afdeling'] = $uafdeling;
        
    $u_counter++;
    }        

    // selectbox vullen met data
    echo "<select name=\"ontvangers[]\" size=\"5\" multiple=\"multiple\" style=\"width: 500px;\">";
    for(
    $v=0$v<=count($vestigingen)-1$v++){
        echo 
    "<option>".$vestigingen[$v]['naam']."</option>";
        for(
    $a=0$a<=count($afdelingen)-1$a++){
            if (
    $vestigingen[$v]['id'] == $afdelingen[$a]['vestiging']){
                echo 
    "<option>   ".$afdelingen[$a]['naam']."</option>";
                for (
    $u=0$u<=count($users)-1$u++){
                    if (
    $afdelingen[$a]['id'] == $users[$u]['afdeling']){
                        echo 
    "<option>      ".$users[$u]['voornaam']."</option>";
                    }
                }
            }
        }
    }
    echo 
    "</select>";
    ?>
    Siegfriedvrijdag 12 oktober 2007 @ 02:02
    tvp
    markiemarkvrijdag 12 oktober 2007 @ 02:04
    quote:
    Op vrijdag 12 oktober 2007 01:58 schreef SuperrrTuxxx het volgende:
    Je eerste wat ? Je eerste topic uit deze reeks ?
    hehe ja
    SuperrrTuxxxvrijdag 12 oktober 2007 @ 02:13
    quote:
    Op vrijdag 12 oktober 2007 02:04 schreef markiemark het volgende:

    [..]

    hehe ja
    JeRavrijdag 12 oktober 2007 @ 02:19
    Telkens verslaafde PHP'ers.
    Joy_Divisionvrijdag 12 oktober 2007 @ 03:32
    Tvp
    super-muffinvrijdag 12 oktober 2007 @ 07:43
    Leuk topic!
    PiRANiAvrijdag 12 oktober 2007 @ 07:44
    quote:
    Op vrijdag 12 oktober 2007 07:43 schreef super-muffin het volgende:
    Leuk topic!
    true
    Xcaliburvrijdag 12 oktober 2007 @ 08:25
    quote:
    Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
    nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
    [ code verwijderd ]
    Ik zou zo even geen betere oplossing hebben denk ik....

    Waarom while/list je trouwens door mysql_fetch_row heen, ipv een mysql_fetch_array te doen?
    Dit lijkt me een tamelijk omslachtige manier, als je steeds alle velden moet definieren in je list....
    the_disheavervrijdag 12 oktober 2007 @ 09:39
    quote:
    Op vrijdag 12 oktober 2007 02:04 schreef markiemark het volgende:

    [..]

    hehe ja
    Gefeli!

    ralfievrijdag 12 oktober 2007 @ 11:35
    @markiemark
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    while(list($uid$uvoornaam$utussenvoegsel$uachternaam$uafdeling) = mysql_fetch_row($uresult)){
        
    $users[$u_counter]['id'] = $uid;
        
    $users[$u_counter]['voornaam'] = $uvoornaam;
        
    $users[$u_counter]['tussenvoegsel'] = $utussenvoegsel;
        
    $users[$u_counter]['achternaam'] = $uachternaam;
        
    $users[$u_counter]['afdeling'] = $uafdeling;
        
    $u_counter++;
    }
    ?>
    Mag ik je wijzen op de mysql_fetch_assoc functie?

    1
    2
    3
    <?php
    while ( $row=mysql_fetch_assoc($result) ) $users[$u_counter++] = $row;
    ?>
    Is ietsie korter en doet precies hetzelfde :P Naja, ik ben lui, dus als ik ergens mee mijn php korter kan krijgen zal ik het niet laten ;(

    ik heb Tevens Veel Problemen met php
    Chandlervrijdag 12 oktober 2007 @ 11:45
    gefeli topic starter! het is een heel recht om hier als eerste te mogen posten

    verkapte mee lees tvp
    markiemarkvrijdag 12 oktober 2007 @ 12:05
    quote:
    Op vrijdag 12 oktober 2007 11:35 schreef ralfie het volgende:
    @markiemark
    [ code verwijderd ]

    Mag ik je wijzen op de mysql_fetch_assoc functie?
    [ code verwijderd ]

    Is ietsie korter en doet precies hetzelfde Naja, ik ben lui, dus als ik ergens mee mijn php korter kan krijgen zal ik het niet laten

    ik heb Tevens Veel Problemen met php
    jah.. ik weet af van het bestaan van de functies mysql_fetch_array() en mysql_fetch_assoc().. maar ik heb me er eerlijk gezegd nooit echt zo in verdiept, ga ik maar eens een beetje doen dit weekend..

    maar goed, dit zijn maar drie queries, terwijl het er anders een bijna onbeperkt aantal zou kunnen worden als het bedrijf heel groot zou worden.
    super-muffinvrijdag 12 oktober 2007 @ 12:11
    Ik heb iets raars. Met deze code word een mailtje 2 keer verstuurd naar het $To adres. :?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    $To
    = $Settings->Get('orgEmail');
    $From = $_POST[ 'fm_email' ];
    $Content  = 'Er is een bericht van: ' . $Gender . ' ' . $Name . "\n\n";

    $Subject = '[Bericht via website] ';
    $Subject .= $Gender . '';
    $Subject .= $Name;
        
    // Headers variable
    $Headers = '';

    // Addresses
    $Headers .= 'To: ' . $To . "\r\n";
    $Headers .= 'From: ' . $From . "\r\n";
    $Headers .= 'Reply-To: ' . $From . "\r\n";

    // Other information
    $Headers .= 'X-Mailer: PHP/' . phpversion();
    mail($To, $Subject, $Content, $Headers);
    ?>


    En nee, dit staat niet in een loop, en word ook ook maar 1 keer aangeroepen.
    ralfievrijdag 12 oktober 2007 @ 12:19
    Haal "$Headers .= 'To: ' . $To . "\r\n";" is weg, het $to veld wordt door mail() zelf namelijk al gegenereerd...
    super-muffinvrijdag 12 oktober 2007 @ 12:29
    Eigenlijk wel logisch op een bepaalde manier.

    Bedankt.
    Mordrethvrijdag 12 oktober 2007 @ 14:05
    tvp enzo
    PiRANiAvrijdag 12 oktober 2007 @ 15:12
    echo preg_replace("/\n/Usi","",$echo);

    waarom haalt die niet mijn newlines uit $echo?
    PiRANiAvrijdag 12 oktober 2007 @ 15:22
    quote:
    Op vrijdag 12 oktober 2007 15:12 schreef PiRANiA het volgende:
    echo preg_replace("/\n/Usi","",$echo);

    waarom haalt die niet mijn newlines uit $echo?
    got it, de \r moet er ook uit
    Scripthavrijdag 12 oktober 2007 @ 17:29
    quote:
    Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
    Nou even wat betreft het probleem van Scriptha
    [..]

    Ik zat een beetje met hetzelfde probleem om een bedrijf in kaart te brengen.. (vestigingen, afdelingen, gebruikers). Ik het dat het als volgt opgelost:
    1. alle vestigingen van het bedrijf ophalen en in een array gooien
    2. alle afdelingen van het bedrijf ophalen en in een array gooien
    3. alle gebruikers van het bedrijf ophalen en in een array gooien
    4. door middel van een for loop alle vestigingen weergeven
    5. door middel van for loop in for loop (4) de afdelingen met eigenschap afd.bedrijf=bedrijf.id ophalen
    6. door middel van for loop in for loop (5) de gebruikers ophalen met eigenschap usr.afdeling = afdeling.id ophalen

    nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
    [ code verwijderd ]
    Ja ik weet dat het zo werkt, maar ik wil zo min mogelijk queries
    qu63zaterdag 13 oktober 2007 @ 01:01
    quote:
    Op maandag 8 oktober 2007 20:04 schreef qu63 het volgende:
    Weet er iemand misschien een site met goede tutorials over hoe te werken met Excel en PHP / COM-objecten?

    Het is de bedoeling dat ik een pagina schrijf die uit een excel-sheet gegevens ophaal, en die mooi laat zien.
    Ik weet dat het makkelijker kan in MySQL, maar dat vraag i kdus niet
    Tijd voor een copy/paste
    Lightzaterdag 13 oktober 2007 @ 11:30
    quote:
    Op zaterdag 13 oktober 2007 01:01 schreef qu63 het volgende:

    [..]

    Tijd voor een copy/paste
    Google?
    Eerste hit: http://www-128.ibm.com/de(...)library/os-phpexcel/
    http://forums.devarticles(...)read-excel-9352.html
    http://www.phpclasses.org/browse/package/1808.html

    Daar moet je vast wel wat mee kunnen
    qu63zaterdag 13 oktober 2007 @ 11:40
    quote:
    die laatste had ik ook al gevonden, maar die deed niet precies wat ik wil
    SuperRembozaterdag 13 oktober 2007 @ 11:53
    quote:
    Op vrijdag 12 oktober 2007 02:01 schreef markiemark het volgende:
    [...]
    nou ja, kijk maar naar mn code.. waarschijnlijk wat inefficient, maar het werkt..
    [...]
    Dit is inderdaad behoorlijk inefficiënt (bij grote aantallen)

    Als je goede sortering aan je query's toevoegt, dan hoef je elke result-array maar 1 keer te doorlopen. So wie so vreemd dat je geen enkele sortering in je query's hebt staan (of gebruik je daar een clustered index voor?)
    JortKzondag 14 oktober 2007 @ 13:13
    Deeltje 51 alweer
    PiRANiAzondag 14 oktober 2007 @ 17:52
    quote:
    Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
    :s
    Ik gebruik een functie: updatesession(), die werkt gewoon bij het inloggen, maar als ik die functie later gebruik werkt het niet meer :s

    Kent iemand deze error?
    SuperRembozondag 14 oktober 2007 @ 18:39
    quote:
    Op zondag 14 oktober 2007 17:52 schreef PiRANiA het volgende:

    [..]

    :s
    Ik gebruik een functie: updatesession(), die werkt gewoon bij het inloggen, maar als ik die functie later gebruik werkt het niet meer :s

    Kent iemand deze error?
    Waarschijnlijk gebruik je een variabele die nergens gevuld wordt en waarbij je er vanuit gaat dat hij uit een session/get/post komt.
    Chandlerwoensdag 17 oktober 2007 @ 11:25
    Ik zit met een vraagje,

    Voor een site wil ik teksten omzetten naar afbeeldigen zoals:



    Maar helaas is de output meer zoals dit



    Nu zie je dat de tekst echt er niet uit ziet. Deze afbeelding is gemaakt met de volgend 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
    44
    45
    46
    47
    <?php
    // Set the enviroment variable for GD
    putenv('GDFONTPATH=' . realpath('.'));
    //       The y-ordinate. This sets the position of the fonts baseline, not
    //       the very bottom of the character.
    // Name the font to be used (note the lack of the .ttf extension)

    $font = 'milk';

    // R = 92
    // G = 172
    // B = 107

    header("Content-type: image/png");

    $cache = "./dummy/text_" . $_GET['text'] . ".png";
    if (file_exists($cache))
    {
        readfile($cache);
        exit();
    }
    else
    {
        // Create the image
        $im = imagecreatetruecolor(400, 30);

        // Create some colors
        $green = imagecolorallocate($im, 92, 172, 107);
        // $grey = imagecolorallocate($im, 128, 128, 128);
        $black = imagecolorallocate($im, 248, 248, 248);

        imagefilledrectangle($im, 0, 0, 399, 29, $black);

        //// Add some shadow to the text
        //imagettftext($im, 20, 0, 11, 21, $grey, $font, $_GET['text']);

        // Add the text
        imagettftext($im, 17, 0, 10, 25, $green, $font, $_GET['text']);

        // Using imagepng() results in clearer text compared with imagejpeg()
        imagepng($im, '', 0);
        imagepng($im, $cache, 0);
        imagedestroy($im);
    }


    ?>


    maar nu zie ik niet wat ik fout doe :{ anyone? :D
    broodmonkehwoensdag 17 oktober 2007 @ 12:59
    Hoe zet ik een weeknummer om naar 7 data die hierin vallen? Kan er nergens wat over vinden

    dus bijv.

    week 42 :

    15-10-2007
    16-10-2007
    17-10-2007
    18-10-2007
    19-10-2007
    20-10-2007
    21-10-2007

    Ik hoop dat jullie me op weg kunnen helpen
    WyriHaximuswoensdag 17 oktober 2007 @ 13:11
    quote:
    Op woensdag 17 oktober 2007 11:25 schreef Chandler het volgende:
    Ik zit met een vraagje,

    Voor een site wil ik teksten omzetten naar afbeeldigen zoals:

    [ afbeelding ]

    Maar helaas is de output meer zoals dit

    [ afbeelding ]

    Nu zie je dat de tekst echt er niet uit ziet. Deze afbeelding is gemaakt met de volgend code
    [ code verwijderd ]

    maar nu zie ik niet wat ik fout doe anyone?
    Ff stomme opmerking maar weet je zeker dat je het juiste font gebruikt? En heb je het al eens een stuk groter gedaan?
    Chandlerwoensdag 17 oktober 2007 @ 13:22
    Het is als het goed is de juiste font (kreeg deze van de designer van de site) maar ik zal het iets groter proberen!

    Groter font werkt helaas ook niet, zal eens kijken of er een sharp/crisp versie van deze font te vinden is
    WyriHaximuswoensdag 17 oktober 2007 @ 13:26
    quote:
    Op woensdag 17 oktober 2007 13:22 schreef Chandler het volgende:
    Het is als het goed is de juiste font (kreeg deze van de designer van de site) maar ik zal het iets groter proberen!

    Groter font werkt helaas ook niet, zal eens kijken of er een sharp/crisp versie van deze font te vinden is
    Heb je het font ook bekeken . Is zo lang als het daar aan zou liggen namelijk .
    Chandlerwoensdag 17 oktober 2007 @ 13:28
    Zekers heb ik ook een blik geworpen op de font zelf, de font zelf heb ik gebruik in Photoshop en het voorbeeld plaatje (1e) mee gemaakt!
    WyriHaximuswoensdag 17 oktober 2007 @ 13:36
    quote:
    Op woensdag 17 oktober 2007 13:28 schreef Chandler het volgende:
    Zekers heb ik ook een blik geworpen op de font zelf, de font zelf heb ik gebruik in Photoshop en het voorbeeld plaatje (1e) mee gemaakt!
    Heb je het al met een ander font geprobeer om uit te rulen dat het niet aan de server ligt? Of op een andere server uiteraard .
    Chandlerwoensdag 17 oktober 2007 @ 13:39
    Haha, ik probeer het allemaal op mijn eigen server maaruh ik zag dat het 24PT is, hoeveel PX is dat eingelijk? ik dacht iets van 17px..

    maar zou het renderen op een andere sever iets uitmaken?

    Tevens zie ik de raster ook bij andere fonts

    - nog een andere vraag;

    Hoe krijg ik een interlaced achtergrond? misschien kan dat helpen? == werkt niet

    [ Bericht 20% gewijzigd door Chandler op 17-10-2007 14:05:56 ]
    Lightwoensdag 17 oktober 2007 @ 13:49
    quote:
    Op woensdag 17 oktober 2007 12:59 schreef broodmonkeh het volgende:
    Hoe zet ik een weeknummer om naar 7 data die hierin vallen? Kan er nergens wat over vinden

    dus bijv.

    week 42 :

    15-10-2007
    16-10-2007
    17-10-2007
    18-10-2007
    19-10-2007
    20-10-2007
    21-10-2007

    Ik hoop dat jullie me op weg kunnen helpen
    Daar is volgens mij geen standaardfunctie voor. Wat je kunt proberen is eerst uitzoeken op welke dag 1 januari valt, daarmee berekenen wat dan de maandag van week 1 is, en dan nog 41 weken verder tellen.
    broodmonkehwoensdag 17 oktober 2007 @ 14:43
    Ik heb de oplossing, voor de liefhebbers:

    de 2 functies die nodig zijn:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    function getFirstDayOfWeek($year$weeknr)
    {
    $offset date('w'mktime(0,0,0,1,1,$year));
    $offset = ($offset 5) ? 1-$offset 8-$offset;
    $monday mktime(0,0,0,1,1+$offset,$year);

    return 
    strtotime('+' . ($weeknr 1) . ' weeks'$monday);
    }

    function 
    DatesBetween($startDate$endDate){
        
    // get the number of days between the two given dates.
        
    $days = (strtotime($endDate) - strtotime($startDate)) / 86400 1;
        
    $startMonth date("m"strtotime($startDate));
        
    $startDay date("d"strtotime($startDate));
        
    $startYear date("Y"strtotime($startDate));   
        
    $dates;//the array of dates to be passed back
        
    for($i=0$i<$days$i++){
            
    $dates[$i] = date("d/m/Y"mktime(000$startMonth , ($startDay+$i), $startYear));
        }
        return 
    $dates;   
    }
    ?>


    De code:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $timestamp 
    getFirstDayOfWeek(2007,42);
    $datum1 date("m/d/Y"$timestamp);
    $timestamp strtotime ("+7 day"$timestamp);
    $datum2 date("m/d/Y"$timestamp);

    $dates DatesBetween($datum1,$datum2);
    ?>
    Lightwoensdag 17 oktober 2007 @ 14:48
    Gaat die functie ook goed in bijvoorbeeld 2005?
    Mordrethwoensdag 17 oktober 2007 @ 14:48
    quote:
    Op woensdag 17 oktober 2007 12:59 schreef broodmonkeh het volgende:
    Hoe zet ik een weeknummer om naar 7 data die hierin vallen? Kan er nergens wat over vinden

    dus bijv.

    week 42 :

    15-10-2007
    16-10-2007
    17-10-2007
    18-10-2007
    19-10-2007
    20-10-2007
    21-10-2007

    Ik hoop dat jullie me op weg kunnen helpen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $dezeweek = date("W", mktime());
    $einddag = $dezeweek * 7;
    $mktimebegin = ($einddag * 86400) - (7*86400);
    $mktimebegin += mktime(0,0,0,1,1,date("Y", mktime()));
    for ($i=0; $i<7; $i++) {
        $dagenweek[] = $mktimebegin + ($i*86400);
    }
    ?>


    Dat moet het doen

    [edit]
    Verrek.. vaker refreshen .
    broodmonkehwoensdag 17 oktober 2007 @ 15:00
    quote:
    Op woensdag 17 oktober 2007 14:48 schreef Light het volgende:
    Gaat die functie ook goed in bijvoorbeeld 2005?
    ik heb 2 willekeurige weken uit 2005 gepakt , en dit werkt gewoon! Alleen als ik bijv. week 52 pak , dan pakt ie ook 1 januari 2006 mee, maarja dat maakt niet zoveel uit.
    broodmonkehwoensdag 17 oktober 2007 @ 15:19
    weer iets nieuws , ben vandaag niet echt helder

    Je selecteerd 2 weeknummers bijv. 1 en 8 , hoe krijg ik dan alle nummers daartussen ? 2 , 3 , 4, 5 , 6 ,7.
    Lightwoensdag 17 oktober 2007 @ 15:29
    quote:
    Op woensdag 17 oktober 2007 15:00 schreef broodmonkeh het volgende:

    [..]

    ik heb 2 willekeurige weken uit 2005 gepakt , en dit werkt gewoon! Alleen als ik bijv. week 52 pak , dan pakt ie ook 1 januari 2006 mee, maarja dat maakt niet zoveel uit.
    Ik had het ondertussen zelf ook al gecontroleerd, op dezelfde manier als ik de functie controleerde die ik zelf heb geschreven, met een simpel for-loopje :)
    1
    2
    3
    4
    5
    6
    7
    <?php
    for ($i 1970$i 2038$i++) {
        
    $d getFirstDayOfWeek($i42);
        if( (
    date('W',$d) != 42) or (date('N',$d) != 1) ) echo $i.' ';
    }
    echo
    "\nDone";
    ?>
    Output blijft uiteraard leeg, op Done na :)
    Xcaliburdonderdag 18 oktober 2007 @ 08:28
    quote:
    Op woensdag 17 oktober 2007 15:19 schreef broodmonkeh het volgende:
    weer iets nieuws , ben vandaag niet echt helder :')

    Je selecteerd 2 weeknummers bijv. 1 en 8 , hoe krijg ik dan alle nummers daartussen ? 2 , 3 , 4, 5 , 6 ,7.
    1
    2
    3
    4
    $nummers = array();
    for($i = 1; $i <= 8; $i++){
       nummers[] = $i
    }


    Zoiets?
    ralfiedonderdag 18 oktober 2007 @ 09:38
    quote:
    Op donderdag 18 oktober 2007 08:28 schreef Xcalibur het volgende:

    [..]
    [ code verwijderd ]

    Zoiets?
    http://nl2.php.net/range

    Chandlerdonderdag 18 oktober 2007 @ 09:51
    Niemand iets over mijn GD probleem? Zou heel fijn zijn
    WyriHaximusdonderdag 18 oktober 2007 @ 10:00
    quote:
    Op donderdag 18 oktober 2007 09:51 schreef Chandler het volgende:
    Niemand iets over mijn GD probleem? Zou heel fijn zijn
    Is dit wat voor je? http://nl2.php.net/manual/en/function.imagettftext.php#58081
    Xcaliburdonderdag 18 oktober 2007 @ 11:25
    quote:
    Handig
    Chandlerdonderdag 18 oktober 2007 @ 12:22
    quote:
    Op donderdag 18 oktober 2007 10:00 schreef WyriHaximus het volgende:

    [..]

    Is dit wat voor je? http://nl2.php.net/manual/en/function.imagettftext.php#58081
    Dan krijg je dit

    WyriHaximusdonderdag 18 oktober 2007 @ 12:26
    quote:
    Op donderdag 18 oktober 2007 12:22 schreef Chandler het volgende:

    [..]

    Dan krijg je dit

    [ afbeelding ]
    Ok niet echt dus 0_o!
    Chandlerdonderdag 18 oktober 2007 @ 17:56
    Nah, maar denk dat ik moet gaan werken met SIFR ofzo al heb ik geen macromedia flash?! anyone?
    broodmonkehvrijdag 19 oktober 2007 @ 10:58
    Al haal ik bijv. een variabele hoeveelheid aan gegevens uit de database, hoe zorg ik ervoor dat ik zeg maar om de 2 gegevens die ik uit de database haal een nieuwe regel begint?

    data1 data2
    data3 data4
    data5 data6
    data7 data8

    Nog bedankt voor de antwoorden op mijn vorige vraag, range() was idd wat ik zocht!
    markiemarkvrijdag 19 oktober 2007 @ 11:27
    het aantal resultaten tellen met bijv de functie mysql_num_rows() of als je ze als array er uit haalt met count() en met dat aantal een loop maken..
    dan kun je in de loop laten controleren of het nummer van de loop ($i bijv) een even getal is (deelbaar door 2) als dat het geval is kun je bijv een <br /> invoegen. dit doe je door

    1
    2
    3
    4
    5
    6
    7
    $count = count($array);
    for($i=0; $i<=$count; $i++){
    echo $datum['begin'][$i]."/".$datum['eind'][$i];
    if ($i %2){
    echo "<br />";
    }
    }
    Darkomenvrijdag 19 oktober 2007 @ 18:18
    Heeft iemand ervaring met imagemagick ?
    Met name "+polariod" en " -thumbnail 200x90" deze lijken niet te werken bij mij.
    En is er een manier een schaduw aan te creeeren
    SuperRembovrijdag 19 oktober 2007 @ 18:24
    quote:
    Op vrijdag 19 oktober 2007 11:27 schreef markiemark het volgende:
    [...]
    1
    2
    $count = count($array);
    for($i=0; $i<=$count; $i++){
    Van die <= zou ik < maken ;)
    Xcaliburvrijdag 19 oktober 2007 @ 18:26
    quote:
    Op vrijdag 19 oktober 2007 10:58 schreef broodmonkeh het volgende:
    Al haal ik bijv. een variabele hoeveelheid aan gegevens uit de database, hoe zorg ik ervoor dat ik zeg maar om de 2 gegevens die ik uit de database haal een nieuwe regel begint?

    data1 data2
    data3 data4
    data5 data6
    data7 data8

    Nog bedankt voor de antwoorden op mijn vorige vraag, range() was idd wat ik zocht!
    als je ieder record in een div zet, en die left laat floaten, gaat het vanzelf goed
    WyriHaximusvrijdag 19 oktober 2007 @ 20:05
    Ff snel mysql vraagje, heeft mysql een vergelijkbare functie strtolower (zoals in php)?
    PiRANiAvrijdag 19 oktober 2007 @ 20:15
    quote:
    Op vrijdag 19 oktober 2007 20:05 schreef WyriHaximus het volgende:
    Ff snel mysql vraagje, heeft mysql een vergelijkbare functie strtolower (zoals in php)?
    Volgens mij niet
    PiRANiAvrijdag 19 oktober 2007 @ 20:17
    wel dus:

    LOWER(str)

    zie http://dev.mysql.com/doc/(...).html#function_lower
    Vlekvrijdag 19 oktober 2007 @ 20:42
    Bij het uitlezen van een map dmv readdir loop ik tegen het probleem op dat zodra de map niet de huidige map is waar het script in staat, hij het verschil tussen een map of bestand niet ziet.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
     
        $dir 
    = Array();
        
    $file = Array();
        
    $current ".";
        
    $handle opendir($current);
        while(
    $files readdir($handle)) {
        if(
    $files != "." && $files != "..") {
              if(
    is_dir($files)) $dir[] = $files;
              else 
    $filelist[] = $files;
           }
        }

        echo 
    "dir<br />";
        foreach(
    $dir AS $directory) {
           echo 
    $directory "<br />";
        }
        echo 
    "<br />file<br />";
        foreach(
    $filelist  AS $file) {
           echo 
    $file "<br />";
        }
    ?>


    Als ik het zo doe en het script in de map zelf zet, ziet hij het verschil wel, maar zodra ik het script een map hoger of lager plaats en de uit te lezen map verander naar de naam van die map, ziet hij het vershil niet en geeft elke map als een bestand weer.

    het enige wat ik dan verander is dit:
    1
    2
    3
    <?php
     $current 
    "."word $current "maphoger/nogeenmaphoger";
    ?>


    Iemand enig idee waar dit door komt?
    WyriHaximusvrijdag 19 oktober 2007 @ 20:54
    quote:
    Op vrijdag 19 oktober 2007 20:17 schreef PiRANiA het volgende:
    wel dus:

    LOWER(str)

    zie http://dev.mysql.com/doc/(...).html#function_lower
    Ah tof dankje :D!
    1
    2
    3
    <?php
    $sql 
    "SELECT * FROM table WHERE LOWER(field) = '" strtolower($var) . "'";
    ?>
    ftw *O*
    SuperRembovrijdag 19 oktober 2007 @ 21:19
    quote:
    Op vrijdag 19 oktober 2007 20:54 schreef WyriHaximus het volgende:
    [..]
    Ah tof dankje !
    [ code verwijderd ]

    ftw
    De standaard collation (van MySQL) is case insensitive, dus dan is het omzetten naar lowercase overbodig.
    WyriHaximusvrijdag 19 oktober 2007 @ 21:32
    quote:
    Op vrijdag 19 oktober 2007 21:19 schreef SuperRembo het volgende:

    [..]

    De standaard collation (van MySQL) is case insensitive, dus dan is het omzetten naar lowercase overbodig.
    Wijzig baar dus of niet?
    ralfievrijdag 19 oktober 2007 @ 22:08
    quote:
    Op vrijdag 19 oktober 2007 20:42 schreef Vlek het volgende:
    Bij het uitlezen van een map dmv readdir loop ik tegen het probleem op dat zodra de map niet de huidige map is waar het script in staat, hij het verschil tussen een map of bestand niet ziet.
    [ code verwijderd ]

    Als ik het zo doe en het script in de map zelf zet, ziet hij het verschil wel, maar zodra ik het script een map hoger of lager plaats en de uit te lezen map verander naar de naam van die map, ziet hij het vershil niet en geeft elke map als een bestand weer.

    het enige wat ik dan verander is dit:
    [ code verwijderd ]

    Iemand enig idee waar dit door komt?
    Je moet is_dir() het hele pad geven, niet alleen filename.ext maar bijv ./filename.ext
    maak er dus is_dir($current .'/'. $files) van.

    Verder kan is_dir() ook false geven als de directory bijvoorbeeld niet schrijfbaar is, let daar ook op.
    Vlekvrijdag 19 oktober 2007 @ 22:27
    quote:
    Op vrijdag 19 oktober 2007 22:08 schreef ralfie het volgende:

    [..]

    Je moet is_dir() het hele pad geven, niet alleen filename.ext maar bijv ./filename.ext
    maak er dus is_dir($current .'/'. $files) van.

    Verder kan is_dir() ook false geven als de directory bijvoorbeeld niet schrijfbaar is, let daar ook op.
    Bedankt, dat was dus idd de oplossing.
    SuperRembovrijdag 19 oktober 2007 @ 23:59
    quote:
    Op vrijdag 19 oktober 2007 21:32 schreef WyriHaximus het volgende:

    [..]

    Wijzig baar dus of niet?
    Ja, je kunt het per kolom instellen. Maar je kunt bijvoorbeeld ook bij een vergelijking in de WHERE een andere collation opgeven:

    1
    2
    3
    SELECT *
    FROM t1
    WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;


    Zie MySQL: Using COLLATE in SQL Statements
    WyriHaximuszaterdag 20 oktober 2007 @ 11:02
    quote:
    Op vrijdag 19 oktober 2007 23:59 schreef SuperRembo het volgende:

    [..]

    Ja, je kunt het per kolom instellen. Maar je kunt bijvoorbeeld ook bij een vergelijking in de WHERE een andere collation opgeven:
    [ code verwijderd ]

    Zie MySQL: Using COLLATE in SQL Statements
    Ah zo ok !

    Ff ander vraagje, ik heb een int veld en die wil ik van alles in de tabel bij elkaar optellen. Dus als er
    row 0: 1
    row 1: 2
    row 2: 3
    In staat dan moet er 6 uit komen, daar was in mysql een functie voor, weet iemand die heeltoevallig?
    JortKzaterdag 20 oktober 2007 @ 11:07
    quote:
    Op zaterdag 20 oktober 2007 11:02 schreef WyriHaximus het volgende:

    [..]

    Ah zo ok !

    Ff ander vraagje, ik heb een int veld en die wil ik van alles in de tabel bij elkaar optellen. Dus als er
    row 0: 1
    row 1: 2
    row 2: 3
    In staat dan moet er 6 uit komen, daar was in mysql een functie voor, weet iemand die heeltoevallig?
    SUM(kolomnaam)
    WyriHaximuszaterdag 20 oktober 2007 @ 11:16
    quote:
    Op zaterdag 20 oktober 2007 11:07 schreef JortK het volgende:

    [..]

    SUM(kolomnaam)
    Ah ja thanks, wist ff niet meer hoe die heete
    Ozzlewozzlezaterdag 20 oktober 2007 @ 12:01
    Een vriend van me wil gaan beginnen met PHP, wat voor websites/tutorials raad ik hem aan?
    JortKzaterdag 20 oktober 2007 @ 12:09
    quote:
    Op zaterdag 20 oktober 2007 12:01 schreef Ozzlewozzle het volgende:
    Een vriend van me wil gaan beginnen met PHP, wat voor websites/tutorials raad ik hem aan?
    http://www.tizag.com/phpT/
    WyriHaximuszaterdag 20 oktober 2007 @ 12:33
    quote:
    Op zaterdag 20 oktober 2007 12:01 schreef Ozzlewozzle het volgende:
    Een vriend van me wil gaan beginnen met PHP, wat voor websites/tutorials raad ik hem aan?
    http://nl3.php.net/manual/en/ (Maar ik heb dan ook heel veel zelf uitgevogeld. Daarnaast ook een aanrader om in gedachte te houden als hij iets niet weet/snapt .)
    PiRANiAzaterdag 20 oktober 2007 @ 14:29
    quote:
    Op zaterdag 20 oktober 2007 12:01 schreef Ozzlewozzle het volgende:
    Een vriend van me wil gaan beginnen met PHP, wat voor websites/tutorials raad ik hem aan?
    Ik heb hier het boek "Basiscursus PHP 5" liggen.
    ISBN 9039522642. Kosstte ¤19,95, voor 10 euro mag je hem van me kopen
    Geqxonzaterdag 20 oktober 2007 @ 17:08
    TVP.
    Mordrethzaterdag 20 oktober 2007 @ 23:34
    quote:
    Op zaterdag 20 oktober 2007 12:01 schreef Ozzlewozzle het volgende:
    Een vriend van me wil gaan beginnen met PHP, wat voor websites/tutorials raad ik hem aan?
    hoor van mensen dat "php5 zonder stress" een goed boekje moet wezen om in te stappen
    Darkomenzondag 21 oktober 2007 @ 12:38
    Niemand ervaring met imagemagick?
    JortKmaandag 22 oktober 2007 @ 21:37
    Ik heb ook weer een vraagje :)

    Ik heb een tabel waarin records zitten van gebruikers:

    1
    2
    3
    4
    vdvorst
    Crientj
    [MoeMoe] Jordeh
    [Fred] Fred


    Ga zo maar door... :)

    Nu wil ik die tabel door en een array opbouwen met alle waarden welke in de tabel voorkomen die tussen de [ en ] staan, maar hoe :{

    Kan iemand me daarmee helpen ?
    SuperRembomaandag 22 oktober 2007 @ 22:32
    quote:
    Op maandag 22 oktober 2007 21:37 schreef JortK het volgende:
    Kan iemand me daarmee helpen ?
    Dat is toch vrij recht toe recht aan op te lossen? Je loopt door de records heen. Per record bepaal je de positie van "[" en van "]". Het stuk daartussen is wat je zoekt, dus dat zet je in je array. Wat is 't probleem?
    mscholdinsdag 23 oktober 2007 @ 12:50
    klein vraagje:
    ik ben bezig met een mini mail applicatie voor mijzelf
    en ik vraag mij af of ik iets eraan kan doen dat Imap_open() 3x verbind met mijn mailserver voor een fout te geven...
    in php5 kan je wel de hoeveelheid retries instellen, maar aangezien ik 4 gebruik heb ik 2 mogelijke oplossingen:
    1) upgrade naar php5 (en hopen dat de rest van mij scripts het blijft doen)
    2) een workaround voor imap_open zodat hij maar 1x verbind..

    alleen die workaround kan ik niet vinden, dan blijft alleen optie 1 over...
    iemand nog andere ideeen?
    WyriHaximusdinsdag 23 oktober 2007 @ 12:57
    quote:
    Op dinsdag 23 oktober 2007 12:50 schreef mschol het volgende:
    klein vraagje:
    ik ben bezig met een mini mail applicatie voor mijzelf
    en ik vraag mij af of ik iets eraan kan doen dat Imap_open() 3x verbind met mijn mailserver voor een fout te geven...
    in php5 kan je wel de hoeveelheid retries instellen, maar aangezien ik 4 gebruik heb ik 2 mogelijke oplossingen:
    1) upgrade naar php5 (en hopen dat de rest van mij scripts het blijft doen)
    2) een workaround voor imap_open zodat hij maar 1x verbind..

    alleen die workaround kan ik niet vinden, dan blijft alleen optie 1 over...
    iemand nog andere ideeen?
    Optie 3 en eingelijk mij favoriete optie: Pak een packet sniffer en reverse engineer het IMAP protocol . (Je kunt natuurlijk ook de RFC's lezen .) En zelf een pure php imap class bouwen (of er ergens 1 zoeken http://phpclasses.org/ staat altijd wel iets).
    mscholdinsdag 23 oktober 2007 @ 13:03
    quote:
    Op dinsdag 23 oktober 2007 12:57 schreef WyriHaximus het volgende:

    [..]

    Optie 3 en eingelijk mij favoriete optie: Pak een packet sniffer en reverse engineer het IMAP protocol . (Je kunt natuurlijk ook de RFC's lezen .) En zelf een pure php imap class bouwen (of er ergens 1 zoeken http://phpclasses.org/ staat altijd wel iets).
    zo'n goeie scripter ben ik nou ook weer niet...
    maar die classes ga ik eens bekijken...
    Johnnswoensdag 24 oktober 2007 @ 16:12
    Ik ben op dit moment even bezig met een eigen projectje, en nu heb ik voor mijn script een zoekfunctie gemaakt. Alles werkt goed, dus tot zover geen problemen. Het zoekformulier ziet er als volgt uit:

    Trefwoord: <input>
    Categorie: <dropdown lijst>
    Regio <dropdown lijst>

    Maar het probleem met deze dropdown lijsten is dat je maar 1 categorie, en maar 1 regio kan kiezen. Nu wil ik dit graag veranderen door middel van checkboxes. Alleen krijg ik dit maar niet voor elkaar.

    De dropdownlijst voor het kiezen van een categorie genereer ik op de volgende manier:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    <p><select  if(isset($Branche)){ echo "value=\"$Branche\" "; }  name="Branche">
        
            
    $result mysql_query("SELECT * FROM branche"); 
                    
            <
    option value="alles">Alles</option>
                    
             while(
    $retval=mysql_fetch_array($result)) { 
                    
                <
    option value=" echo($retval['id']); "> echo($retval['naam']); </option>
                    
         } 
    </
    select></p>
    ?>


    Hoe krijg ik nu "het kiezen van een categorie" voor elkaar met checkboxes in plaats van een dropdown lijst?
    Geqxonwoensdag 24 oktober 2007 @ 16:16
    1<select multiple="multiple" size="4">


    Zoiets?
    Johnnswoensdag 24 oktober 2007 @ 16:25
    quote:
    Op woensdag 24 oktober 2007 16:16 schreef Geqxon het volgende:

    [ code verwijderd ]

    Zoiets?
    ik weet hoe je een checklist maakt met html, maar hoe krijg ik de query goed dat alle items die normaal in de list worden weergegeven nu een checkboxje worden
    Dzywoensdag 24 oktober 2007 @ 16:36
    Genereer een lijstje met checkboxes met als naam bijvoorbeeld Categorie21 en dan is de ID van de categorie in dit geval dus 21. Je geeft hem ook die value mee. Dan loop je door alle checkboxen heen bij de zoek opdracht en geef je in de where clausule een dergelijke constructie mee:

    WHERE
    categorie = 13
    OR
    categorie = 15
    OR
    categorie = 21

    Als bv die 3 gecheckt zijn.
    BaggerUserwoensdag 24 oktober 2007 @ 20:26
    krijg een foutmelding :')

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = '0' WHERE id = '2'' at line 1

    1
    2
    3
    4
    <?php
    $query 
    "UPDATE menu SET order = '$i' WHERE id = $menu"
    mysql_query($query) or die(mysql_error()); 
    ?>


    snap er niks van die regel code heeft altijd gewerkt ?
    Lightwoensdag 24 oktober 2007 @ 20:42
    quote:
    Op woensdag 24 oktober 2007 16:36 schreef Dzy het volgende:
    Genereer een lijstje met checkboxes met als naam bijvoorbeeld Categorie21 en dan is de ID van de categorie in dit geval dus 21. Je geeft hem ook die value mee. Dan loop je door alle checkboxen heen bij de zoek opdracht en geef je in de where clausule een dergelijke constructie mee:

    WHERE
    categorie = 13
    OR
    categorie = 15
    OR
    categorie = 21

    Als bv die 3 gecheckt zijn.
    Ik zou kiezen voor een id als categorie[13], categorie[15] en categorie[21]. Van een aangevinkte checkbox wordt de naam doorgegeven naar het php-script, en op deze manier komt dat netjes in een array terecht. Daar kun je met een simpel loopje wel doorheen
    Dzywoensdag 24 oktober 2007 @ 21:35
    Oja dat is nog mooier, was ik even vergeten
    Catch22-donderdag 25 oktober 2007 @ 13:19
    quote:
    Op woensdag 24 oktober 2007 20:26 schreef BaggerUser het volgende:
    krijg een foutmelding

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = '0' WHERE id = '2'' at line 1
    [ code verwijderd ]

    snap er niks van die regel code heeft altijd gewerkt ?
    zowel order als id is een veld ? als je id niet als een integer/float hebt gedefinieerd moet je er apostroffen omheen zetten
    WyriHaximusdonderdag 25 oktober 2007 @ 13:37
    quote:
    Op woensdag 24 oktober 2007 16:36 schreef Dzy het volgende:
    Genereer een lijstje met checkboxes met als naam bijvoorbeeld Categorie21 en dan is de ID van de categorie in dit geval dus 21. Je geeft hem ook die value mee. Dan loop je door alle checkboxen heen bij de zoek opdracht en geef je in de where clausule een dergelijke constructie mee:

    WHERE
    categorie = 13
    OR
    categorie = 15
    OR
    categorie = 21

    Als bv die 3 gecheckt zijn.
    Dit is imo nog steeds netter:
    1WHERE categorie IN (13, 15,21)
    :)
    BaggerUserdonderdag 25 oktober 2007 @ 15:25
    quote:
    Op woensdag 24 oktober 2007 20:26 schreef BaggerUser het volgende:
    krijg een foutmelding

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order = '0' WHERE id = '2'' at line 1
    [ code verwijderd ]

    snap er niks van die regel code heeft altijd gewerkt ?
    iemand enig idee? kan nemlijk niet erg verder als het niet wil en heb zo'n beetje alle komma's al op alle plekken gehad..
    Roonaandonderdag 25 oktober 2007 @ 15:31
    Heb je al een simpele echo $query geprobeerd?

    Probeer deze eens:

    $query = sprintf("UPDATE menu SET order = '%d' WHERE id = '%s'", intval($id), mysql_real_escape_string($menu));

    Gebruik je overigens een variabele voor de tabelnaam? (bijv, $query = "UPDATE $tabel SET ..") Het zou weleens kunnen zijn dat de tabelnaam simpelweg leeg is.

    -r-
    BaggerUserdonderdag 25 oktober 2007 @ 15:56
    quote:
    Op donderdag 25 oktober 2007 15:31 schreef Roönaän het volgende:
    Heb je al een simpele echo $query geprobeerd?

    Probeer deze eens:

    $query = sprintf("UPDATE menu SET order = '%d' WHERE id = '%s'", intval($id), mysql_real_escape_string($menu));

    Gebruik je overigens een variabele voor de tabelnaam? (bijv, $query = "UPDATE $tabel SET ..") Het zou weleens kunnen zijn dat de tabelnaam simpelweg leeg is.

    -r-
    nee die werkt ook niet.. (ookal krijg ik geen foutmelding) snap per niks van...

    dit is eigenlijk de volledige code van de pagina.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    $root 
    $_SERVER["DOCUMENT_ROOT"]."/cms";
    require_once(
    $root.'/check.php');

    $i 1;
    foreach (
    $_GET['menu'] as $menu)
    {
        
    //$query = "UPDATE menu SET order = '$i' WHERE id = "; 
        //mysql_query($query) or die(mysql_error()); 
        
        
    $query sprintf("UPDATE menu SET order = '$menu' WHERE id = '$i'"); 
        
    //echo $i."". $menu ."<br />";
        
    $i++;
    }
    ?>


    waarin de array $menu bestaat uit 2 cyfers (een 1 en een 2) volgorde maakt niet uit..

    en dit is de tabel:

    id page order
    1 page1 0
    2 page2 0

    [ Bericht 66% gewijzigd door BaggerUser op 25-10-2007 16:03:54 ]
    Dzydonderdag 25 oktober 2007 @ 17:59
    Huh, ik snap je constructie niet helemaal. Je bent nu door de $_GET['menu'] aan het loopen, dus dat zou een array zijn? Hoe doe je dat? En je $menu wordt telkens het volgende element uit menu. Leg eens uit wat je daarmee wilt doen?
    Roonaandonderdag 25 oktober 2007 @ 18:36
    Moet het niet SET order = $i WHERE id = $menu zijn? Maar dan beveiligd tegen sql injection?
    BaggerUserdonderdag 25 oktober 2007 @ 20:56
    oke ik probeer het even uit te leggen (misschien doe ik namelijk wel iets heel raars?)

    ik heb een list en die items kan ik sorteren (doormiddel van drag en drop)
    zodra er hier iets veranderd vraagt hij een pagina aan dmv ajax en stuurt hij dit mee:

    ?menu[]=2&menu[]=1

    de cyfers komen in volgorde van id..
    vervolgens lees ik die array dus uit en geef ik menu ($menu (oftewel de id)) de order ($i) op volgorde..

    het moet dus dit zijn:
    UPDATE menu SET order = '$i' WHERE id = '$menu'

    echter hij wil de database niet updaten..

    CREATE TABLE `menu` (
    `id` int(11) NOT NULL auto_increment,
    `page` varchar(30) NOT NULL,
    `order` int(11) NOT NULL,
    UNIQUE KEY `id` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
    BaggerUserdonderdag 25 oktober 2007 @ 20:57
    quote:
    Op donderdag 25 oktober 2007 18:36 schreef Roönaän het volgende:
    Moet het niet SET order = $i WHERE id = $menu zijn? Maar dan beveiligd tegen sql injection?
    ja je had gelijk maar hij wil heel die tabel niet updaten (teminste de sql statement in php is niet goed volgens mij)
    Lightdonderdag 25 oktober 2007 @ 21:04
    quote:
    Op donderdag 25 oktober 2007 20:56 schreef BaggerUser het volgende:
    oke ik probeer het even uit te leggen (misschien doe ik namelijk wel iets heel raars?)

    ik heb een list en die items kan ik sorteren (doormiddel van drag en drop)
    zodra er hier iets veranderd vraagt hij een pagina aan dmv ajax en stuurt hij dit mee:

    ?menu[]=2&menu[]=1

    de cyfers komen in volgorde van id..
    vervolgens lees ik die array dus uit en geef ik menu ($menu (oftewel de id)) de order ($i) op volgorde..
    Da's de eerste plek waar het fout kan gaan natuurlijk. Maar ik wil dat toch even naar het tweede plan verschuiven.
    quote:
    het moet dus dit zijn:
    UPDATE menu SET order = '$i' WHERE id = '$menu'
    Hoe ziet die query er exact uit in je php-script? Kun je de regels waar die query wordt opgebouwd eens op het forum zetten, tussen [php] en [ /php] tags?
    BaggerUserdonderdag 25 oktober 2007 @ 21:10
    quote:
    Op donderdag 25 oktober 2007 21:04 schreef Light het volgende:

    [..]

    Da's de eerste plek waar het fout kan gaan natuurlijk. Maar ik wil dat toch even naar het tweede plan verschuiven.
    [..]

    Hoe ziet die query er exact uit in je php-script? Kun je de regels waar die query wordt opgebouwd eens op het forum zetten
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
     

    dit is mijn complete afhandeling
    :
    [
    php]
    $root $_SERVER["DOCUMENT_ROOT"]."/cms";
    require_once(
    $root.'/check.php');

    $i 1;
    foreach (
    $_GET['menu'] as $menu)
    {
        
    //$query = "UPDATE menu SET order = '$i' WHERE id = $menu"; 
        //mysql_query($query) or die(mysql_error()); 
        
        
    $query sprintf("UPDATE menu SET order = '$i' WHERE id = '$menu'"); 
        echo 
    $i.""$menu ."<br />";
        
    $i++;
    }
    ?>


    let op de echo..
    als ik id 2 bovenaan heb
    en id 1 als 2e heb

    heeft het deze uitvoer:

    12
    21

    dus

    $i = 1 $menu = 2
    $i = 2 $menu = 1

    dit echo'd hij ook dus het meesturen naar de pagina gaat goed.


    zie: http://rolfbroer.nl/cms/modules/Beheer/menu/index.php

    [ Bericht 5% gewijzigd door BaggerUser op 25-10-2007 21:47:01 ]
    SuperRembodonderdag 25 oktober 2007 @ 22:08
    quote:
    Handig.... maar heb je ook een username/password voor me?

    En je controleert de input niet (je escape-t de strings niet), dus gaat de pagina onderuit bij verkeerde input, met de bijbehorende beveiligings risico's.
    BaggerUserdonderdag 25 oktober 2007 @ 22:22
    quote:
    Op donderdag 25 oktober 2007 22:08 schreef SuperRembo het volgende:

    [..]

    Handig.... maar heb je ook een username/password voor me?

    En je controleert de input niet (je escape-t de strings niet), dus gaat de pagina onderuit bij verkeerde input, met de bijbehorende beveiligings risico's.
    sorry hij zou het nu moeten doen zonder wachtwoord en gebruikersnaam.

    klopt moet ik idd nog een keer wat op verzinnen dat hij op ongeldige invoer controleerd.
    broodmonkehzaterdag 27 oktober 2007 @ 22:34
    Ik wil deze XML library gebruiken:

    http://keithdevens.com/software/phpxml

    Maar ik heb hiermee een probleem. Al neem ik die code over die daar staat, maar iets aanpas met mijn XML bestand , krijg ik een vage error.

    Code:

    1
    2
    3
    4
    5
    <?php
    include('xml.php');

    $data XML_unserialize('http://www.website.nl/5daagse.xml');
    ?>


    Ik krijg deze foutmelding:

    Fatal error: Cannot pass parameter 1 by reference in /home/vanveldhoven/html/vanveldhoven.nl/testxml.php on line 4

    Al zet ik nu het xml bestand in een variabele en deze dan in de functie zet , pakt ie het xml bestand gewoon niet. Dit dus:

    1
    2
    3
    4
    5
    6
    7
    <?php
    include('xml.php');
    $xml '5daagse.xml';
    $data XML_unserialize($xml);
    echo 
    "<pre>";
    print_r($data);
    ?>


    Uiteraard bestaat xml.php gewoon. Wat zit hier fout?
    Drenthezaterdag 27 oktober 2007 @ 23:20
    Ik heb een fout in mijn inlogsysteem en ik heb echt GEEN IDEE waar het aan ligt.
    Als ik als admin ingelogd naar /admin wil gaan, word ik doorgestuurd naar mijn hoofdpagina, terwijl dat niet de bedoeling is.
    In mijn /login script staat het stukje
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
       
    /////////////////// LOGIN .PHP ////////////////
    if($dbpass == $userpass) {
        
                 if(
    $useractief == 1) {
          
                     
    $_SESSION['user_id'] = $userid;
                     
    $_SESSION['user_ip'] = $ip;
                     
    $_SESSION['user_status'] = $userstatus;      
                     
    setcookie("cookie_ip"$iptime() + 365 60 60 24);
     
    ?>

    Met alle verwerking enzo, maar dat heb ik even weggelaten.
    Mijn beveiliging van de /admin pagina ziet er zo uit:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
              
    ///////////////////// ADMIN.PHP////////////////////
    function get_ip () { //$_SERVER['REMOTE_ADDR'] werkt niet altijd, daarom gebruik ik deze functie (niet van mij!!)         if (@getenv ($_SERVER['HTTP_X_FORWARDED_FOR'])) {
                 
    $ip = @getenv ($_SERVER['HTTP_X_FORWARDED_FOR']);
             }
             elseif (@
    getenv ($_SERVER['HTTP_CLIENT_IP'])) {
                 
    $ip = @getenv ($_SERVER['HTTP_CLIENT_IP']);
             }
             else {
                 
    $ip $_SERVER['REMOTE_ADDR'];     
             }
             return 
    $ip;
             }
         if(isset(
    $_SESSION['user_id'])) {
        
             
    $ip get_ip ($ip);
        
             if((
    $_SESSION['user_ip'] == $ip) && ($_SESSION['user_ip'] == $_COOKIE['cookie_ip'])) {
      
                 if(
    $_SESSION['user_status'] == 1) { 
            
                                          }else{
                   echo 
    'Geen rechten ol kokstione';
                   exit();
                 }
               }else{

           
    header("Location: /login");
          }      
               }else{
                   
    header("Location: /login");
                  }
         
              
    //}else{
      
    ?>


    Als ik dan, zonder ingelogd te zijn, naar /admin ga, word ik keurig doorgestuurd naar /login. Als ik dan, ingelogd als gewone user, naar /admin ga, krijg ik geen 'Geen rechten' bericht te zien maar word ik doorgestuurd naar /login (omdat ik al ingelogd ben word ik van daar ook weer doorgestuurd naar de hoofdpagina (de '/'). Dat laatste heb ik óók wanneer ik wél als admin ingelogd ben.

    Heeft iemand een idee waarom mijn script fout is?
    Bvd!!
    SuperRembozondag 28 oktober 2007 @ 11:03
    quote:
    Op zaterdag 27 oktober 2007 23:20 schreef Drenthe het volgende:
    Heeft iemand een idee waarom mijn script fout is?
    Ik heb geen idee wat er fout is, maar als je het script wat extra informatie (wat staat er precies in $_SESSION en $_COOKIE) laat uitspugen, dan kom je er vast zelf wel achter.
    Xcaliburzondag 28 oktober 2007 @ 11:33
    quote:
    Op zaterdag 27 oktober 2007 23:20 schreef Drenthe het volgende:
    Heeft iemand een idee waarom mijn script fout is?
    Bvd!!
    misschien wordt je sessie niet opgeslagen omdat je em gelijk redirect...
    probeer eens een session_write_close() voor je header te zetten

    Ik zie zo snel niet of het hieraan ligt, maar het is altijd wel een goed idee om die erbij te zetten als je met sessies werkt...
    broodmonkehzondag 28 oktober 2007 @ 12:24
    quote:
    Op zaterdag 27 oktober 2007 22:34 schreef broodmonkeh het volgende:
    Ik wil deze XML library gebruiken:

    http://keithdevens.com/software/phpxml

    Maar ik heb hiermee een probleem. Al neem ik die code over die daar staat, maar iets aanpas met mijn XML bestand , krijg ik een vage error.

    Code:
    [ code verwijderd ]

    Ik krijg deze foutmelding:

    Fatal error: Cannot pass parameter 1 by reference in /home/vanveldhoven/html/vanveldhoven.nl/testxml.php on line 4

    Al zet ik nu het xml bestand in een variabele en deze dan in de functie zet , pakt ie het xml bestand gewoon niet. Dit dus:
    [ code verwijderd ]

    Uiteraard bestaat xml.php gewoon. Wat zit hier fout?
    OK ik ben al wat verder , het xml bestand moet in een variabele. Maar nu is nog steeds het probleem dat ie het XML bestand niet pakt o.i.d. Ik heb nu deze code:

    1
    2
    3
    4
    5
    6
    7
    <?php
    include('xml.php');
    $xml2 "5daagse.xml";
    $data XML_unserialize($xml2);

    print_r("$data");
    ?>


    XML.php is die functie , en bestaat gewoon. En 5daagse.xml bestaat ook gewoon in dezelfde map. Maar die print_r blijft leeg?
    ralfiezondag 28 oktober 2007 @ 12:27
    Waarom de ""'s om $data? dat gaat nooit werken he...
    mscholzondag 28 oktober 2007 @ 12:31
    quote:
    Op zondag 28 oktober 2007 12:27 schreef ralfie het volgende:
    Waarom de ""'s om $data? dat gaat nooit werken he...
    dat zou prima moeten kunnen:
    http://nl3.php.net/manual/en/language.variables.php
    broodmonkehzondag 28 oktober 2007 @ 12:31
    quote:
    Op zondag 28 oktober 2007 12:27 schreef ralfie het volgende:
    Waarom de ""'s om $data? dat gaat nooit werken he...
    zonder werkt et ook niet
    mscholzondag 28 oktober 2007 @ 12:36
    als je nou eens boven aan de code ini_set("error reporting", E_ALL) neer zet? (en kijkt of er dan een foutmelding uit komt rollen?)
    broodmonkehzondag 28 oktober 2007 @ 12:43
    quote:
    Op zondag 28 oktober 2007 12:36 schreef mschol het volgende:
    als je nou eens boven aan de code ini_set("error reporting", E_ALL) neer zet? (en kijkt of er dan een foutmelding uit komt rollen?)
    Deze foutmelding komt eruit:

    Parse error: syntax error, unexpected T_INCLUDE in /home/website/html/website.nl/testxml.php on line 3
    broodmonkehzondag 28 oktober 2007 @ 12:49
    quote:
    Op zondag 28 oktober 2007 12:43 schreef broodmonkeh het volgende:

    [..]

    Deze foutmelding komt eruit:

    Parse error: syntax error, unexpected T_INCLUDE in /home/website/html/website.nl/testxml.php on line 3
    nvm , dit kwam omdat ik na die code van jou geen ; had gezet. Hij geeft nu verder geen fouten!
    SuperRembozondag 28 oktober 2007 @ 13:04
    quote:
    Op zondag 28 oktober 2007 12:31 schreef mschol het volgende:
    [..]
    dat zou prima moeten kunnen:
    http://nl3.php.net/manual/en/language.variables.php
    Het "werkt' wel, maar er gebeurt niet wat je wil. Je gebruikt print_r() om de details van een variabele te zien, als je "" om die variabele heen zet dan wordt de waarde eerst omgezet naar string, waardoor je een heleboel informatie verliest.
    broodmonkehzondag 28 oktober 2007 @ 14:37
    maar niemand die verder nog een oplossing heeft? Of een andere manier om XML te parsen met php4?
    SuperRembozondag 28 oktober 2007 @ 17:10
    quote:
    Op zondag 28 oktober 2007 14:37 schreef broodmonkeh het volgende:
    maar niemand die verder nog een oplossing heeft? Of een andere manier om XML te parsen met php4?
    Je gebruikt een url/filename als parameter voor XML_unserialize(). Klopt dat wel? Is het mss de bedoeling dat je een xml-string aanlevert?
    broodmonkehzondag 28 oktober 2007 @ 18:48
    quote:
    Op zondag 28 oktober 2007 17:10 schreef SuperRembo het volgende:

    [..]

    Je gebruikt een url/filename als parameter voor XML_unserialize(). Klopt dat wel? Is het mss de bedoeling dat je een xml-string aanlevert?
    nvm, het werkt bedankt!
    broodmonkehzondag 28 oktober 2007 @ 19:00
    nog ff een misschien domme vraag, ik ben relatief nieuw met arrays. Hoe echo ik nou bijv. die maandag hieruit?

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    Array
    (
        [Vijfdaagseverwachting attr] => Array
            (
                [aanmaakdatum] => 20071028
                [aanmaaktijd] => 00:48
            )

        [Vijfdaagseverwachting] => Array
            (
                [Plaatsen] => Array
                    (
                        [Plaats attr] => Array
                            (
                                [naam] => Landelijk
                            )

                        [Plaats] => Array
                            (
                                [Verwachtingen] => Array
                                    (
                                        [Verwachting] => Array
                                            (
                                                [0 attr] => Array
                                                    (
                                                        [dagnaam] => maandag
                                                        [dag] => 29
                                                        [maandnaam] => oktober
                                                        [maand] => 10
                                                        [jaar] => 2007
                                                        [datum] => 20071029
                                                    )

                                                [0] => Array
                                                    (
                                                        [minimumtemperatuur] => 10
                                                        [maximumtemperatuur] => 12
                                                        [windrichting] => wzw
                                                        [windsnelheid] => 3-5
                                                        [weersymbool] => I
                                                        [weersomschrijving] => regen
                                                    )

                                                [1 attr] => Array
                                                    (
                                                        [dagnaam] => dinsdag
                                                        [dag] => 30
                                                        [maandnaam] => oktober
                                                        [maand] => 10
                                                        [jaar] => 2007
                                                        [datum] => 20071030
                                                    )

                                                [1] => Array
                                                    (
                                                        [minimumtemperatuur] => 7
                                                        [maximumtemperatuur] => 11
                                                        [windrichting] => wnw
                                                        [windsnelheid] => 3-5
                                                        [weersymbool] => E
                                                        [weersomschrijving] => buien
                                                    )

                                                [2 attr] => Array
                                                    (
                                                        [dagnaam] => woensdag
                                                        [dag] => 31
                                                        [maandnaam] => oktober
                                                        [maand] => 10
                                                        [jaar] => 2007
                                                        [datum] => 20071031
                                                    )

                                                [2] => Array
                                                    (
                                                        [minimumtemperatuur] => 6
                                                        [maximumtemperatuur] => 13
                                                        [windrichting] => wzw
                                                        [windsnelheid] => 3-4
                                                        [weersymbool] => C
                                                        [weersomschrijving] => zwaar bewolkt
                                                    )

                                                [3 attr] => Array
                                                    (
                                                        [dagnaam] => donderdag
                                                        [dag] => 1
                                                        [maandnaam] => november
                                                        [maand] => 11
                                                        [jaar] => 2007
                                                        [datum] => 20071101
                                                    )

                                                [3] => Array
                                                    (
                                                        [minimumtemperatuur] => 9
                                                        [maximumtemperatuur] => 14
                                                        [windrichting] => wzw
                                                        [windsnelheid] => 3-4
                                                        [weersymbool] => C
                                                        [weersomschrijving] => zwaar bewolkt
                                                    )

                                                [4 attr] => Array
                                                    (
                                                        [dagnaam] => vrijdag
                                                        [dag] => 2
                                                        [maandnaam] => november
                                                        [maand] => 11
                                                        [jaar] => 2007
                                                        [datum] => 20071102
                                                    )

                                                [4] => Array
                                                    (
                                                        [minimumtemperatuur] => 10
                                                        [maximumtemperatuur] => 14
                                                        [windrichting] => wnw
                                                        [windsnelheid] => 3-4
                                                        [weersymbool] => C
                                                        [weersomschrijving] => zwaar bewolkt
                                                    )

                                            )

                                    )

                            )

                    )

            )

    )
    Chandlerdinsdag 30 oktober 2007 @ 15:37
    Regex vraagje.

    Ik wil uit afbeeldingen de data lezen (YYYY:MM:DD HH:II:SS) maar kon nergens een regex pattern vinden die dit mogelijk maakt, heeft iemand deze liggen of kan iemand deze zo uit zijn mouw toveren? want na 3 uur houdt ik het voor gezien

    en ja ik heb gepoogd een pattern te maken maar kreeg het niet voor elkaar
    Catch22-dinsdag 30 oktober 2007 @ 16:11
    1
    2
    3
    <?php
    print_r
    ($arr['vijfdaagseverwachting']['plaatsen']['plaats']['verwachtingen']['verwachting'][0]);
    ?>

    wat gebeurt er als je dat doet?
    SuperRembodinsdag 30 oktober 2007 @ 18:21
    quote:
    Op dinsdag 30 oktober 2007 15:37 schreef Chandler het volgende:
    Regex vraagje.

    Ik wil uit afbeeldingen de data lezen (YYYY:MM:DD HH:II:SS) maar kon nergens een regex pattern vinden die dit mogelijk maakt, heeft iemand deze liggen of kan iemand deze zo uit zijn mouw toveren? want na 3 uur houdt ik het voor gezien :X

    :D en ja ik heb gepoogd een pattern te maken maar kreeg het niet voor elkaar :X
    Deze is wel erg eenvoudig hoor :P (afhankelijk van hoe streng hij moet zijn)
    * 1 of meer cijfers
    * dubbele punt
    * 1 of meer cijfers
    * dubbele punt
    * 1 of meer cijfers
    * witruimte (1 of meer tekens)
    * 1 of meer cijfers
    * dubbele punt
    * 1 of meer cijfers
    * dubbele punt
    * 1 of meer cijfers

    1/(\d+):(\d+):(\d+)\s+(\d+):(\d+):(\d+)/
    Lightdinsdag 30 oktober 2007 @ 18:22
    quote:
    Op dinsdag 30 oktober 2007 15:37 schreef Chandler het volgende:
    Regex vraagje.

    Ik wil uit afbeeldingen de data lezen (YYYY:MM:DD HH:II:SS) maar kon nergens een regex pattern vinden die dit mogelijk maakt, heeft iemand deze liggen of kan iemand deze zo uit zijn mouw toveren? want na 3 uur houdt ik het voor gezien :X

    :D en ja ik heb gepoogd een pattern te maken maar kreeg het niet voor elkaar :X
    Ik zou een - als scheidingsteken tussen jaar, maand en dag gebruiken, maar goed :)

    1
    2
    3
    <?php
    preg_match
    ("/(\d{4}):(\d{2}):(\d{2}) (\d{2}):(\d{2}):(\d{2})/U"$string$matches);
    ?>

    En dan $matches uitlezen voor het resultaat.

    Code is niet getest overigens.
    SuperRembodinsdag 30 oktober 2007 @ 18:25
    quote:
    Op dinsdag 30 oktober 2007 16:11 schreef Catch22- het volgende:

    [ code verwijderd ]

    wat gebeurt er als je dat doet?
    Let er wel op dat de keys van een array case sensitive zijn.
    Catch22-dinsdag 30 oktober 2007 @ 18:37
    gebruik zelf nooit uppercases in arraykeys. vandaar...
    Fredwoensdag 31 oktober 2007 @ 09:51
    Een eenvoudig vraagje, met waarschijnlijk ook een simpel antwoord. Maar ik zie hem niet.

    Hoe kan ik met PHP eenvoudig vaststellen of iemand een mobiele browser gebruikt of niet? Welke browser precies maakt niet, als ik maar kan vaststellen of iemand achter een computer zit of een pda.
    broodmonkehwoensdag 31 oktober 2007 @ 09:56
    quote:
    Op dinsdag 30 oktober 2007 16:11 schreef Catch22- het volgende:

    [ code verwijderd ]

    wat gebeurt er als je dat doet?
    idd nog met hoofdletters maar het ging om het principe en heb et voor elkaar bedankt
    WyriHaximuswoensdag 31 oktober 2007 @ 09:59
    quote:
    Op woensdag 31 oktober 2007 09:51 schreef FredvZ het volgende:
    Een eenvoudig vraagje, met waarschijnlijk ook een simpel antwoord. Maar ik zie hem niet.

    Hoe kan ik met PHP eenvoudig vaststellen of iemand een mobiele browser gebruikt of niet? Welke browser precies maakt niet, als ik maar kan vaststellen of iemand achter een computer zit of een pda.
    1
    2
    3
    <?php
    $_SERVER
    ['HTTP_USER_AGENT']
    ?>
    Fredwoensdag 31 oktober 2007 @ 10:03
    quote:
    Op woensdag 31 oktober 2007 09:59 schreef WyriHaximus het volgende:
    [ code verwijderd ]
    Zover was ik ook al, maar welk op onderdeel moet ik controleren om vast te stellen of men 'vast' of 'mobiel' is?
    Geqxonwoensdag 31 oktober 2007 @ 10:09
    quote:
    Op woensdag 31 oktober 2007 10:03 schreef FredvZ het volgende:

    [..]

    Zover was ik ook al, maar welk op onderdeel moet ik controleren om vast te stellen of men 'vast' of 'mobiel' is?
    http://www.vividimagemark(...)ib/browsers_phone.pm

    Onder "# PDA/Phonecell browsers". Of eventueel:

    http://www.zytrax.com/tech/web/mobile_ids.html
    Fredwoensdag 31 oktober 2007 @ 10:14
    Jullie gaan me toch niet vertellen dat ik voor elke browser apart moet gaan controleren
    Is er dan niemand op het idee gekomen om standaard hiervoor op te zetten
    Geqxonwoensdag 31 oktober 2007 @ 10:16
    Dat is afaik wel hoe Fok het doet.
    Catch22-woensdag 31 oktober 2007 @ 10:18
    *edit*
    Catch22-woensdag 31 oktober 2007 @ 10:18
    Je kan afaik ook een aparte stylesheet instellen voor mobiele devices?

    ik neem aan dat het daarom te doen is
    Fredwoensdag 31 oktober 2007 @ 10:27
    quote:
    Op woensdag 31 oktober 2007 10:18 schreef Catch22- het volgende:
    Je kan afaik ook een aparte stylesheet instellen voor mobiele devices?

    ik neem aan dat het daarom te doen is
    Jeps, idee dat is dat ik DVD-database heb waarmee ik in de winkel via mijn mobiel kan zien of ik een film al heb of op een wenslijst zetten. Om dataverkeer te besparen wil ik voor mijn mobiel dus minder gegevens doorsturen. Maar dan moet ik wel kunnen vaststellen dat het een mobiel is.
    WyriHaximuswoensdag 31 oktober 2007 @ 10:31
    quote:
    Op woensdag 31 oktober 2007 10:14 schreef FredvZ het volgende:
    Jullie gaan me toch niet vertellen dat ik voor elke browser apart moet gaan controleren
    Is er dan niemand op het idee gekomen om standaard hiervoor op te zetten
    Nee afaik is er geen standaard dus moet je er op checken. Er zijn wel her en der classes die dat al heel uitgebreid kunnen checken voor je . Dus die zou je ook kunnen gebruiken .
    Geqxonwoensdag 31 oktober 2007 @ 10:42
    Je zou op zich kunnen kijken naar het verschil tussen een mobiele en een desktop browser, en daar eventueel wat mee doen? Het gebruik aan JavaScript en soms zelfs stylesheets?
    Fredwoensdag 31 oktober 2007 @ 10:43
    quote:
    Op woensdag 31 oktober 2007 10:31 schreef WyriHaximus het volgende:
    Nee afaik is er geen standaard dus moet je er op checken. Er zijn wel her en der classes die dat al heel uitgebreid kunnen checken voor je . Dus die zou je ook kunnen gebruiken .
    Toch jammer, want nu staan duizenden webservers miljoenen keren dezelfde conclusie uit te rekenen... Zonde van de rekenkracht en dus ook performance.
    Catch22-woensdag 31 oktober 2007 @ 10:58
    http://www.w3.org/TR/html401/types.html#type-media-descriptors
    Geqxonwoensdag 31 oktober 2007 @ 11:13
    quote:
    Dus

    1<link rel="stylesheet" type="text/css" href="handheld.css" media="handheld">


    zou mogelijk moeten zijn?
    Catch22-woensdag 31 oktober 2007 @ 11:14
    sterker nog, dat is mogelijk
    Qunixvrijdag 2 november 2007 @ 09:58
    Vraagje...

    Ik heb een formulier gemaakt en ik wil alleen controleren of hij daadwerkelijk is ingevuld.

    1
    2
    3
    4
    5
    if (trim(empty($_POST['bezwaar'];))) {
       $foutmelding.= form_bezwaar;
    } else {
       $_SESSION['bezwaar'] = $bezwaar;

    Zo doe ik het. Het is wel erg simpel, maar goed :')

    Nu wil ik kijken of er een foutmelding is. Zo ja moet hij het tonen.

    1
    2
    3
    4
    5
    if (isset($foutmelding)) {
    // hier verder
    } else {
    // hier foutmelding
    }

    Doe ik het nu goed?
    Dzyvrijdag 2 november 2007 @ 10:18
    Volgens mij wel, maar ga het eens testen ofzo? Gewoon even echo-en.
    Geqxonvrijdag 2 november 2007 @ 10:21
    Ik zou zelfs iets als dit doen:
    1if (empty(trim($_POST['bezwaar'])))


    In dit geval kijk je of een getrimde $_POST['bezwaar'] leeg is of niet.
    SuperRembovrijdag 2 november 2007 @ 10:39
    empty("0") levert true, erg irritant!
    Het nadeel van code van Geqxon is dat die een error geeft als $_POST['bezwaar'] niet bestaat.
    Geqxonvrijdag 2 november 2007 @ 10:45
    quote:
    Op vrijdag 2 november 2007 10:39 schreef SuperRembo het volgende:
    empty("0") levert true, erg irritant!
    "0" is dan natuurlijk een niet lege string, maar ik snap wat je bedoeld.
    quote:
    Het nadeel van code van Geqxon is dat die een error geeft als $_POST['bezwaar'] niet bestaat.
    Ik weet niet of PHP if-statements halverwege afkapt, maar als hij dat wel doet:

    1if (isset($POST['bezwaar']) && !empty(trim($_POST['bezwaar'])))
    Catch22-vrijdag 2 november 2007 @ 11:22
    quote:
    Op vrijdag 2 november 2007 10:39 schreef SuperRembo het volgende:
    empty("0") levert true, erg irritant!
    Het nadeel van code van Geqxon is dat die een error geeft als $_POST['bezwaar'] niet bestaat.
    Dat is toch vrij logisch? 0 = false en dat is dus empty
    Dzyvrijdag 2 november 2007 @ 11:32
    quote:
    Op vrijdag 2 november 2007 11:22 schreef Catch22- het volgende:

    [..]

    Dat is toch vrij logisch? 0 = false en dat is dus empty
    Ben ik niet met je eens, als het een integer 0 was, ok. Maar een string met "0" is niet leeg, daar staat namelijk 1 character in, een 0. Dus niet empty.
    mvcvrijdag 2 november 2007 @ 17:31
    Wie kan me hier misschien mee helpen

    Wake on Lan via PHP
    qu63vrijdag 2 november 2007 @ 17:40
    quote:
    Op woensdag 31 oktober 2007 10:27 schreef FredvZ het volgende:

    [..]

    Jeps, idee dat is dat ik DVD-database heb waarmee ik in de winkel via mijn mobiel kan zien of ik een film al heb of op een wenslijst zetten. Om dataverkeer te besparen wil ik voor mijn mobiel dus minder gegevens doorsturen. Maar dan moet ik wel kunnen vaststellen dat het een mobiel is.
    ik controleer gewoon op de user-agent-string die mijn telefoon meestuurd, helaas werkt het daarom dus ook alleen met mijn telefoon

    Maar verder kan je zoeken op telefoon/pda-merk in de user-agent, dat zit er meestal wel in namelijk!
    Catch22-zaterdag 3 november 2007 @ 02:28
    quote:
    Op vrijdag 2 november 2007 11:32 schreef Dzy het volgende:

    [..]

    Ben ik niet met je eens, als het een integer 0 was, ok. Maar een string met "0" is niet leeg, daar staat namelijk 1 character in, een 0. Dus niet empty.
    hij evalueert een string 0 naar false, dat is nu eenmaal vaak zo.

    http://nl.php.net/empty
    PiRANiAzaterdag 3 november 2007 @ 14:31
    Hoe werken inputboxen met vette/schuine/onderstreepte letters?
    Zijn het textarea's of toch wat anders?

    Misschien verkeerde topic, maar mensen hier zullen het misschien wel weten.
    WyriHaximuszaterdag 3 november 2007 @ 14:35
    WYSIWYG editor? Zoek eens op tiny_mce, fckeditor en die term .
    Dzyzaterdag 3 november 2007 @ 23:29
    quote:
    Op zaterdag 3 november 2007 02:28 schreef Catch22- het volgende:

    [..]

    hij evalueert een string 0 naar false, dat is nu eenmaal vaak zo.

    http://nl.php.net/empty
    Ja ok, maar het is niet echt logisch. Een van de weinige echte flaws in PHP vind ik, het loose typen
    Geqxonzaterdag 3 november 2007 @ 23:33
    quote:
    Op zaterdag 3 november 2007 02:28 schreef Catch22- het volgende:

    [..]

    hij evalueert een string 0 naar false, dat is nu eenmaal vaak zo.
    Heerlijk. Doe mij maar extreem stricte type-casting zoals in Java.
    SuperRembozondag 4 november 2007 @ 11:36
    Loose typen kan best handig zijn, alleen de onlogische keuzes die er in php gemaakt zijn maken het er niet handiger op. Wat dat betreft zit javascript veel fijner in elkaar.
    Geqxonzondag 4 november 2007 @ 13:10
    Zo is het mij laatst niet gelukt om een Long waarde uit een MySQL database te halen, en deze in een PHP long-int te stoppen. Schijnbaar had ik daar een 32-bits systeem voor nodig... erg jammer.
    beertenzondag 4 november 2007 @ 16:14
    ik heb 2 tabellen. Eentjke met fotoalbuims, eentje met de foto's
    Nu wil ik op de voorpagina van het fotoscript alle albums afbeelden, met foto.
    Met een query selecteer alle albums, en van ieder album één foto. Maar hoe doe ik dat????

    1   SELECT fotos.*, fotoalbum.* FROM fotos, fotoalbum WHERE fotos.album_id=fotoalbum.fotoalbum_id LIMIT 1   


    Met deze query haalt ie slecht één record op. Niet van ieder album één record. Hoe flik ik m dit?
    JortKzondag 4 november 2007 @ 16:20
    quote:
    Op zondag 4 november 2007 16:14 schreef beerten het volgende:
    ik heb 2 tabellen. Eentjke met fotoalbuims, eentje met de foto's
    Nu wil ik op de voorpagina van het fotoscript alle albums afbeelden, met foto.
    Met een query selecteer alle albums, en van ieder album één foto. Maar hoe doe ik dat????


    [ code verwijderd ]


    Met deze query haalt ie slecht één record op. Niet van ieder album één record. Hoe flik ik m dit?
    Die limit weghalen, probeer de GROUP BY eens
    beertenzondag 4 november 2007 @ 16:29
    quote:
    Op zondag 4 november 2007 16:20 schreef JortK het volgende:

    [..]

    Die limit weghalen, probeer de GROUP BY eens
    Oh ja, dat was het..... Thanx!
    Catch22-zondag 4 november 2007 @ 16:51
    als je op primary key selecteert hoef je natuurlijk geen limit te gebruiken
    SuperRembozondag 4 november 2007 @ 17:55
    quote:
    Op zondag 4 november 2007 16:14 schreef beerten het volgende:
    ik heb 2 tabellen. Eentjke met fotoalbuims, eentje met de foto's
    Nu wil ik op de voorpagina van het fotoscript alle albums afbeelden, met foto.
    Met een query selecteer alle albums, en van ieder album één foto. Maar hoe doe ik dat????
    [ code verwijderd ]
    Met deze query haalt ie slecht één record op. Niet van ieder album één record. Hoe flik ik m dit?
    De vraag is welke foto je voor elk album wil laten zien.
    Catch22-zondag 4 november 2007 @ 18:09
    1
    2
    3
    <?php
       SELECT fotos
    .*, fotoalbum.* FROM fotosfotoalbum WHERE fotos.album_id=fotoalbum.fotoalbum_id ORDER BY rand();  
    ?>

    ?

    ff zoeken met google, zijn wel voorbeelden.
    SuperRembozondag 4 november 2007 @ 19:29
    quote:
    Op zondag 4 november 2007 18:09 schreef Catch22- het volgende:
    [ code verwijderd ]
    ?
    ff zoeken met google, zijn wel voorbeelden.
    Die query geeft alle foto's in willekeurige volgorde. Dat is dus niet wat ie wil.
    qu63zondag 4 november 2007 @ 19:36
    quote:
    Op zondag 4 november 2007 19:29 schreef SuperRembo het volgende:

    [..]

    Die query geeft alle foto's in willekeurige volgorde. Dat is dus niet wat ie wil.
    een LIMIT 1 erachter dan
    beertenzondag 4 november 2007 @ 21:30
    quote:
    Op zondag 4 november 2007 17:55 schreef SuperRembo het volgende:

    [..]

    De vraag is welke foto je voor elk album wil laten zien.
    Maakt geen flikker uit. Een willekeurige foto. Mocht ik een specifieke foto willen, dan moet ik dit ergens instellen per album. Oftewel, een extra tabel.

    GROUP BY deed de truuk!
    SuperRembozondag 4 november 2007 @ 22:57
    quote:
    Op zondag 4 november 2007 21:30 schreef beerten het volgende:
    GROUP BY deed de truuk!
    Dan heb je nu vast zo'n brakke query die leunt op de brakke implementatie van group by door MySql en mogelijk onzinnige data geeft
    beertenmaandag 5 november 2007 @ 06:41
    quote:
    Op zondag 4 november 2007 19:29 schreef SuperRembo het volgende:

    [..]

    Die query geeft alle foto's in willekeurige volgorde. Dat is dus niet wat ie wil.
    Welke foto maakt niet uit, de volgorde dus ook niet.
    Dat GROUP BY een brakke ondersteuning kent in MySQL is voor mij nieuw. Ik laat me verassen!
    Lightmaandag 5 november 2007 @ 08:35
    quote:
    Op maandag 5 november 2007 06:41 schreef beerten het volgende:

    [..]

    Welke foto maakt niet uit, de volgorde dus ook niet.
    Dat GROUP BY een brakke ondersteuning kent in MySQL is voor mij nieuw. Ik laat me verassen!
    Kijk hier eens.
    SuperRembomaandag 5 november 2007 @ 12:22
    Als je maar 1 veld van de fotos tabel nodig hebt dan kan je het zo doen
    1
    2
    3
    4
    5
    6
    7
    SELECT a.id, a.name,
       (SELECT f.filename 
       FROM fotos f 
       WHERE f.album_id = a.fotoalbum_id 
       ORDER BY Rand()) filename
    FROM fotoalbum a
    ORDER BY a.name


    Als je meer velden uit fotos nodig hebt dan wordt 't wat lastiger. (Of als je een oude MySQL versie gebruikt zonder subselect ondersteuning).
    beertenmaandag 5 november 2007 @ 17:48
    quote:
    Op maandag 5 november 2007 12:22 schreef SuperRembo het volgende:
    Als je maar 1 veld van de fotos tabel nodig hebt dan kan je het zo doen
    [ code verwijderd ]

    Als je meer velden uit fotos nodig hebt dan wordt 't wat lastiger. (Of als je een oude MySQL versie gebruikt zonder subselect ondersteuning).
    $sql = "SELECT fotoalbum.fotoalbum_id,
    fotos.foto_link,
    fotos.foto_thumb,
    fotoalbum.fotoalbum_name,
    fotoalbum.fotoalbum_description,
    fotoalbum.fotoalbum_datum
    FROM fotoalbum, fotos WHERE fotoalbum.fotoalbum_id=fotos.fotoalbum_id
    GROUP BY fotoalbum_id";

    Dit is de complete query.
    Het werkt uitstekend. Als ik bovenstaande reacties lees en nader bekijk, is dit echter niet geheel de bedoeling van GROUP BY. Wat is een alternatief? Ik wil uiteindelijk maar één foto, en welke is niet interessant.
    beertendinsdag 6 november 2007 @ 06:39
    Ik krijg op een ander forum deze reactie

    SELECT
    fotoalbum.*
    , (SELECT fotoid FROM fotos WHERE fotos.albumid=fotoalbum.albumid ORDER BY RAND() LIMIT 1) AS fotoid
    FROM
    fotoalbum
    SuperRembodinsdag 6 november 2007 @ 07:26
    Een soortgelijke oplossing had ik hierboven ook al gegeven.
    Geqxondinsdag 6 november 2007 @ 11:56
    Zijn recursieve functies in PHP mogelijk?

    Edit: Jawel.

    [ Bericht 49% gewijzigd door Geqxon op 06-11-2007 12:42:18 ]
    DaFrenkdinsdag 6 november 2007 @ 16:50
    Helaas zal ik waarschijnlijk de komende twee weken op Windows moeten gaan developen, dat doe ik dus eerst altijd lokaal. In MacOS X had ik daarvoor MAMP, een lokale server met PHP, MySQL, PHPMyAdmin etc.

    Nu ken ik EasyPHP voor Windows, maar zijn daar nog goede (en bij voorkeur gratis) alternatieven voor?
    Geqxondinsdag 6 november 2007 @ 16:55
    Het alternatief voor MAMP? XAMPP.
    DaFrenkdinsdag 6 november 2007 @ 16:58
    quote:
    Op dinsdag 6 november 2007 16:55 schreef Geqxon het volgende:
    Het alternatief voor MAMP? XAMPP.
    Hehe, zelfs voor OS X! Nu ben ik best tevreden over MAMP. Maar goed, ik zal deze zeker eens proberen onder Windows dan! Thanks!
    PiRANiAdinsdag 6 november 2007 @ 20:31
    quote:
    Op dinsdag 6 november 2007 11:56 schreef Geqxon het volgende:
    Zijn recursieve functies in PHP mogelijk?

    Edit: Jawel.
    link?
    beertendinsdag 6 november 2007 @ 20:35
    quote:
    Op dinsdag 6 november 2007 20:31 schreef PiRANiA het volgende:

    [..]

    link?
    http://www.google.nl/search?hl=nl&q=recursion+php&btnG=Google+zoeken&meta=

    Ik werk er zelf mee in PHP, werkt uitstekend.
    Waarom zou het niet werken????
    Geqxondinsdag 6 november 2007 @ 20:41
    quote:
    Op dinsdag 6 november 2007 20:35 schreef beerten het volgende:

    [..]
    Waarom zou het niet werken????
    Door een domme structurele fout. Bij recursieve functies moet je je kop erbij houden.
    qu63dinsdag 6 november 2007 @ 20:43
    Ik heb weer eens een geniaal idee

    Of het uitvoerbaar is, is weer een ander verhaal..

    Ik wil een site (oid) opzetten, waarin je dan 1 artiest invult, en mijn site moet dan uitzoeken of die artiest een link heeft met Queen (dat is dus de uitgangsbasis)
    dus:

    INVOER -> Queen
    INVOER -> ARTIEST/LOKATIE/BIJZONDERHEDEN -> Queen

    dus met maximaal 1 tussenstap (een beetje zoals je bij hyves dus kan zien hoe je via via bij iemand terecht kan komen..)

    Hoe zou ik mijn database op moeten stellen?

    Er zit wel megaveel data in, dat weet ik wel...
    Dus ook veel tabellen denk ik, maar hoe zit het met de onderlinge relaties? Hoe is dat makkelijk te maken?

    Ik hoop dat het duidelijk is, an dat iemand me kan helpen
    Geqxondinsdag 6 november 2007 @ 20:47
    Een tabel met artiesten, en een koppeltabel voor de relaties tussen artiesten? Vervolgens een left join op de koppeltabel, en je hebt alle relaties.
    qu63dinsdag 6 november 2007 @ 21:14
    quote:
    Op dinsdag 6 november 2007 20:47 schreef Geqxon het volgende:
    Een tabel met artiesten, en een koppeltabel voor de relaties tussen artiesten? Vervolgens een left join op de koppeltabel, en je hebt alle relaties.
    het gaat wel om bijna 40 jaar aan data he. Dus een link tussen Queen en the beatles is, is dat ze in dezelfde studio opgenomen hebben, maar ook dat Brian(gitarist) en Roger(drummer) in 2002 tijdens het jubileum-concert voor de Engelse koningin samen met Paul McCartney gespeeld hebben..
    Dzydinsdag 6 november 2007 @ 21:36
    quote:
    Op dinsdag 6 november 2007 20:35 schreef beerten het volgende:

    [..]

    http://www.google.nl/search?hl=nl&q=recursion+php&btnG=Google+zoeken&meta=

    Ik werk er zelf mee in PHP, werkt uitstekend.
    Waarom zou het niet werken????
    Het werkt prima, alleen is het echt retetraag ten opzichte van andere programmeer talen.
    PiRANiAdinsdag 6 november 2007 @ 21:46
    quote:
    Op dinsdag 6 november 2007 20:43 schreef qu63 het volgende:
    Ik heb weer eens een geniaal idee

    Of het uitvoerbaar is, is weer een ander verhaal..

    Ik wil een site (oid) opzetten, waarin je dan 1 artiest invult, en mijn site moet dan uitzoeken of die artiest een link heeft met Queen (dat is dus de uitgangsbasis)
    dus:

    INVOER -> Queen
    INVOER -> ARTIEST/LOKATIE/BIJZONDERHEDEN -> Queen

    dus met maximaal 1 tussenstap (een beetje zoals je bij hyves dus kan zien hoe je via via bij iemand terecht kan komen..)

    Hoe zou ik mijn database op moeten stellen?

    Er zit wel megaveel data in, dat weet ik wel...
    Dus ook veel tabellen denk ik, maar hoe zit het met de onderlinge relaties? Hoe is dat makkelijk te maken?

    Ik hoop dat het duidelijk is, an dat iemand me kan helpen
    last.fm biedt zo iets toch ook aan?

    En als je het over zulke hoeveelheden date hebt...
    Wordt wat traag misschien?
    qu63dinsdag 6 november 2007 @ 22:02
    quote:
    Op dinsdag 6 november 2007 21:46 schreef PiRANiA het volgende:

    [..]

    last.fm biedt zo iets toch ook aan?
    niet zo uitgebreid geloof ik..
    quote:
    En als je het over zulke hoeveelheden date hebt...
    Wordt wat traag misschien?
    dat zal wel ja, daarom probeer ik het ook zo efficient mogelijk te doen.
    Bij hyves duurt het meestal ook een seconde of 3 voordat ik wat zie
    Tuvai.netdinsdag 6 november 2007 @ 22:02
    quote:
    Op dinsdag 6 november 2007 20:43 schreef qu63 het volgende:
    Ik heb weer eens een geniaal idee

    Of het uitvoerbaar is, is weer een ander verhaal..

    Ik wil een site (oid) opzetten, waarin je dan 1 artiest invult, en mijn site moet dan uitzoeken of die artiest een link heeft met Queen (dat is dus de uitgangsbasis)
    dus:

    INVOER -> Queen
    INVOER -> ARTIEST/LOKATIE/BIJZONDERHEDEN -> Queen

    dus met maximaal 1 tussenstap (een beetje zoals je bij hyves dus kan zien hoe je via via bij iemand terecht kan komen..)

    Hoe zou ik mijn database op moeten stellen?

    Er zit wel megaveel data in, dat weet ik wel...
    Dus ook veel tabellen denk ik, maar hoe zit het met de onderlinge relaties? Hoe is dat makkelijk te maken?

    Ik hoop dat het duidelijk is, an dat iemand me kan helpen
    Hoe omvangrijk is/zijn de database/gegevens? MySQL vind ik nog steeds supertof en gebruik ik nog het meest, maar voor hele omvangrijke databases zijn MSSQL of Oracle nog steeds meer geschikt, en kunnen sneller met grote aantallen gegevens omgaan.
    qu63dinsdag 6 november 2007 @ 22:05
    quote:
    Op dinsdag 6 november 2007 22:02 schreef Tuvai.net het volgende:

    [..]

    Hoe omvangrijk is/zijn de database/gegevens? MySQL vind ik nog steeds supertof en gebruik ik nog het meest, maar voor hele omvangrijke databases zijn MSSQL of Oracle nog steeds meer geschikt, en kunnen sneller met grote aantallen gegevens omgaan.
    het zal zeker omvangrijk zijn, en helaas heb ik alleen de beschikking over MySQL

    en omvangrijk zal zijn, zeker 2000 artiesten (minimaal) en dus links in maximaal 2 (A->B->Queen of A->Queen) stappen en de bijbehorende tabellen etc.
    En dan dus nog de reden waarom ze linken, en dat kan weer onderverdeeld worden in personen/artiesten, plaatsen, optredens, nummers, etc.

    [ Bericht 1% gewijzigd door qu63 op 06-11-2007 22:14:20 ]
    wc-eenddinsdag 6 november 2007 @ 22:24
    Ik heb een php script, tis een simpel formulier dat opgestuurd wordt naar een email adres.. nu wil ik dat juist testen.. Ik heb XAMPP geinstalleerd en het formulier ziet er netjes uit maar hoe kan ik testen of ik idd ook dat mailtje krijg? Mijn eigen webspace ondersteunt geen php.. dus das geen optie..

    Ik ben trouwens een php noob, het script is ook niet van mijzelf..
    WyriHaximusdinsdag 6 november 2007 @ 22:28
    quote:
    Op dinsdag 6 november 2007 22:05 schreef qu63 het volgende:

    [..]

    het zal zeker omvangrijk zijn, en helaas heb ik alleen de beschikking over MySQL

    en omvangrijk zal zijn, zeker 2000 artiesten (minimaal) en dus links in maximaal 2 (A->B->Queen of A->Queen) stappen en de bijbehorende tabellen etc.
    En dan dus nog de reden waarom ze linken, en dat kan weer onderverdeeld worden in personen/artiesten, plaatsen, optredens, nummers, etc.
    2000 is piece of cake voor MySQL, het is iets relevanter om te weten hoeveel tabellen met hoeveel geschatte reccords (en rond het maar ruig naar boven af). Het is een beetje de vraag wat je nou precies wilt gaan opslaan en hoe je dat doet. Als je dat op de juiste manier doet kan je veel snelheids winst halen net als met je queries goed optimaliseren . Heb je ook niet postgresql tot je mogelijkheden?
    beertendinsdag 6 november 2007 @ 22:31
    Uit onderzoek blijkt dat je via 6 mensen/stappen de hele wereld kent. Oftewel: Je kent iemand, die weer iemand kent, die iemand kent etc. en dat 6 keer. Tussen jou en GW Bush zitten dus hooguit 5 mensen.

    Je kan het ook anders bekijken: Iedere artiest is via 6 stappen aan een andere artiest gelinkt.
    Aangezien niet iedere stap een artiest hoeft te zijn lopen sporen dus ook wel eens dood.
    Kurt Cobain kent een producer, die een platenbaas kent, die een schoonmaker heeft, met een broer in engeland, wier neef de tuinman is van Freddy Mercury. Die stap loopt dood voor jou voorbeeld. Tuinmannen staan niet in je database....

    Wat heb je hier nu aan voor je database: In directe zin weinig. Indirect: ik probeer via een rare weg voor te stellen om het aantal stappen in te perken. Als je een (recursieve) functie maakt om links te ontdekken, blijft die functie eindeloos zoeken in de diepte. Ik denk dat het verstandig is om een soort van zoekstrategie op te zetten, met een maximum aantal stappen.
    Stel: Kurt Cobain heeft een drummer, die een gastoptreden heeft op een plaat, waarvan de zanger ooit lid was van een band, wier toetsenist ooit optrad met het oude bandje van Brian May. Hoe gek wil je het maken? Welke verbanden zijn legitiem? Welke paden wil je bewandelen.
    Welke data heb je uberhaupt?

    Werk voor jezelf eens een aantal voorbeelden uit hoe links zouden kunnen lopen. Welke data heb je? Namen, datums, optredens, studio, platenlabel, bands, gastoptredens weet ik veel.

    Als je een aantal concrete voorbeelden uitwerkt zie je ook hoe de verbanden liggen. En zou je een zoekstrategie kunnen opzetten.

    Bouw in ieder geval limieten in qua stappen/verbaden. Zo voorkom je oneindige loops en overbelasting van de server.
    wobbeldinsdag 6 november 2007 @ 23:01
    Ik heb een variable....

    HK-2352
    of
    PC-1362

    Hoe zorg ik ervoor dat alles voor de - weg wordt gehaald? (zijn altijd 3 tekens, PC- of HK- of CO-)

    Volgensmij is er een functie waarmee je de eerste 3 karakters kan weglaten maar welke
    Dzydinsdag 6 november 2007 @ 23:12
    Substr($variabele,3)
    mscholwoensdag 7 november 2007 @ 00:15
    quote:
    Op dinsdag 6 november 2007 22:24 schreef wc-eend het volgende:
    Ik heb een php script, tis een simpel formulier dat opgestuurd wordt naar een email adres.. nu wil ik dat juist testen.. Ik heb XAMPP geinstalleerd en het formulier ziet er netjes uit maar hoe kan ik testen of ik idd ook dat mailtje krijg? Mijn eigen webspace ondersteunt geen php.. dus das geen optie..

    Ik ben trouwens een php noob, het script is ook niet van mijzelf..
    je kan iets als wamp (windows apache mysql php) installeren (geen idee overigens of XAMPP hier al in voorziet..)
    en dan het script in de root c.q. htdocs van je installatie zetten en deze benaderen via http://localhost/scriptnaam.php (let wel op 2 dingen:
    1) apache moet draaien (duh )
    2) stel in de php.ini (of in de installer of waar dan ook waar de php instellingen staan) als smtp_server de smtp server van je provider in
    Catch22-woensdag 7 november 2007 @ 00:24
    quote:
    Op dinsdag 6 november 2007 23:01 schreef wobbel het volgende:
    Ik heb een variable....

    HK-2352
    of
    PC-1362

    Hoe zorg ik ervoor dat alles voor de - weg wordt gehaald? (zijn altijd 3 tekens, PC- of HK- of CO-)

    Volgensmij is er een functie waarmee je de eerste 3 karakters kan weglaten maar welke
    in dit geval kan je gewoon intval($var) gebruiken.
    Dzywoensdag 7 november 2007 @ 01:02
    Kan ook ja Maar substr is natuurlijk wel normaler voor zulke dingen dus als je dit nu gewoon gebruikt voor zoiets en intval voor wanneer je de integer waarde ergens voor nodig hebt leer je het meteen goed aan
    Tuvai.netwoensdag 7 november 2007 @ 08:51
    quote:
    Op dinsdag 6 november 2007 22:05 schreef qu63 het volgende:

    [..]

    het zal zeker omvangrijk zijn, en helaas heb ik alleen de beschikking over MySQL

    en omvangrijk zal zijn, zeker 2000 artiesten (minimaal) en dus links in maximaal 2 (A->B->Queen of A->Queen) stappen en de bijbehorende tabellen etc.
    En dan dus nog de reden waarom ze linken, en dat kan weer onderverdeeld worden in personen/artiesten, plaatsen, optredens, nummers, etc.
    Oh, ik dacht dat we het over grotere getallen hadden. Zoiets is in de databasewereld niet echt kolossaal hoor. Dan is MySQL in dit geval zeer zeker geschikt.
    quote:
    Op dinsdag 6 november 2007 23:01 schreef wobbel het volgende:
    Ik heb een variable....

    HK-2352
    of
    PC-1362

    Hoe zorg ik ervoor dat alles voor de - weg wordt gehaald? (zijn altijd 3 tekens, PC- of HK- of CO-)

    Volgensmij is er een functie waarmee je de eerste 3 karakters kan weglaten maar welke
    explode() gebruiken met - als delimiter: http://nl3.php.net/manual/nl/function.explode.php
    Geqxonwoensdag 7 november 2007 @ 09:27
    quote:
    Op dinsdag 6 november 2007 23:01 schreef wobbel het volgende:
    Ik heb een variable....

    HK-2352
    of
    PC-1362

    Hoe zorg ik ervoor dat alles voor de - weg wordt gehaald? (zijn altijd 3 tekens, PC- of HK- of CO-)

    Volgensmij is er een functie waarmee je de eerste 3 karakters kan weglaten maar welke
    1
    2
    3
    <?php
    substr
    ($variabele, strpos($variabele, '-') + 1 );
    ?>


    Al is een vaste waarde, in dit geval 3, een stukje sneller.
    wc-eendwoensdag 7 november 2007 @ 11:03
    quote:
    Op woensdag 7 november 2007 00:15 schreef mschol het volgende:

    [..]

    je kan iets als wamp (windows apache mysql php) installeren (geen idee overigens of XAMPP hier al in voorziet..)
    en dan het script in de root c.q. htdocs van je installatie zetten en deze benaderen via http://localhost/scriptnaam.php (let wel op 2 dingen:
    1) apache moet draaien (duh )
    2) stel in de php.ini (of in de installer of waar dan ook waar de php instellingen staan) als smtp_server de smtp server van je provider in
    Ok die van de smtp ga ik vanmiddag uitzoeken na me werk, dat had ik idd namelijk niet gedaan, waardoor die dus niet werkt idd

    Thanks
    PiRANiAwoensdag 7 november 2007 @ 11:06
    quote:
    Op dinsdag 6 november 2007 23:01 schreef wobbel het volgende:
    Ik heb een variable....

    HK-2352
    of
    PC-1362

    Hoe zorg ik ervoor dat alles voor de - weg wordt gehaald? (zijn altijd 3 tekens, PC- of HK- of CO-)

    Volgensmij is er een functie waarmee je de eerste 3 karakters kan weglaten maar welke
    $var=implode(explode("-",$var);
    ?
    Geqxonwoensdag 7 november 2007 @ 14:07
    1
    2
    3
    <?php
    header
    ('Content-Disposition: attachment; filename="'.$filename.'.'.$extension.'"');
    ?>


    Wat ik zoek: Als ik mijn PHP pagina oproep (get.php?filename=CV&extension=pdf), dan wil ik de PDF graag in de browser zelf geopend krijgen. Door aan te geven dat het een PDF-file is, en vervolgens een readfile op de desbetreffende PDF-file uit te voeren, lukt dat nu.

    Wat mij niet lukt: Dat mensen het zien als "CV.pdf", in plaats van "get.php?filename=CV&extension=pdf". Dat kan met bovenstaande header, maar doordat hij het als attachement doorgeeft kan ik de PDF niet meer in de browser openen.

    Is dit mogelijk? Dus én bovenstaande header (custom filename), én het PDF bestand in de browser zelf kunnen openen?
    WyriHaximuswoensdag 7 november 2007 @ 14:11
    quote:
    Op woensdag 7 november 2007 14:07 schreef Geqxon het volgende:

    [ code verwijderd ]

    Wat ik zoek: Als ik mijn PHP pagina oproep (get.php?filename=CV&extension=pdf), dan wil ik de PDF graag in de browser zelf geopend krijgen. Door aan te geven dat het een PDF-file is, en vervolgens een readfile op de desbetreffende PDF-file uit te voeren, lukt dat nu.

    Wat mij niet lukt: Dat mensen het zien als "CV.pdf", in plaats van "get.php?filename=CV&extension=pdf". Dat kan met bovenstaande header, maar doordat hij het als attachement doorgeeft kan ik de PDF niet meer in de browser openen.

    Is dit mogelijk? Dus én bovenstaande header (custom filename), én het PDF bestand in de browser zelf kunnen openen?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    <?php
    class mimetype {
       function 
    getType($filename) {
          
    // get base name of the filename provided by user
          
    $filename basename($filename);

          
    // break file into parts seperated by .
          
    $filename explode('.'$filename);

          
    // take the last part of the file to get the file extension
          
    $filename $filename[count($filename)-1];   

          
    // find mime type
          
    return $this->privFindType($filename);
       }

       function 
    privFindType($ext) {
          
    // create mimetypes array
          
    $mimetypes $this->privBuildMimeArray();
          
          
    // return mime type for extension
          
    if (isset($mimetypes[$ext])) {
             return 
    $mimetypes[$ext];
          
    // if the extension wasn't found return octet-stream         
          
    } else {
             return 
    'application/octet-stream';
          }
             
       }

       function 
    privBuildMimeArray() {
          return array(
             
    "ez" => "application/andrew-inset",
             
    "hqx" => "application/mac-binhex40",
             
    "cpt" => "application/mac-compactpro",
             
    "doc" => "application/msword",
             
    "bin" => "application/octet-stream",
             
    "dms" => "application/octet-stream",
             
    "lha" => "application/octet-stream",
             
    "lzh" => "application/octet-stream",
             
    "exe" => "application/octet-stream",
             
    "class" => "application/octet-stream",
             
    "so" => "application/octet-stream",
             
    "dll" => "application/octet-stream",
             
    "oda" => "application/oda",
             
    "pdf" => "application/pdf",
             
    "ai" => "application/postscript",
             
    "eps" => "application/postscript",
             
    "ps" => "application/postscript",
             
    "smi" => "application/smil",
             
    "smil" => "application/smil",
             
    "wbxml" => "application/vnd.wap.wbxml",
             
    "wmlc" => "application/vnd.wap.wmlc",
             
    "wmlsc" => "application/vnd.wap.wmlscriptc",
             
    "bcpio" => "application/x-bcpio",
             
    "vcd" => "application/x-cdlink",
             
    "pgn" => "application/x-chess-pgn",
             
    "cpio" => "application/x-cpio",
             
    "csh" => "application/x-csh",
             
    "dcr" => "application/x-director",
             
    "dir" => "application/x-director",
             
    "dxr" => "application/x-director",
             
    "dvi" => "application/x-dvi",
             
    "spl" => "application/x-futuresplash",
             
    "gtar" => "application/x-gtar",
             
    "hdf" => "application/x-hdf",
             
    "js" => "application/x-javascript",
             
    "skp" => "application/x-koan",
             
    "skd" => "application/x-koan",
             
    "skt" => "application/x-koan",
             
    "skm" => "application/x-koan",
             
    "latex" => "application/x-latex",
             
    "nc" => "application/x-netcdf",
             
    "cdf" => "application/x-netcdf",
             
    "sh" => "application/x-sh",
             
    "shar" => "application/x-shar",
             
    "swf" => "application/x-shockwave-flash",
             
    "sit" => "application/x-stuffit",
             
    "sv4cpio" => "application/x-sv4cpio",
             
    "sv4crc" => "application/x-sv4crc",
             
    "tar" => "application/x-tar",
             
    "tcl" => "application/x-tcl",
             
    "tex" => "application/x-tex",
             
    "texinfo" => "application/x-texinfo",
             
    "texi" => "application/x-texinfo",
             
    "t" => "application/x-troff",
             
    "tr" => "application/x-troff",
             
    "roff" => "application/x-troff",
             
    "man" => "application/x-troff-man",
             
    "me" => "application/x-troff-me",
             
    "ms" => "application/x-troff-ms",
             
    "ustar" => "application/x-ustar",
             
    "src" => "application/x-wais-source",
             
    "xhtml" => "application/xhtml+xml",
             
    "xht" => "application/xhtml+xml",
             
    "zip" => "application/zip",
             
    "au" => "audio/basic",
             
    "snd" => "audio/basic",
             
    "mid" => "audio/midi",
             
    "midi" => "audio/midi",
             
    "kar" => "audio/midi",
             
    "mpga" => "audio/mpeg",
             
    "mp2" => "audio/mpeg",
             
    "mp3" => "audio/mpeg",
             
    "aif" => "audio/x-aiff",
             
    "aiff" => "audio/x-aiff",
             
    "aifc" => "audio/x-aiff",
             
    "m3u" => "audio/x-mpegurl",
             
    "ram" => "audio/x-pn-realaudio",
             
    "rm" => "audio/x-pn-realaudio",
             
    "rpm" => "audio/x-pn-realaudio-plugin",
             
    "ra" => "audio/x-realaudio",
             
    "wav" => "audio/x-wav",
             
    "pdb" => "chemical/x-pdb",
             
    "xyz" => "chemical/x-xyz",
             
    "bmp" => "image/bmp",
             
    "gif" => "image/gif",
             
    "ief" => "image/ief",
             
    "jpeg" => "image/jpeg",
             
    "jpg" => "image/jpeg",
             
    "jpe" => "image/jpeg",
             
    "png" => "image/png",
             
    "tiff" => "image/tiff",
             
    "tif" => "image/tif",
             
    "djvu" => "image/vnd.djvu",
             
    "djv" => "image/vnd.djvu",
             
    "wbmp" => "image/vnd.wap.wbmp",
             
    "ras" => "image/x-cmu-raster",
             
    "pnm" => "image/x-portable-anymap",
             
    "pbm" => "image/x-portable-bitmap",
             
    "pgm" => "image/x-portable-graymap",
             
    "ppm" => "image/x-portable-pixmap",
             
    "rgb" => "image/x-rgb",
             
    "xbm" => "image/x-xbitmap",
             
    "xpm" => "image/x-xpixmap",
             
    "xwd" => "image/x-windowdump",
             
    "igs" => "model/iges",
             
    "iges" => "model/iges",
             
    "msh" => "model/mesh",
             
    "mesh" => "model/mesh",
             
    "silo" => "model/mesh",
             
    "wrl" => "model/vrml",
             
    "vrml" => "model/vrml",
             
    "css" => "text/css",
             
    "html" => "text/html",
             
    "htm" => "text/html",
             
    "asc" => "text/plain",
             
    "txt" => "text/plain",
             
    "rtx" => "text/richtext",
             
    "rtf" => "text/rtf",
             
    "sgml" => "text/sgml",
             
    "sgm" => "text/sgml",
             
    "tsv" => "text/tab-seperated-values",
             
    "wml" => "text/vnd.wap.wml",
             
    "wmls" => "text/vnd.wap.wmlscript",
             
    "etx" => "text/x-setext",
             
    "xml" => "text/xml",
             
    "xsl" => "text/xml",
             
    "mpeg" => "video/mpeg",
             
    "mpg" => "video/mpeg",
             
    "mpe" => "video/mpeg",
             
    "qt" => "video/quicktime",
             
    "mov" => "video/quicktime",
             
    "mxu" => "video/vnd.mpegurl",
             
    "avi" => "video/x-msvideo",
             
    "movie" => "video/x-sgi-movie",
             
    "ice" => "x-conference-xcooltalk"
          
    );
       }
    }
    $mimetype = new mimetype;
    header('Content-type: ' $mimetype->getType($file_name));
    header('Content-Disposition: attachment; filename="' $file_name '"');
    die(
    file_get_contents($file_name));
    ?>
    Geqxonwoensdag 7 november 2007 @ 14:26
    Niet exactly wat ik zoek. Helaas is het niet mogelijk, las ik op Google.

    1
    2
    3
    <?php
    header
    ('Content-Disposition: inline; filename="' . $file_name . '"');
    ?>


    Dit zou perfect zijn, maar gaat helaas niet. Jammer :)
    WyriHaximuswoensdag 7 november 2007 @ 14:39
    Zie zelf nog altijd CV.pdf als ik het ga opslaan en niet blaf.php .... Dat daar boven werkt perfect hier .
    Geqxonwoensdag 7 november 2007 @ 15:58
    Als ik in de inline PDF-viewer zit, en ik naar File > Save As ga, krijg ik helaas nog steeds mijn "get.php". Toch maar eens jouw voorbeeld C / P'en.
    qu63woensdag 7 november 2007 @ 22:30
    quote:
    Op dinsdag 6 november 2007 22:31 schreef beerten het volgende:
    [knip]
    thanks!

    Ik wilde het zelf al limiteren tot een directe link (A->Queen) of met 1 tussenstap (A->B->Queen), en de meeste data haal ik van www.queenconcerts.com, mijn eigen geheugen en wikipedia/google
    autocuedonderdag 8 november 2007 @ 00:03
    quote:
    Op woensdag 7 november 2007 14:26 schreef Geqxon het volgende:
    Niet exactly wat ik zoek. Helaas is het niet mogelijk, las ik op Google.
    [ code verwijderd ]

    Dit zou perfect zijn, maar gaat helaas niet. Jammer
    Is het anders een optie mod_rewrite te gebruiken? De gebruiker surft dan bijvoorbeeld naar somepage.tld/yourfile.ext, en gaat dan intern naar somepage.tld/get.php?filename=yourfile&extension=ext.
    wc-eenddonderdag 8 november 2007 @ 17:07
    Ok mensen, ik heb een probleem met een script dat ik van hier heb.. Als ik hem opsla als php (mbv dreamweaver) en dan view ik het bestand mbv Xampp..
    Het ziet er netjes uit, maar als ik het form invul en op verstuur druk krijg ik dit:

    1
    2
    3
    <?php
    Warning
    mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:Program FilesxampphtdocsTESTcontact.php on line 108
    ?>


    Ik heb in het php.ini bestand (die in xampp/apache/bin staat) de smtp instellingen al gewijzigd en ook in het php.ini bestand in xampp/php

    Nu lijkt het alsof de fout in de code zelf zit maar dat kan ik niet vinden (ben nog een echte noob) Weet iemand hier iets over?

    Dit is de code:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    <?php
     
    // geef e-mail adres op van ontvanger 
    $mail_ontv "mijn@emailadres.nl";

    // is niet 100% !!! 
    function checkmail($mail

        
    $email_host explode("@"$mail); 
        
    $email_host $email_host['1']; 
        
    $email_resolved gethostbyname($email_host); 

        if (
    $email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
            
    $valid 1

        return 
    $valid


    // als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is 
    if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) 

        if (
    $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
        { 
            echo 
    "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "
            echo 
    "dat je een verkeerd e-mail adres hebt ingevuld.<p>"
        } 
          
        
    // form + tabel 
        
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
        echo 
    "<form method=\"POST\" ACTION=\"" $_SERVER['PHP_SELF'] . "\">"
          
        
    // naam 
        
    echo "<tr><td>Naam:</td></tr>"
        echo 
    "<tr><td><input type=\"text\" name=\"naam\" value=\"" $_POST['naam'] . "\"></td></tr>"
          
        
    // space 
        
    echo "<tr><td>&nbsp;</td></tr>"
          
        
    // mail 
        
    echo "<tr><td>E-mail adres:</td></tr>"
        echo 
    "<tr><td><input type=\"text\" name=\"mail\" value=\"" $_POST['mail'] . "\"></td></tr>"
          
        
    // space 
        
    echo "<tr><td>&nbsp;</td></tr>"
          
        
    // mail 
        
    echo "<tr><td>Onderwerp:</td></tr>"
        echo 
    "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" $_POST['onderwerp'] . "\"></td></tr>"
          
        
    // space 
        
    echo "<tr><td>&nbsp;</td></tr>"
          
        
    // mail 
        
    echo "<tr><td>Bericht:</td></tr>"
        echo 
    "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"
          
        
    // space 
        
    echo "<tr><td>&nbsp;</td></tr>"
          
        
    // button 
        
    echo "<tr><td>&nbsp;</td></tr>"
        echo 
    "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"
          
        
    // sluit form + tabel 
        
    echo "</form>"
        echo 
    "</table>"

    // versturen naar 
    else 
    {      
        
    // set datum 
        
    $datum date("d.m.Y H:i"); 
          
        
    // set ip 
        
    $ip $_SERVER['REMOTE_ADDR']; 
          
        
    $inhoud_mail "===================================================\n"
        
    $inhoud_mail .= "Ingevulde contact formulier\n"
        
    $inhoud_mail .= "===================================================\n\n"
        
        
    $inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";

        
    $inhoud_mail .= "Naam: " $_POST['naam'] . "\n"
        
    $inhoud_mail .= "E-mail adres: " $_POST['mail'] . "\n"
        
    $inhoud_mail .= "Bericht:\n"
        
    $inhoud_mail .= $_POST['msggs'] . "\n\n"
          
        
    $inhoud_mail .= "Verstuurd op " $datum " via het ip " $ip "\n\n"
          
        
    $inhoud_mail .= "===================================================\n\n"
        
        
    // -------------------- 
        // spambot protectie 
        // ------ 
        // van de tutorial: http://www.phphulp.nl/php/tutorials/10/340/ 
        // ------ 
        
        
    $headers "From: " $_POST['naam'] . " <" $_POST['mail'] . ">";
        
        
    $headers stripslashes($headers);
        
    $headers str_replace("\n"""$headers); // Verwijder \n 
        
    $headers str_replace("\r"""$headers); // Verwijder \r 
        
    $headers str_replace("\"""\\\""str_replace("\\""\\\\"$headers)); // Slashes van quotes 
        
        
    $_POST['onderwerp'] = str_replace("\n"""$_POST['onderwerp']); // Verwijder \n 
        
    $_POST['onderwerp'] = str_replace("\r"""$_POST['onderwerp']); // Verwijder \r 
        
    $_POST['onderwerp'] = str_replace("\"""\\\""str_replace("\\""\\\\"$_POST['onderwerp'])); // Slashes van quotes 
         
        
    mail($mail_ontv$_POST['onderwerp'], $inhoud_mail$headers); 
         
        echo 
    "<h1>Je e-mail is verstuurd</h1>";
        
        echo 
    "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "
        echo 
    "krijgen indien dit nodig is.</p>"
         
        echo 
    "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "
        echo 
    "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>"

     
    ?>
    beertendonderdag 8 november 2007 @ 19:20
    Het script vindt geen mailserver. Check php.ini???? Ik meen dat het dit bestand is en stel daar de smtp-server in. Als je je eigen server draait die van je provider
    wc-eenddonderdag 8 november 2007 @ 20:15
    Ik wil het onder de localhost testen, ik vul mijn eigen internet provider smtp instellingen in.. maar dat werkt niet..
    DaFrenkvrijdag 9 november 2007 @ 14:34
    Ik was eens aan het kijken naar een winkelwagentje voor PayPal. Maar ik zie voornamelijk complete CMS/Shop systemen die een dergelijk winkelwagentje ingebouwd hebben. Maar zijn er ook PayPal compatible winkelwagentjes die je in je eigen systeem kan inbouwen i.p.v. dat je er een compleet systeem bij krijgt?
    Chandlervrijdag 9 november 2007 @ 15:23
    Kun je hier wat mee? http://www.web-bureau.com/modules/free-php-paypal-ipn-script.php
    DaFrenkvrijdag 9 november 2007 @ 15:27
    quote:
    Right, ik zat al te kijken naar dat IPN. Ik denk dat ik zelf een winkelwagen ga bouwen in ieder geval en dan gebruik maak van de mogelijkheid om de inhoud te uploaden naar PayPal. Ik zat alleen nog te kijken hoe je dan kon controleren of de betaling daadwerkelijk gedaan was zodat de order verwerkt kan worden.
    qu63vrijdag 9 november 2007 @ 15:29
    is er niet een module van PayPal zelf
    DaFrenkvrijdag 9 november 2007 @ 15:41
    quote:
    Op vrijdag 9 november 2007 15:29 schreef qu63 het volgende:
    is er niet een module van PayPal zelf
    Hmja, dan krijg je voor elk product een knopje "add to cart" van PayPal. Maar ik wil ook nog een andere betalingswijze aanbieden. Dus werk liever eerst "lokaal" met een karretje en als men kiest om via paypal te betalen dan wordt dat karretje geuploaded.

    En daarvoor staat inderdaad óók een standaard code op de site van PayPal. Alleen zoek ik dus uit of hij dan automatisch terug kan gaan naar de site als de betaling is voltooid.
    qu63vrijdag 9 november 2007 @ 15:59
    Dat is toch meestal een parameter in de betalings-url?
    wobbelzaterdag 10 november 2007 @ 18:55
    Sjongejonge wat een geouwehoer met ODBC zeg....

    1
    2
    3
    4
    5
    <?php
    $conn        
    odbc_connect "S&S Webfile""""");
    $sql        "SELECT * FROM BAC5130 WHERE Nr = 100741"
    $rs            odbc_exec$conn$sql );
    ?>


    Maar hoe gebruik ik de data uit $rs nou? ik wil namelijk net zoals mysql_fetch_assoc enzo de data kunnen gebruiken om $assoc->Naam en $assoc->Telefoonnummer te kunnen gebruiken...maar hoe werkt dat in ODBC?
    PiRANiAzaterdag 10 november 2007 @ 19:06
    quote:
    Op zaterdag 10 november 2007 18:55 schreef wobbel het volgende:
    Sjongejonge wat een geouwehoer met ODBC zeg....
    [ code verwijderd ]

    Maar hoe gebruik ik de data uit $rs nou? ik wil namelijk net zoals mysql_fetch_assoc enzo de data kunnen gebruiken om $assoc->Naam en $assoc->Telefoonnummer te kunnen gebruiken...maar hoe werkt dat in ODBC?
    http://nl2.php.net/manual/nl/function.odbc-fetch-array.php ?

    zie verder:
    http://nl2.php.net/odbc
    Chandlerzondag 11 november 2007 @ 16:36
    Is het ook mogelijk om bij date_format nederlandse maanden te krijgen ipv engelse?

    dus ipv February ==> Februari

    En dan nog een andere kleine vraag over htaccess.

    RewriteRule ^reports/([0-9])-([0-9])/(.*).html$ /index.php?mod=reports&id=$1&page=$2

    werkt niet, wil de volgende url omzetten.

    /reports/1-1/titel_van_de_pagina.html

    ziet iemand de fout?

    [ Bericht 53% gewijzigd door Chandler op 11-11-2007 17:00:18 ]
    SuperRembozondag 11 november 2007 @ 17:02
    quote:
    Op zondag 11 november 2007 16:36 schreef Chandler het volgende:
    Is het ook mogelijk om bij date_format nederlandse maanden te krijgen ipv engelse?

    dus ipv February ==> Februari
    Nee, maar het kan wel met setlocale()

    1
    2
    3
    4
    5
    6
    7
    <?php
    /* Set locale to Dutch */
    setlocale(LC_ALL'nl_NL');

    /* Output: vrijdag 22 december 1978 */
    echo strftime("%A %e %B %Y"mktime(00012221978));
    ?>
    SuperRembozondag 11 november 2007 @ 17:05
    quote:
    Op zondag 11 november 2007 16:36 schreef Chandler het volgende:

    RewriteRule ^reports/([0-9])-([0-9])/(.*).html$ /index.php?mod=reports&id=$1&page=$2

    werkt niet, wil de volgende url omzetten.

    /reports/1-1/titel_van_de_pagina.html

    ziet iemand de fout?
    Volgens de rule moet de url beginnen mer "reports", maar hij begint met "/reports".
    Thomasszondag 11 november 2007 @ 17:11
    quote:
    Op zondag 11 november 2007 16:36 schreef Chandler het volgende:
    En dan nog een andere kleine vraag over htaccess.

    RewriteRule ^reports/([0-9])-([0-9])/(.*).html$ /index.php?mod=reports&id=$1&page=$2

    werkt niet, wil de volgende url omzetten.

    /reports/1-1/titel_van_de_pagina.html

    ziet iemand de fout?
    1RewriteRule ^reports/([0-9]-[0-9])/([^\.]*).html$ /index.php?mod=reports&id=$1&page=$2


    zoiets wellicht? tis niet helemaal duidelijk of de id 1-1 is of dat id=1 en page=1 snapje
    Chandlerzondag 11 november 2007 @ 17:29
    quote:
    Op zondag 11 november 2007 17:02 schreef SuperRembo het volgende:
    Nee, maar het kan wel met setlocale()
    [ code verwijderd ]
    Jammer eingelijk had het liever zo uit MySQL gehaald
    quote:
    Op zondag 11 november 2007 17:05 schreef SuperRembo het volgende:
    Volgens de rule moet de url beginnen mer "reports", maar hij begint met "/reports".
    Dat is het probleem niet die / is gewoon de root die ik heb gekopieerd
    quote:
    Op zondag 11 november 2007 17:11 schreef Thomass het volgende:
    [ code verwijderd ]
    zoiets wellicht? tis niet helemaal duidelijk of de id 1-1 is of dat id=1 en page=1 snapje
    Report 1, pagina 1 maar ik zal je rule even proberen

    Ik had mijn fout zelf gemaakt door een rule ervoor te zetten waarbij ik alle karakters toestond ipv alleen nummeriek!

    ps. SuperRembo, heb je mijn email nog ontvangen?
    Thomasszondag 11 november 2007 @ 17:34
    Dus titel-van-de-pagina is niet relevant?

    Wellicht zoiets
    1RewriteRule ^reports/([0-9])-([0-9])/[^\.]*.html$ index.php?mod=reports&id=$1&page=$2
    wc-eendzondag 11 november 2007 @ 18:16
    quote:
    Op donderdag 8 november 2007 17:07 schreef wc-eend het volgende:
    Ok mensen, ik heb een probleem met een script dat ik van hier heb.. Als ik hem opsla als php (mbv dreamweaver) en dan view ik het bestand mbv Xampp..
    Het ziet er netjes uit, maar als ik het form invul en op verstuur druk krijg ik dit:
    [ code verwijderd ]

    Ik heb in het php.ini bestand (die in xampp/apache/bin staat) de smtp instellingen al gewijzigd en ook in het php.ini bestand in xampp/php

    Nu lijkt het alsof de fout in de code zelf zit maar dat kan ik niet vinden (ben nog een echte noob) Weet iemand hier iets over?

    Dit is de code:
    [ code verwijderd ]
    Iemand?
    Chandlerzondag 11 november 2007 @ 19:17
    quote:
    Op zondag 11 november 2007 17:34 schreef Thomass het volgende:
    Dus titel-van-de-pagina is niet relevant?

    Wellicht zoiets
    [ code verwijderd ]
    Nee, die is alleen maar liev voor google
    Chandlerzondag 11 november 2007 @ 19:19
    quote:
    Op zondag 11 november 2007 18:16 schreef wc-eend het volgende:
    Iemand?
    Staat er eventeel een php.ini in je windows directory? dat wil ook nog wel eens voorkomen
    wc-eendzondag 11 november 2007 @ 19:38
    quote:
    Op zondag 11 november 2007 19:19 schreef Chandler het volgende:

    [..]

    Staat er eventeel een php.ini in je windows directory? dat wil ook nog wel eens voorkomen
    Ik heb vista een grondige search naar php.ini laten zoeken, 4 results, in alle 4 veranderd en nu werkt het.. wrom kwam ik daar zelf niet op
    Chandlerzondag 11 november 2007 @ 20:30
    Whaha, tja... Winhooz hé
    SuperRembozondag 11 november 2007 @ 20:50
    quote:
    Op zondag 11 november 2007 19:38 schreef wc-eend het volgende:

    [..]

    Ik heb vista een grondige search naar php.ini laten zoeken, 4 results, in alle 4 veranderd en nu werkt het.. wrom kwam ik daar zelf niet op
    Wil de echt php.ini nu opstaan
    no1uknowmaandag 12 november 2007 @ 00:07
    http://rtc.x10hosting.com/pvhw/

    Mijn eerste echte beetje php/sql website
    no1uknowmaandag 12 november 2007 @ 00:26
    Bij de weg, als ik iets in een tabel wil veranderen (de content van de desbetreffende pagina) en ik klik op start (is dus in PHPMyAdmin) dan doet 'ie soms NIKS.

    Dan staat er gewoon
    SQL-query:
    SELECT *
    FROM `teksten`
    LIMIT 0 , 30

    Wat moet ik hier nou mee Hoezo kan dit? hoe kan ik dit oplossen?
    Geqxonmaandag 12 november 2007 @ 00:27
    quote:
    Op maandag 12 november 2007 00:07 schreef no1uknow het volgende:
    http://rtc.x10hosting.com/pvhw/

    Mijn eerste echte beetje php/sql website
    Ziet er voor een simpele pagina strak uit.

    Al is de bruine banner wel erg springend
    WyriHaximusmaandag 12 november 2007 @ 00:57
    quote:
    Op maandag 12 november 2007 00:26 schreef no1uknow het volgende:
    Bij de weg, als ik iets in een tabel wil veranderen (de content van de desbetreffende pagina) en ik klik op start (is dus in PHPMyAdmin) dan doet 'ie soms NIKS.

    Dan staat er gewoon
    SQL-query:
    SELECT *
    FROM `teksten`
    LIMIT 0 , 30

    Wat moet ik hier nou mee Hoezo kan dit? hoe kan ik dit oplossen?
    Heb je al eens op edt geklikt?
    no1uknowmaandag 12 november 2007 @ 01:06
    quote:
    Op maandag 12 november 2007 00:57 schreef WyriHaximus het volgende:

    [..]

    Heb je al eens op edt geklikt?
    Oh shit vergeten.
    Maar even zonder dollen, ik zit die inhoud te editen, klik op start om de wijzigingen door te voeren, en dan krijg je dat SQL Query blabla weer, en niet daaronder de wijzingingen die daar wel hadden moeten staan.
    mscholmaandag 12 november 2007 @ 01:10
    quote:
    Op maandag 12 november 2007 01:06 schreef no1uknow het volgende:

    [..]

    Oh shit vergeten.
    Maar even zonder dollen, ik zit die inhoud te editen, klik op start om de wijzigingen door te voeren, en dan krijg je dat SQL Query blabla weer, en niet daaronder de wijzingingen die daar wel hadden moeten staan.
    voer je wel een Update query of insert query uit?
    no1uknowmaandag 12 november 2007 @ 01:20
    Ah fijn m'n Cpanel ligt er uit.
    Leuk als je een website nog moet editen qua content en die morgenochtend om 0900 uur moet inleveren.

    Maar ik doe het niet via sql codes, gewoon alle tabellen op een rij, en dan op edit knopje drukken, dan zie je de tabelnaam, en daaronder kan je de inhoud veranderen,
    no1uknowmaandag 12 november 2007 @ 02:01
    Nu ook met screenshots! VAN BENEDEN NAAR BOVEN KIJKEN









    Tuvai.netmaandag 12 november 2007 @ 10:14
    Wat is je tabel indeling/structuur? En sowieso, probeer je aan te leren om met tabellen als deze met bijvoorbeeld ID velden te werken in plaats van alle werk op varchar en text te gooien. Maak een veldje pag_id aan of zo.
    WyriHaximusmaandag 12 november 2007 @ 11:15
    Idd, met ID velden werken is wel belangrijk, kan je een hele hoop gezeik schelen . Op de bovenste screenshot staat een gele balk, staat daar nog wat boven?
    Darkomenmaandag 12 november 2007 @ 14:01
    ik heb een probleempje met de onderstaande code, hij werkt wel maar het duurt 12 seconden voordat de boel geladen is.
    De meeting_categories is maar 2,9 KB met 15 records
    meeting_images 120,4 MB met 2.446 en 308.152 Bytes overhed (images staan in de db opgeslagen ipv op de server.
    Hoe kan ik dit sneller krijgen zonder de images uit de db te gooien (dat ga ik namelijk later pas doen) maar heb ff een quick fix nodig.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
        $query 
    "SELECT id,title,datum FROM meeting_categories WHERE online='1' ORDER BY time_code  DESC";
        
    $result mysql_query($query)or die(mysql_error());
        While(
    $cats mysql_fetch_array($result))
            {
                
    $query2 "SELECT id FROM meeting_images WHERE categorie ='$cats[id]' ";
                
    $max mysql_num_rows(mysql_query($query2));
                echo 
    '<a href="?cat='$cat.'">'.stripslashes(stripslashes($cats[title])).'</a> '.$cats[datum].' ('.$max.')<br>';
            }
    ?>
    Tuvai.netmaandag 12 november 2007 @ 14:19
    Hoeveel van die +/- 120 MB aan data word er wel niet opgehaald per keer dan, lijkt mij dat daar het probleem ligt? Overigens ziet dit stukje er programmeertechnisch vrij onschuldig uit, op het feit na dat je PHP functie mysql_num_rows() gebruikt. Dit is namelijk weer trager dan bijvoorbeeld de SQL functie count().
    Catch22-maandag 12 november 2007 @ 14:35
    die id wordt niet goed geladen denk ik..

    1
    2
    3
    <?php
      $query2
    = "SELECT id FROM meeting_images WHERE categorie =' " . $cats[id] . "' ";
    ?>
    no1uknowmaandag 12 november 2007 @ 14:55
    quote:
    Op maandag 12 november 2007 10:14 schreef Tuvai.net het volgende:
    Wat is je tabel indeling/structuur? En sowieso, probeer je aan te leren om met tabellen als deze met bijvoorbeeld ID velden te werken in plaats van alle werk op varchar en text te gooien. Maak een veldje pag_id aan of zo.
    Dat volg ik dan weer even niet, maargoed.
    Het was al opgelost, Geqxon heeft me geholpen door gewoon handmatig de SQL Querie te 'maken'.

    UPDATE teksten SET inhoud 'blabla' where (iets) = (de desbetreffende pagina)
    Zoiets was het.

    Nog wel bedankt voor de moeite
    Catch22-maandag 12 november 2007 @ 15:41
    dat is dus heel foutgevoelig. Als jij de inhoud en de tekst wijzigt is het dus al klote.

    Altijd ID's gebruiken
    Tuvai.netmaandag 12 november 2007 @ 15:51
    quote:
    Op maandag 12 november 2007 14:55 schreef no1uknow het volgende:

    [..]

    Dat volg ik dan weer even niet, maargoed.
    Het was al opgelost, Geqxon heeft me geholpen door gewoon handmatig de SQL Querie te 'maken'.

    UPDATE teksten SET inhoud 'blabla' where (iets) = (de desbetreffende pagina)
    Zoiets was het.

    Nog wel bedankt voor de moeite ^O^
    Je indeling ziet er nu ongeveer zo uit:

    1
    2
    3
    4
    5
    6
    NAAM  | INHOUD
    --------------------
    pag 1 | tekst 1
    pag 2 | tekst 2
    pag 3 | tekst 3
    pag 4 | tekst 4


    Probeer een indeling als deze te hanteren:

    1
    2
    3
    4
    5
    6
    ID | NAAM  | INHOUD
    ------------------------
    1  | pag 1 | tekst 1
    2  | pag 2 | tekst 2
    3  | pag 3 | tekst 3
    4  | pag 4 | tekst 4


    Het 'ID' veld kun je dan 'PRIMARY' of 'UNIQUE' maken, zodat het (zoals de naam al impliceert) een uniek getal is, dat je weer kunt gebruiken om query-handelingen te verrichten zonder dat er sprake is van foutgevoeligheid.
    no1uknowmaandag 12 november 2007 @ 15:58
    Ok
    Bedankt in ieder geval, zal het meenemen voor de volgende keer!
    Geqxonmaandag 12 november 2007 @ 16:05
    En nu je het zegt, mogelijk is dit ook de rede waarom het bewerken van de inhoud-waarde in eerste instantie niet lekker ging.
    Xcaliburmaandag 12 november 2007 @ 16:09
    quote:
    Op maandag 12 november 2007 14:01 schreef Darkomen het volgende:
    ik heb een probleempje met de onderstaande code, hij werkt wel maar het duurt 12 seconden voordat de boel geladen is.
    Misschien helpt het als je een index maakt op de juiste kolommen?
    super-muffinmaandag 12 november 2007 @ 16:22
    quote:
    Op maandag 12 november 2007 14:01 schreef Darkomen het volgende:
    ik heb een probleempje met de onderstaande code, hij werkt wel maar het duurt 12 seconden voordat de boel geladen is.
    De meeting_categories is maar 2,9 KB met 15 records
    meeting_images 120,4 MB met 2.446 en 308.152 Bytes overhed (images staan in de db opgeslagen ipv op de server.
    Hoe kan ik dit sneller krijgen zonder de images uit de db te gooien (dat ga ik namelijk later pas doen) maar heb ff een quick fix nodig.
    [ code verwijderd ]
    Haal alles binnen met 1 query dmv een JOIN.

    zo ongeveer: (denk ik)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT
       meeting_categories.id as catId,
       meeting_categories.title as catTitle,
       meeting_categories.datum as catDate,
       meeting_image.id as imageId
    FROM
       meeting_categories
    LEFT JOIN
       meeting_images
    ON
       meeting_images.categorie = meeting_category.id


    Kan het helaas hier niet testen, heb geen toegang tot een DB.

    [ Bericht 5% gewijzigd door super-muffin op 12-11-2007 18:48:35 (foutje uit SQL gehaald.) ]
    BaggerUsermaandag 12 november 2007 @ 18:10
    oke ik begin in de stres te raken, ik kan het maar niet snappen, allemaal schetsjes gemaakt hoe het toch zou komen dat het niet werkt maar kom er niet uit.

    het gaat om: http://rolfbroer.nl/cms/modules/Beheer/menu/index.php
    zodra een aanpassing in de volgorde is gedaan wordt deze direct opgeslagen in de database, dit werkt ook: half...

    voor de fans ( ) van mijn project ( ) het updaten werkt nu echter, alleen gebeurd er iets als dit...

    id A wordt onder id B gesleept, dit wordt in de database opgeslagen als
    A = 2
    B = 1
    C = 3

    dit klopt, echter verplaats ik nu A onder C wordt dit in de database opgeslagen
    A = 1
    B = 3
    C = 2

    hier klopt dus niks van, volgens mij blijft hij de volgorde van de id's versturen in de volgorde die ze hadden toen de pagina geladen werd oid want als ik na een verandering elke keer de pagian refresh blijft het wel werken.

    ondanks dat het gigantisch ingewikkeld is, iemand die snapt wat ik bedoel

    RED MIJ!

    heb maar even een zip geplaatst omdat als ik al die code hier neer ga planten het er niet overzichtelijker van wordt:
    http://essek.nl/fok/menu.zip

    functies.php bevat database ww etc
    menusql.txt bevat de sql voor de database
    index bevat het versleepbare rijtje
    gethint.php bevat het bestandje wat er gebeurd als er 1 versleept wordt.

    hoop dat ik het een klein beetje duidelijk heb gemaakt wat me probleem is
    Xcaliburmaandag 12 november 2007 @ 20:37
    Ik ben bezig met een systeem waarin een lid zich kan inschrijven voor een evenement.

    De eerste stap in het inschrijftraject is het kiezen van het evenement waarvoor je wilt inschrijven. Dit is een lijstje, waarin alle beschikbare evenementen in een bepaalde periode staan. Nu wil ik echter alleen de evenementen laten zien waarvoor het betreffende lid zich nog niet heeft ingeschreven. De andere evenementen zijn niet meer relevant tenslotte.

    Ik heb een tabel events (evenementen) met oa. een id.
    Ik heb een tabel entries (inschrijvingen) met oa. een id, event_id en client_id.

    Ik heb ooit wel eens een constructie gemaakt met een "LEFT OUTER JOIN",waarbij de id "IS NOT NULL", maar dat krijg ik hierbij niet voor elkaar. Iemand suggesties hoe ik dit in 1 query kan oplossen?
    JortKmaandag 12 november 2007 @ 20:42
    quote:
    Op maandag 12 november 2007 20:37 schreef Xcalibur het volgende:
    Ik ben bezig met een systeem waarin een lid zich kan inschrijven voor een evenement.

    De eerste stap in het inschrijftraject is het kiezen van het evenement waarvoor je wilt inschrijven. Dit is een lijstje, waarin alle beschikbare evenementen in een bepaalde periode staan. Nu wil ik echter alleen de evenementen laten zien waarvoor het betreffende lid zich nog niet heeft ingeschreven. De andere evenementen zijn niet meer relevant tenslotte.

    Ik heb een tabel events (evenementen) met oa. een id.
    Ik heb een tabel entries (inschrijvingen) met oa. een id, event_id en client_id.

    Ik heb ooit wel eens een constructie gemaakt met een "LEFT OUTER JOIN",waarbij de id "IS NOT NULL", maar dat krijg ik hierbij niet voor elkaar. Iemand suggesties hoe ik dit in 1 query kan oplossen? [afbeelding]
    Iets als dit:

    1
    2
    3
    SELECT e.EventName, i.Client_ID FROM events e
    LEFT OUTER JOIN entries i ON e.id = i.event_id
    WHERE i.client_id = 1 AND i.Client_ID IS NOT NULL


    :?
    Xcaliburmaandag 12 november 2007 @ 20:56
    quote:
    Op maandag 12 november 2007 20:42 schreef JortK het volgende:
    Iets als dit:
    [ code verwijderd ]
    Mja, zoiets had ik dus.... maar hiermee krijg ik vreemd genoeg alleen de evenementen waarvoor het lid zich WEL heeft ingeschreven.

    Als ik de client_id uit de WHERE haal, krijg ik alles uit de entries tabel waarbij andere clients een record hebben, dus daar heb ik ook niks aan....
    Lightmaandag 12 november 2007 @ 21:01
    quote:
    Op maandag 12 november 2007 20:37 schreef Xcalibur het volgende:
    Ik ben bezig met een systeem waarin een lid zich kan inschrijven voor een evenement.

    De eerste stap in het inschrijftraject is het kiezen van het evenement waarvoor je wilt inschrijven. Dit is een lijstje, waarin alle beschikbare evenementen in een bepaalde periode staan. Nu wil ik echter alleen de evenementen laten zien waarvoor het betreffende lid zich nog niet heeft ingeschreven. De andere evenementen zijn niet meer relevant tenslotte.

    Ik heb een tabel events (evenementen) met oa. een id.
    Ik heb een tabel entries (inschrijvingen) met oa. een id, event_id en client_id.
    Waarom heb je een veld "id" in entries? Het likt me een koppeltabel met event_id en client_id als primary key.
    quote:
    Ik heb ooit wel eens een constructie gemaakt met een "LEFT OUTER JOIN",waarbij de id "IS NOT NULL", maar dat krijg ik hierbij niet voor elkaar. Iemand suggesties hoe ik dit in 1 query kan oplossen? >:O
    1
    2
    3
    SELECT events.name
    FROM events LEFT OUTER JOIN entries ON events.id = entries.event_id
    where entries.client_id IS NULL

    Zoiets?
    JortKmaandag 12 november 2007 @ 21:02
    quote:
    Op maandag 12 november 2007 20:56 schreef Xcalibur het volgende:

    [..]

    Mja, zoiets had ik dus.... maar hiermee krijg ik vreemd genoeg alleen de evenementen waarvoor het lid zich WEL heeft ingeschreven. :?

    Als ik de client_id uit de WHERE haal, krijg ik alles uit de entries tabel waarbij andere clients een record hebben, dus daar heb ik ook niks aan....
    Dom natuurlijk, je geeft op dat de client_id wel gevuld moet zijn, hierdoor krijg je alle evenementen waarvoor iemand WEL is ingeschreven :+

    Probeer deze eens:

    1
    2
    3
    SELECT e.EventName, i.Client_ID FROM events e
    LEFT OUTER JOIN entries i ON e.id = i.event_id
    WHERE i.client_id = 1 AND i.Client_ID IS NULL


    Aangezien het feit dat wanneer client_id leeg is er nog niet ingeschreven is en de waarde dus dan getoond moet worden ;)
    Xcaliburdinsdag 13 november 2007 @ 08:25
    quote:
    Op maandag 12 november 2007 21:01 schreef Light het volgende:
    Waarom heb je een veld "id" in entries? Het likt me een koppeltabel met event_id en client_id als primary key.
    Het is meer dan een koppeltabel, sterker nog, het is de grootste en meest belangrijke tabel uit het systeem
    Hier staan alle namelijk alle details die met de de inschrijving te maken hebben in (en dat zijn er nogal wat)...

    Ik ga even met jullie queries aan de slag!

    Edit:
    Light: jouw query geeft alle evenementen waarbij nog geen enkele inschrijving is geplaatst (niet van deze user en niet van iedere andere user). Zodra er 1 inschrijving in staat, verwijnt het evenement uit de resultaten. Dat is hem dus niet

    JortK: deze query had ik inderdaad ook, maar die geeft helemaal geen resultaten terug. Ik denk dat de "client_id = 1" en de "client_id IS NULL" elkaar een beetje uitsluiten

    [ Bericht 8% gewijzigd door Xcalibur op 13-11-2007 08:33:34 ]
    Xcaliburdinsdag 13 november 2007 @ 10:21
    Opgelost, met een subquery :)

    1SELECT * FROM events WHERE id NOT IN (SELECT entries.event_id FROM entries WHERE client_id = 1)
    Darkomendinsdag 13 november 2007 @ 12:54
    quote:
    Op maandag 12 november 2007 16:22 schreef super-muffin het volgende:

    [..]

    Haal alles binnen met 1 query dmv een JOIN.

    zo ongeveer: (denk ik)
    [ code verwijderd ]

    Kan het helaas hier niet testen, heb geen toegang tot een DB.
    na wat spelfoutjes eruit gehaalt te hebben levert deze code 2466 regels op ipv 15 categorien, maar wel in de helft van de tijd
    Daarnaast was het de bedoeling om de hoeveelheid images in meeting_images weer te geven.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    SELECT
       meeting_categories
    .id as catId,
       
    meeting_categories.title as catTitle,
       
    meeting_categories.datum as catDate,
       
    meeting_images.id as imageId
    FROM
       meeting_categories
    LEFT JOIN
       meeting_images
    ON
       meeting_images
    .categorie meeting_categories.id
    ?>


    Ik heb het zo opgelost, duurt het nog 6sec, maar al een hele verbetering.


    1
    2
    3
    <?php
    "SELECT id,title,datum, (SELECT count(id) FROM meeting_images WHERE categorie = meeting_categories.id ) as CatImages FROM meeting_categories WHERE online='1' GROUP BY meeting_categories.id ORDER BY time_code DESC "
    ?>


    [ Bericht 19% gewijzigd door Darkomen op 13-11-2007 13:03:56 ]
    DaFrenkdonderdag 15 november 2007 @ 15:51
    Ik zoek een manier om direct een SQL bestand te importeren in de database. Vergelijkbaar als phpMyAdmin dat doet, alleen dan in een eigen backoffice idee.

    De precieze werkwijze weet ik nog niet, ik vermoed dat ik een tabel drop waarna hij hem opnieuw aanmaakt en de data importeert. De bedoeling is iig dat hij de bestaande data overschrijft. Lastig is wel dat het zo'n 150.000 records kan gaan bevatten. Zal dat goed gaan of moet hij dan eigenlijk in stukken geïmporteerd worden?
    markiemarkdonderdag 15 november 2007 @ 17:07
    Ik zoek een programma dat de vereiste performance meet van mijn php applicatie. Is er iets om te zien hoe zwaar een php script voor de server is?
    markiemarkdonderdag 15 november 2007 @ 17:08
    quote:
    Op donderdag 15 november 2007 15:51 schreef DaFrenk het volgende:
    Ik zoek een manier om direct een SQL bestand te importeren in de database. Vergelijkbaar als phpMyAdmin dat doet, alleen dan in een eigen backoffice idee.

    De precieze werkwijze weet ik nog niet, ik vermoed dat ik een tabel drop waarna hij hem opnieuw aanmaakt en de data importeert. De bedoeling is iig dat hij de bestaande data overschrijft. Lastig is wel dat het zo'n 150.000 records kan gaan bevatten. Zal dat goed gaan of moet hij dan eigenlijk in stukken geïmporteerd worden?
    je kunt toch gewoon een upload veld maken, het bestand laten openen en de inhoud als query draaien? (als je de inhoud gevalideerd hebt.. )
    DaFrenkdonderdag 15 november 2007 @ 17:20
    quote:
    Op donderdag 15 november 2007 17:08 schreef markiemark het volgende:

    [..]

    je kunt toch gewoon een upload veld maken, het bestand laten openen en de inhoud als query draaien? (als je de inhoud gevalideerd hebt.. )
    D'oh. Ja natuurlijk. Dat is de basis inderdaad. Nu alleen nog kijken hoe het zit met gezipte bestanden en hoe groot hij maximaal kan zijn. Maar in principe komt het idd daar op neer. Stom!

    Thanks
    Darkomendonderdag 15 november 2007 @ 19:42
    Ik moet een lijst van namen omzetten naar mogelijke email adressen.
    maar die namen zitten vol met trema's, dubbelpunten, spaties etc.
    Ik kan dat allemaal 1 voor 1 vervangen, maar heeft er iemand misschien een expressie of iets dergelijks?
    Die dus een naam veilig maakt om als email adres aangemaakt te worden?
    beertendonderdag 15 november 2007 @ 21:51
    quote:
    Op donderdag 15 november 2007 17:20 schreef DaFrenk het volgende:

    [..]

    D'oh. Ja natuurlijk. Dat is de basis inderdaad. Nu alleen nog kijken hoe het zit met gezipte bestanden en hoe groot hij maximaal kan zijn. Maar in principe komt het idd daar op neer. Stom!

    Thanks
    Kijk met phpinfo() wat de maximale bestandsgrootte is van een upload, danwel POST-grootte.
    Dan weetje ook de maximale grootte van je (zip)bestand.
    Draai je een eigen server: stel dan de rgootte in naar wens in php.ini (voor het geval je een windows-based AMP draait: er zijn meerdere php.ini files. Slechts één is actief....)
    DaFrenkdonderdag 15 november 2007 @ 22:05
    quote:
    Op donderdag 15 november 2007 21:51 schreef beerten het volgende:

    [..]

    Kijk met phpinfo() wat de maximale bestandsgrootte is van een upload, danwel POST-grootte.
    Dan weetje ook de maximale grootte van je (zip)bestand.
    Draai je een eigen server: stel dan de rgootte in naar wens in php.ini (voor het geval je een windows-based AMP draait: er zijn meerdere php.ini files. Slechts één is actief....)
    Thanks! Ik zal het eens controleren
    wobbelzaterdag 17 november 2007 @ 13:51
    Kut, ik heb een mooi mail script met bijlage maar ik krijg geen bijlage in m'n email en alleen vage headers

    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
    <?php
    // Headers kleien
    $headers     "From: Roy <wobbel@gmail.com>\r\n";
    $headers     .= "Reply-To: Roy <wobbel@gmail.com>\r\n";
    $headers     .= "MIME-Version: 1.0\r\n";
    $headers     .= "Content-Type: multipart/mixed; boundary=\"".bound."\"\r\n";
    $headers     .= "Content-Disposition:  attachment\r\n";

    // File ff openen
    $fp         fopen $_FILES['CV']['tmp_name'], 'r' );
    $bestand     fread $fp$_FILES['CV']['size'] );
    fclose        $fp );

    // Body in elkaar knutselen
    $body         .= "This is a multi-part message in MIME format.\r\n";
    $body         .= "\r\n";
    $body         .= "--".bound."\r\n";
    $body         .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    $body        .= "Content-Transfer-Encoding: 7bit\r\n";
    $body         .= "sjakie sjakie dit is een test email lache man :)\r\n";
    $body         .= "--".bound."\r\n";
    $body         .= "Content-Type: application/octet-stream; name=" $_FILES['CV']['name'] . "\r\n";
    $body         .= "Content-Transfer-Encoding: base64\r\n";
    $body        .= "Content-disposition: attachment\r\n";
    $body         .= "\n";
    $body         .= chunk_split base64_encode $bestand ) ) . "\r\n";

    mail        "wobbel@gmail.com" "Bijlage" $body$headers);
    ?>


    maar ik krijg n ugewoon een e-mailtje met:

    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
    Content-Type: multipart/mixed; boundary="bound"

    Content-Disposition:  attachment


    This is a multi-part message in MIME format.


    --bound

    Content-Type: text/plain; charset=iso-8859-1

    Content-Transfer-Encoding: 7bit

    sjakie sjakie dit is een test email lache man :)

    --bound

    Content-Type: application/octet-stream; name=likkelikke.sql

    Content-Transfer-Encoding: base64

    Content-disposition: attachment


    /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAUAAA/+4ADkFkb2JlAGTAAAAAAf/b

    AIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwM

    DAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwM

    DAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgCjwO5AwERAAIRAQMRAf/EAQcAAQABBAMBAQAAAAAAAAAA
    Darkomenzaterdag 17 november 2007 @ 14:21
    Dit probleem had ik ook, maar alleen als de ontvanger een exchange server was, maar zoals je ziet zijn je headers gescheiden door een witte regel, maak van \r\n gewoon \n en kijk dan even verder.
    Bij mij loste dat de boel op.
    Xcaliburzaterdag 17 november 2007 @ 17:35
    Ik gebruik altijd phpMailer, die heeft een handige functie AddAttachment(), en die doet al het smerige werkt voor je
    beertenzaterdag 17 november 2007 @ 19:26
    quote:
    Op zaterdag 17 november 2007 13:51 schreef wobbel het volgende:
    Kut, ik heb een mooi mail script met bijlage maar ik krijg geen bijlage in m'n email en alleen vage headers
    [ code verwijderd ]

    maar ik krijg n ugewoon een e-mailtje met:
    [ code verwijderd ]
    Ik weet de oplossing niet, maar wil het wil weten! Ik loop momenteel tegen eenzelfde probleem aan. Als ik het mailtje open in Outlook Express dan.
    Onder SUSE linux, Kmail, zit het wel in de bijlage.
    Als je de oplossing weet, post het dan hier.. A.u.b....
    Hafezzaterdag 17 november 2007 @ 22:47
    Ik wil gebruik maken van een CMS menu en ik maak dan gebruik van twee tabellen, een tabel voor de hoofdlinks en een ander tabel voor de sublinks die gekoppeld zijn aan een van de hoofdlinks.

    Zo gaat het bijv zonder php en mysql:

    <div class="chromestyle" id="chromemenu">
    <ul>
    <li><a href="#" rel="test">Menu1</a></li>
    <li><a href="#" rel="test2">Menu2</a></li>
    <li><a href="#" rel="test3">Menu3</a></li>
    </ul>
    </div>

    <div id="test" class="dropmenudiv">
    <a href="http://www.test.com">test</a>
    </div>

    <div id="test2" class="dropmenudiv">
    <a href="http://www.test.com">test</a>
    </div>

    Nu komt mijn probleem, ik krijg de hoofdlinks gewoon te zien, maar de stuk code die ervoor zorgt dat de sublinks gekoppeld worden aan de hoofdlinks, daar gaat wat fout.
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
        $query 
    mysql_query("SELECT * FROM Pages WHERE sublinks = 'Yes'");
        while(
    $data mysql_fetch_array($query)){    
            
    $p_id         $data["pid"];

    <
    div id=" echo $p_id " class="dropmenudiv">

            
    $r_sublink mysql_query("SELECT * FROM Subpages WHERE menu ='$p_id'");
            while(
    $rs=mysql_fetch_array($r_sublink))
            {
                    
    $s_id         $rs["pid"];
                    
    $s_title     $rs["title"];

    <
    a href="http://www.test.com"> echo $s_title </a>

            }
        }

    </
    div>
    ?>

    Ik wil dus dat die voor alle hoofdlinks die sublinks hebben de daarbijhorende sublinks gaat plaatsen dmv een while in een while loop, maar hier gaat blijkbaar iets fout.

    Als ik het bovenste stukje code weghaal en verander in $p_id = 1; dan doet die het wel maar dat is natuurlijk geen oplossing, maar is alleen om het te testen.
    Hafezzaterdag 17 november 2007 @ 23:42
    Ongelovelijk dat ik hier uren mee heb zitten te klooien..

    </div> moest voor
    <?php
    }
    }
    ?>

    geplaatst worden..
    Qunixzaterdag 17 november 2007 @ 23:49
    edit: gevonden

    [ Bericht 94% gewijzigd door Qunix op 18-11-2007 00:04:19 ]
    The_Terminatorzondag 18 november 2007 @ 21:55
    Ik heb een probleempje met het verkleinen van mijn avatar dmv compressie, ik gebruik het volgende:

    1
    2
    3
    4
    5
    6
    7
    <?php
    $imagemag 
    "/usr/local/bin/convert";

    $cmd $imagemag " -dispose none -compress LZW " $framestring " -loop 0 " $outfile;

    exec($cmd$out$err);
    ?>


    Je zou denken dat de avatar dmv LZW compressie wordt verkleind, maar dat is helaas niet zo. Nu heb ik op een aantal sites gelezen dat LZW compressie in nieuwere versies van Imagemagick niet meer werkt door gedoe met licenties.

    Weet iemand toevallig of er nog een andere compressie voor animated gifs beschikbaar is?
    Darkomenmaandag 19 november 2007 @ 09:31
    quote:
    Op zaterdag 17 november 2007 19:26 schreef beerten het volgende:

    [..]

    Ik weet de oplossing niet, maar wil het wil weten! Ik loop momenteel tegen eenzelfde probleem aan. Als ik het mailtje open in Outlook Express dan.
    Onder SUSE linux, Kmail, zit het wel in de bijlage.
    Als je de oplossing weet, post het dan hier.. A.u.b....
    quote:
    Op zaterdag 17 november 2007 14:21 schreef Darkomen het volgende:
    Dit probleem had ik ook, maar alleen als de ontvanger een exchange server was, maar zoals je ziet zijn je headers gescheiden door een witte regel, maak van \r\n gewoon \n en kijk dan even verder.
    Bij mij loste dat de boel op.
    Chandlermaandag 19 november 2007 @ 11:32
    Hoe werken jullie met rechten m.b.t. forums, websites etc?

    Laden jullie bij iedere pagina de rechten opnieuw of zetten jullie deze in een sessie en gebruiker jullie deze steeds weer??
    Tuvai.netmaandag 19 november 2007 @ 11:41
    quote:
    Op maandag 19 november 2007 11:32 schreef Chandler het volgende:
    Hoe werken jullie met rechten m.b.t. forums, websites etc?

    Laden jullie bij iedere pagina de rechten opnieuw of zetten jullie deze in een sessie en gebruiker jullie deze steeds weer??
    Ligt aan de omvang van het systeem. Vaak heb ik websites waar je als het ware alleen een boolean 'is beheerder Ja/Nee' hebt, en dan gooi ik het in de gebruikerstabel. Ik heb diverse CMS systemen gemaakt waar je als het ware 10 onderdelen hebt, en waar je per gebruiker kunt aangeven of die gebruiker toegang heeft tot onderdeel X. Zoiets gooi ik ook nog in de gebruikerstabel.

    Hebben we het echter over bulletin boards waar 50 forums en daaronder subforums zitten, en waar je honderden gebruikers zou kunnen hebben, maak ik een soort van 'membership' tabel aan waar ik koppelingen maak met bijvoorbeeld gebruikers en fora, en daar een rechtenniveau aangeef. Ik gooi zoiets echter nooit in sessies of zo, dan maar bij het aanvragen van de pagina.
    Geqxonmaandag 19 november 2007 @ 12:06
    Iemands rechten in een sessie opslaan lijtk mij uberhaupt niet slim, aangezien je iemand dan niet "on the fly" kan upgraden / downgraden.
    JortKmaandag 19 november 2007 @ 12:36
    Misschien wanneer iemand inlogt alle rechten verzamelen, record voor aanmaken, en het ID van dat record meegeven met die sessie?

    Zit je alleen met het probleem dat iemand zn sessie moet resetten wanneer er iets gewijzigd word
    Tuvai.netmaandag 19 november 2007 @ 12:40
    quote:
    Op maandag 19 november 2007 12:36 schreef JortK het volgende:
    Misschien wanneer iemand inlogt alle rechten verzamelen, record voor aanmaken, en het ID van dat record meegeven met die sessie?

    Zit je alleen met het probleem dat iemand zn sessie moet resetten wanneer er iets gewijzigd word
    Dan komt het dus op hetzelfde neer, maar maak je het alleen nog omslachtiger.

    Nogmaals, als het omvangrijk genoeg is gooi ik alles in de database. Het zijn maar een paar integers/booleans die je gaat fetchen per keer. Die 10 miliseconden die de pagina nodig heeft om dat te verwerken lig ik ook niet wakker van.
    JortKmaandag 19 november 2007 @ 12:46
    quote:
    Op maandag 19 november 2007 12:40 schreef Tuvai.net het volgende:

    [..]

    Dan komt het dus op hetzelfde neer, maar maak je het alleen nog omslachtiger.

    Nogmaals, als het omvangrijk genoeg is gooi ik alles in de database. Het zijn maar een paar integers/booleans die je gaat fetchen per keer. Die 10 miliseconden die de pagina nodig heeft om dat te verwerken lig ik ook niet wakker van.
    Ja maar wanneer het dan fout gaat gaat het goed fout

    Hoe mensen als phpBB dat?
    Tuvai.netmaandag 19 november 2007 @ 13:14
    quote:
    Op maandag 19 november 2007 12:46 schreef JortK het volgende:

    [..]

    Ja maar wanneer het dan fout gaat gaat het goed fout
    Leg uit. Enige wat echt fout zou kunnen gaan is dat je database niet bereikbaar is, maar in dat geval zou je heel forum plat moeten liggen, niet alleen het rechtensysteem.
    Chandlermaandag 19 november 2007 @ 13:30
    Nou het zit zo dat ik 2 tabellen heb voor rechten.

    1 in de gebruikers tabel (voor rechten om te kunnen inloggen, zaken toevoegen, bewerken) == bitwise (1 integer voor alles)
    1 in een forum tabel waarbij ik per recht een mogelijk record heb (lezen, schrijven, plaatsen, geband, admin)

    Dus is het in mijn opinie gemakkelijker om steeds een query te doen en deze eventueel per pagina load te cachen oid?!
    Xcaliburmaandag 19 november 2007 @ 13:46
    Ik heb even een probleempje met m'n ALT-teksten... niet echt een PHP issue, maar toch

    Ik heb een paar links met onder andere de volgende alt-teksten: [L'oréal] en ["Solide"] (zonder de haken).
    En hierbij gaat de ALT popup dus kapot op de quotes. Bovendien wordt de é vervangen door een htmlentity, waar de W3C validator van op z'n bek gaat, omdat er dan een & in de tekst staat

    Wat doe ik hier aan?
    Tuvai.netmaandag 19 november 2007 @ 13:58
    quote:
    Op maandag 19 november 2007 13:30 schreef Chandler het volgende:
    Nou het zit zo dat ik 2 tabellen heb voor rechten.

    1 in de gebruikers tabel (voor rechten om te kunnen inloggen, zaken toevoegen, bewerken) == bitwise (1 integer voor alles)
    1 in een forum tabel waarbij ik per recht een mogelijk record heb (lezen, schrijven, plaatsen, geband, admin)

    Dus is het in mijn opinie gemakkelijker om steeds een query te doen en deze eventueel per pagina load te cachen oid?!
    Dat doe ik wel ja. Da's in ieder geval het veiligst. Tevens kun je van jouw 2 tabellen misschien één maken, en dan een veldje 'recht_type' er bij gooien of iets dergelijks.
    quote:
    Op maandag 19 november 2007 13:46 schreef Xcalibur het volgende:
    Ik heb even een probleempje met m'n ALT-teksten... niet echt een PHP issue, maar toch

    Ik heb een paar links met onder andere de volgende alt-teksten: [L'oréal] en ["Solide"] (zonder de haken).
    En hierbij gaat de ALT popup dus kapot op de quotes. Bovendien wordt de é vervangen door een htmlentity, waar de W3C validator van op z'n bek gaat, omdat er dan een & in de tekst staat

    Wat doe ik hier aan?
    Over de htmlentities() nog een htmlspecialchars() uitvoeren?
    JortKmaandag 19 november 2007 @ 14:19
    quote:
    Op maandag 19 november 2007 13:14 schreef Tuvai.net het volgende:

    [..]

    Leg uit. Enige wat echt fout zou kunnen gaan is dat je database niet bereikbaar is, maar in dat geval zou je heel forum plat moeten liggen, niet alleen het rechtensysteem.
    Nou leg uit... op een gegeven moment moet er volgens mij een breekpunt zijn waarop je performance enorm gaat droppen als je telkens alles op moet halen uit je rechten tabel?
    Tuvai.netmaandag 19 november 2007 @ 15:31
    quote:
    Op maandag 19 november 2007 14:19 schreef JortK het volgende:

    [..]

    Nou leg uit... op een gegeven moment moet er volgens mij een breekpunt zijn waarop je performance enorm gaat droppen als je telkens alles op moet halen uit je rechten tabel?
    In theorie wel ja, maar nogmaals, die hooguit 10 milliseconden lig ik niet wakker van. Al helemaal niet als mijn website/applicatie daardoor hufterproof is, in tegenstelling tot bijvoorbeeld het 'snel' opslaan in sessies of iets dergelijks, waar wél mee te pielen valt. Je hebt het over een paar booleans of integers die je uitleest, het zal echt geen groot performanceverlies veroorzaken hoor.
    JortKmaandag 19 november 2007 @ 15:44
    quote:
    Op maandag 19 november 2007 15:31 schreef Tuvai.net het volgende:

    [..]

    In theorie wel ja, maar nogmaals, die hooguit 10 milliseconden lig ik niet wakker van. Al helemaal niet als mijn website/applicatie daardoor hufterproof is, in tegenstelling tot bijvoorbeeld het 'snel' opslaan in sessies of iets dergelijks, waar wél mee te pielen valt. Je hebt het over een paar booleans of integers die je uitleest, het zal echt geen groot performanceverlies veroorzaken hoor.
    tenzij je echt een grote omgeving hebt
    Tuvai.netmaandag 19 november 2007 @ 15:47
    Dan zijn het nog maar een paar milliseconden extra die je nodig heeft om die paar getalletjes op te vissen. Performanceverlies heeft niemand graag, maar bugs en lekken vind ik veel erger en daar offer ik zonder enige twijfel wel een paar milliseconden voor op. Zou wat anders zijn als het 3 seconden waren of zo.

    Vaak kun je, als je een aparte tabel met rechten hebt, deze gegevens ook nog in een join meenemen op de pagina waar dat nodig is, zonder daar aparte queries voor te gebruiken.
    Chandlermaandag 19 november 2007 @ 15:51
    Hoe zou FOK dit hebben aangepakt? volgens mij leest ie ook bij ieder nieuwe hit de rechten uit
    SuperRembomaandag 19 november 2007 @ 16:08
    quote:
    Op maandag 19 november 2007 13:58 schreef Tuvai.net het volgende:
    Over de htmlentities() nog een htmlspecialchars() uitvoeren?
    Dat lost niets op, het maakt het alleen maar erger. De inhoud van een attribute moet HTML-encoded zijn. In ieder geval moeten <, > &, en " ge-encode zijn. De W3C validator klaagt ook helemaal niet over &'s in attributes.
    Xcaliburmaandag 19 november 2007 @ 17:24
    quote:
    Op maandag 19 november 2007 16:08 schreef SuperRembo het volgende:
    Dat lost niets op, het maakt het alleen maar erger. De inhoud van een attribute moet HTML-encoded zijn. In ieder geval moeten <, > &, en " ge-encode zijn. De W3C validator klaagt ook helemaal niet over &'s in attributes.
    Dit lost inderdaad niks op, het verplaatst het probleem alleen maar....
    Tuvai.netmaandag 19 november 2007 @ 18:51
    quote:
    Op maandag 19 november 2007 17:24 schreef Xcalibur het volgende:

    [..]

    Dit lost inderdaad niks op, het verplaatst het probleem alleen maar....
    htmlentities($bla, ENT_QUOTES) werkt toch prima voor alt attributen? é, ä, ò, etc. worden prima vervangen door hun entities op deze manier.
    Xcaliburmaandag 19 november 2007 @ 18:56
    hmmm, ik ga het nog effe proberen, maar vanmiddag kwam ik er niet uit
    SuperRembomaandag 19 november 2007 @ 21:04
    quote:
    Op maandag 19 november 2007 18:51 schreef Tuvai.net het volgende:

    [..]

    htmlentities($bla, ENT_QUOTES) werkt toch prima voor alt attributen? é, ä, ò, etc. worden prima vervangen door hun entities op deze manier.
    Ja, dat werkt.
    Maar je suggereerde eerder om htmlentities() èn htmlspecialchars() toe te passen. Daar schiet je niets mee op.

    De default instellingen van htmlentities() en htmlspecialchars() zijn zo dat ze dubbele quotes worden omgezet, de 2e parameter kan je dus weglaten.
    Tuvai.netmaandag 19 november 2007 @ 21:46
    quote:
    Op maandag 19 november 2007 21:04 schreef SuperRembo het volgende:

    [..]

    Ja, dat werkt.
    Maar je suggereerde eerder om htmlentities() èn htmlspecialchars() toe te passen. Daar schiet je niets mee op.

    De default instellingen van htmlentities() en htmlspecialchars() zijn zo dat ze dubbele quotes worden omgezet, de 2e parameter kan je dus weglaten.
    Klopt, ik was alleen even niet meer zeker door Xcalibur's post. Dacht dat 'ie bedoelde dat zelfs na het gebruiken van htmlentities() er nog ampersands in stonden.
    Xcaliburmaandag 19 november 2007 @ 21:55
    Ik ben er inmiddels achter waar het probleem zit... het gaat om een functie die zowel de titel als de alt-text schrijft, en die krijg een string met een apostrophe en een é erin als input. Deze moet ik eerst html_entity_decoden voor de alt-tekst en daarna weer html_entity_encoden voor de linktekst... beetje omslachtig, maar ja

    Anyway, op mijn pc werkt het (PHP 5), alleen op mijn server draait PHP 4.3.x, en daar geeft de html_entity_decode een of andere vage melding op de UTF-8 optie. Is kennelijk een bug die niet in oude versies opgelost zal worden

    Dus ik ben nog steeds niet veel opgeschoten, ik weet alleen wel hoe het komt
    Tuvai.netmaandag 19 november 2007 @ 22:01
    Hmm, post eens een stukje van je broncode. htmlentities() werkt prima hoor. Je gebruikt htmlentities($var) op variabele $var als je karakters door hun entities wil vervangen, en htmlentities($var, ENT_QUOTES) voor stukjes in HTML attributen (alt, src) zodat apostrophes en aanhalingstekens vervangen worden door entities. :)

    1
    2
    3
    <?php
    echo "<a href=\"".htmlentities($link[url], ENT_QUOTES)."\">".htmlentities($link[text])."</a>";
    ?>
    Farenjimaandag 19 november 2007 @ 22:24
    quote:
    Op maandag 19 november 2007 21:55 schreef Xcalibur het volgende:
    Anyway, op mijn pc werkt het (PHP 5), alleen op mijn server draait PHP 4.3.x, en daar geeft de html_entity_decode een of andere vage melding op de UTF-8 optie. Is kennelijk een bug die niet in oude versies opgelost zal worden
    Is dat een melding over multi byte character support? Dat zit aimnv standaard in php5 maar voor php4 is het een module die je zelf moet installeren. UTF-8 is multi byte...
    Xcaliburdinsdag 20 november 2007 @ 11:11
    quote:
    Op maandag 19 november 2007 22:24 schreef Farenji het volgende:
    Is dat een melding over multi byte character support? Dat zit aimnv standaard in php5 maar voor php4 is het een module die je zelf moet installeren. UTF-8 is multi byte...
    Het probleem doet zich voor bij deze aanroep:
    1html_entity_decode($title, ENT_QUOTES, 'UTF-8');


    En dit is de melding die je dan krijgt: http://bugs.php.net/bug.php?id=25670
    SuperRembodinsdag 20 november 2007 @ 12:13
    Is je pagina ook echt UTF-8? (Inclusief juiste headers)
    Meestal voldoet iso-8859-15 prima (en geeft minder problemen)
    Farenjidinsdag 20 november 2007 @ 14:09
    quote:
    Op dinsdag 20 november 2007 12:13 schreef SuperRembo het volgende:
    Is je pagina ook echt UTF-8? (Inclusief juiste headers)
    Meestal voldoet iso-8859-15 prima (en geeft minder problemen)
    Behalve als je later alsnog over wil stappen op UTF-8... dat is een regelrechte hel (ik spreek uit ervaring ). Tegenwoordig gebruik ik altijd overal UTF-8 voor, mocht je ooit nog ondersteuning voor Chinees ofzo willen toevoegen dan kan dat ook gewoon zonder veel moeite. Als je vanaf het begin met UTF-8 begint en het consequent gebruikt dan is het simpeler dan ISO-8859.