PHP Kod Yapısı Basit PHP Kod Yapısı PHP Scriptleri <?php ile başlar ve ?> ile biter. PHP Kodlarımız bu aralığa yazılır. Ayrıca çoğu sunucu <? ile başlamasına da destek verir. Buna karşın <?php olarak başlatmaya kendinizi alıştırmanız faydanıza olur. <html> <body> <?php echo "Merhaba dünya!"; ?> </body> </html>
Yukarıdaki
örnekte
görüldüğü
üzere
her
php
komut
satırı
noktalı
virgül
(;)
ile
biter.
PHP'de yazı yazdırmanın iki basit kodu vardır: echo ve print, yukarıda echo ile yazı yazdırdık.
Açıklama Nasıl Yazılır? PHP Kodlarımız arasına satır ya da uzun bölümler halinde açıklama eklememiz mümkün. Bunlar php tarafından görülmez ve bize kolaylık sağlar: <html> <body> <?php // Bu bir açıklama /* Bu da bir açıklama */
?> </body> </html>
PHP Değişkenleri PHP'de kullanacağımız sayısal değer, kelime, dize gibi değişkenler dolar işareti ($) ile başlar. A-Z, a-z, 0-9 ve _ karakterlerinden oluşabilir. <?php $degisken = "Kalem"; // alfasayısal (string) $ad_soyad = "Murat Eliçalışkan"; $degisken_2 = 1984; // sayısal ?>
PHP'de bir değişken önceden tanımlanmadan kullanılır. Örneğin bir değişken belirlediğimizde, o bu değeri ilk kez alıyordur. Buna bağlı türü, yapısı vb değişkenlik gösterebilir.
Bu durumun istisnası DEFINE( tanım, değer ) komutudur. Böylelikle $ işareti ile başlamayan değişmez bir değer oluşturmuş oluruz: <?php define('PI', 3.14); echo PI; // 3.14 yazdırır. ?>
Genel Bakış PHP'de alfasayısal yani içerisinde harf, sayı vb. barındıran değişkenlerin kullanımından ve bunlara özel işaret ve fonksiyonlardan bahsedelim. 1. Bir alfasayısal değeri belirtirken tırnak işareti kullanabildiğimiz gibi (') üst ayıraç da kullanabiliriz. <?php $kelime = "Hatasız Kul Olmaz."; $kelime = 'Hatasız Kul Olmaz.'; // Yukarıdakinin aynısı
?>
echo $kelime;
Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti: Hatasız Kul Olmaz.
2.. Tırnak işareti kullandığımız string değerlerde değişkenleri bunların içerisinde kullanabilmekteyiz. <?php $adet = 7; $kelime = "$adet kedi beni $adet!"; echo $kelime; ?>
Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti: 7 kedi beni 7!
3.. Alfasayısal değeri belirtirken tırnak ve üst ayraç kullanımına dikkat etmek gerekir. Aşağıda hata verecek ve vermeyecek kullanımlar bir arada gösterilmiştir: <?php $kelime = "İstanbul'dan kız mı alınır?"; // Doğru $kelime = 'İstanbul'dan kız mı alınır?'; // Yanlış, doğrusu: $kelime = 'İstanbul\'dan kız mı alınır?'; // Doğru
?>
$kelime = "İstanbul'dan "kız mı" alınır?"; // Yanlış, doğrusu: $kelime = "İstanbul'dan \"kız mı\" alınır?";; // Doğru
Görüldüğü üzere bir değişken hangi karakterle başladıysa, içerisinde yer alan bu tarz karakterler kaçış işareti ile (\) belirtilmelidir. Aksi takdirde hata verecektir.
Kelimeleri Birleştirme (.) Sadece string değişkenlerde geçerli olarak değişkenler arası nokta işareti kullanarak kelimeler birleştirilebilir. <?php $kelime1 = "Hatasız Kul Olmaz."; $kelime2 = "Hatamla Sev Beni."; echo $kelime1 . " " . $kelime2; ?>
Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti: Hatasız Kul Olmaz. Hatamla Sev Beni.
strlen() Fonksiyonu Değişkenin karakter uzunluğunu (harf sayısı) verir. <?php $kelime = "Neden Ben?"; echo strlen( $kelime ); ?>
Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti: 10
strpos() Fonksiyonu Aranılan bir kelime ya da harfin değişkenin 1. harfine ne kadar uzaklıkta olduğunu gösterir (1. harf 0 sayılır). <?php $kelime = "Beni Bul!"; // 012345678 olarak görülür echo strpos( $kelime, "Bul" ); ?>
Bu kodu çalıştırsaydık, sunucu bize aşağıdakini gönderecekti: 5
PHP İşleçleri (Operatörleri) Aritmetik İşlemler Operator + * / % ++ --
Açıklama Toplama Çıkarma Çarpma Bölme Mod (bölümünden kalan) Arttırma (1 ekleme) Azaltma (1 eksiltme)
Görev İşlemleri Operator = += -= *= /=
Örnek x=y x += y x -= y x *= y x /= y
Açıklama Eşitlik x, y ile toplamına eşit x, y den farkına eşit x, y ile çarpımıdır x, y ile bölümüdür
Karşılaştırma İşlemleri Operator == != <> > < >= <=
Açıklama Eşittir Eşit değildir Eşit değildir Büyüktür Küçüktür Büyük eşittir Küçük eşittir
Örnek 5 == 8 YANLIŞTIR 5 != 8 DOĞRUDUR 5 <> 8 DOĞRUDUR 5 > 8 YANLIŞTIR 5 < 8 DOĞRUDUR 5 >= 8 YANLIŞTIR 5 <= 8 DOĞRUDUR
Mantıksal İşlemler Operator &&
Açıklama VE
||
VEYA
!
DEĞİLSE
PHP IF-ELSE Deyimi
Örnek x = 6, y = 3 ise ( x < 10 && y > 1 ) DOĞRUDUR x = 6, y = 3 ise ( x == 5 || y == 5 ) YANLIŞTIR x = 6, y = 3 ise ( !( x == y ) ) DOĞRUDUR
Koşullara Dayalı İşlemleri Gerçekleştirme Kod yazarken sıklıkla kullanılan koşul belirteçleri, duruma bağlı olarak işlemler yapmamıza olanak sağlar. Genel yapıları 3 şekildedir: 1. if 2. if
(
(
koşul
koşul
)
else
) ...
-
koşul
koşul gerçekleşmez
gerçekleşirse ise
ELSE'de
komut
uygulanır.
belirtilenler
uygulanır.
3. if ( koşul ) elseif (koşul ) else ... - İlk koşul gerçekleşmezse alternatif koşullar elseif ile belirtilebilir.
Örnekler Aşağıdaki örnekte $islem 4 değerini alır, koşul cümlesi olarak yazdığımızda php bize bu yargının doğru olduğunu echo da belirttiğimiz cümle ile gösterir: <?php $islem = 2 + 2; if ( $islem == 4 ) { echo "2 + 2, 4 eder!"; } ?>
NOT: Koşul gerçekleşirse yapılacaklar { ... } şeklinde belirtilir. Ancak yapılacak iş tek satırlık ise direkt altına yazarak işlem yaptırtabiliriz: <?php $islem = 2 + 2;
?>
if ( $islem == 4 ) echo "2 + 2, 4 eder!";
Aşağıdaki örnekte koşul gerçekleşmezse ELSE ile php'ye ne yapacağını söylüyoruz: <?php $benim_sayim = 5; if ( $benim_sayim == 4 ) echo "Benim sayım 4!"; else echo "Benim sayım 4'ten farklı!"; ?>
Ve son olarak araya bir koşul daha alarak yukarıda 3. yapıda bahsettiğimiz ELSEIF kullanımına bakıyoruz: <?php $sayi_tut = 6; if ( $sayi_tut < 5 ) echo "Sayım 5'den küçük!"; elseif ( $sayi_tut > 5 ) echo "Sayım 5'den büyük!"; else echo "Sayım 5!";
?>
Switch Kullanımı Bir değişkene bağlı koşullu işlem yaparken IF, ELSEIF, ELSEIF ... şeklinde uzunca bir komut kullanmak hem zamanımızı alır, hem php derleyiciyi yorar. Bu gibi durumlarda Switch kodu işimizi kolaylaştırır. <?php $secim = 3; switch( $secim ) { case 1: echo "Benim break; case 2: echo "Benim break; case 3: echo "Benim break; default: echo "Benim }
sayım 1!";
sayım 2!";
sayım 3!";
sayım 1, 2 veya 3 değil!";
?>
Yukarıdaki örnekte görüldüğü üzere $secim değişkeninin aldığı değere göre switch komutuyla işlem yapılmasını sağladık. Burada case 1:, değişkenin hangi değerde olması durumunda işlem yapacağını bize bildirir. break; ise switch'den çıkılması gerektiğini php ye anlatmamıza yarar.default: olarak belirtilen son satır ise hiçbir koşul sağlanmadığı takdirde yapılacak işi tanımlar. Aşağıda başka bir örnekte string (alfasayısal) bir değişkenle Switch kullandık: <?php $kimin = "Ali";
?>
switch( $kimin ) { case "Ali": echo "Ali'nin"; break; case "Hasan": echo "Hasan'ın"; break; default: echo "Kimsenin değil!"; }
PHP'de Array (Değişken Grubu, Dize) Kullanımı Dize, birden fazla değişken barındıran veri grubudur. Bu değişkenler aynı türdedir ve tek bir ana değişken içerisinde bulunurlar.
Örneğin 4 değişkenli bir alfasayısal yapımız var: <?php $model1 $model2 $model3 $model4 ?>
= = = =
"Mercedes"; "Opel"; "BMW"; "Peugeot";
Şanslıyız ki bu modeller 4 tane, ya 400 tane olsaydı? Tek tek yazacak mıydık? Elbette hayır, çünkü dize kullanarak işimizi hızlandırabiliriz.
Sayısal Dizeler Gruba dahil her değişkenin bir numara ile belirtildiği yapıdır. 2 şekilde yapılır. <?php // 1. Yol $modeller = array("Mercedes","Opel","BMW","Peugeot"); // 2. Yol $modeller[0] $modeller[1] $modeller[2] $modeller[3]
= = = =
"Mercedes"; "Opel"; "BMW"; "Peugeot";
?>
Çağrışımsal Dizeler Dizeleri çağırmak için kullandığımız sayıların yerini kelimeler alır. <?php // 1. Yol $puanlar = array( "Ali" => 10, "Hasan" => 15, "Murat" => 22, "Ayse" => 32, ); // 2. Yol $puanlar["Ali"] = 10; $puanlar["Hasan"] = 15; $puanlar["Murat"] = 22; $puanlar["Ayse"] = 32; ?>
Dize İçinde Dize (Çoklu Dizeler) Bir arraylist içerisinde dizeler kullanabiliriz. Her bir dize için [] eklenir. <?php
$aileler = array( "Eliçalışkan" => array("Murat","Çiğdem","Esra"), "Keçecioğlu" => array("Yavuz","Mustafa") ); echo $aileler["Eliçalışkan"][0] . ", Eliçalışkan ailesinin bir üyesidir."; ?>
While Döngüsü Birden fazla işlemi aynı anda yapmak, dizelerlerle çalışmak için döngülerden faydalanırız. Bunlardan biri de While() döngüsüdür. While( koşul ) { ... } şeklinde kullanımı olan bu komutta koşul doğru (true) olana kadar iç kısımdaki kod tekrarlanmaktadır. Örneğin: <?php $sayi = 1; while( $sayi <= 5 ) { echo "Benim sayım $sayi!"; $sayi++; } ?>
Aşağıdaki şekilde sonuç verir: Benim Benim Benim Benim Benim
sayım sayım sayım sayım sayım
1! 2! 3! 4! 5!
Do ... while Döngüsü Eğer kodu önce yaptırtacak sonra koşulu kontrol edeceksek bu komut bize yardımcı olur. Yukarıdaki aynı işlemi bu komutla yapalım: <?php $sayi = 1; do { $sayi++; echo "Benim sayım $sayi!"; } while( $sayi <= 5 ); ?>
Aşağıdaki şekilde sonuç verir:
Benim Benim Benim Benim Benim
sayım sayım sayım sayım sayım
2! 3! 4! 5! 6!
For Döngüsü Bir
kodu,
belirttiğimiz
şekillerde
ve
sayılarda
yaptırtmak
için
for
komutu
bize
yardım
eder.
for( değişken, koşul, artış miktarı ) { ... } şeklinde kullanılır. Örneğin: <?php for ( $i = 1; $i <= 5; $i++ ) { echo "Benim sayım $i!"; } ?>
Yukarıda, FOR( ... ) içerisinde yazdığımız kodun anlamı: $i 1 dir, $i 5'e eşit ya da ondan küçük olduğu sürece $i'yi 1 arttır ve aynı işlemleri tekrar et. Aşağıdaki şekilde sonuç verir: Benim Benim Benim Benim Benim
sayım sayım sayım sayım sayım
1! 2! 3! 4! 5!
Foreach Döngüsü Bir dize (array) içerisindeki tüm değerleri listelemek, onlar üzerinde işlem yapmak için bu komuttan yararlanabiliriz. <?php $sayilar = array("Bir","Iki","Uc");
?>
foreach( $sayilar as $deger ) { echo $deger; }
Aşağıdaki şekilde sonuç verir: Bir Iki Uc
Fonksiyon PHP'de hazırlayacağımız özel fonksiyonlarla işlerimizi kolaylaştırabilir, türlü işlemler için zaman kazanabiliriz.
function isim( değişkenler ) { ... } şeklinde kullanılır. Örneğin: <?php AdimiYaz(); function AdimiYaz() { echo "Murat Eliçalışkan"; } ?>
Parametre Kullanmak Fonksiyonları bazı değişkenlerle birlikte kullanabiliriz. <?php echo "Benim adım "; AdYaz( "Murat" ); echo "Kardeşimin adı "; AdYaz( "Çiğdem" ); function AdYaz( $ad ) { echo $ad . "<br />"; } ?>
Aşağıdaki gibi çıkacaktır: Benim adım Murat Kardeşimin adı Çiğdem
Parametre sayısı birden fazla da olabilir. Parametreler arasına virgül (,) alarak bu işlemi yaparız. Ayrıca bazı parametreleri opsiyonel (seçime bağlı) ayarlamamız da mümkün. Bunları bir örnekte görelim: <?php AdYaz( "Murat", 27 ); AdYaz( "Çiğdem", 25, true ); function AdYaz( $ad, $yas, $kalin_yaz == false ) { if ( $kalin_yaz ) echo "<b>$ad, $yas yaşında.</b><br />"; else echo "$ad, $yas yaşında.<br />"; } ?>
Aşağıdaki gibi görünecektir: Murat, 27 yaşında.
Çiğdem, 25 yaşında.
Fonksiyonlarda Değer Döndürmek Fonksiyonlar return; komutu ile bir sonucu elde etmemizi sağlayabilir. Aşağıda bir sayının karesini alan fonksiyon anlatılmıştır: <?php echo Karesi( 6 ); function Karesi( $sayi ) { return $sayi * $sayi; } ?>
Bu örnekte gördüğümüz fonksiyonun döndürdüğü değer sayısaldır, bir fonksiyon sayısal, alfasayısal (string), mantıksal (boolean) veya dize (array) döndürebilir. Ayrıca bir fonksiyonun işlevini kesip tekrar ana kodlara dönmesi için boş bir şekilde return; kullanılabilir.Form İşlemleri
HTML ile hazırladığımız bir form PHP yardımıyla nasıl işlevsel hale getirilir? Bu başlıkta bunu öğreneceğiz. Bir form yapısı şu şekildedir. <html> <body> <form action="deneme.php" method="post"> Adınız: <input type=text" name="isim" /> Yaşınız: <input type=text" name="yas" /> <input type="submit" name="gonder" value="Gönder" /> </form> </body> </html>
Burada METHOD özelliği iki şekilde olabilir: "get" ve "post". GET verileri adres satırına ekleyerek gönderir. Örneğin deneme.php?ad=murat şeklinde olacaktır. POST metodu ise verileri aynı dosyaya adres satırına yansımadan gönderir. Yani yollanan dosya yine deneme.php adına olacaktır. PHP bizler için form verilerini iki değişkende saklar. GET ile alınan verileri $_GET['nesne'], POST ile alınan verileri $_POST['nesne'] şeklinde. Burada nesne olarak belirtiğimiz HTML formunda INPUT'larda belirttiğimiz "name" özelliğindeki değerdir.
$_GET İşlevini Kullanmak Bu şekilde gönderilen veriler adrese eklenirler. Yukarıdaki form method="get" olarak gönderilseydi, adresimiz deneme.php?ad=murat&yas=27 şeklinde olurdu. PHP ile bu verileri işlemek içinse $_GET['ad'] ve $_GET['yas'] nesnelerini kullanırdık.
NOT: Aşağıdaki örnekte isset() bir değişkenin tanımlı olup olmadığını kontrol etmemize yarar. Tanımlanmamış değişken kullanmak php de hata mesajları almanıza yol açar. isset() tanımlıysa TRUE değilse FALSE olarak döner. <html> <body> <?php if ( isset( $_GET['ad'] ) && isset( $_GET['yas'] ) ) echo $_GET['ad'] . ", " . $_GET['yas'] . " yaşındadır."; ?> <form action="deneme.php" method="get"> Adınız: <input type=text" name="isim" /> Yaşınız: <input type=text" name="yas" /> <input type="submit" name="gonder" value="Gönder" /> </form> </body> </html>
$_POST İşlevini Kullanmak Bu şekilde gönderilen veriler adrese eklenmez. Yukarıdaki form method="post" olarak gönderilseydi, adresimiz deneme.php?ad=murat&yas=27 şeklinde olurdu. PHP ile bu verileri işlemek içinse $_GET['ad'] ve $_GET['yas'] nesnelerini kullanırdık. <html> <body> <?php if ( isset( $_POST['ad'] ) && isset( $_POST['yas'] ) ) echo $_POST['ad'] . ", " . $_POST['yas'] . " yaşındadır."; ?> <form action="deneme.php" method="post"> Adınız: <input type=text" name="isim" /> Yaşınız: <input type=text" name="yas" /> <input type="submit" name="gonder" value="Gönder" /> </form> </body> </html>
PHP'de Tarih Yazdırma
Sunucu saatini PHP'de date( biçim, zaman ) fonksiyonu ile kullanırız. İlk parametre, tarih formatının nasıl olacağını bildirmemize yarar ve zorunludur. d -> 01 31 arasında m -> 01 12 arasında Y -> XXXX şeklinde 4 G -> 00 23 arasında değer i -> 00 59 arasında değer s -> 00 - 59 arasında değer alan saniye değeri. <?php echo date("d/m/Y G:i:s"); ?>
değer değer haneli alan alan
alan alan yıl saat dakika
gün. ay. değeri. değeri. değeri.
İkinci parametre olan zamanı belirtmediğimiz için şu andaki zamanı dikkate alır ve aşağıdaki şekilde görünür: 25/07/2011 19:13:49
Tanımlı bir tarihi gösterirken ikinci parametreyi kullanmalıyız. PHP'de Unix saati gösterilir. Geçerli Unix saatini görmek için time() fonksiyonu kullanılabilir. <?php echo time() . "<br />"; // 1311610741 gösterir (Unix Zaman Dilimi) echo date("d/m/Y G:i:s", time()); // Şu andaki tarih ve saati gösterir. ?>
Bir UNIX zaman dilimi tanımlamak için mktime() fonksiyonu kullanabiliriz. Örneğin geçerli güne 1 ekleyerek yarını yazdıralım: <?php $yarin = mktime(0,0,0,date("m"),date("d")+1,date("Y")); echo date("d/m/Y G:i:s", $yarin); // Yarın bu zamanı verir. ?>
PHP'de Başka Dosyalardan Faydalanmak
Tek bir dosyada tüm siteye yer vermek, php nin derleme süresini arttırır, ekonomik değildir, zaman ve emek sarfiyatı yaratır. Bu sebeple birden fazla parça halinde php dosyasından faydalanmak gerekebilir. Bunlar tek başlarına anlam ifade etmezler ancak diğer dosyalardan yardım alarak anlamlı hale gelirler. Bize bu imkanı sağlayan iki komut bulunmaktadır. Birincisi include( dosya ) diğeri require( dosya )'dır. Bu iki komut arasındaki temel fark include kullanarak bir hata ile karşılaştığımızda uyarı verir buna karşın script oluşturulmaya devam eder, ancak require kullanıldıysa derleme anında sonlandırılır. Şimdi yaptığımız bir siteyi oluşturan 3 parça olan ust.php, orta.php ve alt.php yi hazırlayalım: // ust.php <?php echo "<html><body>"; ?> // orta.php <?php echo "Merhaba Dünya!"; ?> // alt.php <?php echo "</body></html>"; ?>
Bu üç dosyayı include() kullanarak birleştirelim ve index.php olarak kaydedelim:
// ust.php <?php include( "ust.php" ); include( "orta.php" ); include( "alt.php" ); ?>
Çıkan dosyanın kaynak koduna baktığımızda aşağıdaki şekilde yazdırıldığını görürüz: <html><body>; Merhaba Dünya!; </body></html>;
NOT: Bir dosyada kullandığımız değişkenler ve fonksiyonlar, kendisinden sonraki dosyalarda da geçerli olur. Bu sebeple aynı değişkenler kullanılmamasına özen gösterilmelidir Dosya İşlemleri
fopen() ile Bir Dosya Açmak Bu fonksiyon bir dosyanın içeriğine erişmek, dosya üzerinde işlem yapmak, veri eklemek için kullanılır. Kullanım Şekli: fopen( dosya, özellik ); <?php $file = fopen( "Okubeni.txt", "r" ); ?>
Özellik r w a
olarak
->
nitelendirdiğimiz -> ->
dosya
2. sadece sadece
parametre
üzerine
dosyanın
okuma
okumak yazmak eklemek
biçimidir. için için için
fopen() aynı zamanda mantıksal (bool) değer döndürür, bu değer DOĞRU (true) ise dosya açılması başarılı, YANLIŞ (false) ise dosya açılmasında hata ile karşılaşılmıştır. <?php $file = fopen( "Okubeni.txt", "r" ) or exit("Dosyaya erişilemiyor!"); ?>
fclose() ile Açılmış Bir Dosyayı Kapatmak <?php $file = fopen("test.txt","r"); // açarız // buraya kodlar gelecek
?>
fclose( $file ); // kapatırız
feof( dosya ) ile Dosyanın Bittiği Kontrolü Açtığımız bir dosyanın son satırında olup olmadığımızı bu değer ile öğrenebiliriz. <?php if ( feof( $dosya ) ) echo "Metin bitmiştir"; ?>
Bir Dosyayı Satır Satır Okumak - fgets() fgets() Fonksiyonu açtığımız dosyadan veri almamızda bize yardım eder. Bu veri tek satırlık bir veridir. <?php $dosya = fopen( "Isimler.txt", "r" ) // Aç or exit( "Dosya bulumamadı." ); while( !feof( $dosya ) ) // Dosya bitene kadar oku echo fgets( $dosya ) . "<br />";
?>
fclose( $dosya ); // Kapat
Cookie (Çerez) Kullanımı
Çerezler, bir kullanıcıyı tanımak amacıyla sunucu tarafından oluşturulan bilgilerdir, bu bilgiler direkt olarak kullanıcının bilgisayarında saklanır, belli bir süre geçerlidir ve tarayıcıyla (browser) ilişkilendirilen bir yapıdır. Kullanım Şekli: setcookie( isim, değer, geçerlilik_süresi ); <?php setcookie( "user", "Murat", time() + 3600 ); // 1 saat geçerli ?>
NOT: 3600, saniye cinsinden süredir. 60 x 60 = 3600 den 1 saat bulunur.
Bir Çerez Değerini Elde Etmek Sadece tanımlı bir tanesini elde etmek için: <?php echo $_COOKIE['user']; // user adlı çerez ?>
Tamamını listeletmek için print_r() fonksiyonu ile: <?php print_r( $_COOKIE ); // Kullanıcıya ait tüm veriler
?>
NOT: print_r( dize ) fonksiyonu bir dize içerisindeki tüm değerleri ekrana yazdırır. Tüm dize (array) tipi değişkenlerde kullanılabilir.
Bir Çerez Değerini Silmek Geçerlilik süresini değiştirerek sileriz: <?php setcookie( "user", "Murat", time() - 3600 ); // 1 saatten fazla geçmiş olacaktır. ?>
Session (Oturum) Kullanımı
Bir önceki konuda çerezlerin kullanıcı bilgisayarında saklandığını söylemiştik. Session olarak tabir edeceğimiz bu tür ise sunucuda saklanan kişisel verilerdir. Bir
php
dosyasına
oturum
desteği
vermek
için
o
dosyanın
başına session_start(); eklenmelidir.
Kullanım Şekli: $_SESSION['degisken'] = deger; <?php session_start();
?>
$_SESSION['isim'] = "Murat";
Bir Oturum Bilgisinin Varlığını Kontrol Etmek - isset() Bir oturum bilgisi, sunucu tarafından işlenmeden geçerli değildir. Yani değer verilmemiş bir oturum bilgisine erişirsek hata çıkar. Bunu kontrol etmenin yolu isset() fonksiyonudur: <?php session_start(); if ( isset( $_SESSION['goruntuleme'] ) ) $_SESSION['goruntuleme'] = $_SESSION['goruntuleme'] + 1; else $_SESSION['goruntuleme'] = 1;
?>
echo "Bu sayfa " . $_SESSION['goruntuleme'] . " kez görüntülendi.";
Bir Oturum Bilgisini Silmek - unset() Geçerli bir oturum bilgisini unset() fonksiyonu ile kaldırırız:
<?php unset( $_SESSION['goruntuleme'] ); ?>
E-Mail Gönderimi
Bunun
için mail() fonksiyonunu
kullanırız.
Kullanım Şekli: mail( alıcı, başlık, mesaj, ayarlar ); <?php // Genel Ayarlar $alici = "herhangibiri@ornek.com"; $baslik = "Merhaba!"; $mesaj = "Uzun süredir yazmıyorsunuz, özledik sizi."; // Gönderen, diğer alıcılar, mail türü vb. $gonderen = "baskabiri@ornek.com"; $bilgi = "From: $gonderen";
?>
mail( $alici, $baslik, $mesaj, $bilgi );
Veritabanı İşlemleri
MySQL Bağlantısını Sağlamak ve Kesmek mysql_connect( adres, kullanıcı, şifre ); - Bağlanmayı dener, başarılı olursa DOĞRU (true) değeri döndürür. mysql_select_db(
veritabanı_adı
); -
İşlem
yapmak
üzere
veritabanı
seçer.
mysql_close(); - Bağlantıyı keser. Bunu yapmazsak bağlantı açık kalır, bu da ziyaretçisi yüksek bir sitede MySQL sunucusuna erişimde sıkıntıya yol açabilir. <?php // Bağlantıyı sağlarız. $baglanti = mysql_connect( "mysql.sunucu.adresi", "user", "pass" ); if ( !$baglanti ) exit( "Bağlantı sağlanamadı." ); // Bağlandıktan sonra işlem yapılacak DB adı: veritabanim. mysql_select_db( "veritabanim" );
?>
// Bağlantıyı kesiyoruz. mysql_close();
MySQL Sorgusu Gerçekleştirmek mysql_query( sorgu ); - Bir SQL komutunu çalıştırmamızı sağlar.. <?php mysql_query( "INSERT INTO tablo (isim, yas) VALUES('Murat', 27);" ); ?>
Veritabanı Bilgilerine Erişmek mysql_fetch_array( sorgu ); - SQL sorgusuyla elde ettiğimiz verileri listeleme. <?php $baglanti = mysql_connect( "localhost", "root", "pass" ); mysql_select_db( "veritabanim" ); $sorgu = mysql_query( "SELECT * FROM tablo WHERE ad = 'Murat';" ); while( $row = mysql_fetch_array( $sorgu ) ) { echo $row['ad'] . "'ın yaşı: " . $row['yas']; } mysql_close(); ?>