omslachtige code
Hoi, met onderstaande code vang ik de gets op, ik weet het is omslachtig maar ik weet geen betere oplossing. Heeft er iemand een betere oplossing? Hopelijk wel, want nu moet ik 100 if gets maken.
Alvast bedankt voor de reacties.
Alvast bedankt voor de reacties.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Joris van Rijn
@joris
is_int() zou strict gezien altijd false moeten geven omdat $_GET variabelen strings zijn... En waarom (int) als je al checked met is_int() ?
@ts
is_int() zou strict gezien altijd false moeten geven omdat $_GET variabelen strings zijn... En waarom (int) als je al checked met is_int() ?
@ts
Gewijzigd op 01/01/1970 01:00:00 door Rens nvt
Laat maar, zie bovenstaande post
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
@rens,, ok niet goed doorgedacht :tooth:
Bedankt voor de hulp.
heb nu onderstaande code en die werkt. Als het nog beter kan hoor ik dat graag.
if(isset($_GET['krab'])) {
if (!empty($_GET['krab'])) {
$ret = intval($_GET['krab']);
}else{
$ret = 1;
}
}
heb nu onderstaande code en die werkt. Als het nog beter kan hoor ik dat graag.
if(isset($_GET['krab'])) {
if (!empty($_GET['krab'])) {
$ret = intval($_GET['krab']);
}else{
$ret = 1;
}
}
Leuk, gebruikersinput vernaggelen door het te casten naar een int, way to go!
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if (isset($_GET['krab']) && ctype_digit($_GET['krab'])) {
// doe iets!
} else {
// gebruiker doet gemeen! niet accepteren!
}[/code]
if (isset($_GET['krab']) && ctype_digit($_GET['krab'])) {
// doe iets!
} else {
// gebruiker doet gemeen! niet accepteren!
}[/code]
!empty() voor ctype_digit() zetten als je een versie ouder dan 5.1 draait, Een lege waarde wordt anders ook goed gerekend.
Ik weet niet of ook 0 in gevoerd mag worden anders moet je !empty() er ook in laten.
Ik weet niet of ook 0 in gevoerd mag worden anders moet je !empty() er ook in laten.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$ret = (isset($_GET['krab']) and !empty($_GET['krab']) and ctype_digit($_GET['krab'])) ? $_GET['krab'] : 1 ;
?>
$ret = (isset($_GET['krab']) and !empty($_GET['krab']) and ctype_digit($_GET['krab'])) ? $_GET['krab'] : 1 ;
?>
if (is_numeric($_GET['krab'])) {}
zat mogelijkheden
zat mogelijkheden
Wie nog 5.1 gebruikt loopt hopeloos achter.
Enne, is_numeric kijkt niet of er alleen getallen instaan (wat de bedoeling is) maar of er een nummer instaat.
Enne, is_numeric kijkt niet of er alleen getallen instaan (wat de bedoeling is) maar of er een nummer instaat.




