PHP Dersleri Başladı.. [ Sürekli Güncellenecektir ]

Silverday

Altın Üye
Merhaba arkadaşlar, forumda birkac php dersleri konusu gördüm fakat çok yüzeysel anlatılmış.
öncelikle php'nin tabanının ve en ufak birimlerinde başlayacağız.

şimdi bir sayfada nasıl yazı yazarız ona bakalım..Bunun için iki yolu öğreneceğiz:
1. print fonksiyonu ile 2. echo fonksiyonu ile

PHP:
<?php
print "deneme yazımız";
?>
PHP:
<?php
echo("deneme yazımız");
?>
ikiside ekrana deneme yazımız yazdıracaktır.
unutmadan söyleyeyim php ile yapılan her sayfada kodlar <?php ile başlatılır ?> ile bitirilir.
Ve fonksiyonlarda parantez içinde tırnak kullanılır, parantezi kapattığımızda alt satıra geçerken noktalı virgül konulur.Aksi taktirde hata gelecektir.

ekrana yazımızı böyle yazdık.Şimdi aynı yazıyı PHP Değişkenleri kullanarak yazmayı deneyelim.Değişkenlerimiz $ işareti ile yapılır.Değişken $ sembolünden sonra yazılır, = ile de değişkene bir değer atanır, ve yine noktalı virgül koyup bir alt satıra geçilir.

PHP:
<?php
$degisken = "deneme yazımız";
print $degisken;
?>
ben burda print ile yazmayı tercih ettim, sadce bir degiskenden yazarken tırnak isareti kullanmamıza gerek kalmaz.Örneğin echo ile yazarken de böyle yapabilirdik:
echo($degisken);

şimdi deişkenleri daha iyi kavramak için değişkenlerin birbiriyle ilişkisine bakalım.

PHP:
<?php
$sayi1 = "45";
$sayi2 = "35";
$sayi3 = "2";
$islem = ($sayi1 - $sayi2) / $sayi3;
$sonuc = $islem;

echo($sonuc);
?>
simdi matematiksel bir işlem yaptık.önce şunu söyliyim ekranda 5 çıkacaktır =)
Nasıl yaptığımızı anlatalım, önce degiskenlerle sayıları tanımladım,
ve islem degiskeninde matematiksel islemimi uyguladım.Matematik işlemleri
- (çıkarma), + (toplama), * (çarpma), / (bölme) şeklindedir.
Ven sadece çıkarma ve bölme işlemi yaptım.Neden parantezleri kullandım,
çünkü dedimki önce çıkarmayı yap sonra bölmeyi yap.Matematik bilginizden de bilirsiniz zaten parantez olmadığı zaman öncelik bölme,çarpma,toplama çıkarma şeklindedir.
son olarakta sonuc degiskeni islem degiskenine esit olsun dedim ve echo ile sayfada yazdırdım.Umarım ki anlamışsınızdır, elimden geldiğince ayrıntılı anlatmaya çalışıyorum.

Şimdide bir değişkeni metin içinde kullanmayı göstereceğim.

PHP:
<?php
$eklenecek_metin = "ek metin";

echo("Şimdi alt satıra bir metin eklenecektir:<br> $eklenecek_metin";
?>
şeklinde yaptık ve yazımızı yazdırdık.

PHP Kodlanırken de satırlarda yapılan hataların %75'i tırnak işaretlerinden meydana gelir.
Eğer bir fonksiyonun değerini tırnak içinde yazdıysak, ve bu değerin içinde de tırnak işareti varsa PHP bunu hata olarak algılayacaktır.Bunu da \ sembolü yardımıyla yapacağız.

PHP:
<?php
// Hatalı Kodlama

echo("Atatürk: "Ne Mutlu Türküm Diyene!" dedi.");
?>
şeklinde yaparsak Parse Error alırız.doğrusu böyle olacaktır.
PHP:
<?php
// Doğrusu,  \ işaretlerine dikkat

echo("Atatürk: \"Ne Mutlu Türküm Diyene\" dedi.");
?>
evet buda böyle oldu, fakat şöyle birşey daha var bir metin içinde \ 'yi direk kullanamayız, mesela ekrana
deneme\yazımız yazmak istiyoruz
bunu
PHP:
print "deneme\yazımız";
olarak yazamayız.Bunun için de çare var, böyle yapmalıyız:
PHP:
print "deneme\\yazımız";
yani \\ iki kere kullanıyoruz.






şimdilik bu kadar yeter.Zaten en iyi oturması gereken de değişkenlerdir.
Sizlere bildiklerimi anlatmaya devam edeceğim. :melek:melek

Silver*


Şimdi de PHP'nin kullanışlı yönlerinden başlayalım.Daha önce yaptıklarımız en basit şeylerdendi.Öncelikle web programlamada kural nasıl koyulur, kural koyduktan sonra nasıl emir verilir öğrenelim.

if deyimi:
If bildiginiz gibi ingilizcede eğer demektir,yani php'de de eğer ... olursa şunu şunu yap
işlevini görür.kullanımı böyledir:
if ( kural ) {
işlem, yapılması gereken
}


else deyimi:
if kuralından sonra kullanılır.Yani bir kural verildiğinde yapılması gereken işlem verilir if ile.
daha sonra diger islemler icin tek tek if kullanmamak icin direk else kullanılır.
Else, diğer her durumda bunu yap demektir.Kullanımı:
else {
işlem
}


Yardımcı Elemanlar:

PHP:
==             >        eşit ise,
!=              >        farklı ise,
!                >        tanımsız ise  (onun yerine == ""  de kullanilabilir)
or              >        veya,   sembol olarak  ||  da yapılır
and           >         ve   , sembol olarak  &&
<              >       küçüktür (numerik işlemler için tabiki)
>              >       büyüktür
>=            >       büyük eşittir
<=            >       küçük eşittir
hemen örneklerimizle başlayalım..Aynı şeyi sürekli farklı yollardan yapacağım.

PHP:
<?php
// buraya değerlerimizi yazalım
$degerimiz = "hackhell";
$degerimiz2 = "silverday";
$degerimiz3 = "hh";


if($degerimiz == "hackhell" and $degerimiz2 = "silverday") {

print "\$degerimiz = \"hackhell\" ve \$degerimiz2 = \"silverday\"  dir.";

}
else {
print "lütfen değerleri kontrol edin.";
}


?>
ekranda: $degerimiz = "hackhell" ve $degerimiz2 = "silverday" dir. yazdı.

PHP:
<?php

$sayi = "3";

if($sayi > 1 and $sayi <= 3) {
print "sayımız 1den büyük, 3ten küçük eşittir.";
}
else {
print "sayımız  3 => x > 1 aralığında değildir, lütfen kontrol ediniz";
}
?>
PHP:
<?php
$deger = "hackhell";

// değerimiz hackhell, veya silverday ise işlem yapalım

if($deger == "hackhell" or $deger == "silverday") {
print "değer hackhell veya silverday";
}
else {
print "değerleri kontrol ediniz.";
}
?>
PHP:
<?php
$deger = "deneme";

// degerimiz deneme dğeerinden farklıysa
if($deger != "deneme") {
print "degerimiz deneme'den farklı";
}
else {
print "değerimiz deneme'dir.";
}
?>
tabi ekranda: değerimiz deneme'dir yazacak.


PHP:
<?php

// şimdi varolmayan bir deişkenimizle konuşalım =)

if(!$ornekdegisken) {
print "\$ornekdegisken adli bir deişken yok ya da deişken değeri tanımsız";
}

?>



If'ler üzerinde daha fazla da duracağız, bunlar önemlidir =)



Diğer Sayfalara da Bakınız >
 

Silverday

Altın Üye
POST ve GET değişkenleri:

GET nedir ?

bazı web url'lerde görürsünüz şöyle bişeyler olur index.php?action=ornek gibi.
benim bu konulardaki taktiğim şöyledir,
browsera index.php olarak girilirse şu sayfayı göster; ?action=ornek yapilirsa şunu göster/yap şeklindedir.
?action kısmına işlem diyelim dimi türkiyede yasıyoruz :p
hemen bi örnek gösterelim:

PHP:
<?php
// Normal Sayfamız
$sayfa = "Sitemize Hoşgeldiniz. Kayıt olmak için <a href=\"?islem=kayit\">buraya</a> tıklayınız.";

// işlem adlı get kayıt değerine sahipse, yani ?islem=kayit girildiyse
if($_GET['islem'] == "kayit") {

     // Bu sayfayı Göster
$sayfa = "Kayıt Sayfasındasınız. Geri dönmek için <a href=\"index.php\">buraya tıklayın.</a>";

}

echo($sayfa);

?>
evet umuyorumki anladık.Eğer browsera index.php?islem=adasdasd yapılsaydı da varsayılan sayfamız gelecekti.
aynı şekilde get ile kural koymak istiyorsanız benim yaptığım gibi if kullanmalısınız.


POST Nedir?

POST, bir önceki sayfanın <form>'undan bizlere gönderilen değerlerdir.Bu değerleri form içindeki
input,textarea,select gibi araçların üstüne atanan name="" parametresi ile ayırt ederiz.
hemen denememizi yapalım: (sayfa tasarrufu için geti de kullanıyoruz)

PHP:
<?php
// Varsayılan sayfa

$sayfa = "<b>Kayıt Sayfası</b><br><br>
<form action=\"?islem=kayit\" method=\"post\">
<input type=\"text\" name=\"username\"> - <input type=\"password\" name=\"password\">
<br><input type=\"submit\" value=\"Kayıt Ol >\">
</form>";

// Kayıt Sayfası (get işlemi kayıt değerine sahip ise)
if($_GET['islem'] == "kayit") {
     
   // ve username ile password parametreleri girildiyse
if(isset($_POST['username']) && isset($_POST['password'])) {

$sayfa = "$_POST[username] ve $_POST[password] ile kayıt oldunuz.Teşekkürler.";

}
else {
$sayfa = "Lütfen Geri Dönüp Değerleri  Giriniz.";
}


}

echo($sayfa);
burda birkaç şey daha öğrendik, isset fonksiyonu. isset fonksiyonu bir değişkene değer atanıp atanmadığını söyler.
zaten fonksiyon isminde görüldüğü gibi is set =)

bu şekilde POST'u da öğrenmiş olduk.Şuanda bu foruma mesaj yollarken bile POST özelliğini kullanıyorsunuz :p

birdahaki derste görüşmek üzere:

Silver*
 

Silverday

Altın Üye
SWITCH Deyimi

switch fonksiyonu, bir değişkende birden fazla if ile kural koymadan işlem yaptırmayı sağlar.
Msela; elimizde bir değişkenimiz var, ve şimdi de ben if ile 3 tane kural koymak istiyorum.

PHP:
<?php
// değişkeni formdan aldık diyelim :)
$degisken = $_POST['degisken'];

// deişkenimizin değeri enes ise (benim adım bu arada :)
if($degisken == "Enes") {
print "değişkenimizin değeri enes";
}
// değişken silverday ise
if($degisken == "silverday") {
print "değişkenimizin değeri silverday";
}
if($degisken == "hackhell") {
print "değişkenimizin değeri hackhell";
}


?>
bu şekilde uzun bir çalışma yaptık gördüğünüz gibi..
Şimdi aynı olayı swtich ile yapalım daha kolay olacak =)

PHP:
<?php

$degisken = $_POST['degisken'];

switch($degisken) {
case "Enes";
print "değişkenimizin değeri enes";
break;

case "silverday";
print "değişkenimizin değeri silverday";
break;

case "hackhell";
print "değişkenimizin değeri hackhell";
break;

default:
print "Değişken değerimiz enes,silverday veya hackhell değil";
}

?>
Switch Kullanımı:

Kod:
switch ( $değişken ) {
case 1.şart;
1. Şart doğru ise yapılacak işler
break;
case 2.şart;
2. şart doğru ise yapılacak işler
break;
case 3. şart;
3. şart doğru ise yapılacak işler
break;
default:
Bu şartların hiçbiri doğru değilse yapılacak işler
}

kaldığımız yerden devam edeceğiz =)

Silver*
 

bymxx

New member
$_post $_get demişsin ve açıklamışsın get get methodunu post post methodunu kullanıyor birde $_request var her iki methodu da kabul ediyor belki birilerine lazım olur
 

Silverday

Altın Üye
Cookie Yazma ve Silme İşlemleri

COOKIE BIRAKMA / SİLME

türkçe karşılığı çerez olarak belirtilen cookie'ler, php,javascript gibi web prgramlama dilleriyle bırakılabilir.
ne işe yarar bu cookie?
mesela bi üyeniz sitenize giriş yapacak, ve giriş yaptıktan sonra yaptığı girişi hatırlatmamız gerekiyor.
yani kullanıcı 15 dakkada bi login olmak yerine belkide 1 ay boyunca giriş yapmış gibi dolaşabilir.

cookie şu şekilde kullanılır setcookie("cookie adı", "cookie değeri", süreç, "/");
süreç kısmı numerik olmalıdır.Saniye cinsinden yazılır. time()+ ... şeklinde

örnek cookie bırakma:
PHP:
// Username ve passwordu bir önceki sayfanın formundan post ile çektik
if(isset($_POST['username'] && isset($_POST['password)) {
	setcookie("username", $_post['username'], time()+3600*168, "/");
	setcookie("password", $_post['password'], time()+3600*168, "/");
}
else {
die("Lütfen Geçerli  bir kullanıcı ve şifre giriniz!");
}
yukarıda gördüğünüz gibi zaman sürecini time()+3600*168 yaptım. yani 3600*168 = 168 saat olacaktır.buda 7 güne eşittir.yani cookiemiz 7 gün geçerli olacak.


Cookie Silme

bundada yine cookie ismini giriyoruz ve zaman sürecindeki + olan yeri - yapıyoruz.
örnek:

PHP:
// Cookieleri siliyoruz
if(setcookie("username", "", time()-3600*168, "/") and setcookie("password", "", time()-3600*168, "/")) {
print "Cookieler Silindi !";
}
else {
die("Cookie silme hatası !");
}
bu sayede Login/Logout İşlemlerini Yapabiliriz.

Örnek Login/Logout Sistemi

giris.html

HTML:
<html><body><form action="giris.php" method="post">
Kullanıcı Adı: <input type="text" name="username"><br>
Şifre: <input type="password" name="password"><br>
<br><input type="submit" value="Giriş >"></form></body></html>
giris.php:

PHP:
// gerçek değerler, aslında bu kısımda database kullanılır ama konumuz cookieler olduğu için böyle gösteriyorum
$gercek_username = "silverday";
$gercek_sifre = "hackhell";

if(isset($_POST['username']) && isset($_POST['password']) {

// Giris.htmlden girilen değerler
$username = $_POST['username'];
$password = $_POST['password'];

// giriş yapılan değerler bir kullanıcıyla eşleşiyorsa

if($username == $gercek_username && $password == $gercek_password) {

// cookie bırak + diğer cookieler ile karışmaması için cookieye bir önek konur. örnek hh_

setcookie("hh_username", $username, time()+3600*168, "/");
setcookie("hh_password", $password, time()+3600*168, "/");

print "Giriş yapıldı > cookie bırakıldı";
}
else {
print "Kullanıcı adı ve şifre eşleşmiyor.";
}
}
else {
print "geri dönüp tüm alanları doldurunuz.";
}
böyle yaptık.birde çıkışımızı yapalım.

index.html'de olsun buda..

HTML:
içerik vs.vs.vs. <br><br>
<a href="logout.php">Çıkış Yap</a>
cikis.php

PHP:
// Cookieleri Sil
if(setcookie("hh_username", "", time()-3600*168, "/") and setcookie("hh_password", "", time()-3600*168, "/")) {
print "çıkış yapıldı !";
}
else {
die("çıkış yapılırken hata  !");
}





Cookieleri Okuma

cookieler PHP'de bir fonksiyonla değil bir değişken ile okunur.
okunma şekli $HTTP_COOKIE_VARS['cookie adı'] ,bize direk öyle bir cookie varsa
onun değerini verir.

bir önceki dersimizdekilerden de yararlanarak, üye/ziyaretçi sayfası yapalım.

index.php

PHP:
<?php

// veritabanına baktık

$username = "silverday";
$gercek_password = "hackhell";

// direk cookie varmı ve kullanıcı&şifre eşlemesi doğru mu diye bakalım

if(isset($HTTP_COOKIE_VARS['hh_username']) && isset($HTTP_COOKIE_VARS['hh_password']) && $HTTP_COOKIE_VARS['hh_username'] == $gercek_username && $HTTP_COOKIE_VARS['hh_password'] == $gercek_password) {

$sayfa = "Üyelerin Görebileceği Sayfadır..<br><br><a href=\"cikis.php\">Çıkış Yap!</a>";


}
else {

$sayfa = "Ziyaretçi sayfasıdır..<br><br><a href=\"?islem=giris\">Giriş Yap!</a> - <a href=\"#\">Üye Ol</a>";

}

if(isset($_GET['islem']) {

if($_GET['islem'] == "giris") {

$sayfa = "

	<html><body>
<form action=\"giris.php\" method=\"post\">
Kullanıcı Adı: <input type="text" name="username"><br>
Şifre: <input type="password" name="password"><br> 
<br><input type="submit" value="Giriş >"></form>
	</body></html>


";

}
}

echo($sayfa);

giris.php

PHP:
// gerçek değerler, aslında bu kısımda database kullanılır ama konumuz cookieler olduğu için böyle gösteriyorum
$gercek_username = "silverday";
$gercek_sifre = "hackhell";

if(isset($_POST['username']) && isset($_POST['password']) {

// Giris.htmlden girilen değerler
$username = $_POST['username'];
$password = $_POST['password'];

// giriş yapılan değerler bir kullanıcıyla eşleşiyorsa

if($username == $gercek_username && $password == $gercek_password) {

// cookie bırak + diğer cookieler ile karışmaması için cookieye bir önek konur. örnek hh_

setcookie("hh_username", $username, time()+3600*168, "/");
setcookie("hh_password", $password, time()+3600*168, "/");

print "Giriş yapıldı > cookie bırakıldı";
}
else {
print "Kullanıcı adı ve şifre eşleşmiyor.";
}
}
else {
print "geri dönüp tüm alanları doldurunuz.";
}

cikis.php

PHP:
// Cookieleri Sil
if(setcookie("hh_username", "", time()-3600*168, "/") and setcookie("hh_password", "", time()-3600*168, "/")) {
print "çıkış yapıldı !";
}
else {
die("çıkış yapılırken hata  !");
}


String Fonksiyonlar

Arkadaşlar string fonksiyon olarak belirtilen ve genellikle str
ile başlayan fonksiyonlar metinlere etki eder.mesela

"silverday" olan bir metni biz string fonksiyon ile "SİLVERDAY" yaptırabiliriz.
veya "hackhell" kelimesi içinde h harfi var mı yok mu diye anlayabiliriz.
bu sayede mesela bir posttan mail adresi alırken @ ve . (nokta) var mı diye bakabilirz.


şimdi bir örneğimizle başlayalım.


strtoupper: yazıyı büyük yazıya çevirir. STRING TO UPPER :)

PHP:
echo(strtoupper("siLverday"));
Kod:
// Sonuç

SİLVERDAY

strtolower: büyük harfli yazıyı küçük yazıya çevirir. STRING TO LOWER :)

PHP:
echo(strtolower("HaCKHeLL"));
Kod:
// Sonuç

hackhell

ucwords: verilen metindeki her kelimenin ilk harfi büyük

PHP:
echo(ucwords("ankara türkiye'nin başkentidir."));
Kod:
// Sonuç

Ankara Türkiye'nin Başkentidir.

ucfirst: ucwords fonksiyonuna benzer, ama bu her kelimeyi değil sadece metnin ilk harfini büyütür.

PHP:
echo(ucwords("ankara türkiye'nin başkentidir."));
Kod:
// Sonuç

Ankara türkiye'nin başkentidir.
strlen: verilen metinde kaç tane karakter olduğunu sayar. (boşluklar da dahil)

PHP:
echo(strlen("deneme yazı hackhell"));
Kod:
// Sonuç

20

strip_tags: verilen metindeki HTML kodlarını deaktif hale getirir.

PHP:
echo(strip_tags("<strong><s>Kalın üstü çizili yazı</s></strong>"));
Kod:
// Sonuç

Kalın üstü çizili yazı

strrev: verilen metindeki karakterleri tersten yazdırır

PHP:
echo(strrev("hackhell"));
Kod:
// Sonuç

llehkcah



 

Silverday

Altın Üye
İçeri Aktarma

içeriye sayfa aktarma include fonksiyonu ile gerçekleşir.
include edilen dosyanın tüm fonksiyonları ve deişkenleri include edilen dosyada kullanılabilir.

örneğin database bağlantısı için sürekli config.php include edilir.


PHP:
<?php

// aktar
include("config.php");

# işlemler..

?>
 

Silverday

Altın Üye
Replace ile Metin içerisinde değişiklik

tekrar merhaba arkadaşlar, şimdiki dersimizde str_replace komutu ile bir metin içinde, arama yapıp
aranan metni verilen metin ile değiştirmeyi göreceğiz..

str_replace( array değişkeni ile ara, array değişkeni ile değiştir, değiştirilecek metin)

örneğimizi yapalım:


PHP:
<?php

$metin = "Hachell.Com [COLOR="Black"]PHP[/COLOR] Dersleri";
$ara = "PHP";
$degistir = "<b>PHP</b>";

// değiştirme işlemini yap

$metin = str_replace(array("$ara"), array("$degistir"), $metin);
print $metin;

?>
sonuç aşağıdaki gibi olacaktır:


Kod:
Hackhell.com [B][COLOR="Black"]PHP[/COLOR][/B] Dersleri


bir örnek daha yapalım:

PHP:
<?php

$elma = "Apple";
$portakal = "Orange";
$muz = "Banana";
$meyveler = "$elma, $portakal, $muz";

print "<b>İlk Meyveler:</b> ".$meyveler . "<br><br>\n";

// replace

$meyveler = str_replace(
array("Apple", "Orange", "Banana"), 
array("Elma", "Portakal", "Muz"), 
$meyveler
);

print "<b>Replace'ten Sonra:</b> ".$meyveler;

?>
sonuç aşağıdaki gibi olacaktır:


Kod:
[B][COLOR="Black"]İlk Meyveler:[/COLOR][/B] Apple, Orange,  Banana

[B][COLOR="Black"]Replace'ten Sonra:[/COLOR][/B] Elma, Portakal, Muz

umarım anlasılmıştır..

*silverday
 
Üst