Bu Blogda Ara

30 Mayıs 2010 Pazar

Yeni Başlayanlar için Kitap Tavsiyesi




Bu kitabı buradan 38 tl toplam maliyetle satın alıp php ve mysql işlerinde hız kazanabilirsiniz.

Yaklaşık 1 haftadır elimde ve konuları çok güzel bir biçimde anlatmışlar. eğer kitap almayı düşünüyorsanız kaçırmayın bence..

28 Mayıs 2010 Cuma

Hiç Bilmeyenler için php başlangıç dersleri 2

Bu ders sonunda temel seviyede "program okumayı" öğrenmiş olacaksınız.

Değişkenin ne olduğunu bilmiyorsanız öncelikle şu dersi okuyup gelin. Değişken nedir ?

Önemli: Bu ders program okuma açısından öğrenmeniz gerekli en önemli derstir. Nasıl ki okulda Alfabeyi veya sayıları öğrenmek önemliyse sizin için de program okumak o kadar önemlidir. Bu sebeple bu dersi en az 3 kere baştan sona okuma şartı var. yoksa devam etmeyin. smiley (Hoca ağır konuştu, dikkatinizi toplasanız iyi olur)

Değişkenler içersinde bilgi depolandığını öğrendik. Birde değişkenler arasında bilgi alış-verişi yapılabilir. fakat bu konu gerçek hayattaki alışverişten biraz farklıdır.

Şöyle ki: diyelim elimizde $oyuncak isimli bir değişken var. Bu değişken içine "Araba" konulmuş durumda.

Şimdi biz $oyuncak kutusuna başka birşey koymak istiyoruz ama elimizdeki Araba´yı da kaybetmek istemiyoruz. Bunun için "Araba"yı , $yenikutu isimli bir değişkene aktaracağız.

$oyuncak="Araba";

$yenikutu = $oyuncak ;

Şu durumda $yenikutu="Araba" yazmakla aynı şeyi yaptık denebilir. Burada dikkat etmeniz gereken konu yenikutu=oyuncak olmuyor. yani içindeki bilgi aktarılmış oluyor.

Diğer bir önemli nokta ise $oyuncak isimli kutu boşalmıyor. yani bu işlem sonunda print $oyuncak şeklinde bir komut verirsek ekranımızda Araba ismini görürüz.

Şimdi olayı bir adım daha ilerletelim.


$oyuncak="Araba";

$yenikutu = $oyuncak ;

$yenikutu= "Bebek";

Soru şu: Son durumda $yenikutu içinde ne var ?

cevap: Bebek

Program okuma sırasında her satıra tek tek bakıyoruz. ve hiçbir zaman yukarıdakilere dikkat etmiyoruz. Az önce içine başka birşey gelmiş olabilir ama son durumda yenikutu içine ne gelmişse o mevcuttur. Diğleri kaybolup gider. Yeni kutuya iki eşya konuldu diye düşünmüyorsunuz. Yeni bir eşya konulduğunda diğeri kaybolur.

Şimdi de matematiksel bir işlemle bir örnek yapalım.

$kutu= 5 ;

$kutu = 3 +1;

print $kutu ;

Soru şu: Son durumda kutu içinde kaç sayısı var ?

A- 5
B- 4
C- 9
D- Ördek
E- Tavuk

Tavuk diyenleri bir süpriz bekliyor. Diğerleri cevabını aşağıya yazsın.

smiley

Hiç Bilmeyenler için php başlangıç dersleri

Bu ders sonunda değişkenin ne olduğunu ve nasıl kullanıldığını öğrenmiş olacaksınız.

Önemli: Php öğrenmek istiyorsanız değişken kavramını çok iyi anlamalısınız. Bu konu birçok derste kısaca birkaç cümle ile anlatılıp geçilmektedir. Fakat iyi bir programcı değişkenlere hakim olan kişidir. Özellikle diziler konusuna gelince beni daha iyi anlayacaksınız.

Php de her programlama dili gibi bilgisayar hafızasındaki bilgilerle çalışır. bunun sunucu makinelerde olması farketmez, durum aynıdır.

En basit hali ile değişkeni bir kutu olarak düşünebiliriz. Kutu ne işe yarar içine eşyalar koymaya yarar.

degisken1

Şimdi evinizde böyle bir kutu olduğunu düşünün. içersine eşyalar koyuyorsunuz. ve üzerindeki bu ismi değiştirebiliyorsunuz. Herhalde evinizde böyle bir kutu olsa üstüne "Değişken" yazmayacaktınız. Diyelim ki içine Oyuncaklarınızı koymak istediniz bu durumda kutunun üstüne ne yazardınız. şunlardan birini seçin.

  • Plastik ördek
  • Oyuncak
  • Gereksiz eşya

degisken2

Ben olsam Oyuncak yazardım. çünkü daha kısa ve içindekileri doğru temsil ediyor. Plastik ördek diyenler büyük hata yapmış oldu çünkü kutuya sadece ördek koymayacağız. Bu sebeple daha genel bir isim yazmamız gerekiyor. Gereksiz eşya yazabilirsiniz ama buradaki sorun da şu: kutuyu kapatırsanız içinde ne oldğunu hatırlamak zor olacaktır.

Eğer burdaki mantığı anladıysanız Php programlama da bundan daha karışık değil. Fakat ille de kutuya "Arabam" yazmak isteyenler okumayı bırakıp bir oto tamircisinde işe girebilir. daha kısa yoldan para kazanmış olurlar ve sevdikleri işi yapmış olurlar smiley

Şimdi gelelim işin Php kısmına. Php ile değişken yaparken başına $ harfi yazmak gerekiyor (bakıyorum paryı gördünüz gözünüz açıldı, işte php böyle birşey daha öğrenmeden paranın ucunu gösteriyor). yukarıdaki örneğe uygun olarak oyuncak isimli bir değişken yazarsak. $oyuncak şeklinde yazmamız gerekiyor.

ve işte ilk php kodumuz geliyor.


$oyuncak="Ördek";

Bunu açıklarsak, oyuncak isimli değişkene Ördek koymuş olduk. Yukarıdaki kutuda sadece ördek olduğunu düşünürseniz kolayca anlarsınız. üstünde Oyuncak yazan kutuya ördek koyduk.

Şimdi ördeğimizi biraz geliştiriyoruz. (pardon örneğimizi dicektim) smiley okuyormusunuz diye kontrol ettim. Programlama diyince korkanlar için ortamı yumuşatıyorum.


$oyuncak="Araba";

Şu anda kutuya Araba koyduk. burada dikkat edeceğiniz nokta artık kutuda ördek yok. peki ördek nereye gitti diyeceksiniz. ördek öldü. uçtu. kayboldu. Yani kutuya yeni birşey koyunca eskisi kaybolur. eskisi size lazımsa kendinize başka bir kutu yapmalısınız. şöyle ki:

$oyuncak1="Ördek";

$oyuncak2
="Araba";

Gördünüz mü bilgisayarda kutu üretmek çok kolay (yani değişken) Ufak ufak sizi değişken demeye alıştıralım. kutu çocuklar için, sen büyüdün artık. kocaman oldun. Değişken de bakayım, D-e-ğ-i-ş-k-e-n... afferiiim. smiley

Şimdi gelelim bu değişkenle neler yapabileceğimize, tamam öğrendik ama bunu nasıl kullanacağız :

Örnek: Diyelim ki web sitemizde birsürü çocuk üyemiz var. ve bu üyelerin hangi tür oyuncak sevdiğini kaydettikleri bir bölüm yaptık. sonra biz bunları üye profili sayfasında göstermek istiyoruz. (Kaydet tuşuna falan kafayı taklayın. onları da kolayca öğretecem)

Örneğin: Ali diye bir üyemiz var. ve Araba seviyor. profili de şöyle görünmeli

üye adı: Ali
Ali, Araba ile oynamayı seviyor.

Alinin profiline giren herkes yukarıdaki gibi bir yazı görüyor. şimdi bu yazıyı kim hazırlayacak. tabii ki siz.

Bunu yazdırmak için şöyle bir kodlama yapmış olmamız gerekiyor.

print " Üye adı $isim ";

print " $isim , $oyuncak ile oynamayı seviyor"

Burada print komutuna kafayı takmayın. sadece tırnak içindekileri gösteriyor, kendisi görünmüyor. yani siteye girenler Print kısmını görmüyor sadece tırnak içindekini görüyor. bakalım ne var tırnak içinde.

$isim ve $oyuncak diğerleri aynen ekranda görünüyor. bu ikisi ise bildiğiniz gibi hayali kutular. içinde ne varsa onu gösteriyor.

şimdi aşağıdaki kodları anlamaya çalışalım.

$isim="Ayşe";
$oyuncak="Bebek";


print
" Üye adı $isim ";

print " $isim , $oyuncak ile oynamayı seviyor"

Bilin bakalım bu sayfaya biri girdiğinde ne görecek:

üye adı: Ayşe
Ayşe, Bebek ile oynamayı seviyor.

Peki şöyle bir sayfamız olsa, bu sayfaya girenler ne görecekti

$isim="Necmi";
$oyuncak="Transformers";


print
" Üye adı $isim ";

print " $isim , $oyuncak ile oynamayı seviyor"

Bu ödeviniz olsun. bunu yapanlar aşağıya cevabını yazabilir. cevabı doğru yazanlar diğer derse geçebilir.

Dikkat: Değişken konusu çok önemlidir. Diğer konulara temel olacağı için bunu iyice öğrenmelisiniz.

Mysql Komutları (Mysql Fonksiyonları)

MySQL ve Veritabanı sorgularınızda ihtiyacınız olacak bazı önemli fonksiyonların açıklamaları ve parametre içerikleri.

  • mysql_connect(server, kullanıcı adı, şifre) – MySQL server bağlantısı sağlar.
  • mysql_select_db(veritabanı adı, mysql bağlantı değişkeni) – Bağlantısı sağlanmış mysql_connect() fonksiyonu ile birlikte veritabanına bağlanır.
  • mysql_query(sorgu) – Bağlantısı sağlanmış veritabanına sorgu gönderir.
  • mysql_fetch_array(sorgu değişkeni) – Sonuçları dizi halinde döndürür.
  • mysql_num_rows(sorgu değişkeni) – Sonucun satır sayısını alır.Tablodaki kolonların değerlerini kontrol eder.
  • mysql_affected_rows(bağlantı değişkeni) – Sonuçtan bir önceki değeri etkileyen satır sayısını alır.
  • mysql_close(bağlantı değişkeni) – MySQL bağlantısını sonlandırır.
Bu notlar bir temel oluşturması konusunda yeterlidir fakat arkasını getirmezseniz hiçbir işe yaramaz.

Php ile Ziyaretçilerin IP adreslerini öğrenmek

PHP ile IP adresini öğrenmek çok basit bir işlemdir ve tek satırlık kod ile yapılabilir.getenv(”REMOTE_ADDR”); sayfayı çalıştırdığımızda ip adresini algılar ve bize gösterir.

Örnek Kodlama:

$ipadres = getenv("REMOTE_ADDR");

echo "IP Adresi : ".$ipadres;

?>

Aynı şekilde getenv(”REMOTE_ADDR”); yerine $_SERVER["REMOTE_ADDR"]; ‘de kullanılabilir.Aradaki fark getenv() fonksiyonu proxy arkasına gizlenmiş ipleri denetler.

Php de metin belgesinde bulunan satır sayısını öğrenmek

Metin belgesinde bulunan satırları tek tek saymak biraz yorucu olsa gerek. Bu çok kısa kod sayesinde bu yoruculuğu engellemiş oluyoruz. Tabi ben başka bir yöntemde biliyorum örneğin metin dosyasının içindekileri editör ile açarak kaç satır olduğunu sol taraftaki satır sayacı ile öğrenmek. Ama bizim amacımız PHP ile öğrenmek olduğu için önemli olan bu komutu uygulamanız.



echo count(file("metindosyamiz.txt"));

?>

Php de Sayfalama Yapmak

PHP ile sayfalama yapımını mantık olarak LIMIT ile satır sayısını alıp onu sayfalara bölmek anlamına getirebiliriz. İletişim sayfasından bana ulaşarak bu dersi sabırla bekleyen sayın Süleyman Vural’a gösterdiği sabrından dolayı da teşekkür etmek isterim.

Birçok yoğun projeden fazla ders ekleme imkanım olmadı. Fakat yine de pek fazla detaya girmeden öncelikle örnek olarak yaptığım kodları paylaşacağım. Kodlar kütüphanemden örneğe çevirdiğim kodlardır. SQL dosyasıyla birlikte çalışma dosyasını indirip localhostta deneme yanılma yöntemini kullanarak çalışmalar da yapabilirsiniz.

İleri ve geri sayfaları mantık olarak +1 ve -1 yapmaktan kaynaklanıyor. Yani İlerisi için şu anki sayfadan +1 arttırıyoruz ve gerisi içinde -1 azaltıyoruz. Kodlara bakarak daha iyi anlayabilirsiniz.



include ("ayar.php");

$limit = 5;

$git = @$_GET["git"];

if(empty($git) or !is_numeric($git)) {

$git = 1;

}

$count = mysql_num_rows(mysql_query("SELECT id FROM sayfa"));
$toplamsayfa = ceil($count / $limit);
$baslangic = ($git-1)*$limit;

$sorgu = "SELECT * FROM sayfa ORDER BY id ASC LIMIT $baslangic,$limit";

$yazdir_sorgu = mysql_query( $sorgu, $mysqlbaglantisi) or die(mysql_error() );

while ($yazdir = mysql_fetch_array($yazdir_sorgu)){

echo $yazdir['title'];
echo "
"
;

}

if($count > $limit) :
$x = 2; // akrif sayfadan önceki/sonraki sayfa gösterim sayisi
$lastP = ceil($count/$limit);

if($git > 1){

$onceki = $git-1;


}

// sayfa 1'i yazdir
if($git==1) echo "[1]";
else echo "[1]";
// "..." veya direkt 2
if($git-$x > 2) {
echo "...";
$i = $git-$x;
} else {
$i = 2;
}
// +/- $x sayfalari yazdir
for($i; $i<=$git+$x; $i++) {
if($i==$git) echo "[$i]";
else echo "[$i]";
if($i==$lastP) break;
}
// "..." veya son sayfa
if($git+$x < $lastP-1) {
echo "...";
echo "[$lastP]";
} elseif($git+$x == $lastP-1) {
echo "[$lastP]";
}

if($git < $lastP){

$sonraki = $git+1;


}

endif;

?>

Çalışma dosyasını buradan indirip ayar.php dosyasından kendi mysql bağlantı ayarlarını yaparak sql dosyasınıda import ederek örneği inceleyebilirsiniz. Kavradıktan sonra kendi sayfalama sistemlerinizide geliştirirsiniz.

27 Mayıs 2010 Perşembe

Php de Html Formlarının Kullanımı

Formlar

Web sayfalarında form elamanları

...
etiketleri arasına yazılır. Form elemanları olarak metin kutuları, onay kutuları, açılır listeler, metin alanları ve düğmeler sayılabilir. PHP ile formlardan gelen bilgilerin nasıl alındığını anlatmadan önce form elamanları anlatılacaktır.

Form Elemanları

  • Metin Kutusu (textbox)
  • Şifre Kutusu (password)
  • Onay Kutusu (checkbox)
  • Radyo Düğmesi (radio)
  • Metin Alanı (textarea)
  • Açılır Liste (select)
  • Dosya Seçim Elemanı (file)
  • Gizli Elemanlar (hidden)
  • Sıfırlama Düğmesi (reset)
  • Gönder Düğmesi (submit)
  • Gruplandırma Elemanı (fieldset)
  • Genel Amaçlı Düğme (button)

...

Form elamanlarını gruplandırmak için kullanılan, başka bir ifade ile barındıran html etiketidir. Web sayfasına yazılan tüm form elemanları

...
etiketleri arasına yazılır. Kullanımı aşağıdaki gibidir.

<html>
<body>
<form name="form_adi" method="get|post" action="hedef">
Buraya form elamanları gelecektir.(metin kutuları, açılır listeler, butonlar, ...)
form>
body>
html>

Özellikleri

name: form etiketine isim vermek için kullanılır. Sayfada birden fazla

...
etiketi olabilir. Bunları isimlendirmek için kullanılır.

method: Form elamanlarına girilen bilgilerin gönder denildiğinde nasıl gönderileceğini belirtmek için kullanılır. GET veya POST değerlerinden birini alabilir.

action: Form elamanlarına girilen bilgilerin hangi sayfaya gönderileceğini belirtmek için kullanılır. Gönderilen bilgiler action kısmında belirtilen sayfaya gönderilir ve orada işlenir.

enctype: Dosya yükleme yapılacağı zaman dosyayı gönderme biçimini tanımlamak için kullanılır. Genelde multipart/form-data değerini alır.

Örnek: kaydet.php sayfasına post metodu ile bilgi gönderen kayit isimli form yapısını hazırlayalım.

<html>
<body>
<form name="kayit" method="post" action="kaydet.php">
Buraya form elamanları gelecektir.
form>
body>
html>

Metin Kutusu (textbox)

Tek satırlık metin girişi için kullanılır. Kullanımı şu şekildedir.

<input type="text" name="form_adi">

Özellikleri

name: Metin kutusuna isim vermek için kullanılır. Gönder denildiğinde bu forma girilen bilgi bu isim ile gönderildiğinden mutlaka kullanılmalıdır.

value: Sayfa ilk yüklendiğinde varsayılan değerini tanımlamak için kullanılır.

<input type="text" name="adi" value="Buraya adınızı giriniz">

size: Metin kutusunun genişliğini belirtmek için kullanılır.

<input type="text" name="adi" size="20">

maxlength: Metin kutusuna girilebilecek en fazla karakter sayısını belirtmek için kullanılır.

<input type="text" name="adi" maxlength="10">

readonly : Metin kutusunun sadece okunabilir olduğunu, giriş amaçlı kullanılmayacağını belirtir.

<input type="text" name="adi" readonly>

disabled: Metin kutusunun kullanılamayacağını belirtir.

<input type="text" name="adi" disabled>

Şifre Kutusu (password)

Şifre girişlerinde kullanılır. Kullanımı şöyledir.

<input type="password" name="form_adi">

Özellikleri, yukarıda belirtilen metin kutusu ile aynıdır. (name, value, size, maxlength, readonly, disabled)

Onay Kutusu (checkbox)

Tıklandığında bir tik işaretiyle işaretlediğimiz form elamanlarıdır. Önceden belirlenmiş değerlerden istenilenleri seçmek için kullanılır. Kullanımı şöyledir.

<input type="checkbox" name="form_adi" value="değer">

Özellikleri

name: Forma verilen addır. Mutlaka kullanılmalıdır.

value: Onay kutusu seçili iken gönder denildiğinde gidecek olan değeri belirtmek için kullanılır.

checked: Onay kutusunun varsayılan olarak seçili olacağını belirtir.

<input type="checkbox" name="onay" checked>

Radyo Düğmesi (radio)

Önceden belirlenmiş seçeneklerden sadece birini seçmek kullanılır. Burada her radyo düğmesinin name değerinin aynı olmasına dikkat ediniz. name değerleri aynı olan radyo düğmelerden sadece biri seçilebilir. Farklı name değerlerine sahip radyo düğmeler farklı grupları oluşturur. Her gruptan sadece bir tanesi seçilebilir. Kullanımı şöyledir.

<input type="radio" name="form_adi" value="değer1">
<input type="radio" name="form_adi" value="değer2">
<input type="radio" name="form_adi" value="değer3">
...

Özellikleri, yukarıda anlatılan onay kutusu ile aynıdır.

Metin Alanı (textarea)

Çok satırlı uzun metin girişlerinde kullanılır. Kullanımı şöyledir.

Özellikleri

name: Forma verilen addır. Mutlaka kullanılmalıdır.

rows: Metin alanının kaç satır yüksekliğinde olacağını ayarlamak için kullanılır.

cols: Metin alanının kaç sütun (karakter) genişliğinde olacağını belirtmek için kullanılır.

<textarea name="formadi" rows="5" cols="30">
Varsayılan değer
textarea>

Açılır Liste (select)

Önceden belirlenmiş değerlerden birini seçmek için kullanılan açılır menülerdir. Her seçenek etiketleri ile belirtilir. Kullanımı şöyledir.


<select name="form_adi">
<option value="değer1">Seçenek 1option>
<option value="değer2">Seçenek 2option>
<option value="değer3">Seçenek 3option>
...
select>

Özellikleri

name: Forma verilen addır. Mutlaka kullanılmalıdır.

value: Gönder denildiğinde gidecek olan değeri tanımlamak için kullanılır. Her seçenek için yazılır.

size: Açılır liste tarzından düz liste tarzına geçip listenin satır yüksekliğini belirtmek için kullanılır.

selected: Belirtilen seçeneğin varsayılan olarak seçili olacağını belirtir.

<select name="onay" size="2">
<option value="evet">Evetoption>
<option value="hayir" selected>Hayıroption>
select>

Listedeki seçenekleri gruplandırmak için ... etiketleri kullanılır. Burada bu etiketleri iç içe yazmamaya dikkat ediniz. Şu şekilde kullanılır.

<select name="form_adi">
<optgroup label="Grup 1">
<option value="değer1">Seçenek 1option>
<option value="değer2">Seçenek 2option>
<option value="değer3">Seçenek 3option>
optgroup>
<optgroup label="Grup 2">
<option value="değer4">Seçenek 4option>
<option value="değer5">Seçenek 5option>
<option value="değer6">Seçenek 6option>
optgroup>
select>

Dosya Seçim Elemanı (file)

Dosya yüklemede, yüklenecek dosyayı seçmek için kullanılır. Kullanımı şöyledir.

<input type="file" name="form_adi">

Özellikleri

name: Formun adını belirtmek için kullanılır. Seçilen dosya bu ad ile sunucuya geçici olarak yüklenmektedir. Mutlaka kullanılmalıdır.

Bu form elemanı kullanıldığında

...
etiketi için enctype özelliğini kullanmayı unutmayınız.

<html>
<body>
<form name="dosya_yukle" method="post" action="yukle.php" enctype="multipart/form-data">
Dosya Seçiniz: <input type="file" name="dosya">
<input type="submit" name="gonder" value="Gönder">
form>
body>
html>

Gizli Elemanlar (hidden)

Sayfadan, görünmeyen gizli değerler göndermek için kullanılır. Örneğin; işlemi gerçekleştirmek için gerekli olan bir bilgiyi kullanıcıya göstermeden göndermek için kullanabilirsiniz. Kullanımı şöyledir.

<input type="hidden" name="form_adi" value="değer">

Özellikleri

name: Gizli formun adını belirtmek için kullanılır.

value: Gizli formun göndereceği değeri tanımlamak için kullanılır.

Sıfırlama Düğmesi (reset)

Formlara girilen değerleri sıfırlar. Form elemanlarının değerleri başlangıç değerlerine geri döner. Kullanımı şöyledir.

<input type="reset" name="form_adi" value="Temizle">

Özellikleri

name: Düğmenin adını belirtmek için kullanılır. Belirtilmek zorunda değildir.

value: Düğmenin üzerinde görünen değeri belirtmek için kullanılır.

Gönder Düğmesi (submit)

Formlara girilen bilgileri

...
etiketinin action kısmında belirtilen sayfaya göndermek için kullanılır. Şu şekilde kullanılır.

<input type="submit" name="form_adi" value="Gönder">

Özellikleri

name: Düğmenin adını belirtmek için kullanılır. Belirtilmek zorunda değildir.

value: Düğmenin üzerinde görünen değeri belirtmek için kullanılır.

Gruplandırma Elemanı (fieldset)

Form elamanlarını gruplandırmak için kullanılır. Bu sayede form elamanlarının ne amaçla kullanıldığı daha iyi anlaşılmaktadır. Grubun başlığını belirtmek için ... etiketi kullanılır. Kullanımını bir örnekle açıklayalım.

<html>
<body>
<form name="uyelik" method="post" action="uye_kayit.php">
<fieldset>
<legend>Kişisel Bilgilerlegend>
Adınız: <input type="text" name="adi"><br>
Soyadınız: <input type="text" name="soyadi"><br>
Cinsiyetiniz: Bay<input type="radio" name="cinsiyeti" value="bay" checked>
Bayan<input type="radio" name="cinsiyeti" value="bayan"><br>
fieldset>
<fieldset>
<legend>Üyelik Bilgilerilegend>
Kullanıcı Adı: <input type="text" name="kullanici_adi"><br>
Şifre: <input type="password" name="sifre"><br>
fieldset>
<input type="submit" name="gonder" value="Gönder">
<input type="reset" name="temizle" value="Temizle">
form>
body>
html>

Kişisel Bilgiler Adınız:
Soyadınız:
Cinsiyetiniz: Bay Bayan
Üyelik Bilgileri Kullanıcı Adı:
Şifre:

Genel Amaçlı Düğme (button)

Düğme oluşturmak için kullanılan, daha esnek ve kullanışlı olan bir yöntemdir. Açılış ve kapanış etiketleri() arasına açıklama, resim ve bunun gibi bir çok html elemanı ekleyerek düğme üzerinde gösterilebilir. Aşağıdaki gibi kullanılır.

<button name="form_adi" type="button|reset|submit" value="değer">
Açıklama, resim ve bunun gibi html elemanları buraya eklenebilir.
button>

Özellikleri

name: Düğmeye ad vermek için kullanılır.

type: Düğmenin ne amaçla kullanılacağını belirtmek için kullanılır. button, reset, ve submit değerlerinden birini alabilir.

value: Düğmenin sayfada kullanacağı değeri belirtmek için kullanılır.

Örnek: Üzerinde resim bulunan bir düğmenin kullanıldığı dosya yükleme formunu hazırlayalım.

<html>
<body>
<form name="dosya_yukle" method="post" action="yukle.php" enctype="multipart/form-data">
Dosyanın Kalıcı Adı: <input type="text" name="dosya_adi"><br>
Dosya Seçiniz: <input type="file" name="dosya">
<button name="yukle" type="submit">
button>
form>
body>
html>

Bir Sonraki derste Görüşmek üzere

Php'de Dizi Değişkenler ve Örnekleri

Diziler, içerisinde bir çok değer saklayabilen değişkenler kümesi olarak tanımlanabilir. Örneğin 30 kişilik bir sınıftaki öğrencilerin adlarını saklamak üzere 30 tane değişken tanımlamaktansa 30 elemanlı bir dizi tanımlamak daha kolaydır.

Dizideki bir değer ulaşmak için indis'ler kullanılır. Aşağıdaki örneği inceleyiniz.

1
2$meyveler[0]="Elma";
3$meyveler[1]="Armut";
4$meyveler[2]="İncir";
5echo $meyveler[1]; // ekrana Armut yazar.
6?>

Buradaki 0, 1 ve 2 indislerdir. Elma, Armut ve İncir ise değerlerdir.

Örnek: Günleri saklayan bir dizi tanımlayalım.

1
2$gunler[0]="Pazartesi";
3$gunler[1]="Salı";
4$gunler[2]="Çarşamba";
5$gunler[3]="Perşembe";
6$gunler[4]="Cuma";
7$gunler[5]="Cumartesi";
8$gunler[6]="Pazar";
9?>

Burada indis tanımlamaları çok esnektir. Biz burada Pazartesi için 0 kullandık. Sizler Pazartesi için 1 kullanabilirsiniz. Burada yapılan iş aslında diziye yeni değerler eklemektir. Bazen bir dizide kaçtane değer olduğunu, kullanılan enson indisin kaç olduğunu bilmediğimiz durumlar olur. Ya da indisi yazmak istemediğiniz durumlar da olabilir. Bu tür durumlarda diziye ekleme yapmak için şu yöntemi kullanabilirsiniz.

01
02$gunler[]="Pazartesi";
03$gunler[]="Salı";
04$gunler[]="Çarşamba";
05$gunler[]="Perşembe";
06$gunler[]="Cuma";
07$gunler[]="Cumartesi";
08$gunler[]="Pazar";
09echo $gunler[3]; // ekrana Perşembe yazar.
10?>

Dizilerde indis olarak sayılar kullanmak zorunda değilsiniz. İndis olarak string ifadeler de kullanılabilir. Biz buna değerleri etiketlemek diyoruz. Bir örnekle açıklamak gerekirse. Gerçek hayatta okuldaki odalar numaralandırılmaz. Odalara isimler verilir. Örneğin müdür odasının kapısına Müdür Odası etiketini, öğretmenler odasına Öğretmenler Odası etiketini asarlar. Yani odalar etiketlenir. Benzer mantıkla bir dizideki değerler de etiketlenebilir. Aşağıdaki örneği inceleyiniz.

1
2$personel["güvenlik"]="Ali Kavak";
3$personel["sekreter"]="Ayşe Eren";
4$personel["müdür"]="Ahmet Ergün";
5$personel["hizmetli"]="Ercan Kır";
6echo $personel["müdür"]; // ekrana Ahmet Ergün yazar.
7?>

Bir dizideki değerleri yukarıdaki örneklerde olduğu gibi tek tek tanımlamak zorunda değilsiniz. Bu değerleri toplu bir şekilde tanımlamak için şu yapıyı kullanmalısınız.

1$gunler=array("Pazartesi","Salı","Çarşamba","Perşembe","Cuma");

Bu tür bir tanımlamada dizinin ilk değerinin indisi 0, diğerleri sırasıya 1, 2, ... şeklinde devam eder. Ancak siz böyle bir tanımlama yaparken indisin 0 dan başlamasını istemeyebilirsiniz. Bu tür durumlarda her değerin indisi belirtebilirsiniz.

1$gunler=array(1=>"Pazartesi",2=>"Salı",3=>"Çarşamba",4=>"Perşembe",5=>"Cuma");

Eğer indisler sıralı bir şekilde ard arda gidecekse işlemi biraz daha kısaltabiliriz. Bunun işin ilk değere bir indis verilir. Diğerlerine verilmediği zaman sıradaki indis değerini alırlar.

1$gunler=array(1=>"Pazartesi","Salı","Çarşamba","Perşembe","Cuma");

Bu tanımlama görüldüğü gibi Pazartesi 1 indisini alırken sırasıyla Salı 2, Çarşamba 3 indislerini alacaktır. Bu işlem bu şekilde devem edecektir.

Aşağıda farklı şekilde tanımlanmış diziler bulunmakadır. İnceleyiniz.

01
02$dersler[1]="Matematik";
03$dersler[2]="Fizik";
04$dersler[3]="Geometri";
05echo $dersler[2]; // ekrana Fizik yazar
06echo "
"
;
07//----------------------------
08$takim[]="Ali";
09$takim[]="Ömer";
10$takim[]="Erkan";
11$takim[]="Serkan";
12$takim[]="Emre";
13echo $takim[3]; // ekrana Serkan yazar
14echo "
"
;
15//----------------------------
16$gorevler["pazartesi"]="Faturalar ödenecek";
17$gorevler["çarşamba"]="Alışveriş yapılacak";
18$gorevler["cumartesi"]="Temizlik yapılacak";
19echo $gorevler["çarşamba"]; // ekrana Alışveriş yapılacak yazar.
20echo "
"
;
21//----------------------------
22$yaz=array("Haziran","Temmuz","Ağustos");
23echo $yaz[1]; // ekrana Temmuz yazar
24echo "
"
;
25//----------------------------
26$bahar=array(1=>"Mart","Nisan","Mayıs");
27echo $bahar[3]; // ekrana Mayıs yazar
28echo "
"
;
29//----------------------------
30$sorular=array(15=>"Ram Nedir?",65=>"CPU ne anlama gelir?",18=>"1MB=?KB");
31echo $sorular[18]; // ekrana 1MB=?KB yazar.
32echo "
"
;
33//----------------------------
34$futbol=array("kaleci"=>"Can","defans"=>"Ercan","orta"=>"Ali","forvet"=>"şükrü");
35echo $futbol["defans"]; // ekrana Ercan yazar
36?>

Örnek: Aşağıdaki tabloyu dizi olarak tanımlayalım.

Linux
KDE Pardus
GNOME Fedora
XFCE Xubuntu



1
2$linux=array("KDE"=>"Pardus","GNOME"=>"XFCE","Xubuntu");
3?>

Örnek: Aşağıdaki tabloyu dizi olarak tanımlayalım.

Diller
1 PHP
2 PTYHON
3 C

1
2$diller=array(1=>"PHP","PYTHON","C");
3?>

Örnek: Aşağıdaki tabloyu dizi olarak tanımlayalım.

Kazananlar
Ayşe
Oya
Meral
Canan
1
2$kazananlar=array("Ayşe","Oya","Meral","Canan");
3?>