• 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

  • 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
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • Verschillende domeinen

    Syntax 8 februari 2026 om 09:57
  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26

functies op zijn best

  • scarface
  • 12 april 2012 om 14:47
  • scarface
    Professional
    Berichten
    1.597
    • 12 april 2012 om 14:47
    • #1

    Ik was weer even bezig met een registreer scriptje in mysqli, en php . Wat is nu de beste manier om de inputs te gaan controleren ?

    PHP
    <?php
    //## Connection
     error_reporting (E_ALL && E_STRICT);
        
        $dc = new mysqli('host', 'gebruikersnaam', 'wachtwoord', 'database');
            if (mysqli_connect_errno())
                {
                    printf("No connection avaible");
                }
    //## Register
    
    
    if(isset($_POST['register'])){
        
      //  # Hier gaan de functies komen
        
    }
    
    
    
    
    
    
    $iQuery = "
    INSERT INTO
        members
        (
            username,
            password,
            email,
            pemail,
            birthyear
        )
    VALUES
    (
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
    )
    ";
    
    
        $stmt = $mysqli->prepare($iQuery);
        $stmt->bind_param('ssssi', $_POST['username'], $_POST['password'], $_POST['email'], $_POST['pmail'], (int) $_POST['birthyear']);
    
    
          if(!$stmt->execute()) {
                echo 'some error while executing the query: ' .$stmt->error;   
            }
        
        $stmt->close();
    ?>
    Toon Meer

    Je kan het doen doen met IF/ELSE/ELSEIF, Classes , functions .

    Maar wat is nou het beste en meest veiligste.

  • Malik
    Guest
    • 12 april 2012 om 14:50
    • #2

    Wat ik had begrepen is dat met stmt je de inputs niet hoeft te beveiligen. (weet niet of dit klopt / had het gehoord)

  • scarface
    Professional
    Berichten
    1.597
    • 12 april 2012 om 14:54
    • #3

    Als jij niet alles wil toestaan zal je zeker functies moeten aanmaken dit wil ik dan ook :)

  • Malik
    Guest
    • 12 april 2012 om 15:00
    • #4

    Bedoel je dan bij registreren of bij wat voor script? Want de een gebruik je wel bij deze en ander weer niet.

  • jopitan
    Professional
    Berichten
    684
    • 12 april 2012 om 15:02
    • #5

    Ik denk dat de oplossing die jij zoekt, met functies enzovoort meer de richting ingaat van Classes en Methods. Google is your friend :)

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • scarface
    Professional
    Berichten
    1.597
    • 12 april 2012 om 15:10
    • #6

    Bij dit script natuurlijk ik wil het zo :

    gebruikersnaam :

    Voorbeeld !

    "moet de gebruiker dit invullen" = JA
    "minimale lengte input" = 5
    "maximale lengte input" = 20
    "characters toegestaan" = a - z / 0 - 9

    Ik wil het zo maken dat ik dat gewoon kan instellen.

  • Malik
    Guest
    • 12 april 2012 om 15:38
    • #7

    Dat kan je met functies doen, dat je dan aangeeft:

    PHP
    function minimaal($invoer, $lengte)
    {
      if ( strlen($invoer) < $lengte) )
      {
         $return = FALSE;
      }
      else{ $return = TRUE;  }
    
    
      return $return;
    }
    
    
    if ( minimaal($invoer, $lengte) == TRUE ) {}
    Toon Meer

    Dan een function schrijven, maar als je het maar 1x gebruikt zou ik het gewoon direct doen.

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 12 april 2012 om 17:16
    • #8
    Citaat van scarface

    Bij dit script natuurlijk ik wil het zo :

    gebruikersnaam :

    Voorbeeld !

    "moet de gebruiker dit invullen" = JA
    "minimale lengte input" = 5
    "maximale lengte input" = 20
    "characters toegestaan" = a - z / 0 - 9

    Ik wil het zo maken dat ik dat gewoon kan instellen.


    Je kan een klasse maken waarbij je in de constructor een array met gegevens meegeeft zoals hierboven. Dan maak je in die klasse een check functie die dan alle gezette filters afgaat en false returned bij geen errors en een tekst bij een error.

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • scarface
    Professional
    Berichten
    1.597
    • 12 april 2012 om 17:26
    • #9

    Heeft u een klein voorbeeldje of een website waar ik dit kan vinden ?

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 12 april 2012 om 19:49
    • #10

    Nee, is volgens mij ook niet moeilijk te maken.

    Gewoon voor elke soort filter een functie maken. In de check functie kijk je of er iets is ingevuld in één van de gezette (Private!) variabelen, zo ja voer die check uit.

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • jopitan
    Professional
    Berichten
    684
    • 12 april 2012 om 23:27
    • #11

    Ik heb even snel een functie en test voorbeelden voor je gemaakt. Als er bugs inzitten zeg je het maar even, dan fix ik die even snel. Je mag deze code gebruiker maar gelieve wel even mij vermelden bij de code in het script. ;)

    index.php

    PHP
    <?php
    	/*
    	--Created by Jopitan -- Simple string validator
    	Regex Eg: 'naAd'
    	
    	n = Allow Spaces
    	a = lowercase characters allowed
    	A = uppercase characters allowed
    	d = Allow digits
    	s = Allow Special characters
    	
    	$min must be given if you want it to be required.
    	
    	Method will return false or true
    	
    	function sVal(FIELDNAME, INPUT, REGEX, MINCHR, MAXCHR, DETAILS);
    	
    	Eg:
    	FIELDNAME = 'username'
    	INPUT = 'mystring'
    	REGEX = 'naAds'
    	MINCHR = 5 (default: 0)
    	MAXCHR = 10 (default: 0)
    	DETAILS = 1 (default: 0)
    	*/
    	include("configuration.php");
    	$__username1 = "jopitanX";
    	$__username2 = "JoPiTaN";
    	$__username3 = "Jop ItAn";
    	$_validate1 = $_vdn->sVal('username', $__username1, 'a', 1); //returns false
    	$_validate2 = $_vdn->sVal('username', $__username2, 'aA', 1, 0, 1); //returns array 'bool' => boolean true, 'str' => string '', 'min' => int 1, 'max' => int 0, 'rgx' => string '[a-zA-Z]', 'val' => string 'JoPiTaN'
    	$_validate3 = $_vdn->sVal('username', $__username3, 'aAn'); //returns true
    ?>
    Toon Meer

    configuration.php

    PHP
    <?php
    	include("Validation.cls.php");
    	$_vdn = new Validation;
    ?>

    Validation.cls.php

    PHP
    <?php
    
    
    	class Validation {
    		
    		private $regXstring = '';
    		private $regReturn = '';
    		
    		private function rgx()
    		{
    			$this->regReturn = '[';
    			if(strstr($this->regXstring, 'a')) { $this->regReturn .= 'a-z'; }
    			if(strstr($this->regXstring, 'A')) { $this->regReturn .= 'A-Z'; }
    			if(strstr($this->regXstring, 'd')) { $this->regReturn .= '0-9'; }
    			if(strstr($this->regXstring, 'n')) { $this->regReturn .= '-\s'; }
    			if(strstr($this->regXstring, 's')) { $this->regReturn .= '\/\^\.\$\|\(\)\[\]\*+?{},#@!&=%'; }
    			$this->regReturn .= ']';
    			
    		}
    		
    		public function sVal($fieldName, $string='', $regex, $min=0, $max=0, $details=0)
    		{
    			$min = (int) $min;
    			$max = (int) $max;
    			if($min > $max && $max > 0) {
    				die('$min var contains larger number then $max in method call');
    			}
    			$return = false;
    			if($min > 0 && strlen($string) < $min) {
    				$_detailString = 'The field \'' . $fieldName . '\' must atleast contain ' . $min . ' characters.';
    			} elseif($max > 0 && strlen($string) > $max) {
    				$_detailString = 'The field \'' . $fieldName . '\' exceeds the maximum allowed ' . $max . ' characters.';
    			} else {
    				$this->regXstring = $regex;
    				$this->rgx();
    				if(preg_match('/^' . $this->regReturn . '+$/', $string)) {
    					$_detailString = '';
    					$return = true;
    				} else {
    					$_detailString = 'The field \'' . $fieldName . '\' contains invalid characters.';
    				}
    			}
    			if($details == 0) {
    				return $return;
    			} else {
    				return array("bool" => $return, "str" => $_detailString, "min" => $min, "max" => $max, "rgx" => $this->regReturn, "val" => $string);
    			}
    		}
    		
    	}
    	
    ?>
    Toon Meer

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • scarface
    Professional
    Berichten
    1.597
    • 12 april 2012 om 23:28
    • #12

    Huston whe have a problem !

    Ah mooi hij doet het nu weer even kijken.

    Nou heb ik nog wat iritants tussendoor wat mij aanpassen onmogelijk maakt : als ik bijvoorbeeld een regel heb:

    voorbeld regel

    en ik maak een spelfout en ik wil er een E bij zetten dan verwijderd hij de rest van de zin per character die ik op me toetsenbord intyp hoe krijg ik dit weg ? Dit zit me nu al een tijdje lastig te vallen en maakt het schrijven van php scripts bijna onmogelijk.

  • jopitan
    Professional
    Berichten
    684
    • 12 april 2012 om 23:34
    • #13
    Citaat van scarface

    Huston whe have a problem !

    Ah mooi hij doet het nu weer even kijken.

    Nou heb ik nog wat iritants tussendoor wat mij aanpassen onmogelijk maakt : als ik bijvoorbeeld een regel heb:

    voorbeld regel

    en ik maak een spelfout en ik wil er een E bij zetten dan verwijderd hij de rest van de zin per character die ik op me toetsenbord intyp hoe krijg ik dit weg ? Dit zit me nu al een tijdje lastig te vallen en maakt het schrijven van php scripts bijna onmogelijk.

    Druk eenmalig op je INSERT key. 8-|

    Als je trouwens details wilt ophalen van een string en dan daarvan de boolean wilt controleren in een IF statement dan ziet de if statement er zo uit:

    PHP
    $_username = $_vdn->sVal('', $_POST['username'], 'aAd', 0, 0, 1);
    	if($_username['bool'] === false) {
    		echo $_username['str'];
    	}

    Als je zonder details wilt kun je de ['bool'] weg laten

    PHP
    $_username = $_vdn->sVal('', $_POST['username'], 'aAd');
    	if($_username === false) {
    		echo "Not a valid username. Im gonna ban your IP!";
    	}

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

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