functies op zijn best

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



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


    Maar wat is nou het beste en meest veiligste.

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

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

  • 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

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

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



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


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

  • 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


    configuration.php

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


    Validation.cls.php

    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

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