• 07-07-2013, 23:08:16
    #1
    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)
  • 08-07-2013, 01:54:21
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    eğer 1.5 kabul etmek istemiyorsanız basit olarak && !is_float($id) kullanabilirsiniz.
  • 08-07-2013, 05:38:16
    #3
    Kimlik 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:57
    #4
    saintx adlı üyeden alıntı: mesajı görüntüle
    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'; )
    ?>
    hocam bende bir fonksiyon yaratım sizinki gibi ama if is_float fonksiyonu yerine is_integer kullanmıştım.
    is_integer ile is_float arasındaki fark nedir?
  • 08-07-2013, 23:19:51
    #5
    zesa adlı üyeden alıntı: mesajı görüntüle
    hocam bende bir fonksiyon yaratım sizinki gibi ama if is_float fonksiyonu yerine is_integer kullanmıştım.
    is_integer ile is_float arasındaki fark nedir?
    bkz: is_integer, is_float

    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:05:12
    #6
    hocam if(!empty($ID) && !is_float($ID)) aslında yeterli değil mi?
    çünkü zaten float ile numeric olup olduğunuda zaten kontrol ediyor muyuz?
  • 09-07-2013, 00:46:25
    #7
    zesa adlı üyeden alıntı: mesajı görüntüle
    hocam if(!empty($ID) && !is_float($ID)) aslında yeterli değil mi?
    çünkü zaten float ile numeric olup olduğunuda zaten kontrol ediyor muyuz?
    yalnız is_float ile numeric (sayısal) olup olmadığına bakmıyor.
  • 09-07-2013, 00:48:29
    #8
    saintx adlı üyeden alıntı: mesajı görüntüle
    bkz: is_integer, is_float

    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.
    Verdiğiniz bilgi yanlış değerin sayısal olduğunu kontrol eden fonksiyon is_numeric fonksiyonudur.

    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:25
    #9
    pSkpt adlı üyeden alıntı: mesajı görüntüle
    Verdiğiniz bilgi yanlış değerin sayısal olduğunu kontrol eden fonksiyon is_numeric fonksiyonudur.

    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.
    düzeltmeniz için teşekkür ederim. sonuçta hatasız kul olmuyor.