Eski 07-03-04, 01:52 #1
RestarT RestarT çevrimdışı
Varsayılan PHP - Notlar && Dersler

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:Sizlerde katkılarda bulunabilirsiniz,

Başarılar

Mesajı son düzenleyen Risus ( 30-04-12 - 17:58 ) Neden: link yenileme
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 01:53 #2
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

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;
Genel olarak değişkenlerin tanımlanış biçimlerini gördük. Şimdi bunları tek tek inceleyelim:

İ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>";
gibi bir değişken tanımlarsak bunu kullanmaya çalıştığımızda, hatta kullanmasak bile programa hata verdirir. Bunun sebebi tahmin edebileceğiniz gibi, tırnak işareti ile başlayan değişkenin, tırnak işareti ile bitmesini engelleyen ortadaki tırnak işaretleridir. Bu işaretlerden 2. tırnak işareti değişkeni sonlandırıyor, fakat geriye kalan değişken parçasının bağımsız olarak varlığına devam etmesi üzerine program hata veriyor. Bunu engellemek için en basit olarak değişken şu şekilde yazılabilir;

Kod:
$degiskenadi = "<a href=\"hebele.htm\">hebele</a>";
burada görüldüğü gibi değişkenin değerindeki tırnak işaretlerinin önüne "\" getirdik ve onları etkisizleştirdik. Bunları size uzun uzun anlattım, aslında boşuna okudunuz sayılır. Asıl amacım üçüncü şekildeki değişken kullanımının faydalarını yaşatarak anlatmaktı. Bir değişkeni o şekilde tanımlayarak bu gereksiz slash`lerden kurtulabilirsiniz. Hemen az önce verdiğimiz örneği bir de üçüncü şeklimizle deneyelim:

Kod:
$degiskenadi = <<<RESTART
<a href="hebele.htm">hebele</a>
RESTART;
Yukarıdaki tanımladığımız değişken hata vermeyecektir. Çünkü görüldüğü gibi tırnak ile başlamıyor. Bu bambaşka yazılış şekli ile çok rahat şekilde çalışmalarınızı sürdürebilirsiniz ve gereksiz slash`lerden de kolayca kurtulursunuz.

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.");
?>
Bu kısa programımızın çıktısı: RestarT`ın gerçek ismi Birhan`dır. olacaktır. Şimdi siz büyük ihtimalle düşündünüz ki "e ben oraya değişken tanımlamakla uğraşacağıma direk nick ve ismi yazarım kurtulurum, neden uğraşayım ki?" işte bu yanılgıya düşmeniz en büyük hatanız olur. PHP dili öylesine geniş bir dil ki; değişkenleri siz gerek koşullarda, döngülerde, fonksiyonlarda, vs. her yerde kullanacaksınız. Bu yüzden şimdi neden ben bunları okudum gibi düşüncelere kapılmayın.

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.
Bunların haricinde birkaç sabit apache değişkeni daha vardır. Fakat yazdıklarım genelde çok kullanılan değişkenler olduğu için size yetecektir.

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.
Daha fazlasını görebilmek için aşağıdaki kodu kaydedip çalıştırın.

Kod:
<?php phpinfo(); ?>
PHP dilinde değişken ve kullanım alanları hakkında en azından bir ön bilginiz olmuştur. Bu dökümanda öğrendikleriniz PHP dilinin temel taşlarıdır. Değişkenleri her zaman kullanacağınız için bunları çok iyi bilmeniz gerekir.

Başarılar dilerim, kolay gelsin.

Hoşçakalın.

// gelecek konu: array (diziler)
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 02:01 #3
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

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];
Yukarıdaki kodu çalıştırdığımızda "Veli" çıktısını alırız. Bu dizi değişkenlerini her alanda kullanabileceğinizden ötürü bilmenizde fayda var. Daha gelişmiş bir örnek için aşağıdaki kodu inceleyin;

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];
Bu kodu çalıştırdığımızda alacağımız çıktı "Elmas" olacaktır. Sanırım bunun sebebini zaten hemen anladınız Şimdi bu öğrendiklerimizi basit bir array içerisinde kullanalım.

Kod:
$isimler = array(
	1 => "Birhan",
	2 => "Kerem",
	3 => "Yunus",
	4 => "Emre",
);

echo $isimler[3];
Artık tahmin edeceğiniz gibi çıktı olarak "Yunus" değerini verecektir. Merak etmeyin uyuzluk olsun diye değil, array kullanımını göstermek için verdim bu örneği Şimdi daha karmaşık bir array yapısını inceleyelim.

Kod:
$isimler = array(
	"kiz" => array(
			1 => "Selen",
			2 => "Melis",
			3 => "Elmas"
		),
	"erkek" => array(
			1 => "Birhan",
			2 => "Kerem",
			3 => "Yunus"
		)
);

echo $isimler["kiz"][3];
Yukarıdaki kod karmaşık gelmiş olabilir. Hak veriyorum Öncelikle $isimler isimli değişkene bir array dizisi tanımladık. İlk array dış kabuk olsun. Bunun içine iki array daha yerleştirdik. İç dizilerdeki birinci dizimiz kız isimlerini sıralamak için kullanıldı. "kiz" dizisi bittiği zaman parantezi kapattıktan sonra virgüllendirdik. Eğer virgüllendirmeseydik hata verirdi. Ardından ikinci iç dizimiz olan ve erkek isimlerini sıraladığımız "erkek" dizisini hazırladık. Bu diziyi de bitirdik fakat bu artık son iç dizimiz olduğu için virgül koymadık. Eğer ardından başka bir benzer yapı gelecek olsaydı yine virgülümüzü koyup ilk dizinin sona erdiğini belirtmek durumunda kalacaktık. Son olarak dış kabuk dediğimiz dış dizimizi kapattık ve noktalı virgül ile $isimler değişkenine tanımladığımız array dizisinin bittiğini belirttik. Ekrana ise kız isimlerinden "3" ile eşleştirilmiş olan "Elmas" ismini ekrana bastırdık.

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")];
Öncelikle bu kodda size yabancı gelebilecek ibareleri açıklayayım. Görüldüğü gibi date(); fonksiyonunu kullandık. Bu fonksiyon PHP için tarih işlemlerinde kullanılır. İleri de tarih işlemlerini ayrı bir notta ele alacağız. Şimdilik sadece date("w") fonksiyonunun bize o günün hafta içindeki sıra sayısını verdiğini bilmemiz yeterli. "w" ibaresi ile gün sırasını alırız ve bu değer sıfırdan başlar. Bu yüzden karışıklık olmasın diye array dizisinde ilk sıraya "Pazar" değerini girdik. Oysa ki hafta pazartesi ile başlamalıydı. Amacımız sadece karışıklıklığı önlemek oldu. Ayrıca hemen dipnot düşelim ki array dizisinin bu tür kullanımında her içeriğe bir sayı değeri atanır ve bu sayı sıfır sayısından başlar. Yani yukarıdaki $gunler değişkenine tanımladığımız array dizisi için "Pazar" => 0 değerine eşittir. "Pazartesi" => 1 değerine eşittir. Gerisini zaten anlamış olmalısınız

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>");
}
Yukarıdaki kodda foreach döngüsünü kullandık. Kodu çalıştırdığımızda $seviyeler değişkenindeki içeriğin alfabetik bir şekilde sıralandığını görürüz. Eğer kullandığımız sort($seviyeler); yapısını rsort($seviyeler); yaparsak göreceğiz ki sıralama tersine dönecektir.

Örnek - asort();

Kod:
$seviyeler = array(
	"Admin" => "100",
	"Yönetici" => "10",
	"Üye" => "1"
);
asort($seviyeler);

foreach($seviyeler as $x => $y) {
	echo("$x - $y<br>");
}
Bu kodu çalıştırdığımızda sonuç aşikardır. "Üye" başta olmak üzere sıralama yapılır. Çünkü "Üye" en düşük değere sahiptir. Değeri 1`dir. Eğer buradaki fonksiyonu arsort($seviyeler); yaparsak sıralamanın tam tersine döneceğini de görmüş oluruz.

Ö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>");
}
Bu kodu çalıştırdığımızda ekrana her seferinde başka bir değer gelecektir. Peki biz dizimizdeki elemanların toplam değerini bulmak için ne yapacağız? Burada da devreye array_sum(); fonksiyonu giriyor.

Örnek - array_sum();

Kod:
$sayilar = array(1,2,3,4,5,6,7,8);
echo array_sum($sayilar);
Bu kodun çıktısı 36 olacaktır. Çünkü 1+2+3+4+5+6+7+8=36 eder. Bu fonksiyonda çeşitli alanlarda işinize elbet yarayacaktır.

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);
Örneğin en sonunda görüldüğü gibi ekrana yeni dizimizi bastırıyoruz. Eğer print_r yerine print kullansaydık ekranda sadece "Array" yazısını görecektik. Böylece print ve print_r arasındaki farkı da görmüş olduk

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));
Eğer bu kodu çalıştırırsak bize [B]"Array ( [a] => 3 => 2 [t] => 2 [y] => 2 [k] => 1 [d] => 1 [w] => 1 [g] => 1 [v] => 1 [e] => 1 )" gibi bir çıktı verecektir. Burada da görüldüğü gibi a değerinin üç kez kullanıdığı, b değerinin 2 kez kullanıldığı gibi ifadeler yer almakta. Anladınız zannediyorum
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ı

Mesajı son düzenleyen RestarT ( 07-03-04 - 02:03 ) Neden: Eksiklik.
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 11:24 #4
RoLLin RoLLin çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Yaş harbiden 15 se ve bunlarda copy&paste deilse harbi eli öpülecek adammıssın hocam
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 12:33 #5
Felix Felix çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

restart çalışma için teşekkürler:
if mantıksal döngüsünü sen anlattıktan sonra bende while, for döngülerini anlatırım arada bir de switch e de girelim...
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 12:47 #6
mthT mthT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

restart, eline sağlık..

değişkenlerden konu açılmışken, ben de kendi bildiklerimden bişiler yazayım..
__________________________________________________ _______________________

Değişkenlere browserdan değer atama

Şimdi yukarıdaki adres satırına bakın. Şu şekilde bir link var:
http://www.********.com/forumyeni/showthread.php?t=547

Ee şimdi bu ne demek
Burada forumun yaptığı şey t değişkenine 547 değerini atarmak. T topic'in kısaltması. Yani bu linke girdiğimizde karşımıza 547 id numaralı topic çıkacak.


Bir örnek daha vereyim. Aşağıdaki dosyayı deger_ata.php şeklinde kaydedin.

<?php
echo "Hoşgeldin $ismim";
?>

Şimdi de adres satırınıza http://localhost/deger_ata.php?ismim=Mithat yazın.
O da ne Hoşgeldin Mithat yazısı karşınızda

Değişkenlere değer dosya adından sonra ?degisken_adi=degisken_degeri şeklinde atanır.
Ee peki birden fazla değişken eklemek istersek?
Alın bu da deger_ata2.php

<?php
echo "$isim1 $isim2 yi seviyoooo";
?>

Adres satırınıza http://localhost/deger_ata2.php?isim...ef&isim2=ayshe yazın.
Eshref aysheyi seviyoooooo


Birden fazla değişken atamak için &degisken_adı=degisken_degeri şeklinde bir kullanım yapıyoruz.

sonraki yazım: sabitler
(bunları bi zip yapıp arşivlesek ii olur)

Mesajı son düzenleyen mthT ( 07-03-04 - 12:50 )
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 12:51 #7
ARaGoRN ARaGoRN çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Bende PhpNuke Kurulumunu anlatayim
PHPNuke kurmak kolay bir işlem. Yapmanız gerekenleri aşağıda
bulabilirsiniz.
Öncelikle PHPNuke'yi resmi sitesinden download edin. <http://phpnuke.org/modules.php?name=Downloads>. Download ettiğiniz bu sıkıştırılmış paketi WinRAR veya WinZip ile açın. İki klasör göreceksiniz. Birincisi sql, ikincisi html. html klasöründe PHPNuke sisteminin dosyaları yer almakta.sql klasöründe ise veritabanı dosyası yer almakta. sql klasöründe yer alan nuke.sql dosyasını MySQL veritabanına PHPmyAdmin yazılımı ile yükleyip çalıştırın. Veritabanı tabloları oluşturulacaktır. Daha sonra html klasöründe yer alan config.php dosyasını herhangi bir editörle açın. Bizim bu konuda tavsiyemiz bir PHP editörü olan PHPed yazılımıdır. Bu yazılımı <http://www.inndir.com> adresinden download edebilirsiniz. config.php php dosyasınmda yer alan şu satırları değiştirin.
$dbhost = "localhost"; Bu satıra veritabanı sunucusunun adresini girmelisiniz. Bu adresi hosting hizmeti aldığınız hosting firmasından edinebilirsiniz.
$dbuname = "root"; Bu satıra veribanı kullanıcı adını girmelisiniz.
$dbpass = ""; Bu satıra ise veritabanı kullanıcısına ait olan parolayı girmelisiniz.
$dbname = "nuke"; Bu satıra sql sorgusunu çalıştırıp tabloları oluşturduğunuz veritabanı adını girmelisiniz.
$prefix = "nuke"; Bu satır sabit kalabilir.
$user_prefix = "nuke"; Bu satır yine sabit kalabilir.
$dbtype = "MySQL"; Bu satıra veritabanı sistemini girmelisiniz. PHPNuke MySQL, mSQL, PostgreSQL, PostgreSQL_local, ODBC, ODBC_Adabas, Interbase, Sybase veritabanları ile çalışabilir.
Bu ayarları yaptıktan sonra sitenize bağlanıp http://www.siteismi.com/admin.php yazın. Burada kendinize bir Admin ID ve parola belirleyin ve admin alanına giriş yapın. Burada "Seçenekler" veya "Preference" şeklinde bir bağlantı bulacaksınız. Buradan sistenize uygun ayarları yapabilirsiniz. Ayarlarda site adresi, site ismi, site sloganı, haber sayısı, alt alanda yer alacak bilgiler, bannerların aktif olup olmayacağı gibi birçok özelliği ayarlayabilirsiniz.
Dosyaları servera yönlendirdikten sonra bütün klasörlerin
CHMOD yani erişim haklarını 777, ve bütün
dosyaları erişim haklarını 666 olarak değiştirin. Bu riskli
bir uygulama ama dikkat etmeniz gereken her klasörün içine boş
bir index.html dosyası koymanız
gerekli. Kurulum işlemi bu kadar. Bundan sonra yapmanız gereken
site içeriğinizi hazırlamak.
ARaGoRN
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 07-03-04, 16:06 #8
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

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ş!");
}
Yukarıdaki örnekte $isim değişkeninin içinin dolu olup olmadığını sorguladık. Değişkenin değeri boş olduğu için bu denetleme sonucunda çıktı olarak yukarıdaki echo komutunun içeriğini alacağız. Peki ya değişkenin içi dolu olsa idi? İşte bu noktada devreye if deyiminin "else" kısmı giriyor. Aşağıdaki örneği inceleyin:

Kod:
if (empty($isim)) {
	echo("\$isim değişkeninin içi boş!");
}
else {
	echo("\$isim değişkeninin içi dolu!");
}
Hemen deyimimizin sonuna else kısmını ekledik. "Else" kelimesinin Türkçe karşılığı "değilse" gibi denebilir. Yani if kelimesinin tersi. Bu if deyimimizde empty(); fonksiyonunu kullandık. Bu ilk örnekteki sınama ile aynı işlevi gerçekleştirir. Yukarıdaki if yapısı "eğer $isim değişkeninin değeri yoksa şöyle böyle yap, varsa da şöyle şöyle yap" anlamı taşır. $isim değişkenine değer yüklersek else komutu çalışacaktır. Bu arada hemen dipnot olarak geçeyim ki empty(); fonksiyonunun tersi olarak isset(); kullanılabilir. Bu empty(); fonksiyonunun tam tersi olarak "eğer $isim değişkeninin değeri varsa .." gibi bir ifade ile açıklanabilir.

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.");
}
Yukarıda önce $x değişkeninin değerinin 3 olup olmadığı, sonra 5 olup olmadığı sınandı. Eğer iki koşulda sağlanmadıysa else kısmı devreye girdi. If ve else arasına istediğimiz kadar elseif tanımlayabiliriz. Fakat bir if deyiminde else kısmı sadece bir kere yazılabilir. Ayrıca unutulmamalıdır ki bir if deyimi mutlaka if ile başlamalıdır, if olmadan elseif ya da else kısımları yazılamaz.

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");
Yukarıda ilk olarak $x değişkeninin boş olup olmadığını sınadık. Eğer boş ise ilk print komutu, boş değilse ikinci print komutu devreye girecektir. Bizim $x değişkenimizin değeri 3 olduğu için alacağımız çıktı 2. print komutudur. Tabi ilk defa bunları öğrenmeye çalışan birisinin ilk olarak genelde kullanılan yapıyı öğrenmesi daha mantıklıdır Zaten genelde son örnek değil, ilk verdiğim şekillerde kullanım daha yaygındır. Tabi ki if deyimi için farklı yazım türleri de mevcuttur.

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;
Bu örnekte öncelikle sitemize hangi siteden geçiş yapıldığını $HTTP_REFERER sabiti ile öğrendik. Sonra bunu kendi sitemizin anasayfası ile kıyasladık ve eğer bizim anasayfamız haricinde bir başka siteden sitemize giriş yapılmak isteniyorsa ekrana echo komutu ile bir uyarı yazısı yazdırdık. Sonra da exit(); komutu ile işlemi durdurup endif; ile if deyimimizi sonlandırdık.

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ı
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 08-03-04, 00:33 #9
awesome awesome çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

çok iyi hoş da böyle kopuk kopuk olmuyor
sizin yaptığınız veya piyasada bulunan bir ebook varmı??
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 08-03-04, 10:49 #10
omer omer çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Evet Restrat bunları word dökümanı veya pdf dökümanı yap her sayafayada kendine ait olduğunu gösteren bir işaret ekle. Çok güzel olur sanırım..
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 08-03-04, 18:10 #11
Talat10gu Talat10gu çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Bende war. en kısa zamanda yollarım...
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 08-03-04, 18:30 #12
Talat10gu Talat10gu çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

ama server lasm. bana soleyn...
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 08-03-04, 22:52 #13
NaRCoTiC NaRCoTiC çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

arkadaşların dediği gibi döküman olarak hazırlayıp koysan daha iyi olur sanırım ama genede sen bilirsin aynende devam edebilirsin
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 09-03-04, 00:39 #14
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Dökümanlar tamamlandığı zaman bir e-book oluşturabilirim, eğer şimdi ben bunları yayınlamayıp, hepsini bitirdikten sonra e-book şeklinde yayınlarsam baya bir süre beklemeniz gerekecek. Şimdilik böyle devam edelim, işi tamamına erdirince e-book işini düşünürüz.
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 09-03-04, 20:35 #15
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

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>");
}
Yukarıdaki kodu ilk olarak şekil yapısı olarak inceleyelim. Dikkatinizi çekti ise her koşul case ile tanımlanıp break ile sona erdiriliyor. Bu iki eleman switch deyiminin olmazsa olmazları diyebiliriz. Örnekte ilk olarak $tarih değişkeninin değeri sınanıyor ve bu koşullara bağlanıyor. Switch deyiminde de, if deyimine benzer bir şekilde değişken tanımlanıyor, daha sonra süslü parantez "{ }" açılıyor ve koşullar sıralanıyor. Tüm koşullar sıralandıktan sonra, eğer hiçbir koşul sağlanmıyorsa devreye gidecek olan default kısmı yer alıyor. Unutmamalıdır ki bu kısmın switch deyiminin sonunda olması daha iyi olacaktır, eğer ortalarda ya da en başta olursa deyim hatalı çalışabilir. Ayrıca default bölümü case kısımlarında olduğu gibi noktalı virgül ile değil, iki nokta üstüste işareti ile yazılır. Eğer noktalı virgül koyarsanız yine hata alırsınız.

Ş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 http://127.0.0.2/ornek.php?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 http://127.0.0.2/ornek.php 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:
  • Case ve default kısımlarının imla farklarına dikkat etmeliyiz. (Yukarıda anlatılan noktalı virgül ve iki nokta üstüste farkı.)
  • Case ile başlattığımız her koşulu mutlaka break ile sonlandırmalıyız. Eğer sonlandırmazsak ya hata verir ya da diğer break; komutuna kadar çalışmaya devam eder ve bozukluk yaratır.
  • Switch yapısına başlarken açtığımız süslü parantezi mutlaka deyimin sonunda kapatmalıyız.

Mesela bir site yapıyorsunuz ve bu sitenizin aynı diğer sitelerdeki gibi http://127.0.0.2index.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)
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-03-04, 15:03 #16
TwiGGyRamiRez TwiGGyRamiRez çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

phpnuke de meta taglarını hangi dosyayı editleyip ayarlıyoruz ? ya da admin panelinde var mı böyle bir seçenek ?
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-03-04, 16:32 #17
ARaGoRN ARaGoRN çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

admin panelinde yoq!!
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-03-04, 19:21 #18
RestarT RestarT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Alıntı:
Gerçek Mesajı Gönderen RestarT
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.
rica ediyorum.
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-03-04, 22:52 #19
mesulidus mesulidus çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

Arkadaşlar Saolun yeni başlayanlar için en başından başlamıssınız çok iyi de en en baştan başlayıp windowsa apachi'yi php 'yi bilmem neyi nerden bulur nasıl kurarız ordan alsanız. Yani zahmet olmazsa
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-03-04, 18:34 #20
mthT mthT çevrimdışı
Varsayılan Cvp: PHP - Notlar && Dersler

mesulidus:
dağa taşa yazılmış bişi bu, www.download.com da phptriad diye ara, indir ve kur.. (ayrıntı istiosan biraz araştır)
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



Tüm saatler GMT +3. Şuan saat: 07:36
(Türkiye için artık GMT +3 seçilmelidir.)

 
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz.