Merhaba arkadaşlar
ben id'den gelecek değerleri is_numeric ve !empty olarak kontrol ettiriyorum
doğal olarak 1,5 gibi bir rakamda girebiliyor kullanıcı
bu benim hostumda sıkıntı yaratmıyor ama başka hostlarda yaratır mı?
şunu mu kullanmalıyım?
is_integer($id) && is_numeric($id) && !empty($id)
id değeri kontrolü ve sql sorgusu
11
●1.001
- 08-07-2013, 05:38:16Kimlik doğrulama veya yönetimden onay bekliyor.kısa bi' örnekle açıkladım.
<?php # Fonksiyonumuz function dogrula($ID) { # boş değilse, sayısalsa ve float değilse ( örn: 12.5 ) if(!empty($ID) && is_numeric($ID) && !is_float($ID)) return '$ID doğrulamayı geçti. ( $ID = '.$ID.'; )'."\n"; else return '$ID doğrulamayı geçemedi. ( $ID = \''.$ID.'\'; )'."\n"; } # $ID değişkenine 5 değerini verdik. $ID = 5; # $ID'yi doğrula dedik. echo dogrula($ID); # $ID doğrulamayı geçti. ( $ID = 5; ) # $ID değişkenine 'saintx' değerini verdik. $ID = "saintx"; # $ID'yi doğrula dedik. echo dogrula($ID); # çıktı: $ID doğrulamayı geçemedi. ( $ID = 'saintx'; ) # $ID değişkenine '1,5' değerini verdik. $ID = '1,5'; # $ID'yi doğrula dedik. echo dogrula($ID); # çıktı: $ID doğrulamayı geçemedi. ( $ID = '1,5'; ) # $ID değişkenine 1.5 değerini verdik. $ID = 12.5; # $ID'yi doğrula dedik. echo dogrula($ID); # çıktı: $ID doğrulamayı geçemedi. ( $ID = '12.5'; ) ?> - 08-07-2013, 17:19:57hocam bende bir fonksiyon yaratım sizinki gibi ama if is_float fonksiyonu yerine is_integer kullanmıştım.saintx adlı üyeden alıntı: mesajı görüntüle
is_integer ile is_float arasındaki fark nedir? - 08-07-2013, 23:19:51bkz: is_integer, is_floatzesa adlı üyeden alıntı: mesajı görüntüle
aralarındaki fark ise şu is_integer değerin türünün integer (sayısal) olup olmadığına bakar. is_float ise değerin türünün float ( tek duyarlı gerçek sayı ) olup olmadığına bakar. - 09-07-2013, 00:46:25yalnız is_float ile numeric (sayısal) olup olmadığına bakmıyor.zesa adlı üyeden alıntı: mesajı görüntüle
- 09-07-2013, 00:48:29Verdiğiniz bilgi yanlış değerin sayısal olduğunu kontrol eden fonksiyon is_numeric fonksiyonudur.saintx adlı üyeden alıntı: mesajı görüntüle
is_integer -> is_int
tam sayı değerlerin doğruluğunu kontrol etmek amacıyla vardır.
is_int(23.5) = bool(false)
görüldüğü gibi 23.5 sayısı false döndürmüştür, çünkü tam sayı değildir. - 09-07-2013, 00:57:25düzeltmeniz için teşekkür ederim. sonuçta hatasız kul olmuyor.pSkpt adlı üyeden alıntı: mesajı görüntüle