Autor | Zpráva | ||
---|---|---|---|
Gecko Profil * |
#1 · Zasláno: 1. 3. 2012, 16:50:47
Zdravím,
rád bych se zeptal na jednu pro mě nezvladatelnou věc. Mám PHP kód, který kontroluje číslo poslané přes _post v inputu: if (!is_numeric($_POST['vyse_daru']))) $error_log[] = "Dar musí být od 100,- do 5000,-."; Rád bych se zeptal, jestli lze omezit, aby PHP pustilo pouze číslo od 100 do 5000. K tomu mám ještě dva poddotazy - lze ošetřit, pokud návštěvník zadá 250 , 250,- , 250,- Kč nebo 2 500 ,- aby PHP vypustilo znaky Kč, ,- a mezery (potřebuji do PHP čistě číslo) A poslední dotaz - do db posílám i číslo a trochu a nevím si rady, jak ošetřit počet zadaných znaků (šlo by opět vypustit i mezery?). S tímhle se setkávám poprvé a formátování čísel jsem nikdy nepotřeboval. Díky. Gecko |
||
Alphard Profil |
#2 · Zasláno: 1. 3. 2012, 17:20:23
1. Prostě <= podmínky, funkce pro kontrolu rozsahů není.
2. Všechny nečíselné znaky lze nahradit za prázdný řetězec. |
||
Gecko Profil * |
#3 · Zasláno: 1. 3. 2012, 17:40:40
Díky za odpověď.
Mám tedy if (!is_numeric($_POST['vyse_daru']) and ($_POST['vyse_daru'])>=100 and ($_POST['vyse_daru'])<=5000) $error_log[] = "Dar musí být od 100,- do 5000,-.""; Na 2. se podívám, je na to nějaká funkce? Díky |
||
Joker Profil |
#4 · Zasláno: 1. 3. 2012, 17:45:33
Gecko:
if (!is_numeric($_POST['vyse_daru']) and ($_POST['vyse_daru'])>=100 and ($_POST['vyse_daru'])<=5000) $error_log[] = "Dar musí být od 100,- do 5000,-.""; Ono to funguje, jen situace, kdy hodnota proměnné není číslo a zároveň je větší než 100 a zároveň je menší než 5000 nikdy nenastane. |
||
Chro Profil |
#5 · Zasláno: 1. 3. 2012, 17:48:01
$dar = $_POST['vyse_daru']; $smaz = array( 'kč', 'kc', ',-', ' ' ); $dar = str_ireplace($smaz, '', $dar); $dar = trim($dar); if (ctype_digit($dar) && $dar > 99 && $dar < 2501) { //ok $dar = (int) $dar; } else { //chyba $zprava = 'castka neni cislo nebo castka neni v rozmezi 100 - 2500'; } |
||
Gecko Profil * |
#6 · Zasláno: 1. 3. 2012, 18:09:54
Chro:
Díky, bomba! :) |
||
Časová prodleva: 11 let
|
0