Frmacil

Frmacil

Acil Sorunlara Acil Çözüm




Geri git   Frmacil >
(¯`·.(¯`·.Mulltimedia-Grafik.·´¯).·´¯)
> Webmaster Köşesi > HTML-PHP-ASP-JAVA

Forum Kuralları İletiler Kayıt ol Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et

.Filistine Destek İsraile Tepki .

PHP'de Önlem | PHP de Dosya Gönderim ( File Upload )
Cevapla
 
Seçenekler Stil
Alt 19-01-2008   #1
Profil Bilgileri
Devamlı Üye
 
Börtecine - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2007
Yaş: 17
Mesajlar: 2.543
Üye No: 4618
Tecrübe Puanı: 39
Rep Puanı : 6618
Rep Derecesi
Börtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond reputeBörtecine has a reputation beyond repute
Börtecine - MSN üzeri Mesaj gönder
Reklam
www.dantel-orgu.com
Standart PHP Dersleri

Php Programlamaya Giriş 1 Php Nedir ? 2 Php'yi Derlemek 3 Php Yazım Kuralları ve Gerekleri 4 En temel Php Kodları ve Komutları 5 Sonuç ...

Php Programlamaya Giriş

1 Php Nedir ?
2 Php'yi Derlemek
3 Php Yazım Kuralları ve Gerekleri
4 En temel Php Kodları ve Komutları
5 Sonuç



1 Php Nedir ?

Bilindiği üzere Web sistemleri zaman içerisinde popülaritesini arttırmış, hemen her sistemde az veya çok kullanılır olmuştur Bu dillere örnek verirsek, ASP, PHP, CGI, JSP gibi komplike yeteneklere sahip pek çok dil zaman içerisinde geliştirilmiş ve yaygınlaşmıştır Standart dil olarak sunulan HTML oldukça pratik ve hızlı olmasına karşın "Küt" bir dildi Yani tarayıcınızın yorumlıycağı şeylerle kısıtlıydı Sunucu tarafı size yalnızca tarayıcınızın algılıyabileceği nitelikteki bilgileri göndererek grafik ortamlı birer broşür gibi çalışırlar Haliyle HTML Zaman içerisinde artan ihtiyaçları karşılamaktan acizdi Bu ihtiyacın hasıl olması interaktif dillerin geliştirilmesine vesile olmuştur İnteraktif diller Birer Program gibi çalışarak sunucu tarafında işlem yapar, size yapılan işlemin sonucunu gönderir Bu özelliği ile Web üzerinden E-Posta işlemleri, Üyelik sistemleri, Veritabanı bağlantıları ile bilgisayarınızda kullandığınız programların yaptığı işi neredeyse birebir yapabilirler Bu diller birer Programdırlar ve size ulaşmadan önce sunucu tarafında çalıştırılarak işlem pörtföyünüzü genişletir

Php en popüler interaktif dillerden biridir Hatta çoğu istatistiki veriye göre en çok kullanılan ve performans bakımından diğer altirnatiflerine göre çok daha hızlıdır Açıklıycak olursak ; Php Sunucu tarafında çalıştırılarak talep edilen bilgiyi yorumlar Örnekliycek olursak Bir broşür gibi diyil adeta birer müşteri temsilcisi gibi davranır

Php Temelde Unix türevli bir sistemdir, Ancak pekiala Windows sistemlerdede kullanılabilecek şekilde uyarlanmıştır Çoğu Windows tabanlı sistemler Php'yi çalıştırabildiği gibi Php'nin gelişen ve güncellenen modüllerininde desteğini sağlayabilir Ancak söylediğimiz gibi Php Unix Tabanlı yahut Unix'den türetilen sistemler baz alınarak geliştirilmiştir Algoritmik yapısı C'ye çokca benzer Öyleki çoğu modül ve değeri C ile aynıdır

Php'ye bir programlama dili gibi yaklaşmak çok daha sağlıklı olacaktır Kodlanan bir Php programcığı/sayfası derlenmeye ihtiyaç duyar HTML gibi derlenmeye ihtiyaç duymadan direkt olarak çalıştırılamaz Web Sunucusu Php'nin kodlarını algılamalı, program gereklerini yerine getirerek istemciye, yani Web Sayfasını ziyaret eden kullanıcıya programlandığı şekilde gönderilmelidir Unix sistemler bu iş için biçilmiş birer kaftandır Windows'dada bu derleme işini yapmak ziyadesiyle kolay Unix ve türevi sistemler için geliştirilen Apache, Windows dada çalışabilme özelliğine sahiptir


2 Php'yi Derlemek

Bir önceki konuda da bashettiğimiz üzere Php derlenmeye ihtiyaç duyan bir programdır Bu derleme işlemini Unix'de Apache rahatlıkla yapabilir Biz bu bölümde bu işlemi Windows'da nasıl yapacağımızı inceliycez

Bu iş için ihtiyaç duyacağımız yazılım Apache'nin Windows için geliştirilen Yazılımı olan PhpTriad dır Bu yazılımı Googlecom'dan aratarak rahatlıkla bulabilirsiniz Yazılımın kurulmasından sonra yapacağınız işlemler sırasıyla ;

Start > Programs > PhpTriad > Apache Console > Start Apache Betiklerini takip çalıştırmak olacaktır

Bu işlem sonrasında karşımıza küçük bir dos penceresi gelecek Bu pencereyi kapatmamalıyız Şimdi Kodlarımızı c:\apache\htdocs\ Altına koymalıyız

Bu işlemler sonunda bilgisayarımız Bir Web Sunucusu haline gelmiştir ve kodladığımız php programlarını bize derleyerek sunmaya hazır durumdadır


3 Php Yazım Kuralları ve Denetimleri

Php programlanırken belirli kurallara uymak gerekir Bu kurallara uymamız halinde Sunucumuz taleplerimizi doğru olarak algılar ve bize yanıt verebilir Bu denetimler C ye ve Perl'e çokca benzer Her Php Sayfası baştan sona Php Kodları ile dolu olmayabilirde Örneğin bir Php programının içerisined baştan sona HTML kodlarıda yazabiliriz Php kodlarını belirtmek için bir Tag açarız, kodların bittiğini belirtmek için bu tag'ı kapatarak aynı program içerisinde sınırsız dag açabiliriz Bu denetim ve kurallarının en temeli olan birkaç noktayı 3 hususu sıralayalım ;

1 Bir php Programının içerisinde Php komut ve kodlamalarını "<?" ile başlar "?>" ile biter
2 Php'de bir komutun bittiğini ekseriyetle ";" ( Noktalı Virgül ) ile belirtiriz ( Özel Fonksiyonlarda ":" ilede bitebilir )
3 Php programı içerisinde yanlış bir kodlama var ise üretilen hatayı sunucu size rapor eder ( Bazı sunucular bunu potansiyel tehlike olarak algıladıkları için bu hataları rapor etmiyebilir )


4 En Temel Php Kodları ve Komutları

Bir programlama diline girişte bilinmesi gereken en temel ve en sık kullanılan komut ve kodlamalar çok iyi idrak edilmeli ve ne yaptığı kesinlikle doğru algılanmalı Şimdi en temel kabul edilecek komutları sıralayalım ve inceleyelim

1 Standart Yazdırma Değeri "echo"
2 Temel Tanım değeri "$"
3 Bir alt satıra geçiş değeri "\n"
4 Dosya ihraç değeri "include"


1 Standart Yazma Değeri "echo"

Bu değer vasıtası ile herhangi bir metin değerini tarayıcıda kalçaüntületebiliriz Kullanımı oldukça basittir Örneklerle gösterelim ;

<?
echo "Sınır Tanımayan Metin";
?>

Görüldüğü üzere burada "<?" değeri ile php kodlamaya başlıycağımızı belirttik echo ile komutumuzu belirttik ve Tırnaklar kullanarak içerisindeki değeri ekrana yazdırmasını talep ederek komutumuzun bittiğini belirtmek için tırnağı kapatarak ";" ( Noktalı Virgül ) koyduk Son işlem olarakta "?>" değeri ile kodlamanın bittiğini belirttik

Şimdi bu komutu bir notePat vasıtası ile php uzantısı ile yazalım ve "C:\apache\htdocs\ilkphp" adıyla kaydedelim
Şimdi İnternet Explorer'ımızı açarak "127001/ilkphp" yazıp enter'lıyalım Karşımıza "Sınır Tanımayan Kodlar" yazısı gelecektir

Burada herzaman çift tırnak kullanmayabiliriz Aynı işlemi tek tırnak ilede yapmak pekiala mümkün

<?
echo 'Sınır Tanımayan Metin';
?>

Görüldüğü gibi aynı işlemi tek tırnak ile yaptık Sonuç aynıdır Buradaki fark " işareti ile belirtilen metin yorumlanır Bu metinlerin arasına değişken değerleri yerleştirebiliriz Örneğin ;

<?
$rakamla="1 2 3";
$yaziyla="bir iki uc";
echo "Sayalım $deneme Bitti Simdi yaziyla $yaziyla Buda bitti";
?>

Yukarıdaki komutları ilkphp dosyasının içerisine yazalım ve yine tarayıcımızdan görüntüleyelim Karşımıza "Sayalım 1 2 3 Bitti Simdi yazıyla bir iki uc Buda bitti" değeri gelecektir Çift tırnak kullanarak hem metin hemde değişken değerlerini bir arada kullanabiliyoruz Aynı şeyi birde tek tırnak ile deneyelim

<?
$rakamla="1 2 3";
$yaziyla="bir iki uc";
echo 'Sayalım $deneme Bitti Simdi yazıyla $yaziyla Buda bitti';
?>

Şimdi deneyelim alacağımız yanıtı "Sayalım $deneme Bitti Simdi yazıyla $yaziyla Buda bitti" Gördüğümüz gibi Tek tırnak kullanırsak yazdıracağımız değeri sunucu tarafı denetlemeden bize gönderir Çift tırnak ise metin değerlerini sınar ve içlerinde ayrıca bir değer olup olmadığını kontrol ederek çıktıyı gönderir

2 Temel Tanım Değeri

Yukarıdaki örnekte kullandığımız değişken tanımı değeri "$" bize bir değerin sonraki komut satırlarına taşınabilmesini sağlar Böylelikle biz bir tanım oluşturarak bu tanımı sayfa içerisinde defalarca kullanabiliriz Sayfa içerisinde defalarca kullanılan bu değeri yalnızca $ ile tanımlanan değişken değerini değiştirerek bütün sayfadaki değerleri güncellememize olanak sağlar

Bu değerin kullanımı ile ilgilide kimi kurallara uymamız gerekir Örneğin, biz bu değeri tırnaklar olmaksızın atayamayız Değerleri " çift tırnak veya ' tek tırnak ile atamalıyız ve tanımın sonuna ";" noktalı virgülü kesinlikle koymalıyız

3 Bir Alt Satıra Geçiş Değeri "\n"

Buda en temel kodlama tamamlayıcı değerlerinden biridir Bu değer vasıtası ile rapor edilecek veri bittince bir alt satıra geçerek diğer verileri çıktı halinde göndermemize olanak sağlar Örneğin ;

<?
echo "1- Macera Devam Ediyor\n";
echo "2- Olacak Bu iş Olacak\n";
?>

Bu şekilde kullanarak kodlarımızı çalıştıralım Karşımıza İlk Sırada "1- Macera Devam Ediyor" ikinci sırada ise "2- Olacak Bu iş Olacak" yazıyor Şimdi "\n" değerlerini kaldırarak deneyelim

<?
echo "1- Macera Devam Ediyor";
echo "2- Olacak Bu iş Olacak";
?>

Görüldüğü gibi karşımızda "1- Macera Devam Ediyor2-Olacak Bu iş Olacak" yazıyor

3 Bir Alt Satıra Geçiş Değeri "\n"

Php kodlarınızın içerisine hazırda bulunan bir diğer php dosyasını veya herhangi bir txt dosyasını ekliyebiliriz Bunu bize include deyimi sağlar Bu deyimi aşağıdaki gibi kullanabiliriz Örneğin içerisinde Php kodlar bulunan ustphp diye bir dosyamız, birde html kodlarının bulunduğu usttxt diye bir dosyamız olsun

<?
include "ustphp";
include "usttxt";
?>

Burada aynı dizin içerisinde bulunan ustphp ve usttxt dosyasını ihraç ediyoruz


5 Sonuç

Aslında sonuç çok açık Php Programlama dili her nekadar zor denilsede görüldüğü üzere gayet pratik ve işlevseldir Genel itibari ile mantık doğru şekilde benimsenirse Php ile komplike sayfalar yapabilmek için toplam 5 - 8 Saat arası yoğun bile sayılamıycak bi tempoyla öğrenilebilir Yapmanız gereken kendinize özgü çalışma notları hazırlayarak sık aralıklarla pratikler yapmak olacaktır Günde yarım saat - kırk dakika arası bir alıştırma ile bir veya iki haftada çalışma notlarına bile ihtiyacınızın kalmayacağını göreceksiniz

Aritmetiksel İşlemler

1 Temel İşlemler ( Toplama, Çıkarma, Çarpma, Bölme )
2 Karşılaştırma İşlemleri ( Eşit, Eşit Değil, Aynı, Büyüktür, Küçüktür, Ve, Veya )
3 Üzeri İfadeler (x², )
4 Değer Yuvarlama
5 Maksimum ve Minumum Değerlerin Tespiti
6 Karekök Değerinin Tespiti
5 Tüm Aritmetik Komutların Listesi



1 Temel İşlemler

PHP her dil gibi metametiksel işlemler içinde belirli fonksiyonlar geliştirmiştir Bu fonksiyonlar, pek çok dile nispeten çok daha gelişmiş ve pratiktir Şimdi Bu fonksiyonların en temeli olan toplama, çıkarma, çarpma ve bölme işlemlerini inceliycez
(* aşağıda geçen kimi fonksiyonları sonraki makalelerde detaylarıyla inceleyeceğiz, İntiba olması için örneklerle anlatılmıştır )
(* // Dan sonrası açıklamadır, Kodlama ile ilgisi yoktur
(* Aşağıdaki temel örneklendirmelerde echo yerine Print deyimi kullanılmıştır )

Toplama işlemi ;

<?
print (5+2); // Sonuç Yedi Çıkacaktır
print (7-3); // Sonuç 4 Çıkacaktır
print (4*; // Sonuç 32 Çıkacaktır
print (8/2); // Sonuç 4 Çıkacaktır
print (20%3); // Burada bölme işleminin kalanını bize verir 20'yi üçe bölmemiz halinde kalan rakam 2 Olur
?>

Bu matematiksel işlemleri değişkenler vasıtası ilede gerçekleştirebiliriz

<?
$sayi1=10;
$sayi2=5;
$sayi3=3;
$sayi4=1;

print "$sayi1 + $sayi3";
print "$sayi3 - $sayi4";
print "sayi1 / $sayi4";
print "$sayi2 % $sayi3";
?>

Görüldüğü gibi Temel aritmetiksel işlemler gayet kolay ve sade bir mantığa sahiptir


2 Karşılaştırma İşlemleri ( Eşit, Eşit Değil, Aynı, Büyüktür, Küçüktür, Ve, Veya )

PHP, Temel fonksiyonları olduğu gibi gelişmiş pek çok fonksiyonuda desteklemektedir Bu fonksiyonlardan biride sınamadır Sınama operatörleri vasıtası ile çoğu işlemi PHP'ye otomize bi şekilde yaptırabiliriz Karşılaştırma operatörlerinin listesi aşağıdaki gibidir= = Aşittir
!= Eşit Değildir
= = = Aynıdır
> Büyüktür
< Küçüktür
<= Küçük veya Eşittir
>= Büyük veya Eşittir
&& Ve
|| Veya

Yukarıdaki tabloda teme sınama operatörleri listelenmiştir Şimdi bu operatörleri birer örnek ile açıklıyalım
'(* If Değeri ile ilgili detaylı açıklama bir sonraki makalededir )

<?
$sayi1=10;
$sayi2=15;
$sayi3=20;
$sayi4=25;

if ($sayi1 == ($sayi3/2)) {echo "Doğrudur\n";};
if ($sayi1 != ($sayi4/$sayi2)) { echo "Eşit Değildir\n";};
if ($sayi4 > 20) { echo "25, 20'den Büyüktür\n";};
if ($sayi1 < $sayi3) { echo "Evet, 10 20'den Küçüktür\n";};
if ($sayi1 == 10 && $sayi2 < $sayi3) { echo "Evet, 10, 10'a Eşittir ve 15 20'den Küçüktür\n";};
if ($sayi1 > $sayi4 || $sayi4 > $sayi1) { echo "10 25'den Büyüktür veya 25 10'dan Büyüktür\n";};

?>

Yukarıdaki örnekleri çalıştırmamız halinde "{" ler içerisindeki Echo değeri karşımıza sıralanacaktır


3 Üzeri İfadeler (x², )

Pek çok yerde karşımıza çıkabilecek olan Üzeri değer ifadeleri ile ilgili işlemleride rahatlıkla Php ile yapabiliriz Örneğin 10 Adet iki rakamını yan yana çarpmak için Ctrl+C - Ctrl+V Fonksiyonunu kullanmamıza gerek yoktur

<?
print pow(2,10);
?>

Bu örnek bize 1024 Sonucunu gösterir


4 Değer Yuvarlama

Çoğu matematiksel işlemde değer yuvarlamalara ihtiyaç duyarız Kimi zaman 'dan sonra gelen değerler bizi rahatsız edebilir Bu işlem içinde Php çok rahat ve pratize edilmiş fonksiyonlar sunar

<?
print floor(98/5); // Yukarı Doğru Değer Yuvarlama
print ceil(98/5); // Aşağı Doğru Değer Yuvarlama
print round(12/; // Tam Değer Yuvarlama
?>

Yukarıdaki örneklerde 98'i 5'e bölerek önce yukarı doğru yuvarladık Sonuç 19 Çıktı Aynı işlemi aşağı doğru yuvarlayınca sonuç 19 çıktı Bu yorumu php'ye yorumlatmak istiyorsanız Round() fonksiyonunuda kullanabilirsiniz



5 Maksimum ve Minumum Değerlerin Tespiti

Bu işlemde işimize yarıycak fonksiyonlardandır İçerisinde onlarca değeri tanımlıyan bir dize ile karşılaşırsak bu fonksiyonu kullanmamız gerekir
(* Dize değerleri ile ilgili açıklamalar bir sonraki makalede teferruatlarıyla incelenecektir )

<?
$degisken=array(a=>12,b=>13,c=>14,d=>15);
print max($degisken);
print min($degisken);
?>

Yukarıdaki örnekte önce dize değerinin en küçük değerini yani 12'yi bulduk, sonra aynı değerin maksimum olan 15'i tespit ettik


6 Karekök Değerinin Tespiti

Buda en sık kullanılan ekstrem matematiksel işlemlerdendir Php bu işlem içinde pratik bi fonksiyon desteği sunar

<?
print sqrt(81);
?>

Yukaraki örnekte 81 değerinin Karekökünü bulduk Sonuç 9 PHP fonksiyon içerisinde fonksiyon kullanmamızada olanak sağlar Örneğin ;

<?
print sqrt(pow(4,9));
?>

Burada da 4 üzeri 9 olan 6,561'in Karekökünü bulduk Sonuç 81


5 Tüm Aritmetik Komutların Listesi

PHP, pek çok aritmetiksel işlemi fonksiyonlarıyla destekler Bütün bu işlemler için örnek vermemize gerek yok Yukarıdaki örneklerde Php'nin bu fonksiyonları nasıl kullandığını gördük Php'nin desteklediği tüm fonksiyonların bir listesi işimizi görecektir


abc() Mutlak değer
acos() Yay kosinüsü
asin() Yay sinusu
atan() Yay tanjantı
atan2() İki değişkenin yay teğeti
base_convert() Keyfi esaslar arasında sayıyı çevirir
bindec() Ondalığa ikilik
ceil() Bir sonraki tamsasıya yuvarlama
cos() Kosinüs
decbin() ikiliğe ondalık
dechex() Ondalığa onaltılık
decoct() Sekizliğe ondalık
deg2rad() Dereceyi radyana çevir
floor() Bir önceki tamsayıya yuvarla
getrandmax() En geniş mümkün rastgele değeri
hexdec() Onaltılığa ondalık
lcg_valuE() Doğrusal congruential jeneratörünün birleştir
log() Doğal algoritma
log10() 10 tabaına göre algoritma
max() En yüksek değer
min() En küçük değer
mt_rand() İyi rastgele değeri üret
mt_srand() İyi restgele sayı jeneratörü tohum ek
mt_getrandmax() En geniş mümkün rastgele değeri göster
number_format() Gruplaşmış bin ile sayıyı formatla
oetdec() Ondalığa sekizlik
pi() Pi sayısını
pow() Üstel ifade
rad2deg() Radyanı dereceye çevir
rand() Rastgele değeri üret
round() Yuvarla
sin() Sinus
sqrt() Karekök
srand() Rastgele sayı jeneratörü tohumu ek
tan() Teğet

Koşul ve Sınama ( IF, Else IF, Switch )

1 IF ( Eğer ) Koşulu
2 Switch ( Çoklu Koşul ve Sınamalar )


1 IF ( Eğer ) Koşulu

Her programlama dili koşullar ile çalışmak zorundadır Sınamalar, program parçalarının vazgeçilmez unsurlarıdır Php'de bu işi IF deyimi yapar Şimdi IF deyimini inceliyelim

<?
$degera=10;
$degerb="ab";

if ( $degera==10 ) { echo '$degera nın Değeri 10 dur'; } ;
if ( $degerb=="ab" ) { echo '$degerb nin değeri ab dir'; } ;
?>

Yukarıdaki örnekte basit bi sınama yaptık ve $deger a değişkenine verdiğimiz 10 değerini sınadık Aynı işlemi alfabetik bir değer olan "ab" ilede yaptık Bize Burada if ( xx ) koşul olarak girilir eğer $degerb nin değeri "==" eşit ise "ab" ye diyerek koşulumuzu belirttik, Parantezler içerisinede koşul doğru ise yapılacak işlemi belirttik

Birde koşul yanlış ise bir sınama yapalım

<?
$degera=10;
$degerb="ab";

if ( $degera>15 ) { echo '$degera nın değeri 15 den büyüktür'; } else { echo 'Hayır, $degera nın değeri 15 den küçüktür'; };

?>

Görüldüğü gibi burada koşul belirttik ve sınamayı yaptık Koşulun doğru çıkmaması halinde "else" deyimi ile yapılması gerekenleri belirttik IF deyimi ile, Birden çok sınama işlemleride yaptırabiliriz Birkaç sınamayı arka arkaya yaptıralım

<?
$degera=10;
$degerb="ab";

if ( $degera > 15 ) { echo '$degera nın değeri 15 den büyüktür'; }
elseif ( $degera > 13 ) { echo '$degera nın değeri 13 den büyüktür'; }
elseif ( $degera > 10 ) { echo '$degera nın değeri 10 den büyüktür'; }
else { echo '$degera nın değeri ne 15 den, ne 13 den, nede 10 dan büyük değildir';};
?>

Görüldüğü gibi yukarıda aynı IF deyiminin içerisinde birkaç sınama yaptırdık Bu sınamalar dahada örneklendirilebilir Mantığı gayet açıktır


Birde IF deyiminin içerisinde kullanılan komutlar vardır Bunlar isset(), empty(), intval(), is_integer() gibi fonksiyonlarla dahada işlevselleştirilmiştir Şimdi bu iç fonksiyonların yaptığı işleri inceliyelim

isset() = Bu komut bir değişken tanımının içerisinde değer olup olmadığını rapor eder
empty() = Buda isset ile aynı işi görür esasında ancak sınamayı terst'den yapar isset() de dönen değer true ise, emtpy() de aynı değer false olarak döner
intval()= Bu komutda belirtilen değerin numerik yani sayı karşılığını bize verir
is_integer() = Buda değişkenin tamsayı olup olmadığını sınayarak True yahut False değeri ile bize yanıt verir

Şimdi herbirini birer örnekler açıklıyalım ;

<?
$degisken="deneme";
if ( isset($degisken) ) { echo '$degisken değişkeninin bi değeri yok'; } else { echo '$degisken değerinin bir değeri var';};
if ( empty($degisken)) { echo '$degisken değerinin bir değeri var'; } else { echo '$degisken değerinin bir değeri yok'; };
?>

Görüldüğü gibi $degisken olarak "deneme" değerini atadık İlk sınamadada isset() ile bu değişkenin var olup olmadığını kontrol ettik Değişkenin bir değer içerdiğini rapor eden isset sonucu bize rapor etti İkinci sınamadada aynı işlemi yaptık ancak fonksiyon olarak empty() yi kullandık Yani ilk sınamada $degisken değerinin içerisi dolumu diye sorguladık, ikinci sinamadada $degisken değerinin içeriği boşmu diye

Şimdide intval() ile sınama yaptıralım

<?
$degisken1=10;
$degisken2=20;
if ( intval($degisken1+ $degisken2)==30 ) { echo '$degisken degerin karşılığı 30 dur';};
?>

Bu sorgudada intval($degisken1+$degisken2) olarak koşulumuzu belirttik Burada intval() koşulunu kullanmayabilirdikte, ancak kimi koşullarda intval() betiğine ihtiyaç duyarız

is_integer() ilede bir değerin tam sayı olup olmadığını sınarız

<?
$deger1=3;
$deger2=2;
if ( is_integer($deger1/$deger2)) { echo "Sonuç bir tamsayıdır";} else { echo "Sonuç bir Tamsayı Değildir"; } ;
?>

Bu komutlar $deger1 değişkenini $deger2'ye yani 3'ü 2'ye böler Sonuç 15 çıkacağından bu bir tamsayı olmayacaktır ve "Sonuç bir Tamsayı Değildir" yanıtı dönecektir


2 Switch ( Çoklu Koşul ve Sınamalar )

Switch deyimide sıkça kullanılan koşul deyimlerinden biridir Bu deyim aslında IF deyiminin birazdaha pratize edilmiş halidir Switch koşulu vasıtası ile çoklu sınamalar yaptırmamız mümkün, Örneğin ;

<?

$memleket="TRABZON";

switch ($memleket) {

case "Ankara";
echo "Şehir Ankara";
break;

case "Ordu";
echo "Şehir Ordu";
break;

case "Rize";
echo "Şehir Rize";
break;

case "TRABZON";
echo "Şehir Trabzon";
break;

echo "Hiçbiri Değil";
}

?>

Yukarıdaki örnekte $memleket değişkenini switch deyimi ile sınadık Burada dikkat edilecek husus koşulları case "deger" ile belirterek yapılacak işlemi belirtiriz Sınamanın bir sonraki aşamaya geçmesi için break tag'ını kullanırız

Döngüler ( While, Do-While, Foreach )

1 For
2 While
3 Do while



Kimi zaman uzun süreçlere ihtiyaç duyarız Bazen bu süreçleri teker teker girmek fazla zamanımızı alır, bazı durumlarda da algoritmik yapı buna izin vermez Böyle durumlarda döngüler imdadımıza koşar, yüzlerce satırda yapılacak işlemi tek bir fonksiyonla yapmamıza olanak sağlar Şimdi bu koşulları inceleyelim


1 FOR

Php'de en sık kullanılan döngülerden biridir Kullanımı oldukça basit ve pratiktir Mantık <?for ( değer ; koşul ; artış ) { işlem }?> şeklindedir Hemen bir örnekle açıklıyalım

<?
for ($islem=0;$islem<100;$islem+1) { echo "$islem-"; } ;
?>

Yukarıdaki örnekte 1'den 100'e kadar saydık ve her sayının arasına "-" tire işareti koyduk Yukarıda For'dan sonra açtığımız parantez ile $islem değişkeninin değerinin 0 olduğunu belirttik $islem değeri 100'den küçükse işlemi sürdür diyerek $islem değerinin değerini her dönüşte 1 arttırdık Böylelikle her dönüşte 1 artan $degisken değeri 100'ü bulunca for döngüsü dönmeyi durduracaktır

2 While

Php'de en çok tercih edilen döngüdür Oldukça pratiktir ve kodlaması çok basittir Mantık <?while ( koşul ) { yapılacak işlem };?> Şeklinde olacaktır Bu döngüyü örneklerle açıklıyalım ;

Yine Birden yüz'e kadar rakamları yazdıralım

<?
$deger=1;

while ( $deger == 100 ) {
echo "Sayı = $deger\n";
$deger++;
};
?>

Bu kodları çalıştırmamız halinde tarayıcımız 1'den 100'e kadar bütün rakamları alt alta sıralıycaktır Buradada while betiği ile koşulumuzu belirttik $deger değeri 100'e eşitlenene kadar işlem devam edecek, her süreçte { parantezler içerisinde kodladığımız işlemleri yapacak İşlemlerin içerisine değişken'in değerini her dönüşte 1 arttırdığımız belirten $deger++ ide kodlayarak sürecin adımlarını belirliyoruz

While döngüsünün bir diğer kullanım şeklide aşağıdaki gibidir

<?
$deger=1;

while ( $deger == 100 ) :
echo "Sayı = $deger\n";
$deger++;
endWhile;
?>

Yapılan işlem her ikisinde de aynıdır Bu alternatif kullanımda dikkat edilmesi gereken husus, While betiğinin ":" iki nokta üst üste ile bitmesidir


3 Do While

Do While döngüsü aslında While döngüsü ile aynıdır Aralarındaki fark While ile önce koşulu sınarken, Do While ile koşul en son sınanır Mantık <?do { yapılacak işlem } while ( koşul );?> şeklindedir Örneğin ;

<?
$deger=!;
do {
echo "Sayı = $deger\n";
$deger++;
} while ( $deger == 100 );
?>

Buradada yine 1'den 100'e kadar saydık Görüldüğü gibi aradaki fark işlem sırasıdır

Fonksiyonlar ( GLOBAL, Statik )


Fonksiyonlar, programlama dillerinin vazgeçilmez öğelerinden biridir Çoğu zaman fonksiyon kullanmadan tamamlamaya çalışıcağımız bir algoritma bize fazladan %30 kod yazdırır Fonksiyonların nitelikleri bir değer biçimini belirliyceğiniz şablona yerleştirerek, türevi işlemlerde aynı şablonu kullanabilmenize olanak sağlar Aslında fonksiyonlara, program içerisindeki programcıklarda diyebiliriz Örnek fonksiyonların kullanımlarını aşağıda örneklerle açıklayacağız

Önce fonksiyonların yapılarını inceliyelim Örnek bir fonksiyon kullanım standardı şu şekildedir ;

<?
function isim(degisken,degisken2,degisken3) {
fonksiyon içerisinde işletilecek prosedürler ve işlemler
};
?>

Yukarıdaki şablon PHP'nin genel yazım kuralları gibidir Basit bir IF koşulu kodlar gibi fonksiyonlar oluşturmak mümkündür Fonksiyonlar ikiye ayrılırlar Statik ve Dinamik Statik fonksiyonlar değişmeyen basma kalıp şablon yapısındadır Dinamik fonksiyonlar ise gerektiği gibi kodlanarak çok farklı işlemlerde kullanılabilir Her iki fonksiyon tipininde kullanım ve kodlama biçimi aynıdır, birbirlerinden farkı yoktur Aradaki fark fonksiyonun yapıcağı işlemlerin yetenekleridir Şimdi örnek bir dinamik fonksiyon kodlayalım

<?
function ilk() { print "Fonksiyoner Oldum"; };
print ilk;
?>

Yukarıdaki fonksiyon değeri statik bi fonksiyondur ve yaptığı iş çok basittir Bu fonksiyon değeri yalnızca "Fonksiyoner Oldum" text'ini ekrana yazdırır Tanımladığımız fonksiyonuda "print ilk;" yazarak çalıştırabiliriz Oldukça basit bir örnekti bu Şimdi bu örneği biraz niteliklendirelim

Örneğin bir fonksiyon değeriyle şablon oluşturalım ve giriceğimiz değerleri bu şablon çalıştırsın

<?
function ismim($isim){ echo "Benim adım $isim"; };
print ismim("Sedat");
?>

Yukarıdaki kodları çalıştırmamız halinde ekrana "Benim adım Sedat" yazacaktır Burada kendimize bir şablon oluşturduk Fonksiyonumuz belirttiğimiz isimi bir cümle içerisinde kullandı Biz fonksiyon değerine "Sedat" bilgisini girdik Fonksiyonda bu bilgiyi aldı ve şablonu içerisine yerleştirdi ve Ekrana "Benim adım Sedat" yazdırdı Biz fonksiyonlara birden fazla değerde girebiliriz Bu değer girişlerinde herhangi bir kısıtlama yoktur, Yeterki kodlayalım Şimdi buna benzer bir fonksiyon daha hazırlıyalım

<?
function tumadim($ismim,$soyismim,$yasim){
echo "Benim Adım $ismim\n";
echo "Soyadımda $ekinci $yasim Yaşındayım ve PHP öğreniyorum\n";
print tumadim("Sedat","EKİNCİ","25");
};
?>

Yukarıdaki örnekte kendimize güzel bi şablon oluşturduk İsmimizi, soyismimizi ve Yaşımızı yazdığımız zaman kendimizi tanıtıyor gibi ekrana belirli bir cümle bütünlüğü yazdırdık Ve karşımıza çıkan yazı "Benim Adım Sedat Soyadımda EKİNCİ 25 Yaşındayım ve PHP öğreniyorum" Yazısı çıktı

Yukarıdaki örnekler birer Statik fonksiyon örneklendirmeleriydi Görüldüğü gibi fonksiyon yazmak oldukça kolay, bir okadarda pratik Fonksiyon kullanımını gayet iyi kavradık madem biraz teferruata girelim Statik fonksiyonlar kendisi dışında belirtilen değişken ve tanımlamaları kabul etmez Bu işlemi yaptırmamız için fonksiyonumuzu dinamize etmemiz gerekiyor Aşağıda bununla ilgili bir örnek ;

<?
$degisken="Amma Değiştim Yahu";
function dinamikim(){
global $degisken;
echo "Yaşlandımmı nedir, $degisken";
};
?>

Yukarıdaki örneği çalıştırdığımız zaman karşımıza "Yaşlandımmı nedir, Amma Değişmi Yahu" yazısı çıkacaktır Bu değeri nasıl elde ettik Bu dinamik fonksiyon örneğinde fonksiyon dışındaki bir değeri fonksiyon içerisine aldık Bunu global deyimini kullandık Bu deyimi kullanmasa idik $degisken değerini fonksiyon içerisinde kullanamazdık

Görüldüğü gibi, ismini duyunca irkildiğimiz fonksiyon kodlama işlemi bukadar yalın ve basit Korkulacak birşey yok, Hızınızı kesmeden diğer dökümanlarada geçebilirsiniz


Dizi Değişkenleri ( Array + Foreach )

1 Array
2 Foreach


1 Array

Dizi değişkenleri aynı deyim içerisinde onlarca, yüzlerce değişkeni tanımlayabilir Bu değişkenler aynı deyimin içerisinden ayıklanarak hem kodlamada hem algoritmada hakimiyet sağlar Bu işlem için Array deyimi kullanılır Kullanımı yine genel PHP mantığının dışına çıkmadan yapılır Basit IF değerleri ve değişken tanımlamaları gibidir Hemen örneklendirerek açıklayalım ;

<?
$teklidegisken=5;
$dizidegiskeni[1]="5";
$dizidegiskeni[2]="10";
$dizidegiskeni[3]="15";
echo "$teklidegisken -";
echo "$dizidegiskeni[1] -";
echo "$dizidegiskeni[2] -";
echo "$dizidegiskeni[3] -";
?>

Yukarıdaki örnekte ne görüyoruz açıklayalım Önce $teklidegisken diyerek 5 değerini atadık Bu herzaman kullandığımız basit bir değişken Dizi değişkeninin yeteneklerini sonraki satırlarda görüyoruz $dizidegiskeni değerine 3 farklı veri girdik Önce 5 değerini girdik, sonra 10 değerini girdik, sonrada 15 değerini girdik Böylelikle $dizidegiskeni değişkeninin içerisinde 3 farklı değişken yerleşmiş oldu Bu değişkenleri tanımlarken her değişken için bir ID yani yer imi belirliyoruz Bu yer imlerini [] içerisine giriyoruz Önce $dizidegiskeni[1] diyerek dizi değişkeninin içerisine 1 ID'si ile 5 değerini yerleştirdik Daha sonra 10 ve 15'ide aynı şekilde aynı değişkenin içerisine dizilerle atadık Bu dizileri yazdırırkende $dizidegiskeni[ID] yazarak ekrana bastırabiliyoruz

Bu dize değerlerini farklı yollarlada atayabiliriz, Mesela ;

<?
$pembedizi=array(1=> 'Yalan Rüzgarı', 2=>'Esmeralda',3=>'Rozalinda');
echo $pembedizi[1];
?>

Yukarıdaki örnektede pembe dizilerden 3 tanesini dizi değişkeni içerisine yerleştirdik Ve dizi değişkenlerinden 1'incisini Ekranda görüntülettik Dikkat edersek girdiğimiz değerleri Tek tırnak ile belirttik Bu önemle tavsiye edilir Kodladığınız php sayfalarının performansı önemli Dizenin içerisine yerleştirdiğimiz her değeri virgül ile ayırarak tüm değerlerimizin girişini sağladık $pembedizi[2] değerini yazdırsa idik "Esmeralda" çıkıcaktı karşımıza Görüldüğü gibi dizi değişkenleri oldukça yetenekli değişkenler Bir dize değerinin içerisine ayrı ayrı veriler girebildiğimiz gibi her dize değerinin içerisindede dize değerleri oluşturabiliriz Şimdi bunuda bi örnekle açıklayalım ;

<?
$yapilacakisler=array(
"pazartesi"=>array("Tatili bırakıp işe gidicem","Telefon faturasını ödiycem"),
"sali"=>array("Yapçak bi işim yok"),
"carsamba"=>array("Bi sinamaya giderim artık", "Bulaşıklaaar"),
"persembe"=>array("Web Server'ı yedeklemem lazım","Arkadaşlarla gezerim artık"),
"cuma"=>array("Off Çamaşırlar yıkancak bugün","Hanki sinamaya gidiceğime karar vericem")
);
echo $yapilacakisler['carsamba'] [1];
?>

İşte haftalık bi planlama Biraz karışık gelebilir ama aslında çok basittir $yapilacakisler diyerek bir dize değeri oluşturduk Dize değerinin içerisinede haftaları tırnaklar içerisinde belirterek dize değerlerini => vasıtası ile () parantezler içerisine yerleştirdik İstediğimiz veriyi içerisinden çıkarmak için echo $yapilacakisler['gun']['ID'] komutunu kullandık Burada bişiye dikkat edelim Dize içerisinde dizeler oluşturuyor isek dize değerleri 0'dan başlamalı Yani $yapilacakisler dize değişkeninin içerisindeki bir dize değişkeni olan "carsamba" nın içerisinden veri alacak isek içerisindeki veriler 0'dan başlar $yapilacakisler['carsamba'][0] Dese idik, "Bi sinamaya giderim artık" yazısını ekrana çıkartacaktık


İyi bir programcı, hangi dilde çalışırsa çalışsır dize değişkenlerini çok iyi kavramalıdır Bu değişken türü hem algoritmayı rahatlatıcak, hemde programcıyı fazladan kod yazmaktan kurtaracaktır


2 Foreach

Foreach aslında bir döngüdür Foreach'a döngüler bölümünde değinmememizin sebebi kullanım biçimidir Foreach daha çok Dize değişkenlerinin içerisindeki verileri ayıklamak için kullanılır Bunun için dizi değişkenleri hakkında malumat sahibi olmak gerekiyor Onun için bu makalede bahsetmeye çalışacağız Açıklamayı fazla uzatmadan önce bir örnekle konuya girip kodlar üzerinde açıklama yapmak daha doğru olacaktır

<?
$dizidizi=array('Bir','İki','Üç','Dört','Beş');

foreach( $dizidizi as $tampon ) { echo "$tampon nci satır <br>"; };
?>

Bu örnekte $dizidizi adlı dizi değişkeninin içerisine birden beşe karak alfabetik olarak değer girdik Daha sonra foreach döngüsü ile bütün değerleri belirlediğimiz bi şablon vasıtası ile ekrana yazdırdık Burada dikkat edilmesi gereken husus, foreach döngüsü $dizidizi değişkeninin içerisindeki tüm verileri alana kadar dönecek ve bu değerleri $tampon adlı tampon bir değişken vasıtası ile aktaracaktır Yapısı gayet basitdir ve bikaç pratikle üzerinde fazla durulmadan geçilebilir bir konudur Parantezler içerisinde girilen değer tanımıda tek satır olmak zorunda değildir, İstenilen işlem yaptırılabilir

Foreach Döngüsünün dizi değişkenleriyle kullanıldığını bahsetmiştik Şimdi bir örneklede Foreach ve Array'ı birlikte kullanalım

<?
$degiskenler=array(
'a'=>'sedat',
'b'=>'selma',
'c'=>'riza',
);
ksort($degiskenler);
foreach ($degiskenler as $tampon){ echo "$tampon<br>"; };
?>

Yukarıdaki örnekte bir dizi değişkeni tanımladık ve değişken içerisine a,b ve c ID'leri ile isimler girdik ksort() deyimi ile bu değişkenleri ID'lerine göre sıralayarak foreach döngüsüne aldık Sonuç alfabetik sıra ile sedat, selma ve rıza isimleri alt alta görünür

Şimdi birde bir dizi değişkeninin içerisinde bir değer arattıralım Bu işlem için array_search() fonksiyonunu kullanırız Kullanımı aşağıdaki gibidir

<?
$dizidegiskeni=array('bir','iki','uc','dort','bes' );
echo array_search('dort',$dizidegiskeni);
?>

Bu işlem sonucunda karşımıza 3 değeri çıkacaktır Bu değerin anlamı, aranan değerin dize içerisindeki sıra numarası Daha öncede bahsettiğimiz üzere alt dize değerlerinin sıra numaraları 0'dan başlayarak yükselir 4'üncü olarak girdiğimiz değer haliyle karşımıza 3 sıra numarası ile gelecektir

PHP ile Form İşlemleri

1 GET Metodu Kullanımı
2 Post Metodu Kullanımı


PHP ile çoğu zaman FORM işlemleri uygulamamız gerekir PHP'nin genel yapısından farklı olmayan bu işlemler zinciri çok fazla karışık olmamasına rağmen genel HTML bilgisine ihtiyaç duyar Bu makalede HTML kullanımınada deyinilecektir ancak ağırlık olarak PHP kodları üzerinde durulur Form işlemlerinde temel olarak iki çeşit form işletisi kullanılır Bunlardan biri GET, diğeri ise POST dur GET metoduna örnek bir işlem "wwwdomaincom/islemphp?degisken=deger1&degisken 2=deger2" gibidir Bu prosedürü işletmek için HTML bazında bir form değeri oluşturmamız şart değildir Tarayıcımız vasıtasi ilede bu işlemleri yapabiliriz, Ancak POST değerleri tarayıcımız ile Web Sunucusu arasında hususi bir prosedür uygular ve adres satırında bu değerler görünmez Şimdi sırasıyla önce GET daha sonrada POST metodunu inceleyelim

1 GET Metodu Kullanımı

GET metodunda daha öncede bahsettiğimiz gibi HTML üzerinden işletilme zorunluluğu yoktur Adres satırına yazacağımız değerler ile PHP sayfamızın içerisindeki değişkenlere aktarılabilir Hemen bir örnek ile açıklayalım ;

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak İçin Tıklayın...]

Şimdi denemephp dosyasını oluşturalım ve içerisine aşağıdaki satırları ekleyelim

<?
echo "$degisken1 $degisken2";
?>

Görüldüğü üzere adres satırından GET metodu ile değişken işletmeyi ve bu değişkeni PHP sayfamız içerisinde kullanmayı basit bi kod dizisi ile örneklendirdik

Adres satırına istediğimiz kadar değişken atayıp ilgili PHP sayfasına değişkenler atamamız mümkündür


2 Post Metodu Kullanımı

Post metoduda yine GET metoduna çok benzer bir yöntem ile kodlanır Yalnız kullanım prosedürü GET metodundan biraz daha farklıdır POST metodunda ilgili PHP sayfasına HTML ile veri aktarımı yapabiliriz Hemen basit bir örnekle anlatalım ;

Aşağıdaki satırları formhtm olarak kaydedelim ;

<form method="POST" action="denemephp">
<p>
Adınız <input type="text" name="ad" size="20"><br>
Soyadınız <input type="text" name="soyad" size="20"><br>
Mesleğimiz <input type="text" name="meslek" size="20"><br>
Yaşımız <input type="text" name="yas" size="20"><br>
<br>
<input type="submit" value="Gönder" name="B1"><input type="reset" value="Sıfırla" name="B2"></p>
</form>

Şimdi denemephp dosyasının içerisinede PHP kodlarımızı yazalım ;

<?
echo "Adım : $ad<br>";
echo "Soyadım : $soyad<br>";
echo "Mesleğim : $meslek<br>";
echo "Yaşım : $yas<br>";
?>

Şimdi 127001/formhtm sayfasını tarayıcımızdan görüntüleyelim Karşımıza adımızı, soyadımızı, mesleğimizi ve yaşımızı soran bir form görünecek Buraya sırasıyla bilgileri girelim

Gönder'e tıkladığımızda değerler denemephp sayfasına POST edilecek ve karşımıza girdiğimiz bilgiler çıkacaktır Görüldüğü gibi yöntem GET metodundan çok farklı değildir Aradaki fark yalnızca verinin aktarılma yöntemidir GET metodunda veri tarayıcı ile görünür ve aleni bir şekilde aktarılırken, POST metodunda değerler arka planda gönderilip alınmaktadır

Bu örnekler niceliklendirilebilir Diğer form değerleride "CheckBox, ListBox, ComboList, vs" aynı şekilde aktarılabilir

Dosyalama ve Dizin İşlemleri

1 Dosyadan Okuma
2 Dosyaya Yazma
3 Dosya Kopyalama ve Silme
4 Mevcut Dosyaların Listelenmesi
5 Dizin Oluşturma
6 Dizin Kopyalama ve Silme
7 Dizinlerin Listelenmesi
8 Attribute ( Erişim İzinleri ve Deyimleri )


Hemen her programlama dili Dosyalama işlemlerini destekler PHP'de bu işlemler için geniş pörtföye sahiptir Bu işlemler dizisini madde madde ayrıntılarıyla inceleyip örneklendiricez

Önce dosyalama işlemle