• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

foreach functie

  • djordyh
  • 7 augustus 2012 om 21:44
  • Closed
  • djordyh
    Professional
    Berichten
    627
    • 7 augustus 2012 om 21:44
    • #1

    Hey,

    Bij een script heeft de gebruiker een bepaald level nodig om een bepaalde actie uit te voeren, dit heb ik nu in ifjes staan, een klein deel van het script:

    PHP
    if($lvl['smuggling_level'] >= 1){ 
    						echo"
    							<option value='0'>Marihuana</option>
    						";
    						}
    						
    						if($lvl['smuggling_level'] >= 3){ 
    						echo"
    							<option value='1'>Hasj</option>
    						";
    						}
    
    
    if($lvl['smuggling_level'] >= 13){ 
    						echo"
    							<option value='2'>Tabak</option>
    						";
    						}
    Toon Meer

    Hoe kan ik dit ombouwen naar de foreach functie? Ik heb nog nooit echt met die functie gewerkt en google hielp me ook niet echt vooruit, kan iemand me opweg helpen?

    Alvast bedankt!

    MVG.

    Met vriendelijke groet,

    Djordy.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    Berichten
    678
    • 7 augustus 2012 om 23:19
    • #2

    foreach staat letterlijk vertaald voor: voor elke.
    Bij foreach werk je met arrays, een aantal variabels in een soort 'mapje'.
    Bij foreach (voor elke), wordt de code uitgevoerd voor elke variabel in de array(map).

    Stel je hebt een array met 10 variabels, dan zal de foreach code 10x worden uitgevoerd.


    Hierbij zal ik je aanraden de functie "switch" te gebruiken, het is hetzelfde principe als if elseif, alleen dan werk je met cases. Dat gaat als volgt.

    PHP
    switch($lvl['smuggling_level']){
        case ($lvl['smuggling_level'] < 3 && $lvl['smuggling_level'] >= 1):
        // hier je code voor level 1 of hoger.
        break;
    
    
        case ($lvl['smuggling_level'] < 13 && $lvl['smuggling_level'] >= 3):
        // hier je code voor level 3 of hoger.
        break;
    
    
        case ($lvl['smuggling_level'] >= 13):
        // hier je code voor level 13 of hoger.
        break;
    
    
    }
    Toon Meer

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • Darsstar
    Vreemd
    Berichten
    1.173
    • 8 augustus 2012 om 02:40
    • #3

    Optie een:

    PHP
    switch ($lvl['smuggling_level']) {
        case 13:
            echo '<option value="2">Tabak</option>'; 
        case 12:
        case 11:
        case 10:
        case 9:
        case 8:
        case 7:
        case 6:
        case 5:
        case 4:
        case 3:
            echo '<option value="1">Hasj</option>';
        case 2:
        case 1:
            echo '<option value="0">Marihuana</option>';
    }
    Toon Meer


    Een meer correct gebruik van een switch.
    Een switch begint bij de eerste matchende conditie en stopt bij de eerste break.
    Zolang er geen breaks zijn gaat hij dus gewoon door tot het einde.

    Optie twee:

    PHP
    $achievements = array(
        1 => '<option value="0">Marihuana</option>',
        3 => '<option value="1">Hasj</option>',
        13 => '<option value="2">Tabak</option>',
    );
    
    
    foreach ($achievements as $level => $string) {
        if ($lvl['smuggling_level'] >= $level) {
            echo $string;
        }
    }
    Toon Meer

    miauw!

  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    Berichten
    678
    • 8 augustus 2012 om 02:57
    • #4

    @Dars
    Aah ja klopt, daar heb je gelijk in thnx voor de reminder!

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • djordyh
    Professional
    Berichten
    627
    • 8 augustus 2012 om 10:24
    • #5

    Ik wou toevallig een 2e vraag stellen, of het ook in een array kan om het script zo klein mogelijk te houden. Bedankt Darsstar!

    Jij ook bedankt ismail123, ik weet weer hoe de functie werkt. :cheer:

    Met vriendelijke groet,

    Djordy.

  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    Berichten
    678
    • 9 augustus 2012 om 00:33
    • #6

    @sukel,

    graag gedaan, Optie 2 van Darsstar is uitgewerkt vanuit een array.
    Je kan daar in de array wat meer levels enzo toevoegen.

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • djordyh
    Professional
    Berichten
    627
    • 11 augustus 2012 om 17:20
    • #7

    Ik loop vast met darsstar optie 2, ik heb nu:

    PHP
    $soorten = array(
                            1 => '<option value="0">Marihuana</option>',
                            3 => '<option value="1">Hasj</option>',
                            13 => '<option value="2">Tabak</option>',
    						23 => '<option value="3">Paddos</option>',
    						33 => '<option value="4">Lachgas</option>',
    						43 => '<option value="5">Opium</option>',
    						53 => '<option value="6">GHB</option>',
    						63 => '<option value="7">XTC</option>',
    						73 => '<option value="8">LSD</option>',
    						83 => '<option value="9">Heroene</option>',
    						93 => '<option value="10">Cocaene</option>',
                            );
    Toon Meer

    en:

    PHP
    foreach ($soorten as $level => $string) {
    					   
            if ($lvl['smuggling_level'] < $level) {
            $msg = bad("Je hebt een onbekend type geselecteerd! ".$level." ".$string." ".$soorten."");
            }

    Hij zegt elke keer dat ik een onbekent type heb geselecteerd. Dus nu heb ik bij de echo even de 3 variabele gezet en die bevatten:

    93, cocaine, array.

    Er klopt dus met dat gedeelte even iets niet.

    De bedoeling is: Als de gebruiker level 5 heeft, moet hij Marihuana en Hashj alleen kunnen doen, want die zitten onder level 5, de overige dan komt de error dat het een onbekende type is (beveiliging)

    Met vriendelijke groet,

    Djordy.

  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    Berichten
    678
    • 11 augustus 2012 om 18:19
    • #8

    @sukel,

    Wat ik heb begrepen is dat je het nu wilt beveiligen?
    Als je de bovenstaande code uitvoert krijg je bij elke optie die NIET voor dat level geschikt is een error.
    Die beveiliging moet niet in de foreach zitten, maar werken met $_POST inputs.
    Dan zou ik de value van de optie hetzelfde maken als op welke level je moet zijn om die optie te kunnen zodat je ermee kan spelen in php.
    Als je dat niet doet moet je via php weer uitvogelen welke optie bij welke level behoort.
    Dus dit doe je dan:

    PHP
    $soorten = array(
                            1 => '<option value="1">Marihuana</option>',
                            3 => '<option value="3">Hasj</option>',
                            13 => '<option value="13">Tabak</option>',
                            23 => '<option value="23">Paddos</option>',
                            33 => '<option value="33">Lachgas</option>',
                            43 => '<option value="43">Opium</option>',
                            53 => '<option value="53">GHB</option>',
                            63 => '<option value="63">XTC</option>',
                            73 => '<option value="73">LSD</option>',
                            83 => '<option value="83">Heroene</option>',
                            93 => '<option value="93">Cocaene</option>',
    );
    Toon Meer


    En deze beveiligings manier.

    PHP
    // als de gekozen optie gestuurd is.
    if($_POST["geselecteerdeitem"]){
    // als de persoon is toegestaan om die optie uit te voeren
        if($lvl['smuggling_level'] >= $_POST["geselecteerdeitem"]){
         // voer de code uit wanneer toegestaan.
        }else{
        bad("Je hebt geen rechten tot deze optie.");
        }
    }

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • djordyh
    Professional
    Berichten
    627
    • 11 augustus 2012 om 19:02
    • #9
    Citaat van ismail123

    @sukel,

    Wat ik heb begrepen is dat je het nu wilt beveiligen?
    Als je de bovenstaande code uitvoert krijg je bij elke optie die NIET voor dat level geschikt is een error.
    Die beveiliging moet niet in de foreach zitten, maar werken met $_POST inputs.
    Dan zou ik de value van de optie hetzelfde maken als op welke level je moet zijn om die optie te kunnen zodat je ermee kan spelen in php.
    Als je dat niet doet moet je via php weer uitvogelen welke optie bij welke level behoort.
    Dus dit doe je dan:

    PHP
    $soorten = array(
                            1 => '<option value="1">Marihuana</option>',
                            3 => '<option value="3">Hasj</option>',
                            13 => '<option value="13">Tabak</option>',
                            23 => '<option value="23">Paddos</option>',
                            33 => '<option value="33">Lachgas</option>',
                            43 => '<option value="43">Opium</option>',
                            53 => '<option value="53">GHB</option>',
                            63 => '<option value="63">XTC</option>',
                            73 => '<option value="73">LSD</option>',
                            83 => '<option value="83">Heroene</option>',
                            93 => '<option value="93">Cocaene</option>',
    );
    Toon Meer


    En deze beveiligings manier.

    PHP
    // als de gekozen optie gestuurd is.
    if($_POST["geselecteerdeitem"]){
    // als de persoon is toegestaan om die optie uit te voeren
        if($lvl['smuggling_level'] >= $_POST["geselecteerdeitem"]){
         // voer de code uit wanneer toegestaan.
        }else{
        bad("Je hebt geen rechten tot deze optie.");
        }
    }
    Toon Meer

    Owja :$
    Goh, ik denk altijd veels te moeilijk haha.

    Bedankt! :cheer:

    Met vriendelijke groet,

    Djordy.

  • ismail123
    Advanced programmer.
    Ontvangen Reacties
    20
    Berichten
    678
    • 11 augustus 2012 om 19:15
    • #10

    @Sukel,

    Alweer graag gedaan.:D
    Netzoals ik bij de vorige topic zei,
    Think simple.
    Maargoed.. slotje?

    Met vriendelijke groet,
    Ismail
    enthousiaste game developer

  • djordyh
    Professional
    Berichten
    627
    • 11 augustus 2012 om 19:43
    • #11

    :slotje:

    Met vriendelijke groet,

    Djordy.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 2 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design