• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  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
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Externe testers gezocht — Saphaxis AI Chat Organizer 0.1.59

    FreelanceAP 4 november 2026 om 07:42
  • nieuwe game

    tigermaffia 2 november 2026 om 15:21
  • Criminolz

    qevanto 31 oktober 2026 om 20:52
  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

foreach functie

  • djordyh
  • 7 augustus 2012 om 21:44
  • Gesloten
  • 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>
    						";
    						}
    Meer tonen

    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.

  • Gast, wil je besparen op je domeinnamen? (ad)
  • ismail123
    Advanced programmer.
    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;
    
    
    }
    Meer tonen

    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>';
    }
    Meer tonen


    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;
        }
    }
    Meer tonen

    miauw!

  • ismail123
    Advanced programmer.
    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.
    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>',
                            );
    Meer tonen

    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.
    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>',
    );
    Meer tonen


    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>',
    );
    Meer tonen


    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.");
        }
    }
    Meer tonen

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

    Bedankt! :cheer:

    Met vriendelijke groet,

    Djordy.

  • ismail123
    Advanced programmer.
    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.

Registratie

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

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

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

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