• 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

  • Het Grote Vibe Code Topic

    Jeroen.G 11 mei 2026 om 09:28
  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • PWYL source gezocht

    Syntax 25 maart 2026 om 11:44
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57

Marktplaats

  • 370 Nieuwe Domeinnamen April 2026

    shiga 1 mei 2026 om 12:06
  • Snel een website nodig?

    Syntax 10 april 2026 om 12:55
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Syntax 5 april 2026 om 16:22

Training probleem

  • speedwars
  • 22 september 2015 om 14:32
  • speedwars
    Beginner
    Berichten
    7
    • 22 september 2015 om 14:32
    • #1

    Hallo allemaal,

    Ik ben bezig met een site voor een maat van me. Nu hoefde ik de code niet te vernieuwen... maar nu heb ik een probleem in dit script.

    Hieronder vind je trainen.php, dit script moet een tijd in de database zetten. Wat doet dit script nou, hij zet de tijd op 5 uur terug in plaats van de ingegeven minuten voor uit.

    Hoe kan ik dit fixen?

    PHP: trainen.php
    <?php
    $messload = TRUE;
    include("page_top_s-g.php");
    
    
    $area = $_GET['area'];
    $trainen = strtotime($data['trainen_end_time']);
    
    
       if($trainen > time()){
       $minuten = floor(($trainen-time())/60);
       $minuten = ($minuten == 1) ? $minuten.' minuut en '.(($trainen-time())-($minuten*60)).' seconden' : $minuten.' minuten en '.(($trainen-time())-($minuten*60)).' seconden';
       $tijd = (($trainen-time()) <= 60) ? ($trainen-time()).' seconden' : $minuten;
    
    
       confirm_box('Trainen', "Je bent nog $tijd bezig met een training!", '', $_SERVER['SCRIPT_NAME'].'?area='.$area);
       }
    
    
       if(!preg_match('/^[1-2]$/', $area))
       confirm_box('Trainen', 'Error', 'red');
    
    
    
    
    
    
       if(preg_match('/^[0-9]$/', $_POST['training'])){
    
    
       $training = $_POST['training'];
    
    
          if($training == 1 && $area == 1){
          $tijd = (60*5);
          $skill = 2;
          } else if($training == 2 && $area == 1){
          $tijd = (60*10);
          $skill = 4;
          } else if($training == 3 && $area == 1){
          $tijd = (60*15);
          $skill = 6;
          } else if($training == 1 && $area == 2){
          $tijd = (60*5);
          $skill = 2;
          } else if($training == 2 && $area == 2){
          $tijd = (60*10);
          $skill = 4;
          } else if($training == 3 && $area == 2){
          $tijd = (60*15);
          $skill = 6;
          } else if($training == 4 && $area == 2){
          $tijd = (60*20);
          $skill = 8;
          }
    
    
          if($area && $tijd && $skill){
          mysql_query("update `[users]` set `training{$area}`=`training{$area}`+$skill, trainen_end_time=DATE_ADD(NOW(), INTERVAL {$tijd} SECOND) where login='{$data['login']}'");
    
    
          $tijd = ($tijd/60);
    
    
          confirm_box('Training', "Je gaat nu trainen voor $tijd minuten.", '', $_SERVER['SCRIPT_NAME'].'?area='.$area);
          }
    
    
    } else {
    
    
    $titel = ($area == 1) ? 'auto stelen' : 'misdaad';
    
    
    echo "<form method='post'>\n".
         "<table align='center' cellspacing='0' width='400'>\n".
         "<tr><td class='subTitle' colspan='2'><b>Trainen voor $titel</b></td></tr>\n\n".
         "<tr><td class='subTitle'><b>Activiteit</b></td> <td class='subTitle'><b>Tijd</b></td></tr>\n";
    
    
    if($area == 1){
    print <<<END
    <tr><td class='mainTxt' width='60%'><input type="radio" value="1" name="training"> Slot breken.</td> <td class='mainTxt' width='40%'>5 Min.</td></tr>
    <tr><td class='mainTxt'><input type="radio" value="2" name="training"> Auto starten.</td><td class=mainTxt>10 Min.</td></tr>
    <tr><td class='mainTxt'><input type="radio" value="3" name="training"> Alarm uitschakelen.</td><td class=mainTxt>15 Min.</td></tr>
    END;
    } else if($area == 2){
    print <<<END
    <tr><td class='mainTxt' width='60%'><input type='radio' value='1' name='training'> Dealen.</td>   <td class='mainTxt' width='40%'>5 Min.</td></tr>
    <tr><td class='mainTxt'><input type='radio' value='2' name='training'> Zakkenrollen oefenen.</td> <td class='mainTxt'>10 Min.</td></tr>
    <tr><td class='mainTxt'><input type='radio' value='3' name='training'> Kassa Openen.</td>         <td class='mainTxt'>15 Min.</td></tr>
    <tr><td class='mainTxt'><input type='radio' value='4' name='training'> Slot forceren.</td>        <td class='mainTxt'>20 Min.</td></tr>
    END;
    }
    
    
    echo "<tr><td align='center' class='mainTxt' colspan='2'><input type='submit' value=' Trainen! '></td></tr>\n".
         "</table>\n".
         "</form>\n\n".
         "</body>\n".
         "</html>";
    
    
    }
    ?>
    Toon Meer
  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 22 september 2015 om 18:13
    • #2

    Zie enkele dingen, waaronder ook fouten die de veiligheid schaden.

    1) $_GET wordt zomaar geaccepteerd in een database query, niet slim.
    2) De mysql_ functie wordt niet meer ondersteund door veel hosting partijen, kan je beter updaten.

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 22 september 2015 om 18:33
    • #3

    Als het 5 uur terug is, zou je server tijd dan goed staan ?

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 22 september 2015 om 19:36
    • #4

    - werk met één tijdslijn, je gebruikt nu twee "klokken": time() (PHP) en NOW() (MySQL); mogelijk staan beide klokken niet gelijk, kies een van de twee (PHP of MySQL) die bepaalt hoe laat het is

    - werk ook met één (eenduidige) tijdszone, mogelijk wordt in PHP een hele andere tijdszone gebruikt dan in MySQL, dus zelfs als je één klok gebruikt kan dit toch verschillende betekenissen hebben (een tijd kan op verschillende manieren geinterpreteerd worden) afhankelijk van hoe/waar je hier naar kijkt

    Verder staat er geen enkele regel commentaar in bovenstaande code die aangeeft hoe deze zou moeten werken en maakt deze -zoals eerder aangegeven- gebruik van verouderde functies en onveilige constructies. Ik denk daarom dat het niet echt de moeite loont om hier "quick fixes" in uit te voeren, te meer omdat op andere plaatsen waarschijnlijk soortgelijke problemen spelen - de oplossingen die je toepast in deze code zou je dan ook op andere plaatsen moeten toepassen om er verzekerd van te zijn dat alles in de pas loopt.

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Datalek bij leverancier Canvas - Universiteit van Amsterdam

    ICTscripters 10 mei 2026 om 12:03
  • Data privacy in 2026: Hoe de naleving van GDPR verandert

    ICTscripters 8 mei 2026 om 12:16
  • Tech.eu - Europees Start-up, Financiering en Technologienieuws

    ICTscripters 7 mei 2026 om 12:15

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

  • 4 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