Bu derste php ile radio button kullanimina deginecegiz. Örnegimizde 3 tan radio buton ve bir tane de normal buton (Seç) olacak. Seç butonuna tiklayinca radio butonlardan seçtigimiz seyi ekrana yazdiracagiz.
Bildiginiz gibi radio buton ve buton birer html aracidir; o yuzden kodlarimizda html kodlari olacak. Öncelikle radio butonlarimizi ve seç butonumuzu sayfamiza yerlestiriyoruz:
<form action="radioButtons.php" method="get">
<p>
<input type="radio" name="ders" value="php"/>PHP<br/>
<input type="radio" name="ders" value="c"/>C<br/>
<input type="radio" name="ders" value="java"/>JAVA<br/>
</p>
<p><input type="submit" name="sec" value="Seç"/><br/>
</form>
Bunu ister php kodlarimizla ayni sayfaya yazariz, istersek ayrica html dosyasi olarak kaydederiz. Biz simdilik ayni dosyaya yazalim. Hemen kisaca bir iki açiklama yapayim.
<form action="radioButtons.php" method="get">
Buradaki action="radioButtons.php" kodu bizim yazacagimiz php kodlarina isaret ediyor. Method="get" ise az sonar azacagimiz php kodlarimizdaki $_GET metoduna isaret ediyor. $_GET metodunun ayrintilarina simdi girmeyecegim.
Peki ne zaman bizim php kodlarimiz devreye giriyor? Butona tikladigimiz zaman.
<input type="submit" name="sec" value="Seç"/>
Çünkü button, submit tipinde bir nesnedir.
<input type="radio" name="ders" value="php"/>PHP
Burada name="ders" yazan yere dikkat edin. Bu bizim radi butonlarimizin ismidir.
Ayni isimle (ders) 3 tane ayri radio buton olusturduk ki, yalniz birine tiklayabilelim. Aksi taktirde, eger hepsinin ismini farkli yapmis olsaydik ayni anda hepsine bir tiklayabilirdir. Bu simdilik bizim isteidigimiz bir sey degil. O yuzden hepsine ayni ismi verdik.
<?php
if(empty($_GET['ders'])){
echo "lütfen bir alan seçiniz";
}
elseif(isset($_GET['ders'])){
$ders = $_GET['ders'];
echo $ders.' seçildi';
}
?>
Ilk satirda $_GET metodu araciligiyla su sorgu yapiliyor: 'ders' adindaki nesne(ler) (ki bu örnegimizde 3 adet radio button) bos mu? Empty(…); php'de bir metottur. Sonuc olarak Boolean (true/false) döndürür. 'ders' degiskeni bos ise, yani hiç bir sey seçilmemisse true, seçili bir radio buton varsa false degeri döner. if(empty($_GET['ders'])==true) seklinde de yazabilirdir. Ilk yaptigimiz gibi hiç bir sey yazmazsak varsayilan olarak ==true degeri aliyor.
Eger bos ise… bir denetim daha yap: elseif(isset($_GET['ders'])) . isset(...) bir baska php metodu.
Bu da empty() metodu gibi Boolean sonuc döndürür. isset($degisken) sunu sorar: $degisken tanimli mi ve NULL'dan farkli birsey mi? Cevap evet ise true döndürür, hayir ise false.
Eger 'ders' nesnesi bos ise{
sunu yaz: 'Lütfen bir ders seçiniz'
Bos degilse ve seçilmis bir degeri var ise
bu degeri $ders adli bir degiskene ata
$ders degiskenini ekrana yazdir.
}
Bu kadar.
Umarim açiklayici olmustur anlatmaya çalistiklarim. Takildiginiz yer olursa sorun lütfen.