login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > PHP > Gegevensvalidatie
Pagina:

Reacties op de tutorial Gegevensvalidatie


Offline  Chillobillo
Gepost op: 25 mei 2008 - 11:37
Lid

Wauw! Dank je. Ik zag wel eens scripts waar dit soort dingen instonden, maar ik begreep nooit wat het inhield. Nu wel! Bedankt, ik zal er zeker veel beter gebruik van gaan maken nu!

Offline  Abbas
Gepost op: 26 mei 2008 - 19:01
Gouden medaille

Crew .NET


Goede tutorial, alleen had ik liever wat meer voorbeelden gezien bij de 'beginselen' van de validatie, zoals met is_numeric. Ja, ik weet wat deze doen en dergelijke, maar een voorbeeldje zou niet slecht staan! Voor de rest duidelijke tutorial.

Offline  Joost
Gepost op: 26 mei 2008 - 21:15
PHP expert

OK, dank jullie 
Dit is mijn 1e tutorial, dus ben er tot nu toe best tevreden over 

Offline  Richard
Gepost op: 01 oktober 2008 - 22:01
Crew algemeen

is_numeric, waarom heb je die gebruikt? Mag een pagina id ook 1.233435e45 zijn? Lijkt me sterk. ;)

Offline  Joost
Gepost op: 02 oktober 2008 - 16:08
PHP expert

JeXuS schreef:
is_numeric, waarom heb je die gebruikt? Mag een pagina id ook 1.233435e45 zijn? Lijkt me sterk. ;)
Zolang het een getal is..
Ik neem aan dat er ook wordt gecheckt óf er wel een pagina is met die id, en die zal er hoogstwaarschijnlijk niet zijn bij dat getal.

Het ging er in dit geval even om om weer te geven hoe de functie werkt. Iets dergelijks erbij inbouwen is niet zon ingewikkeld..

Offline  Oneday
Gepost op: 08 februari 2011 - 17:21
Nieuw lid

update: de fout lag weliswaar aan mij 


Mooie tutorial!

Offline  Thomas
Gepost op: 21 juni 2014 - 19:49
Moderator

ctype_ functies verwachten dan je invoer een string is. Alle informatie afkomst uit $_GET, $_POST, $_SESSION en $_COOKIE worden als string behandeld, dus dit gaat meestal wel goed. Als je dus echter een "echt" getal controleert, wordt de parameter getype-cast naar een string... wat onverwachte resultaten kan geven (zie het voorbeeld op PHP.net, het getal 42 in ctype_digit(42) wordt geconverteerd naar het bijbehorende ASCII-karakter (*). ctype_digit(42) levert dan dus false op).

Daarintegen lijkt filter_var (en waarschijnlijk ook filter_input) invoer te converteren naar het type waarop gecontroleerd wordt indien de controle succesvol was. Als de (string)invoer '42' gevalideerd wordt als getal, dan wordt deze omgezet naar een integer.

Omdat PHP lazy typing heeft (of hoe het ook heet) kun je beter op de vorm controleren, in plaats van te rommelen met het type of functies te gebruiken die dit doen, TENZIJ je dit OVERAL consequent doet.

Let dus ook op controles met == (controleert het type niet) versus === (controleert het type wel) in combinatie met het gebruik van dit soort functies.

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2020 Sitemasters.be - Regels - Laadtijd: 0.037s