• 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

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 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

Register

  • matistop333
  • 28 april 2014 om 17:36
  • matistop333
    Intermediate
    Ontvangen Reacties
    13
    Berichten
    268
    • 28 april 2014 om 17:36
    • #1

    Hallo,
    ik ben bezig aan een registreersysteem.
    Ik wil een controle uitvoeren of de gebruikersnaam al bestaat, en als dat zo is het account niet geregistreerd word in de database.
    Maar dit werkt niet echt en er komt altijd een nieuw account in de database, ookal bestaat de gebruikersnaam al.
    Dit is mijn script:

    PHP
    <?php
    $username = $_POST['username'];
    $password = $_POST['password'];
    If (strlen($username) < 2) { echo "The username has to be mininum 2 characters"; }
    Else { If (strlen($password) < 6) { echo "The password has to be mininum 6 characters"; } 
    Else { 
    $con=mysqli_connect("localhost","root","***","***");
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    
    
    $result = mysqli_query($con,"SELECT Username FROM users");
    
    
     
    If ($result === $username) { echo "deze Gebruikersnaam is al in gebruik."; }
    Else {
    // escape variables for security
    $firstname = mysqli_real_escape_string($con, $_POST['username']);
    $lastname = mysqli_real_escape_string($con, $_POST['password']);
    
    
    $sql="INSERT INTO users (Username, Password)
    VALUES ('$firstname', '$lastname')";
    echo "Account has been created";
    }
    
    
    
    
    
    
    
    
    if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con));
    }
    
    
    
    
    mysqli_close($con);
    }
    } 
    ?>
    Toon Meer

    Bewerkt één keer, laatst door J.Rijdes (28 april 2014 om 19:02).

  • Guest, wil je besparen op je domeinnamen? (ad)
  • bramieboy100
    Intermediate
    Berichten
    433
    • 28 april 2014 om 18:19
    • #2

    Je doet het ook niet op de juiste manier.

    Ik raad de volgende manier aan aan:

    PHP
    $result = mysqli_query($con, SELECT Username FROM users WHERE Username='$username');
    if (mysqli_num_rows($result) > 0) { echo "Gebruikersnaam bestaat al"; }

    LOL

  • matistop333
    Intermediate
    Ontvangen Reacties
    13
    Berichten
    268
    • 28 april 2014 om 18:48
    • #3

    Oke bedankt, het werkt nu :)

  • T.Nijborg
    Hoofd Moderators
    Ontvangen Reacties
    31
    Berichten
    504
    • 28 april 2014 om 19:01
    • #4

    Nog een tip, gebruik PDO, en een algemeen DB connectie bestandje die je include of iets in die richting,

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

  • Reza
    Professional
    Ontvangen Reacties
    13
    Berichten
    1.536
    • 28 april 2014 om 22:00
    • #5
    Citaat van mentimjojo

    Nog een tip, gebruik PDO, en een algemeen DB connectie bestandje die je include of iets in die richting,

    Wat je nu doet is iemand PDO aanraden, zonder ze de voordelen of nadelen ervan te vertellen, oftewel hij zal dan niet weten waarom hij PDO moet gebruiken.
    Ik zelf ben beide gewend, echter gebruik ik nu meer MySQLI(OO) dan PDO. PDO heeft wel meer voordelen aangezien het meerdere databases ondersteund en ook beter presteert als het gaat om snelheid.

    Verder vind ik jouw stukje code nogal onoverzichtelijk, ik raad je dan ook sterk aan het enigszins aan te passen.
    Ik zou onderstaande aanpassen:

    1. Ik zou persoonlijk 'mee gaan met de tijd' door de switch te gaan maken naar MySQLI OO in plaats van MySQLI procedural, ook is OO sneller te typen i.p.v. procedural.
    2. Wat ook eerder gezegd is, zet jouw database connectie en bijhorende in een apart bestand welke je kan include op elk ander bestand. Ook zou ik voortaan niet zomaar losse errors laten zien aan jouw gebruikers maar eerder werken met een nette afhandeling.
    3. POST variabelen beveilig je alleen met de mysqli_real_escape string, het is veilig genoeg tegen SQL injecties echter zou ik aanraden het nog veiliger op te pakken door meer beveiliging of te gaan werken met prepared statements.
    4. Ik geef zelf de voorkeur om bijvoorbeeld accolades( dit teken: { } ) apart op elke regen te schrijven, wellicht dat dit ook zorgt voor overzichtelijkheid bij jouw script.


    Voor de rest zijn er nog kleine dingen die in mijn oog anders zouden kunnen, bijvoorbeeld if en else zonder hoofdletter...

    Met vriendelijke groet,
    Reza.

  • stijnhau
    Student
    Ontvangen Reacties
    3
    Berichten
    174
    • 28 april 2014 om 22:15
    • #6

    1) OO is sneller te type dan procedureel?
    Dan heb je het wss enkel voer de naam hoor.
    OO is enkel sneller als je ook echt meerde keren dezelfde acties gebruikt.
    2) PDO bestreert juist niet beter dan mysqli
    Kwa performance is mysql_ dan mysqli en dan pas PDO dus PDO is het minste performance maar het verschil si zo goed als verwaarloosbaar.
    PDO is het 'traagste' (merk je niet echt asl gebruiker tezei je heel veel db acties doet, omdat het zoveel meer mogeleijkheden heeft en ook minder direct met de db spreekt. De mysql_ en ook, mysql i zeggen diorect tege mysql doe dit en bij PDO is daar nopg een tussenstap.

    Check mijn projecten op stijnhau.be

  • Reza
    Professional
    Ontvangen Reacties
    13
    Berichten
    1.536
    • 28 april 2014 om 23:20
    • #7
    Citaat van stijnhau

    1) OO is sneller te type dan procedureel?
    Dan heb je het wss enkel voer de naam hoor.
    OO is enkel sneller als je ook echt meerde keren dezelfde acties gebruikt.
    2) PDO bestreert juist niet beter dan mysqli
    Kwa performance is mysql_ dan mysqli en dan pas PDO dus PDO is het minste performance maar het verschil si zo goed als verwaarloosbaar.
    PDO is het 'traagste' (merk je niet echt asl gebruiker tezei je heel veel db acties doet, omdat het zoveel meer mogeleijkheden heeft en ook minder direct met de db spreekt. De mysql_ en ook, mysql i zeggen diorect tege mysql doe dit en bij PDO is daar nopg een tussenstap.

    Geen idee waarop je dit nu allemaal baseert...

    1. mysqli_query($con, $sql) of $con->query($sql); Ik prefereer dat laatste omdat het in mijn oog gemakkelijker typen is. Verder bedoelde ik dan ook classes etc dat het typ werk scheelt.
    2. Ik gebruik zelf meer MySQLI... Maar ik weet dat PDO beter is, waarom? http://wooptoo.com/blog/pdo-vs-my…nce-comparison/ is al een voorbeeld dat PDO beter werkt als je praat over vele query's. Ik weet niet waar jij vandaan haalt dat PDO het traagste is.
      Die link die ik heb gegeven geeft dan ook de redenen waarom PDO beter is, op Stackoverflow kun je ook uitgebreide discussies vinden wat alle voordelen en nadelen zijn en welke beter uit de test komt.

    Met vriendelijke groet,
    Reza.

  • DirkZz
    Intermediate
    Ontvangen Reacties
    29
    Berichten
    213
    • 28 april 2014 om 23:23
    • #8
    Citaat van stijnhau

    1) OO is sneller te type dan procedureel?
    Dan heb je het wss enkel voer de naam hoor.
    OO is enkel sneller als je ook echt meerde keren dezelfde acties gebruikt.
    2) PDO bestreert juist niet beter dan mysqli
    Kwa performance is mysql_ dan mysqli en dan pas PDO dus PDO is het minste performance maar het verschil si zo goed als verwaarloosbaar.
    PDO is het 'traagste' (merk je niet echt asl gebruiker tezei je heel veel db acties doet, omdat het zoveel meer mogeleijkheden heeft en ook minder direct met de db spreekt. De mysql_ en ook, mysql i zeggen diorect tege mysql doe dit en bij PDO is daar nopg een tussenstap.


    Draai alles om wat hier gezegd wordt en het klopt :P

  • stijnhau
    Student
    Ontvangen Reacties
    3
    Berichten
    174
    • 29 april 2014 om 09:16
    • #9

    Kijk als jij denkt dat OO sneller is om te typen, dan ben je fout.
    OO is juist meer werk als je het maar 1 of soms zelfs 2 keer nodig hebt.
    Dit neemt niet weg dat OO 'the way to g'o is voor leesbaarheid, onderhoudbaarheid, ...

    En qua performance heb ik even nog wat bekeken en er zijn verschillende testen gedaan. De testen die ik betrouwbaarder vind lijken, geven mij gelijk. (De rest spreekt zich niet uit of ze gewone query's doen of prepared query's die je niet hebt in mysql_.

    Reactie aangepast door L.Kok, reden: leesbaarheid verbeteren.

    Check mijn projecten op stijnhau.be

    Bewerkt één keer, laatst door L.Kok (29 april 2014 om 13:54).

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 29 april 2014 om 20:58
    • #10

    stijnhau
    Zijn die vergelijkingen nou letterlijk milliseconden, anders merkt niemand hier wat van lijkt me?

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 29 april 2014 om 21:46
    • #11

    @Wmdiensten

    Het scheelt inderdaad heel weinig, dus eigenlijk verwaarloosbaar. Je moet eigenlijk de overweging maken tussen opties en snelheid. In veel gevallen kies je dus voor opties, tenzij je grote hoeveelheden queries moet uitvoeren.

    Er zijn meer van dit soort kleine performance dingetjes. Je kan bijvoorbeeld beter echo dan print gebruiken en bij echo beter single quotes dan dubbele quotes.

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • DirkZz
    Intermediate
    Ontvangen Reacties
    29
    Berichten
    213
    • 29 april 2014 om 21:58
    • #12

    :P "en bij echo beter single quotes dan dubbele quotes. " Dit is een mythe.

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 29 april 2014 om 22:05
    • #13

    Laten we deze discussie verder zetten in een ander topic: Mythbusters

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

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

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