Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
wiilweer
HV kasutaja

liitunud: 03.03.2008
|
02.05.2011 19:24:47
Kas on arv ilma komata ? |
|
|
Tervist,
Tegin siis nähtamatu välja, mille väärtus võetakse sqlist.
<input type = 'hidden' value = '".$fetch['id']."' name = 'id'/> |
Teatavasti saab sellega iga inimene, kes oskab kasutada mingit dev tooli, väärtust muuta. Ma tean, kuidas saab kontrollida kas tegemist on numbriga (is_numeric) aga ma tahaks teada, kas tegemist on integeriga (peaks olema ilma komata number ? ). Proovisin is_int() aga alati, kui tehti kontroll selgus, et is_int väljastab false ehk siis pole integer. Milles on viga ?
Aitäh.
|
|
Kommentaarid: 37 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
02.05.2011 19:48:46
|
|
|
Sul ei tule numbrid numbritena sisse ehk.
Näiteks selliselt saad kindlustada, et sinu number oleks number.
$a='67';
echo is_int($a*1); |
parem variant oleks vast kasutada strval($a), see ellimineerib ka võimaluse, et sinna täht sisestatakse näiteks
$a='g';
strval($a);
echo is_int($a); |
ütleb, et pole integer, eelmine korrutis paneb sellise integeriks (0x1=0 mis on integer)
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
wiilweer
HV kasutaja

liitunud: 03.03.2008
|
02.05.2011 20:23:33
|
|
|
Aitäh. See korrutise värk aitas välja, muidu näitas, et ikka pole integer.
|
|
Kommentaarid: 37 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
35 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
02.05.2011 21:43:48
|
|
|
on veel type casting olemas
$b = (int)$a;
kui pole int, siis automaatselt antakse $b väärtus 0. hea kasutada näiteks sql päringutes, kus mingi väärtus tuleb läbi requesti.
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
02.05.2011 22:25:59
|
|
|
See variant tekitab palju segadust, sarnaselt ühega korrutamisele.
Näiteks
$a='2.5';
$b = (int)$a;
echo $b; |
annab vastuseks 2
$a='g';
$b = (int)$a;
echo $b; |
annab vastuseks 0 mõlemad on integer, kuigi tegelikult pole.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
03.05.2011 00:19:24
|
|
|
nõus täitsa.
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
karu
HV kasutaja
liitunud: 08.08.2002
|
03.05.2011 07:13:45
Re: Kas on arv ilma komata ? |
|
|
wiilweer kirjutas: |
Tervist,
Tegin siis nähtamatu välja, mille väärtus võetakse sqlist.
<input type = 'hidden' value = '".$fetch['id']."' name = 'id'/> |
Teatavasti saab sellega iga inimene, kes oskab kasutada mingit dev tooli, väärtust muuta. Ma tean, kuidas saab kontrollida kas tegemist on numbriga (is_numeric) aga ma tahaks teada, kas tegemist on integeriga (peaks olema ilma komata number ? ). Proovisin is_int() aga alati, kui tehti kontroll selgus, et is_int väljastab false ehk siis pole integer. |
Sa pead igaljuhul kontrollima 'id' olemasolu (ja kasutaja õigusi seoses 'id'ga avatavasti), seega mida 'id' sisaldab või ei sisalda ei oma tegelikult tähtsust.
aga... et teada saada kas 'number' on ikka number ja ei sisalda koma, saad kasutada lihtsat preg_match('/^[0-9]+$/', $id) testi.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|