Avaleht
uus teema   vasta Tarkvara »  WWW »  Kas on arv ilma komata ? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
wiilweer
HV kasutaja
wiilweer

liitunud: 03.03.2008




sõnum 02.05.2011 19:24:47 Kas on arv ilma komata ? vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 02.05.2011 19:48:46 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
wiilweer
HV kasutaja
wiilweer

liitunud: 03.03.2008




sõnum 02.05.2011 20:23:33 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 02.05.2011 21:43:48 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 02.05.2011 22:25:59 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 03.05.2011 00:19:24 vasta tsitaadiga

nõus täitsa.
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
karu
HV kasutaja

liitunud: 08.08.2002




sõnum 03.05.2011 07:13:45 Re: Kas on arv ilma komata ? vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Kas on arv ilma komata ?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
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



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.