UPLOAD

    Emre Ramazanoğlu

    Istanbul, Turkey

    19.5K

    Sıfırdan PHP Dersleri

    Published: July 18, 2018

    Sıfırdan Ücretsiz PHP Eğitim Seti

    Comments

    Sıfırdan PHP Dersleri

    • 1. Sıfırdan PHP Dersleri Sıfırdan PHP Dersleri
    • 2. İçindekiler İçindekiler •PHP Nedir & Ne İşe Yarar •PHP Kurulum •PHP İle Temel Komutları •PHP İle Matematik İşlemleri •PHP ‘de Döngüler •PHP Orta Seviye •PHP PDO İle Veri taban Bağlantısı
    • 3. PHP Nedir PHP Nedir PHP (açılımı PHP: Hypertext Preprocessor) geniş bir kitle tarafından kullanılan, özellikle sanal yöreler üzerinde geliştirme için tasarlanmış HTML içine gömülebilen bir betik dilidir. Tamam da, bu tam olarak ne anlama gelmektedir? Bir örnek: Örnek
    • 4. PHP Nedir PHP Nedir •Bir PHP betiğinin Perl ya da C gibi dillerden ne kadar farklı bir yapıda olduğuna dikkat edin. • HTML kodu oluşturmak için bir sürü kod yazacağınıza, istediğiniz işi yapan bir PHP kodu yazıp onu HTML kodunun içine gömüyorsunuz (bu örnekte, yapılan iş ekrana yazı yazmak). •PHP kodu özel başlangıç ve bitiş etiketleri arasına yazılır. Bu etiketler "PHP kipine" rahatlıkla girip çıkabilmenizi sağlarlar. •PHP'yi Javascript gibi kullanıcı tarafında çalışan dillerden ayıran, sunucu tarafında çalıştırılıyor olmasıdır. •Yukardaki örnekteki kodu kendi sunucunuzda çalıştırırsanız, sitenize bağlanan kullanıcılar kodu göremeyecekler ve müdahale edemeyecekler, yalnızca sonucu görebileceklerdir. •Dilerseniz HTTP sunucunuzu bütün HTML dosyalarınızı PHP dosyası olarak görüp işleyecek hale bile getirebilirsiniz. Buna rağmen kullanıcılar sizin gerçekte sunucu taraflı bir uygulama kullandığınızı fark edemeyebilirler.
    • 5. PHP Kurulum PHP Kurulum •XAMPP Nedir? XAMPP ücretsiz popüler bir PHP geliştirme ortamı olarak kolay kurulumu ile geliştirdiğimiz PHP uygulamalarımızı çalıştırabilen, Apache dağıtımı olup MariaDB, PHP ve Perl'in kolaylıkla yüklenilebilmesi ve kullanılabilmesi için ayarlanmıştır. Windows, Linux ve OS X için dağıtımlar mevcuttur, kişisel kullanım için ücretsizdir buda XAMPP'ı PHP'ciler için vazgeçilmez bir araç yapıyor. •Karşıdan yükleme ve Kurulum XAMPP'ı https://www.apachefriends.org/tr/index.html adresinden yaklaşık 110mb olan dosyayı indirdikten sonra kuruluma başlayabilirsiniz ancak daha önce Windows'a Mysql kurduysanız silmeniz daha iyi olur XAMPP silmeden de kurulur ancak Mysql'in ayarlarına XAMPP üzerinden erişemezsiniz uygulamalarınız XAMPP ile gelen Mysql değil de diğeri ile çalışır bu detayı belirttikten sonra kuruluma geçelim.
    • 6. Xammp Kurulum Xammp Kurulum Gördüğünüz gibi (64 bit) sürümü bulunmuyor sorun değil (64 bit) Windiws'ta da bu kullanılıyor ve sorun çıkmıyor rahat olun Ben PHP için kurulum yapıyorum o yüzden sadece bu seçenekleri seçtim diğer bileşenler gereksiz çünkü localhost'tan ne mail göndereceğim nede localhost'ta uzaktan FTP ile erişim yapmayacağım ileri diyerek devam ediyoruz.
    • 7. Kod Editörü Kurulumu Kod Editörü Kurulumu •Notepad++ Ne Dir Notepad++ Bütün Yazılım Dillerini İçinde Barındıran Kod Aracıdır. •PHP İçin Genelikle Notepad++ Kullanılır, Notepad++ İndirmek İçin https://notepad-plus-plus.org/download/v7.5.7.html Adresine Girip İndirelim Ve Bildiğimiz Klasik Program Kurulum Sistemi Next Next Next Sonra Ok Biti 
    • 8. PHP Temel Komutlar PHP Temel Komutlar •İlk Basta PHP Kodları Nasıl Yazılır, PHP Kodları Taglarının Arasına yazılır. •PHP De Ekrana Bir Yazı Yazdırma İslemi •PHP De Echo Komutu İle Bir Veriyi Bir Değeri Ekrana Yazdıra Biliriz •Print İslemi İle Echo İslemi Arasında Fazla Bir Fark Yok ECHO PRİNT YAPISI
    • 9. PHP Temel Komutlar PHP Temel Komutlar •PHP İle Bir Veriyi Bir İslemi Bir Değiskene Aktarma Cok Basit PHP De Değisken İşareti $ Dolar İşareti Olarak Gösterilir. •Örnek $.1 = Seklinde Yaparsak •Değiskenler İle tek Veri Olarak İsim Vermiyede Biliriz Örnek $degisken1 = file_get_contents(‘https://wowslides.com’); İle File_get_contents Funtionu $degisken1 Esit Yaptık Eğer ben echo $degisken1; dersem File_get_contents Funtionunu Calıstırır •Not: File_get_contents Funtionu Bir Siteye Bir Dosyaya Bağlanmamıza Yarar. $Değiskenler
    • 10. PHP Temel Komutlar PHP Temel Komutlar •PHP SABİTLER •PHP sabitleri yapacağın çalışmalarda adı üstünde değişken olmayacak, çalışma boyunca hiç değiştirilmeden sabit kalacak değerleri tanımlaman için kullanılır. Ayrıca sabitler sadece bir kez tanımlanıp bir daha değiştirilemediği için güvenlidir. •Sabitlerin tanımlanması define() fonksiyonu ile yapılır. İki argument ile uygulanır. Örnek; • Seklinde Yaparsak Ekrana Wowslides.com Cıktısı Verir
    • 11. PHP TEMEL KOMUTLAR PHP TEMEL KOMUTLAR •Dizileri tanım olarak kısaca daha önceden öğrendiğin değişkene birden fazla değer atamak ve atadığın değerleri sırayalayıp, çoklu verilere rahat müdahale etmeni sağlayan veri tipleri diyebilirim. •Değerleri bir kategori altında toplamak ya da daha dinamik değişkenler oluşturmak için diziler idealdir. Örneğin sadece bir $uyeler değişkeninde yüzlerce kullanıcının verilerine ulaşıp değişiklikler yapabiliriz. •Dizilerin kullanımı, oluşturulması ve değiştirilmesi gayet basit aynı zamanda bunların birden fazla da yolu var. Diziler
    • 12. TEMEL PHP KOMUTLARI TEMEL PHP KOMUTLARI •Dizi (Array) oluşturma •İster Array() fonksiyonunu kullanarak istersen de fonksiyon kullanmadan dizi oluşturabilirsin. İlk olarak Array() fonksiyon ile oluşturmayı göstereyim: •$meyveler = array("Elma", "Armut", "Muz", "Kiraz"); •$meyveler dizisine array() fonksiyonuyla 4 tane değer atadık. •Aynı işlemi fonksiyon kullanmadan yapalım: •$meyveler[0] = "Elma"; •$meyveler[1] = "Armut"; •$meyveler[2] = "Muz"; •$meyveler[3] = "Kiraz"; •Fonksiyonsuz yöntemde aslında dizinin nasıl sonuç verdiği ortaya çıkmış oluyor. Üstteki Array() fonksiyonu ve fonksiyonsuz şekilde oluşturduğumuz dizilerde aynı işlemi yaptık. Diziler
    • 13. TEMEL PHP KOMuTLARI TEMEL PHP KOMuTLARI •Girilen sitelerin tarayıcılar(browserlar) üzerinde bıraktığı izlere cookie, Türkçesiyle de çerez denir. Bu izler siteye tekrar ziyaret edildiğinde yeniden gönderilerek bazı şeylerin yeniden hatırlanmasını sağlar. • Mesela giriş formlarında kullanıcının şifresini ve kullanıcı adını cookieler sayesinde tarayıcıya kaydederek bir sonraki gelişinde bilgilerini yeniden girmek zorunda kalmadan direkt giriş yapabilir. • Temel olarak kullanıcı bilgilerini hatırlanmasında kullanılan çerezleri hayal gücünüzün el verdiği kadar bir çok alanda da kullanmak mümkün. • PHP Cookie (Çerezler)
    • 14. TEMEL PHP KOMUTLARI TEMEL PHP KOMUTLARI •PHP’de cookie oluşturma işini bir setcookie() fonksiyonu ile yapıyoruz. • Fonksiyonda tarayıcıya gönderilecek ve saklanacak olan değerin anahtarını ve içeriğini belirttiğimiz gibi bir de ne kadar süre tarayıcıda saklanacağınıda belirtiyoruz. setcookie("çerezim", "selam dünya"); •Yukarıdaki örnekte çerezim adında bir cookie oluşturduk ve değerinide selam dünya yaptık. Ve 3. parametre olarak hiç bir şey girmediğimiz için varsayılan olarak tarayıcı kapatıldığında çerez silinecek. •Eğer çerezin bizim istediğimiz bir gelecek tarihte silinmesini istiyorsakta 3. parametreyi devreye sokacağız. İşte bunun içinde bir örnek: •setcookie("çerezim", "selam dünya", time() + (60*60*24)); •Şimdi 3. olarak girdiğimiz time() + (60*60*24) bu parametre şu anki zamana saniye cinsinden 60*60*24 tam olarak 24 saat yani 1 gün eklemiş olduk. •Bu oluşturduğumuz çerezin son kullanma tarihi şuandan itibaren + 24 saat sonra demek oluyor. 1 gün sonrasında bu çerez siteye girildiğinde gönderilmiyor olacak.
    • 15. TEMEL PHP KOMUTLARI TEMEL PHP KOMUTLARI •Cookie silme •Oluşturduğumuz bir çerezi silmek için yine normal bir çerez tanımlarmış gibi setcookie()fonksiyonunu kullanıyoruz. Tek fark 3. son kullanma tarihi paramteremize geçmiş bir zaman giriyoruz. Bu sayede çerezin tarihi dolmuş varsayılıp hemen siliniyor. Örnek olarak bu çereze time() – 3600 diyerek 1 saat öncesini göstereceğiz ve çerez silinmiş olacak: •setcookie("çerezim", "selam dünya", time() - 3600);
    • 16. TEMEL PHP KOMUTLARI TEMEL PHP KOMUTLARI •Cookie kullanımı • Çerez kullanımı $_COOKIE dizisi üzerinden yapılır. Bu dizi otomatik olarak o sayfaya gönderilen çerezlere göre oluşur. Yukarıdaki oluşturduğumuz çereze ulaşmak için aşağıdaki kodu kullanırız, ki bu koddan ne kadar basit ve anlaşılır olduğu belli oluyor: • echo $_COOKIE['çerezim’]; •Ekranda yukarıdaki örneğin devamı olarak gösterdiğimiz bu örnekten ötürü selam dünya yazar. •
    • 17. PHP TEMEL KOMUTLARI PHP TEMEL KOMUTLARI •PHP Session (Oturum yönetimi) •PHP de session olayını cookie ile karşılaştırarak yapalım. Çünkü kullanım ve uygulama olarak cookie ile aynı ama teknik olarak farklı. Session aynı çerezlerde olduğu gibi $_SESSION global dizisi ile okunur, fakat yazılması için çerezlerdeki gibi bir fonksiyona ihtiyaç duymaz. •Çerezlerin son kullanma tarihini biz belirlerken sessionlar tarayıcının kapatılmasıyla silinir. Yani siteye girildiğinde oluşturacağımız sessionlar, girenin sayfayı kapatmasıyla silinecektir. •Kullanım, oluşturma ve silme dışındaki asıl teknik farkı da sessionların tarayıcıya direkt olarak tanımlanmıyor olması. •Session ve cookie arasındaki fark Bunu şöyle açıklayayım; bir çerez tanımladığımızda bu çerezin adı ve değeri tarayıcıya açıkca gönderilir ve bu değer istenilen süre boyunca tarayıcıda açık bir şekilde saklanır. •Sessionda ise kaydedilen değer ve değerin adı tarayıcıya gönderilmez. Onun yerine PHPSESSIDadında içinde uzun bir session id değeri bulunan bir çerez tanımlanır. Ve bizim oluşturduğumuz sessionlar sunucuda saklanır ve girenlerin gönderdiği PHPSESSID kimliğine göre kime ait oldukları bulunur ve yeniden düzenlenir.
    • 18. TEMEL PHP KOMUTLARI TEMEL PHP KOMUTLARI Başta da dediğim gibi sessionları tek bir $_SESSION global dizisi üzerinden okuyup, oluşturup, silebiliyoruz. Tek önemli mevzu session kullanımına ya da oluşturulmasına başlamadan önce bir kere her sayfanın en başında session_start() fonksiyonunu yazmalıyız, bu fonksiyon session olayını kullanıma hazırlar ve olmazsa olmazdır. •Bazı sunucularda session kullanımı otomatik olarak hep açıktır, açık olan sunucularda session_start() yazmaya çalışırsanız hata verir. Bu durumda bu fonksiyonu kullanmaya gerek yoktur. •session_start(); •$_SESSION['mesaj'] = 'Selam dünya!’; •Yukarıda ilk önce session kullanımını başlattık ve ardından aynı bir dizi tanımlarmış gibi $_SESSION global dizisine mesaj anahtarına Selam dünya! değerini verdik. Yani mesaj adında bir session oluşturduk ve değerini Selam dünya! yaptık. Session oluşturma
    • 19. PHP MATEMATİK İSLEMİ PHP MATEMATİK İSLEMİ •Öncelikle Arkadaslar burda Matematik Yazıyor Diye Kaçmayalım Okuldaki Matematikten Farklı. •Aritmetik operatörler gayet basit. İlkokulda öğrendiğimiz şeyler, bunlara matematiksel operatörlerde diyebilirsin. Bu operatörler ile istediğin değerlerin toplamasını, çıkarmasını, bölmesini ve çarpmasını yapabilirsin. •İşte PHP’de aritmetik operatörler, isimleri ve örnekleri:
    • 20. Slide20 •Bunların bir de uygulamasını gösterelim: $a = 10; •$b = 5; •echo $a + $b; •Seklinde Yaparsak Cıktı 15 Olarak Verir Carpma Bölme İslemleri De Aynı Şekilde •echo $a * $b; •echo $a - $b; •echo $a / $b; PHP MATEMATİK İSLEMİ
    • 21. PHP Döngüler PHP Döngüler
    • 22. PHP Döngüler PHP Döngüler •For Döngüsü: •For döngüsü belirli sayıda dönecek olan kodların kullanımında kullanışlıdır. For döngüsüne 3 parametre girilir. Birinci parametre döngüde kullanılacak olan değişkeni ve değerini tanımlar, ikinci parametre whilede olduğu gibi koşulu belirtir, üçüncü parametre ise her döndüğünde yapacağı işlemi belirtir. • for( başlangıç; koşul; her çalışmada olacak olan ) { • //} koşul doğru olduğu sürece çalışacak kod bloğu •Hemen örnek bir kullanım göstereyim: • for($sayi = 0; $sayi < 5; $sayi++) { • echo ' Döngü ' . $sayi; •}
    • 23. PHP Döngüler PHP Döngüler •Foreach döngüsü • Foreach döngüsüne array döngüsü diyebiliriz. Paramtere olarak bir dizi alır, ve dizi içindeki eleman sayısı kadar döner. Sadece bir dizi ve foreach döngüsü ile güzel bir listeleme yapabiliriz. Kullanımı diğer döngülerden farklı ama basittir. •Paramterede as deyiminden sonra yazdığımız değişkene her döngüde sırayla bir eleman değerini yükler. • $meyveler = array('Elma', 'Armut', 'Portakal', 'Muz'); •foreach($meyveler as $meyve) { • echo $meyve . ' Yiyin! ‘; •} •Ekranda Elma Yiyin! Armut Yiyin! Portakal Yiyin! Muz Yiyin! yazar. •Dizide ne kadar eleman varsa hepsini sırayla parameterede belirttiğimiz $meyve değişkenine atayarak döndürür.
    • 24. PHP DÖNGÜLER PHP DÖNGÜLER •While döngüsü • While döngüsünün koşul olayı if ifadesi ile aynı diyebiliriz. İçerisine yazacağımız koşul doğru olduğunda kod bloğunu çalıştıran if ifadesinde olduğu gibi whilede aynı şeyi yapar. Tek farkı döngü olduğu için koşul doğru olduğu sürece tekrarlar. •$sayi = 0; •while($sayi < 5) { • echo ' Döngü ' . $sayi; • $sayi++; •} Ekranda Döngü 0 Döngü 1 Döngü 2 Döngü 3 Döngü 4 yazar ve durur. Önce $sayi adında değişken oluşturup 0 değerini verdik, while döngümüzün koşulunada $sayi değişkeni 5 den küçük olduğu sürece dön dedik, kod bloğunun içerisine ise echo ile bir çıktı verdirdik ve hemen sonrasında $sayi değişkeninin değerini 1 arttırdık. Bu sayede her çalışmasında değer 1 artacak ve 5. çalışmasında duracaktır. •
    • 25. PHP Orta Seviye PHP Orta Seviye •Göreceğimiz Functionlar •EXPLODE •SYSTEM,EXEC,SHELL_EXEC •STR_REPLACE •FİLE_GET_CONTENTS •PREG_MATCH_ALL •İNCLUDE •SUBSTR
    • 26. PHP ORTA SEVİYE PHP ORTA SEVİYE •Explode Funtionu: Explode Funtionu Bir Metinde Veya Bir Degerde Veri Bölme Bulma İslemine Yarar Örnek Suan Saat = 13:06 Diyelim Ben Sadece Burda 13:06 İstiyorum O Zaman Örnekle Yapalım Bunu • •Seklinde Yapalım Ve echo Diyelim Ve Bir Hata Alacaz Bu Hatanın Nedeni $kes Değiskeni Bir Dizi Haline Gelmesi •Dizi Parcalamak İçin print_r($kes); Yapalım Ve Orda 2 Adet Veri Gelir Biz Eğer 0 Dersek Suan Saat Kelimesini Alırız Eğer 1 Dersek 13:06 Alırız Örnek echo $kes[1]; Seklinde Yapacaz.
    • 27. PHP ORTA SEVİYE PHP ORTA SEVİYE •SYSTEM,EXEC,SHELL_EXEC •Bu Funtionlarda Makinede Komut Calıstırır Örnek Olarak Biz Cmd Veya Terminali Actığımız Zaman Yazdığımız Komutları PHP Üzerinde Calıstırıyor •Örnek Cmd De whoami yazdığımız zaman Sistemin Kullanıcı Adını Verir PHP De İşe Seklinde Yapınca Gene Sistem Kullanici Adını Verir
    • 28. PHP Orta Seviye PHP Orta Seviye •STR_ REPLACE •İle Bir Veri De Veya Bir Değiskende Bulunan Veriyi Değistirmeye Yarar Örnek •$wowslides = ‘Bu Gün Hava Cok Soğuk’; •echo str_replace(‘Soğuk’,’Sıcak’,$wowslides); Seklinde Yaparsak Cıktı Bu Gün Hava Cok Sıcak Olarak Yazar
    • 29. PHP Orta Seviye PHP Orta Seviye •FİLE_GET_CONTENTS •Bu Functionla Bir Web sitesine Veya Bir Dosyaya Bağlana Biliriz Örnek •echo file_get_contents(‘https://wowslides.com/’); Yaparsak Ekrana Wowslides İndexsi Gelir Biz Bu Sekilde Haber Botu İcerik Botu Ziyaret İslemleri Yapıla Bilir
    • 30. PHP Orta Seviye PHP Orta Seviye •Preg_Match_All •Bu Functionla Bir Veri De İstediğimiz Bölümü Cekmeye Yarıyor Örnek •$bağlan = file_get_contents(‘https://wowslides.com/’); preg_match_all(‘@(.*?)@’,$bağlan,$sonuc); print_r($sonuc); •Yaparsak Title İcindeki Değeri Alırız Bu Sekil Bot İslemleri Yapıla Bilir
    • 31. PHP Orta Seviye PHP Orta Seviye •İNCLUDE,REQUİRE •Bu Functionlara Bir Başka php Dosyalarını Sayfaya Dahil Ede Biliyoruz. •Ornek Dinamik Bir Web Site Yapacaz header.php ve footer.php bir index.php dahil etmek istiyorsak include(‘header.php’); Yazarsak Header.php İndex.php Dahil Olur
    • 32. PHP Orta Seviye PHP Orta Seviye •SUBSTR •Bu Function İşe Bir Veriyi İstediğimiz Uzunluğa Getiriyor •Örnek $emre = ‘merhaba kullanıcı bu gün nasılsın ’; cümlesinin ben sadece 20 karakterini istiyorum diyelim •$emre = ‘merhaba kullanıcı bu gün nasılsın ’; •echo substr($emre,0,20); seklinde yaparsak istediğimiz sonuç alırız •0 kaçıncı karakteden baslıyacak •20 kaçıncı karakterden bitecek olarak ayarladık
    • 33. PHP PDO İLE VERİTABAN DERSLERİ PHP PDO İLE VERİTABAN DERSLERİ •PDO(PHP Data Objects / PHP Veri Objeleri) özetle; hafif ve tutarlı bir şekilde veritabanına erişimi sağlayan bir arayüz. Adından da anlayacağınız üzerie “Object Oriented Programming” arayüzüne sahip, onlarca veritabanı sürücüsü destekliyor; Cubrid •FreeTDS / Microsoft SQL Server / Sybase •Firebird/Interbase 6 •IBM DB2 •IBM Informix Dynamic Server •MySQL 3.x/4.x/5.x •Oracle Call Interface •ODBC v3 (IBM DB2, unixODBC and win32 ODBC) •PostgreSQL •SQLite 3 and SQLite 2 •Microsoft SQL Server / SQL Azure •İleride daha farklı bir veritabanı sürücüsüne geçmek istediğinizde sisteminizi temelli olarak değiştirmek yerine PDO ile kaldığınız yerden bir takım ufak modifikasyonlar ile bu işi gerçekleştirebilirsiniz. •Bunların haricinde PDO 5.1‘den itibaren geliyor, yani çalışabilmesi için güncel versiyonlara ihtiyacınız olacak. PDO NEDİR
    • 34. PHP PDO İLE VERİTABAN DERSLERİ PHP PDO İLE VERİTABAN DERSLERİ •PDO İLE VERİ TABAN BAĞLANTISI •$db = new PDO(‘mysql:host=localhost;dbname=veritaban;charset=urf8’,’root’,’sifre’); •Seklinde Yapılır •Veritaban Yazdığım Yer Veritaban İsminiz Gelecek Root Yazan yerede Kullanici Adi •Sifre De Artık Orasınıda Siz Tahmin Edin 
    • 35. PHP PDO İLE VERİTABAN DERSLERİ PHP PDO İLE VERİTABAN DERSLERİ •$sorgu = $db->query(‘SELECT * FROM haberler’); •Tekil Bir Veri Sorgu İslemi Toplu Bir Sorgu İslemi İçin •$sorgu = $db->query(‘SELECT * FROM haberler’,PDO::FETCH_ASSOC); •Foreach($sorgu as $tumhaberler){ echo $tumhaberler[‘haber_baslik’].’
      ’; •} •Seklinde Yapa Biliriz. PHP PDO İLE VERİ LİSTELEME
    • 36. PHP PDO İLE VERİTABAN DERSLERİ PHP PDO İLE VERİTABAN DERSLERİ •Veritabanına Kayıt İslemi •$query = $db->prepare(‘INSERT INTO haberler (haber_adi,haber_resim) VALUES (?,?)’); •$query->execute(array(‘bu habere inanamasınız’,’haber_resim.jpg’)); •Seklinde İstediğimiz Haberi Ekleye Biliriz Veri Taban Kayıt İslemi Bu Kadar