Autor Zpráva
maros
Profil *
Potreboval bych pomoci, jak overit hodnotu ($pocet) zadanou do policka formulare - ma byt kladna celociselna a mensi nebo rovna nez urcita promenna ($max). Diky!
souki
Profil
if(IsInt($_REQUEST['pocet'])&&$_REQUEST['pocet']>0&&$_REQUEST['pocet'] <=$max){

//neco udelej
}else{
// neco jiného
}
rabbit
Profil
Hele, souki, neříkej mi, že to cos tady napsal, Ti funguje !?!?!?! Tak to Ti asi budu říkat PAN PORADCE.

PHP žádnou interní funkci IsInt() nezná!!!

Jestli máš nadefinovanou nějakou funkci IsInt(), tak Ti to určitě fungovat může, ale pak by byla slušnost ji tady taky nakopírovat.

Jestli myslíš funkci is_int(), tak radíš opět pěknou zhovadilost. V poli $_REQUEST (i v poli $_GET, $_POST) jsou všechny skalární proměnné typu string, takže is_int($_REQUEST['cokoliv']) Ti vrátí vždy false.


To maros:
Zkus radši něco takového:

if ( preg_match('/^[\d]+$/', $_REQUEST['pocet'])
&& $_REQUEST['pocet'] > 0
&& $_REQUEST['pocet'] <= $max ) {
...
}
maros
Profil *
Díky, já jsem to nakonec pořešil takhle pomocí funkce ctype_digit a jede to:

$pocet=$_POST[pocet];
if(ctype_digit($pocet)&&$pocet>0&&$pocet<=$max){

//neco
}else{
// neco
}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0