• 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

  • 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
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31
  • Hoe gebruiken jullie WhatsApp voor marketing en klantopvolging?

    aiqanobzfsej5 29 september 2026 om 12:55

Marktplaats

  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22
  • TK: Kraai.eu

    frio 25 oktober 2026 om 11:39
  • [TE KOOP] Likeboost24.nl: complete SMM-webshop met eigen merk, volautomatische levering en betalen op de eigen pagina

    Jeroen.G 16 oktober 2026 om 14:27

Lijst ene klantnummer wel, andere niet.

  • T.Nijborg
  • 17 maart 2014 om 16:54
  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 17 maart 2014 om 16:54
    • #1

    Heey allemaal,

    Ik ben een klantenpaneel aan het maken, en nou ben ik bezig met de login, nou heb ik 1 probleem ermee, mijn klantnummer leest die wel, maar van een 2, test account niet. Misschien zien jullie het probleem.

    De code voor gegevens uit de db:

    PHP
    // STANDAARD GEGEVENS BEGIN //
    $info = mysqli_query($con, "SELECT * FROM customers");
    $gegevens = mysqli_fetch_array($info);


    De code die checkt of de gegevens kloppen:

    PHP
    <?php
    // SYSTEEM INLOGGEN BEGIN
    
    
    // Klantnummer En wachtwoord
    $klantnummer = $_REQUEST['klant'];
    $wachtwoord = $_REQUEST['pass'];
    
    
    //Form openen
    if(isset($_POST['login'])){
    
    
    //Pass en klant beveilligen
    $klant = md5(sha1($klantnummer));
    $pass = md5(sha1($wachtwoord));
    
    
    // checks
    if($gegevens['klantnummer'] == $klant){
    if($gegevens['wachtwoord'] == $pass){
    
    
    //Sessie zetten
    $_SESSION['user'] = $klant;
    header('Refresh: 5; url=index.php');
    
    
    } else{
    $fout = $lang_pass_fout;
    }
    } else {
    $fout = $lang_klantnummer_fout;
    }
    
    
    //Form sluiten
    }
    
    
    // SYSTEEM INLOGGEN EINDE
    
    
    if($_SESSION['user'] == ""){
    ?>
    Meer tonen

    Ik heb alles geprobeerd.. Iemand enig idee?

    Gr,

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Reza
    Professional
    Berichten
    1.536
    • 17 maart 2014 om 17:34
    • #2

    Zou je jouw hele code kunnen posten op pastebin.com en de link hier delen?
    Verder is jouw code, naar mijn mening, iets te omslachtig qua 'efficiëntie' en zou ik een inlog systeem anders aanpakken.

    Qua debuggen zou ik nu even eens var_dump uitproberen, dus:

    PHP
    var_dump($gegevens['klantnummer'], $gegevens['wachtwoord'], $klant, $wachtwoord);

    Zo kun je al kijken of de gegevens ook echt kloppen, verder snap ik niet echt waarom je het klantnummer beveiligd?

    Met vriendelijke groet,
    Reza.

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 17 maart 2014 om 17:51
    • #3

    puur voor de veilligheid, en dit is de code die ervoor zorgt dat dit het doet, hele codes ga ik niet opzetten. Maar hij pakt maar 1 rij uit de database, en dat snap ik niet ...

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

    Bewerkt één keer, laatst door mentimjojo (17 maart 2014 om 18:07).

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 17 maart 2014 om 18:28
    • #4
    PHP
    // STANDAARD GEGEVENS BEGIN //
    $info = mysqli_query($con, "SELECT * FROM customers");
    $gegevens = mysqli_fetch_array($info);

    Hier selecteer je alle rijen en alle kolommen waardoor er een array in een array is. Hou je hier wel rekening mee? Ik zie dat namelijk nergens in je script staan.

    Het is inderdaad onnodig dat je je klantnummer codeert omdat het handiger is als je je klantnummer in je klantenpaneel kan zien. Zo kan je je klantnummer meteen doorgeven en je hebt alle info. Verder als je iets codeert doe dit dan niet dubbel omdat de hash dan minder uniek wordt. Daarbij is ook het risico dat je twee verschillende klantnummers hebt maar met de dezelfde hash.

    LOL

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 17 maart 2014 om 18:31
    • #5

    Hoe werkt het dan bramieboy100? want ik snap er niks meer van-,-. Verrote mysqli

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

    Bewerkt één keer, laatst door mentimjojo (17 maart 2014 om 19:02).

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 17 maart 2014 om 19:48
    • #6

    Je hebt tenminste een gegeven nodig om geen array in een array te krijgen dat uniek is. Bijvoorbeeld een id. Dan haal je dit op met een SQL query en dan kan je $gegevens['password'] bij wijze van spreken doen. Maar mij is nog niet helemaal duidelijk wat je precies wil bereiken.

    Mag ik trouwens vragen waarom je request gebruikt en niet post. Request zorgt ervoor dat je get en post kan gebruiken.

    LOL

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 17 maart 2014 om 19:53
    • #7

    Hallo,

    Punt is dat ik niet veel snap van die mysqli... En wat ik probeer is een inlog systeem te bouwen..

    Dit is de code die ik nu heb, maar dat pakt alleen de eerste rij waardoor je alleen met de gegevens vanaf de 1ste rij in de tabel kan inloggen, hoe selecteer ik alle rijen

    PHP
    // SYSTEEM INLOGGEN BEGIN
    
    
    //database
    $result = mysqli_query($con,"SELECT * FROM customers");
    $gegevens = mysqli_fetch_array($result);
    
    
    //Form openen
    if(isset($_POST['login'])){
    
    
    // Klantnummer En wachtwoord
    $klant = $_POST['klant'];
    $wachtwoord = $_POST['pass'];
    //Pass en klant beveilligen
    $pass = sha1($wachtwoord);
      
    // checks
    if($gegevens['klantnummer'] == $klant){
    if($gegevens['wachtwoord'] == $pass){
    
    
    
    
    //Sessie zetten
    $_SESSION['user'] = $klant;
    header('Refresh: 5; url=index.php');
    
    
    } else{
    $fout = $lang_pass_fout;
    }
    } else {
    $fout = $lang_klantnummer_fout;
    }
    
    
    //Form sluiten
    }
    
    
    
    
    // SYSTEEM INLOGGEN EINDE
    Meer tonen

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Reza
    Professional
    Berichten
    1.536
    • 17 maart 2014 om 20:05
    • #8

    " SELECT klantnummer,wachtwoord FROM customers WHERE klantnummer = '".$_POST['klant']." "

    Dat stukje moet natuurlijk nu wel na de isset en na het stukje dat je $_POST omzet naar variabelen. Ook zou ik de input van de user beveiligen.'

    Met vriendelijke groet,
    Reza.

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 17 maart 2014 om 20:11
    • #9

    Nu heb ik dit en nog steeds niet werkend...

    PHP
    // SYSTEEM INLOGGEN BEGIN
    
    
    //Form openen
    if(isset($_POST['login'])){
    
    
    // Klantnummer En wachtwoord
    $klantnummer = $_POST['klant'];
    $wachtwoord = $_POST['pass'];
    //Pass en klant beveilligen
    $pass = sha1($wachtwoord);
    
    
    //database
    $result = mysqli_query($con,"SELECT klantnummer,wachtwoord FROM customers WHERE klantnummer = '".$_POST['klant']."'");
    $gegevens = mysqli_fetch_array($result);
      
    // checks
    if($gegevens['klantnummer'] == $klantnummer){
    if($gegevens['wachtwoord'] == $pass){
    
    
    
    
    //Sessie zetten
    $_SESSION['user'] = $klant;
    header('Refresh: 5; url=index.php');
    
    
    } else{
    $fout = $lang_pass_fout;
    }
    } else {
    $fout = $lang_klantnummer_fout;
    }
    
    
    //Form sluiten
    }
    
    
    
    
    // SYSTEEM INLOGGEN EINDE
    Meer tonen

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Reza
    Professional
    Berichten
    1.536
    • 17 maart 2014 om 20:20
    • #10

    Nogmaals als het verkeerd resultaat geeft, moet je het gaan debuggen. Zet ergens var_dump() neer(met de variabelen erin) en kijk wat eruit komt. Zo weet je of de query wel het goede resultaat ophaalt of niet...

    Met vriendelijke groet,
    Reza.

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 17 maart 2014 om 20:53
    • #11

    Alle rijen selecteren is een erg omslachtige manier en ook onveilig. Selecteer alleen de data die je nodig hebt dus bijv SELECT * FROM tabel WHERE klantnummer=5012.

    LOL

  • L.Kok
    Elite members
    Berichten
    1.120
    Filebase Entries
    1
    • 18 maart 2014 om 06:37
    • #12

    Het zit hem in de controle van je wachtwoord, de laatste if die je hebt staan voordat je de session gaat zetten.
    Naar mijn mening moet je deze query gebruiken:

    PHP
    $result = mysqli_query($con,"SELECT klantnummer,wachtwoord FROM customers WHERE klantnummer = '".$_POST['klant']."' AND wachtwoord = '".sha1($_POST['pass'])."'");

    Op voorwaarde dat het database veld voor wachtwoord, wachtwoord noemt.
    Ik zou tevens ook eens kijken naar het beveiligen van je query.

    Bovenstaande query kan je gewoon een count rows op los laten om te kijken of er een match is in de database.

    Met vriendelijke groet,

    L.Kok

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 18 maart 2014 om 18:26
    • #13
    Citaat van L.Kok

    Het zit hem in de controle van je wachtwoord, de laatste if die je hebt staan voordat je de session gaat zetten.
    Naar mijn mening moet je deze query gebruiken:

    PHP
    $result = mysqli_query($con,"SELECT klantnummer,wachtwoord FROM customers WHERE klantnummer = '".$_POST['klant']."' AND wachtwoord = '".sha1($_POST['pass'])."'");

    Op voorwaarde dat het database veld voor wachtwoord, wachtwoord noemt.
    Ik zou tevens ook eens kijken naar het beveiligen van je query.

    Bovenstaande query kan je gewoon een count rows op los laten om te kijken of er een match is in de database.


    Beveilliging doe ik zodra het werkt, ik heb nu dit:

    PHP
    // SYSTEEM INLOGGEN BEGIN
    
    
    //Form openen
    if(isset($_POST['login'])){
    
    
    // Klantnummer En wachtwoord
    $klantnummer = $_POST['klant'];
    $wachtwoord = $_POST['pass'];
    //Pass en klant beveilligen
    $pass = sha1($wachtwoord);
    
    
    //database
    $gegevens = "SELECT klantnummer, wachtwoord FROM customers WHERE klantnummer='$klantnummer' 
    AND wachtwoord='$pass'";
    
    
    
    
    $result = mysqli_query($con,$gegevens)or die(mysqli_error());
    $num_row = mysqli_num_rows($result);
    $row=mysqli_fetch_array($result);
    echo $num_row;
    if( $num_row ==1 )
         {
    //Sessie zetten
    $_SESSION['user'] = $klantnummer;
    header('Refresh: 5; url=index.php');
      }
      else
         {
     $fout = $lang_fout;
      }
    
    
    //Form sluiten
    }
    
    
    
    
    // SYSTEEM INLOGGEN EINDE
    Meer tonen


    Het zal wel aan mij liggen maar hij leest geen rows, ook al kloppen de gegevens.

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

    Bewerkt 2 keer, laatst door mentimjojo (18 maart 2014 om 19:02).

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 18 maart 2014 om 20:41
    • #14

    Dan moet je kijken in je database, komen de waarden overeen?

    LOL

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 22 maart 2014 om 14:05
    • #15

    Nu heb ik het probleem gefixed qua inloggen etc. En een nieuw topic voor dit probleem vind ik onnodig, ik krijg als je je gegevens wilt aanpassen deze error:


    PHP
    Warning: Cannot modify header information - headers already sent by (output started at /home/tnijborg/domains/developers4you.nl/public_html/customers/index.php:25) in /home/tnijborg/domains/developers4you.nl/public_html/customers/pages/account.php on line 29

    En daarbij gaat het op deze 2 stukjes code:

    Lijn 25 uit index:

    PHP
    <?php echo $menulinks; ?>

    Lijn 29 uit account.php

    PHP
    header('Refresh: 0; url=index.php?page=account&goed=1&security=' . $sessieids . '&save=' . $securityid);

    Maar in menulinks, althans die echo, staat niks met header etc, dus waar komt deze fout vandaan...

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Victor
    Meester
    Berichten
    1.680
    • 22 maart 2014 om 14:34
    • #16

    Staat er in $menulinks ook niet iets als session_start(); ?

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 22 maart 2014 om 15:17
    • #17

    Er is dan meestal een probleem met ob_start. Probeer deze te verwijderen.

    LOL

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 22 maart 2014 om 15:21
    • #18

    Ik heb nergens ob_start staan, en session_start heb ik 1 keer, puur in config.php, voor de inlog, etc

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • bramieboy100
    Gevorderd
    Berichten
    433
    • 22 maart 2014 om 15:47
    • #19

    Probeer dan eens om juist wel ob_start() in je config in te voegen.

    LOL

  • T.Nijborg
    Hoofd Moderators
    Berichten
    504
    • 22 maart 2014 om 15:53
    • #20

    Okee het werkt nu :D Dankje.

    Mag ik vragen wat ob_start() doet?

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

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