![]() |
|
|||||||
| Php, Asp, Flash, Java, Html Php, asp, flash, java, html ve tüm web azılım dilleri hakkında bilgi paylaşımı yapabileceğiniz bölüm. |
| Tags: php notlar dersler |
![]() |
|
|
Seçenekler |
|
|
#1 |
|
Se®ve® Administ®ato®
![]() ![]() ![]() |
Bu başlık altında PHP konusunda bir takım makalelerimi ve notlarımı yayınlayacağım. Bunu yaparken, başlangıç seviyesindeki bir kullanıcınında faydalanabilmesi en basitinden başlayayım istiyorum. Bu sebeple basit konulardan başlamayı tercih ettim.
Makaleler ile ilgili sorularınızı buradan sorabilirsiniz, diğer phpBB vs. gibi abik gubik scriptler hakkındaki sorularınızı bu başlığa sokmazsanız sevineceğim. Ayrıca makalelerde yer alan şeyler haricinde de yeni başlık açıp sorunuzu ayrı bir başık altında tutarsanız sevirinim. Ara sıra makalelere ara verebilirim, nihayetinde okulum sınavlarım ve sorumluluklarım var :) Tüm zamanımı burada geçirecek halimde yok ;) Boş vakitlerimde yazıp yollayacağım. Şunu da belirteyim bu işin ne ustası ne de profesyoneli olduğumu iddia ediyorum, amacım sadece yardımcı olabilmek. Şu ana kadar yazılan ders ve notların listesi:
Mesajınızda: -> Mail Adresinizi verirseniz, -> Konuyla alakasız yorum yaparsanız / Konuyla alakasız bir soru sorarsanız, -> Amaçsız, içinde paylaşım olmayan, saçma konular açarsanız, -> Üstüste mesaj yazarsanız ( Flood yapmakda denir), -> Küfür ederseniz, -> Konuyla alakasız bir başlık atarsanız, -> Mesajınızın tamamını büyük harfler veya puntolar kullanarak yazarsanız, Mesajınız SİLİNİR ayrıca siz BANLANIRSINIZ. ![]() Bu tip mesajları ihbar etmek için yukarıda işaretlenmiş olan yere tıklayarak yöneticiyi uyarabilirsiniz. нαуαт, öℓüмℓє кυмαя σуηαмα ѕαηαтı∂ıя... [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] AkdenizForum Toolbar Sitemizi Daha İyi Kullanmak İstiyorsanız Daha Kolaylıkla Sizde İndirin [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] |
|
|
|
|
|
#2 |
|
Se®ve® Administ®ato®
![]() ![]() ![]() Üyelik Tarihi: Jun 2006
Nerden: тυякєу
Mesajlar: 14.472
Üye No: 5
Tecrübe Puanı: 100
Rep Gücü : 14689
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
PHP Programlama Dilinde Değişkenler ve Kullanımları // Yeni başlayanlar
Her programlama dilinin yapıtaşları olan değişkenler PHP dilinde de temel olarak kabul edilebilir. Değişkenler her an, her yerde kullanılabileceğinden, değişkenleri bilmeyen bir insan PHP dilinde daima zorlanacaktır. Şimdi kısaca bahsedelim. PHP dilinde değişkenler "$" (dolar işareti) ile başlar. Hiçbir şekilde rakam ile başlayamaz. Genel olarak değişkenlerin yazım şekilleri şunlardır: Kod:
$isim = "Birhan"; $isim=Birhan; $isim = <<<RESTART <a href="hebelehubele.htm">hebele</a> <a href='hebele.htm'>hebele</b> RESTART; İlk şekilde gördüğünüz tanımlama, genel olarak kullanılan şekildir. En yaygın şekil budur. İkinci şekilde gördüğünüz tanımlama genelde rakamlar için kullanılır, bakmayın ben sırayı bozmasın diye isim değişkeni olarak tanımladım fakat genelde rakam ve tek kelimelik içerik içerir. Üçüncü şekle yeni bir paragrafta değinmek istedim, çünkü bu pek yaygın olmayan fakat her zaman her için aranılan bir yazım türüdür. Bunun sebebini şöyle açıklayayım, Örneğin bir değişken tanımladınız fakat içerisinde tırnak işaret vs. gibi programın çalışmasına engel olacak, hata verdirecek birtakım karakterler var. Bu hatayı engellemek için demin bahsini ettiğim tırnak işareti gibi hata verdirici karakterlerin önüne "\" konulur. Yani; Kod:
$degiskenadi = "<a href="hebele.htm">hebele</a>"; Kod:
$degiskenadi = "<a href=\"hebele.htm\">hebele</a>"; Kod:
$degiskenadi = <<<RESTART <a href="hebele.htm">hebele</a> RESTART; Bu arada unutmadan, her şeyde olduğu gibi değişkenleri de noktalı virgül yardımı ile sonlandırmayı unutmuyoruz. Yani değişkenin sonundaki, değişkenin bittiğini belirten noktalı virgül olmazsa hata almanız muhtemeldir. Şimdi değişken tanımlamayı artık öğrendiğimize göre, artık değişkenleri kullanmaya sıra geldi. Hemen küçücük bir örnekle de bunu pekiştirelim; Kod:
<?php
$nick = "RestarT";
$isim = "Birhan";
echo("$nick`ın gerçek ismi $isim`dir.");
?>
Yukarda okuduğunuz metin, size nasıl değişken oluşturacağınızı ve bunları nerede kullanacağını anlattı. Şimdi zaten hazırda var olan ve sabit olan birkaç Apache ve PHP değişkenini tanıyacağız. Bu değişkenleri birçok alanda kullanabileceğinizden emin olabilirsiniz. Apache değişkenlerinden başlayalım; Kod:
$REMOTE_ADDR; // Bu değişken web sayfasını gezmekte olan kullanıcının IP numarasını verir. 123.123.123.123 gibi bir çıktı verecektir. $SERVER_ADMIN; // Bu değişken sunucuda admin için verilen değeri içerir. admin@localhost gibi bir çıktı verecektir. $SERVER_PORT; // Bu değişken sunucunun kullandığı port`u verir. Genelde 80`dir. $SERVER_SIGNATURE; // Bu değişken sunucu sürümü, ismi gibi bilgiler verir. Apache/1.3.23 Server at localhost Port 80 gibi bir çıktı verecektir. $SCRIPT_NAME; // Bu değişken kullanılan scriptin dizinini verir. c:\\apache\\htdocs\\deneme.php gibi bir çıktı verecektir. $REQUEST_URI; // Bu değişken kullanılan scriptin ismini verecektir. /deneme.php gibi bir çıktı verir. $SERVER_NAME; // Bu değişken scriptin üzerinde çalıştığı sunucunun ismini verir. localhost gibi bir çıktı verecektir. $SERVER_SOFTWARE; // Bu değişken sunucu yazılımının ismini içerir. Apache/1.3.23 (Win32) gibi bir çıktı verecektir. $SERVER_PROTOCOL; // Bu değişken sayfanın kullandığı bilgi protokolü hakkında bilgi verir. HTTP/1.0 gibi bir çıktı verecektir. $REQUEST_METHOD; // Bu değişken sayfaya erişirken kullanılan metot bilgisini içerir. GET, POST vs. gibi çıktılar verecektir. $HTTP_ACCEPT_LANGUAGE; // Bu değişken sunucunun dilini verir. tr, eng vs. gibi çıktılar verecektir. $HTTP_ACCEPT_ENCODING; // Bu değişken talebe ait kodlama bilgisini verir. gzip, zip gibi çıktılar verecektir. PHP değişkenleri ise şöyledir, Kod:
$HTTP_POST_VARS; // Bu değişken formdan post metodu ile gelen değerleri içerir. $HTTP_GET_VAR; // Bu değişken formdan get metodu ile gelen değerleri içerir. $HTTP_COOKIE_VARS; // Bu değişken cookie`lerden (çerezler) alınan değerleri içerir. $PHP_SELF; // Bu değişken o esnada çalışmakta olan scriptin dosya adını içerir. Kod:
<?php phpinfo(); ?> Başarılar dilerim, kolay gelsin. Hoşçakalın. // gelecek konu: array (diziler) |
|
|
|
|
|
#3 |
|
Se®ve® Administ®ato®
![]() ![]() ![]() Üyelik Tarihi: Jun 2006
Nerden: тυякєу
Mesajlar: 14.472
Üye No: 5
Tecrübe Puanı: 100
Rep Gücü : 14689
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[b]PHP Programlama Dilinde Diziler (Array) // Yeni başlayanlar - Orta düzey
Diziler derken TV dizileri diye anlayanlarınız varsa hemen terk edin :) Elbette bu işin şakası. Eğer basit olarak açıklamam gerekirse dizi değişkenleri dediğimiz değişken tanımlama yapısı işinize oldukça yarayabilir. Bundan önce değişkenler hakkında bilgi sahibi olduğunuzu göz önüne alarak ufak bir örnekle başlayalım. Kod:
$isimler[1] = "Ali"; $isimler[2] = "Veli"; $isimler[3] = "Deli"; echo $isimler[2]; Kod:
$isimler["kiz"][1] = "Selen"; $isimler["kiz"][2] = "Melis"; $isimler["kiz"][3] = "Elmas"; $isimler["erkek"][1] = "Birhan"; $isimler["erkek"][2] = "Kerem"; $isimler["erkek"][3] = "Yunus"; $isimler["erkek"][4] = "Emre"; echo $isimler["kiz"][3]; Kod:
$isimler = array( 1 => "Birhan", 2 => "Kerem", 3 => "Yunus", 4 => "Emre", ); echo $isimler[3]; Kod:
$isimler = array( "kiz" => array( 1 => "Selen", 2 => "Melis", 3 => "Elmas" ), "erkek" => array( 1 => "Birhan", 2 => "Kerem", 3 => "Yunus" ) ); echo $isimler["kiz"][3]; Dizi yapısını kısmen öğrendik fakat ne işimize yarayacak? Kafanıza takılmıştır elbette. Hemen bir örnekle de ne işe yarayacağını görelim; Kod:
$gunler = array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi");
echo $gunler[date("w")];
Yukarıdaki örnekte görüldüğü gibi PHP ile ancak ingilizcesini alabileceğimiz gün isimlerini Türkçe`ye çevirdik. Artık sitemizde Türkçe olarak "Pazartesi" yazabileceğiz mesela ;) Kullanım alanı elbette bununla sınırlı değil, aklınıza bile gelmeyecek yerlerde bu dizi yapısını kullanacaksınız. Ama ben sadece yüzeysel olarak bu kadar açıklayabiliyorum. Array ile kullanacağımız bir takım sıralama fonksiyonları da vardır. Sıralamalarda Türkçe karakterle başlayan kelimeler tanınmadığı için son kısımda yer alır. bu fonksiyonlar şunlardır; sort(); - Dizi içeriğini alfabetik sıralama. rsort(); - Dizi içeriğini ters alfabetik sıralama. asort(); - Dizi elemanlarını değerine göre sıralar. arsort(); - Dizi elemanlarını değerine göre tersten sıralar. ksort(); - Dizi elemanlarını içeriğe göre sıralar. krsort(); - Dizi elemanlarını içeriğe göre tersten sıralar. Hemen örneklerle bu fonksiyonları açıklayalım. Örnek - sort(); Kod:
$seviyeler = array(
"Admin" => "100",
"Yönetici" => "10",
"Üye" => "1"
);
sort($seviyeler);
foreach($seviyeler as $x => $y) {
echo("$x - $y<br>");
}
Örnek - asort(); Kod:
$seviyeler = array(
"Admin" => "100",
"Yönetici" => "10",
"Üye" => "1"
);
asort($seviyeler);
foreach($seviyeler as $x => $y) {
echo("$x - $y<br>");
}
Örnek - ksort(); Bu örnek için kod yazma ihtiyacı duymuyorum. Tek yapmanız gereken yukarıdaki örnekteki fonksiyonu ksort($seviyeler); veya tersi için krsort($seviyeler); olarak değiştirmek. Sonuçta göreceksiniz ki bu seferde sıralama, dizi elemanlarının alfabetik sıralaması şeklindedir. ksort(); kullanılırsa "Admin" başta, krsort(); kullanılırsa sonda yer alacaktır. Oldu ki biz dizimizin içinden rastgele bir değer alıp bunu ekrana basmak istiyoruz. Bu durumda yardımımıza hemen suffle(); koşuyor ;) Hemen bir örnekle de bunu açıklayalım. Kod:
$seviyeler = array(
"Admin" => "100",
"Yönetici" => "10",
"Üye" => "1"
);
shuffle($seviyeler);
for ($x=0; $x<1; $x++) {
echo("$seviyeler[$x]<br>");
}
Örnek - array_sum(); Kod:
$sayilar = array(1,2,3,4,5,6,7,8); echo array_sum($sayilar); Bizim iki adet dizimiz olsun ve bunları birleştirmek istiyor olalım. Ne yapmamız gerek? array_merge(); fonksiyonu bu iş için uygundur. Sadece iki diziyi değil, n sayıdaki diziyi bununla birleştirebilirsiniz. Hemen örneğimizi de verelim; Örnek - array_merge(); Kod:
$x = array(1,2,3,4,5,6,7,8); $y = array(4,7,8,3); $birlestir = array_merge($x, $y); print_r($birlestir); Dizilerimizde bazen bir değeri birden çok kullanabiliriz. Eğer ki hangi değerin kaç kez kullanıldığını öğrenmek istersek hemen yardımımıza array_count_values(); koşuyor. Aşağıda ki örneği inceleyin. Örnek - array_count_values(); Kod:
$x = array(a,b,t,a,y,k,d,w,y,a,g,v,b,e,t); print_r(array_count_values($x)); Array fonksiyonu için yazılabilecek birkaç fonksiyon daha var ama şimdilik bu kadar yeterli diye düşünüyorum. İleride lazım olursa onları da yazarım. Hoşçakalın. // gelecek konu: if yapısı |
|
|
|
|
|
#4 |
|
Se®ve® Administ®ato®
![]() ![]() ![]() Üyelik Tarihi: Jun 2006
Nerden: тυякєу
Mesajlar: 14.472
Üye No: 5
Tecrübe Puanı: 100
Rep Gücü : 14689
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
PHP Programlama Dilinde If Yapısı (Koşullandırma && Sınama) // Yeni başlayanlar
Her türlü programlama dilinde olduğu gibi PHP içinde koşullandırma ve denetleme organizması olan if yapısı olmazsa olmaz bir deyimdir. If kelimesinin Türkçe karşılığının "eğer" olduğunu söylersem herşeyi daha kolay anlayabileceksiniz. Örneğin; Kod:
if ($isim == "") {
echo("\$isim değişkeninin içi boş!");
}
Kod:
if (empty($isim)) {
echo("\$isim değişkeninin içi boş!");
}
else {
echo("\$isim değişkeninin içi dolu!");
}
If deyiminin olmazsa olmazlarından biri de "elseif" yapısıdır. Bu yapı mutlaka if yapısından sonra bulunmalıdır. Şöyle bir örnekle açıklanabilir; Kod:
if ( $x == 3 ) {
echo("Değişkenin değeri: 3");
}
elseif ( $x == 5 ) {
echo("Değişkenin değeri: 5");
}
else {
echo("Değişken 3 veya 5 değerlerinden birisine sahip değil.");
}
If ve else kalıbını uzun uzun yazıncaya kadar "?" operatörü ile de bir koşul sınama yapısı oluşturulabilir. Hemen aşağıdaki örneği inceleyin; Kod:
$x = 3;
empty($x)?print("x değeri boş"):print("x değeri boş değil");
Süslü parantez kullanmadan kısa if deyimleri yazmak istiyorsanız aşağıdaki örneği inceleyin: Kod:
if ( $HTTP_REFERER != "http://www.abc.com" ): echo("Bu sayfaya diğer sayfalardan erişim yasaklanmıştır!"); exit(); endif;
exit(); fonksiyonu hakkında biraz daha açıklayıcı olayım. Bu fonksiyon kullanıldığı zaman scriptinizin PHP tarafından işlenişi durur. Yani bu fonksiyonu nereye koyarsanız PHP yorumlayıcısı scriptinizi oraya kadar okur ve bu fonksiyonu çalıştırdıktan sonra gerisini okumaz. Bu yapı üyelik sistemlerinde ve benzeri yapılarda çokça kullanılır. Bunun benzeri olarak die(); fonksiyonu da kullanılabilir. PHP dilinde if yapısı bu kadar. Görüldüğü gibi aslında herşey gayet kolay ;) Hoşçakalın. // gelecek konu: switch yapısı |
|
|
|
|
|
#5 |
|
Se®ve® Administ®ato®
![]() ![]() ![]() Üyelik Tarihi: Jun 2006
Nerden: тυякєу
Mesajlar: 14.472
Üye No: 5
Tecrübe Puanı: 100
Rep Gücü : 14689
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Switch Yapısı // Yeni başlayanlar
Bu yapı aslında if yapısı ile hemen hemen aynıdır. Ancak bazı durumlarda if kullanmak daha kompleks bir hal alırken switch kullanmak bize daha kolay ve kısa bir yöntem olarak görülebilir. Switch deyimi if deyimine ne kadar benzese de if deyiminin yaptığı herşeyi yapamaz. Yine de bize bazı durumlarda fazlasıyla yardımcı olabilir. Peki ne işimize yarayacak bu deyim? Bu yapıyı if yapısı ile eşdeğer tutarak ne işe yarayabileceğini düşünebilirsiniz. Nihayetinde bu da bir if benzeri yapıdır ve vereceğiniz koşula göre sınama yapıp size sonucu verir. Yazının devamında örnekler ile ne işe yarayacağını biraz da olsa anlayabileceksiniz. Switch deyiminin yazılışını ve dizilişini öğrenmek için aşağıdaki örneği inceleyin: Kod:
switch ($tarih) {
case "dmy";
echo date("d.m.Y");
break;
case "dmygis";
echo date("d.m.Y G:i:s");
break;
default:
echo("Tarih türünü seçmediniz. Bu sebeple default tarih gösterimini görüyorsunuz:");
echo date("<b> d-m-Y G:i - l</b>");
}
Şimdi örneğimizi inceleyelim. Örnekte $tarih değişkeninin alacağı değerleri sınıyoruz ve bu değerlere göre koşullar yaratıp işlem yaptırıyoruz. Bu kodu ornek.php ismi ile kaydedip [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...]?tarih=dmy olarak çalıştırırsanız ilk koşulumuz gerçekleşecek ve "09.03.2004" gibi bir çıktı alacaksınız. Aynı şekilde eğer ornek.php?tarih=dmygis olarak çalıştırırsanız "09.03.2004 20:12:17" gibi bir çıktı alırsınız. Eğer sadece [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] olarak çalıştırırsanız hiçbir koşul yerine gelmediğinden "Tarih türünü seçmediniz. Bu sebeple default tarih gösterimini görüyorsunuz: 09-03-2004 20:13 - Tuesday" çıktısını alırsınız. Yine eğer ornek.php?tarih=ffsafdasfdas gibi bir şekilde girmeye çalışırsanızda default kısmı devreye girer ve aynı çıktıyı alırsınız. Dikkat etmeniz gereken şeyleri şu şekilde sıralayabiliriz:
Mesela bir site yapıyorsunuz ve bu sitenizin aynı diğer sitelerdeki gibi [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...]index.php?bolum=programlama gibi linkleri olsun istiyorsunuz. Bu durumda switch yapısı oldukça işlevseldir. Bunu if yapısı ile de yapabilirsiniz fakat switch if deyiminden bu durumlarda daha hızlı çalışacağı için ve daha işlevsel olacağı için önerilir. Yukarıdaki örneğe bakarak istediğiniz türden linkler yaratabilirsiniz. Switch içerisine istenildiği kadar koşul tanımlanabilir, fakat ne kadar çok koşul olursa çalışma performansı o kadar düşecektir. Bu yüzden olabildiğince kısa tutmaya çalışmalıyız. Ayrıca switch deyiminin if deyiminden daha hızlı çalıştığı bilindiğinden, switch ile yapabileceğimiz işlemleri if ile yapmamalıyız. Yapsak bile sonuçta performans düşeceği için zararlı çıkan biz oluruz. Hoşçakalın. // gelecek konu: döngüler (for && while) |
|
|
|