İsset,empty,intval,is integer
Ceviz Viki, özgür ansiklopedi
İSSET KOMUTU
Bazı zamanlar if deyimiyle bazı komutlar kullanırız.Bu komutlar yeri geldiğinde formdan gelen bilgilerin derlenmesinde işe yarayabilecek komutlardandır.Bunlardan isset ve empty komutlarını PHP ye form sayfasını okutturduğumuzda sıkça görebileceğimiz komutlardır.Önemli komutlar olup,somut örnekler üzerinde bazen ne işe yaradıkları konusunda şüpheye varabilirsiniz,ancak PHP de hiç bir komut gereksiz değildir.Şimdi olayı genişletmeden örnekler üzerinde isset komutuyla işlemlerimize başlayalım.Alttaki kodu isset_01.php olarak dizininize kaydedin.
<?php
if (isset ($degisken) ) {
echo "değişkenin değeri var";
}
else {
echo "değişkenin değeri yok";
}
?>
Bu kodu çalıştırdığımızda karşımıza değişkenin değeri yok sonuç nesnesi basılacaktır.Çünkü mantıken gördük ki,$değişken değerine farklı bir nesne depolamadık.Bu yüzden sunucu else komutunun sonuç nesnesini ekrana basıcaktır.Şimdi altta ki kodu else_02.php olarak kaydedin ve çalıştırın.
<?php
$degisken="webmaster";
if (isset ($degisken) ) {
echo "değişkenin değeri var";
}
else {
echo "değişkenin değeri yok";
}
?>
Bu kodu çalıştırdığımızda ise ; sunucu ilk sonuç nesnesini ekrana basıcaktır.Çünkü $degisken değerine,webmaster nesnesini depoladık,bundan dolayı sunucu değişkende değer olduğunu sınayıp değişkenin değeri olduğuna dair,sonuç nesnesini ekranda gösterecektir.Görüldüğü gibi gayet basit bir işleyiş tarzı var komutun.Bu kodlar örneğin forma bilgi girmeyen ziyaretçiyi uyarmak için kullanılabilir.Bilindiği gibi checkbox türü bilgi doldurulan formlarda isset komutuyla checkbox un işaretlenip işaretlenmediğini kontrol edebiliriz.Daha ileride formdan bilgi alma konusunda buna ait bir örnek yaptığımızda komutun işleyişinin ne kadar önemli olduğunu göreceksiniz.Örneğin konuyu kavramak adına,komutun önemini anlamak için,isterseniz bir örnek yapalım.ve altta ki kodu isset_03.htm olarak dizininize kaydedin.
<html><head><title>deneme</title>
</head>
<body>
<form action="isset_03.php" method="post">
pırasa yemeğini seviyor musunuz:
<input type="checkbox" name="pirasa" value="evet"><br>
<input type="submit" value="onayla">
</form>
</body></html>
Şimdi alttaki kodu da isset_03.php olarak dizininize kaydedin
<?php
if (isset ($pirasa) ) {
echo "siz pırasayı seviyorsunuz";
}
else {
echo "siz pırasayı sevmiyorsunuz";
}
?>
Şimdi isset_03.htm yi sunucunuzdan çağırın ve oradaki checkbox düğmesini işaretleyip onay verin.Bakın karşınıza ne gelecek.SİZ PIRASAYI SEVİYORSUNUZ diye bir sonuç nesnesi.Şimdi tekrar forma gelin ve bu seferde checkbox düğmesini işaretlemeden onay verin.Bu seferde karşınıza SİZ PIRASAYI SEVMİYORSUNUZ sonuç nesnesi gelecektir.Peki naptık dersiniz? isset_03.php scriptimize bir daha bakarsak,formdan gelen bilgide değer varsa isset komutuyla siz pırasayı seviyorsunuz nesnesini sonuç bölümüne yazdık.Eğer formdan gelen bilgide değer yok ise ; bu seferde isset komutunun else bölümü çalışacaktır.Ve böylelikle isset komutunun ne işe yarayabildiğini net olarak görebildik.Örneğin; üyelik sistemli bir siteniz var,ziyaretçi kayıt formunu doldururken bu tür ziyaretçi bilgilerini değerlendirip ekranda sonuç olarak gösterebilirsiniz.Bir ayrıntıdan bahsetmek gerekirse isset komutunun önüne ! (ünlem) işareti getirirsek yani ; !isset olursa,komut empty olur. EMPTY KOMUTU
empty komutu ise,değişkenin içinde değer yok ise eğer,ilk sonuç nesnesini ekrana basan ve isset komutunun tam tersi bir görev yapan komuttur.Üstteki ilk tabloda ki örneğimize bakacak olursak,$degisken değişkenine somut bir nesne depolamaz isek,isset komutu else komutunun sonuç nesnesini ekrana basıyordu.empty komutu ise,$degisken nesnesine herhangi bir somut nesne depolamazsak bu sefer ilk sonuç nesnesini yani if sonucunu ekrana basıcaktır.Bir örnek vererek olayı kavrıyalım.Alttaki kodu empty_01.php olarak kaydedin.
<?php
if (empty ($degisken) ) {
echo "değişkenin değeri var";
}
else {
echo "değişkenin değeri yok";
}
?>
Bu kodu çalıştırdığımızda karşımıza if komutunun sonuç nesnesi olan değişkenin değeri var ifadesi ekrana basılacaktır.Bu yüzden isset komutunun tam tersi bir komut olduğunu böylelikle görmüş olduk.Şimdi alttaki kullanıcı adı ve şifre dolumuna ait olan kodu empty_02.htm olarak dizininize kaydedin.
<html><head><title>deneme</title>
</head>
<body>
<form action="empty_02.php" method="post">
kullanıcı adınız:<input type="text" name="username"><br>
şifreniz:<input type="text" name="parola"><br>
<input type="submit" value="gir">
</form>
</body></html>
Şimdi alttaki kodu ise empty_02.php olarak kaydedin.
<?php
if (empty ($username) || empty ($parola) ) {
echo "kullanıcı adı yada şifre kısmını doldurmadınız";
}
elseif ($username=="webmaster" and $parola=="ali") {
echo " kullanıcı adınız <b>webmaster</b> şifreniz <b>ali</b>";
}
else {
echo "kullanıcı adınız ve şifreniz yanlış";
}
?>
Şimdi empty_02.htm scriptimizi sunucumuzdan çağırın ve forma hiç bir şey doldurmadan gir butonuna basın.karşınıza if deyiminin sonuç nesnesi gelecektir yani.Kullanıcı adı yada şifre kısmını doldurmadınız yazacaktır.diğer else if kısmı ise bildiğiniz ve kavradığınız şekilde,formu dolduran kişi tek bir kullanıcı adı ve şifreyle sisteme girebildiğini farkettiniz umarım.diğer bütün kullanıcı adı ve parolalarda sistem alttaki else komutunun sonuc nesnesini arıyacaktır.Basit bir form yaptık biz burada.Amacımız empty komutunun işleyiş tarzını göstermekti.empty komutuyla formda hiç bir bilginin doldurulmaması durumunda kullanıcıya uyarı mesajını verebileceğimiz bir durum ortaya çıkarmış olduk.Bu komutuda kafanızda iyice şekillendirmiş olun böylelikle.Biliyorsunuz bazı forum sitelerinde kullanıcılar e-mail adreslerini girmeyebilirler.Bu komutla kullanıcıya uyarı yapıp,e mail adresinizi doldurmadınız şekilde bir sonuç nesnesiyle kullanıcıyı tekrar kayıt sayfasına yönlendire biliriz.İşte böyle uyarılar PHP de empty komutuyla icra edilmektedir.Daha önce de söylediğimiz gibi, !isset komutu da aynı görevi yapmaktadır.İsterseniz yukarıda ki örneğimizi değiştirip empty olan yerlere !isset yazın değişen hiç bir sey olmayacak.Aynı görevi yapacak o komutta.Ama yine de her zaman empty komutunu kullanmak daha faydalı olur eğer ki bu tür durum var ise; isset ile empty komutunu birbirine karıştırmayın.Birbirinin tam tersi iki kodlama şeklidir bunlar.
İNTVAL VE İS_İNTEGER KOMUTLARI
Bu komutlar isset ve empty komutları kadar çok sık kullanılmazlar.Ama öğrenmekte yine de fayda var.intval komutu ondalık sayıları tam sayı olarak ekrana basan bir komuttur.örneklerimiz üzerinde hemen kavrayacağınız kesindir.Alttaki kodu intval.php olarak dizinize kaydedin ve çalıştırın.
<?php
$rakam1="19";
$rakam2="5";
$deger=($rakam1/$rakam2);
echo intval ($deger);
?>
Bu kodu çalıştırdığınız da karşınıza 3 rakamı gelecektir.Normalde 19 sayısının 5 e bölümü 3 küsür olarak belirlenmiştir.Ancak intval komutuyla ekrana bölünen $deger değişkenini bastırıyoruz.Ve sunucudan dönen ondalıklı sayı intval komutuyla tam kısım olarak ekranda belirir.Gayet basit bir komut,ama dediğimiz gibi çok sık kullanılmazlar.Belki veritabanları işleminde bazı parametrik değerler olarak karsımıza çıkabilir.O yüzden öğrenmekte fayda var.Bir diğer komutumuz da buna benzer olarak is_integer komutudur.Bu komutta değişkene depolanan rakamsal nesnenin tam sayı olup olmadıgını sınar,Alttaki kodu is_integer.php olarak dizininize kaydedin ve çalıştırın.
<?php
$sayi="1.2";
if (is_integer ($sayi) ) {
echo "değişken de ki rakam tam sayıdır";
}else {
echo "değişkende ki rakam tam sayı değildir";
}
?>
Bu kodu çalıştırdığımızda karşımıza else komutunun sonuç nesnesi çıkacaktır.Peki ne yaptık? ilk önce ondalıklı bir sayı olarak 1.2 rakam nesnesini $sayi değişkenine depoladık.ve daha sonra if deyimiyle ve is_integer komutuyla bu rakamın tam sayı olup olmadığını sınıyoruz.eğer tam sayı ise ; sunucu ilk sonuç nesnesini ekrana basıcaktır.Ama sayının ondalıklı oldugunu goren sunucu,else komutunun sonuç nesnesini ekrana basar.Komutlar gayet basit gördüğünüz gibi,bir kac kez alıştırma yaptıgınızda,aklınıza iyice gireceğinden eminim.Ancak isset ve empty komutlarını adınız gibi öğrenmenizi tavsiye ediyorum.
