PHP & MYSQL İLE İNTERNET PROGRAMCILIĞI

Benzer belgeler
1.PROGRAMLAMAYA GİRİŞ

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Bölüm 10: PHP ile Veritabanı Uygulamaları

PHP 1. Hafta 1. Sunum

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

İSTANBUL RUMELİ ÜNİVERSİTESİ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI 1.SINIF 2.YARIYIL İNTERNET PROGRAMCILIĞI II DERS İZLENCESİ

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

WAMP SERVER KURULUMU

PHP 1. Hafta 2.Sunum

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

08220 Internet Programcılığı II

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

PHP ile İnternet Programlama

Öğr. Gör. Serkan AKSU 1

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

Veri Tabanı Yönetim Sistemleri Bölüm - 02

Internet Programming II

İNTERNET PROGRAMCILIĞI - II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

İnternet Programcılığı

Kets DocPlace LOGO Entegrasyonu

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

Temel Bilgi Teknolojileri - I Ayrıntılı Ders İçerikleri

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Coslat Monitor (Raporcu)

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Özgür Yazılımlarla Web Programlama. Özlem Özgöbek

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Akdeniz Üniversitesi

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

çindekiler 01. Kurulum

JAVASCRIPT JAVASCRIPT DİLİ

Üst Düzey Programlama

4 Front Page Sayfası Özellikleri

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Linux Kurulumu (Sürüm 1.52) İçindekiler

ÖNDER BİLGİSAYAR KURSU. Microsoft Office Kursu Eğitim İçeriği

LST TIPON KURULUM KILAVUZU

PHP ye Giriş. Hidayet Doğan

Temel Bilgi Teknlolojileri 1. Ders notları 5. Öğr.Gör. Hüseyin Bilal MACİT 2017

08217 Internet Programcılığı I Internet Programming I

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

1. Zamanbaz Hakkında Zamanbaz Kurulumu Zamanbaz Sistem Gereksinimleri Zamanbaz Kurulumu... 3

Pardus 2013 te Metin Editörleri

İNTERNET PROGRAMCILIĞI DERSİ

27 Kasım Ekran 1: ETA:SQL Yazılım Güncelleme Uygulaması

Ç NDEK LER 1 PHP 6 1 PHP Nedir? 1 PHP nin Tarihi 2 PHP nin Avantajlar 4 PHP nin Dezavantajlar 4 PHP nin Çal flma Mant 6 PHP nin Çal flma Aral 8 PHP

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

DERS TANITIM BİLGİLERİ. Dersin Adı Kodu Yarıyıl Teori (saat/hafta) Laboratuar (saat/hafta) Uygulama (saat/hafta) AKTS. Yerel Kredi

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Üst Düzey Programlama

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Dersin Konusu ve Amaçları: Ders P lanı: Bölüm 1: Bilgi Teknolojilerinde Temel Kavramlar

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

1 PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

Fatura Dinamik Kodlama İyileştirmeleri

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

Kurulum ve Başlangıç Kılavuzu. DataPage için

İÇİNDEKİLER BÖLÜM-1. BİLGİSAYARIN TANIMI VE ÇALIŞMA PRENSİBİ...1 BÖLÜM-2. WİNDOWS XP İŞLETİM SİSTEMİ...27

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

Algoritma ve Akış Diyagramları

Programlama Yazılımı ile Web Sitesi Oluşturma

Boğaziçi Üniversitesi Bilgi İşlem Merkezi. Web Yönetimi Birimi. Drupal Kullanım Kılavuzu

Bilgisayar Programlama

Akdeniz Üniversitesi

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Üst Düzey Programlama

Akdeniz Üniversitesi

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

SQL Uyarı Programı Kurulum ve Kullanımı

İÇERİK YÖNETİM SİSTEMİ (CMS) Bir web sitesi yayınlamak için yapılması gerekenler:

Web Uygulama Güvenliği Kontrol Listesi 2010

Veritabanı Uygulamaları Tasarımı

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Metin Editörleri YRD. DOÇ. DR. ENGİN CEMAL MENGÜÇ. ALINTI:

İNTERNET EXPLORER AYARLARI 1. Başlat-Ayarlar-Denetim Masası menüsünden "İnternet Özellikleri" (Seçenekleri)'ni seçiniz. Resim. 1

Microsoft Office Kurulumu Sürüm 2.1

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

4. Bölüm Programlamaya Giriş

VIO ERP12 Muhasebe Kurulum

PHP ile İnternet Programlama

İnternet Programcılığı Öğr. Gör. Serkan AKSU Statik ve Dinamik Web Siteleri. Dinamik Web Sitesi Nedir?

Transkript:

NAATURE TEKNOLOJİ YAYINLARI - 2 PHP & MYSQL İLE İNTERNET PROGRAMCILIĞI Mehmet Selçuk Batal Genişletilmiş 3. Baskı Bu kitabın tüm yayın hakları Naature Bilişim Teknolojileri Anonim Şirketi ne aittir. Firmamızın ve yazarın yazılı izni olmaksızın herhangi bir şekilde ve ad altında kısmen veya tamamen alıntı yapılamaz, kopya çekilemez, hiçbir yolla çoğaltılamaz ve yayınlanamaz. Kitap içerisinde adı geçen ve Uygulama CD si içeriğinde ücretsiz olarak eğitim amaçlı dağıtımı yapılan tüm program, video ve markaların yasal hakları ilgili kişi veya kuruluşlara aittir. 2015, Naature Bilişim Teknolojileri A.Ş. - 0850 840 83 40 - www.naature.com.tr - www.phpmysqlegitimi.com

ÖNSÖZ İnternetin ortaya çıkmasıyla birlikte, bilgi çağında yeni bir dönem başlamıştır ve web yazılım dilleri de teknolojiye paralel olarak çok hızlı bir şekilde gelişmiştir. Bu dillerden biri de, günümüzde en çok kullanılan ve öğrenilmesi en kolay diller arasında olan PHP Dili dir. PHP, sunucu tarafında çalışan ve açık kaynak kodlu olarak geliştirilen güçlü bir web programlama betik (script) dilidir. Diğer web programlama dilleri gibi bir web sunucusu üzerinde çalışmakta ve talep edilen isteğe ait sonuçlar tarayıcıya HTML dilinde gönderilmektedir. Bu sayede dinamik web sayfaları, içerik yönetim sistemleri, veri depolama sistemleri, sosyal medya siteleri, e-ticaret sistemleri, otomasyon yazılımları, forum yazılımları, çevrimiçi oyunlar, web tabanlı robotlar vb. son derece karmaşık işlemlerin üstesinden kolaylıkla gelinebilmektedir. PHP ile hazırlanmış veya içeriğinde PHP kullanılan birçok web projesi mevcuttur ve bunların en meşhurları arasında Facebook, Yahoo, ebay, GittiGidiyor, Sahibinden.Com, Wikipedia, Vbulletin, Wordpress, Drupal, Imageshack.Us ve Travian bulunmaktadır. Bu kitap, PHP betik dili ve MySQL veritabanı yönetim sistemi üzerine Türkiye de hazırlanan eğitim kitapları açığını kapatma amacını gütmektedir. Aynı zamanda; Web Tasarımcılığı, Web Programcılığı, İnternet Programcılığı gibi, PHP dilinin web tabanlı programlama projeleri geliştirilmesinde öğretildiği ve kullanıldığı dersler için de kaynak olarak tasarlanmıştır. Kitap, teknik ve meslek liselerinde, özel kurslarda, kamu kurslarında ve üniversitelerde okuyan öğrenciler için (başlangıç ve orta seviyede) hedeflenmiştir, ancak daha yüksek düzeyde de bir başvuru kitabı olarak kullanılabilir. Bu kitabı okuyacakların, Web Tasarımcılığı ve HTML konusunda temel bilgilere sahip olmaları beklenmektedir. Bu kitap, özellikle web tabanlı yazılım geliştirme projelerinde PHP dilini kullanmayı düşündükleri için, programlama dili bilgilerini geliştirmek isteyen bilgi işlem uzmanları ve ilgili diğer kişilerin de kendi başlarına okuyabilecekleri şekilde hazırlanmıştır. Bu eğitim kitabı, PHP dilinin, SQL dilinin ve MySQL veritabanı yönetim sisteminin temel anlamda bütün yönlerini kapsaması açısından tamdır ve önemli miktarda örnek program ve kodlar verilmiştir. Okuyucuların kitap içerisinde bulunan örnek kodları test etmeleri, ilgili konuların tam olarak öğrenilmesi açısından oldukça önemlidir. Ayrıca, kitap ile birlikte hediye olarak verilen Uygulama CD sinde de kitap içerisinde bulunan tüm örneklerin çalışır halleri, örnek uygulamalar, videolu anlatımlar ve gerekli programlar mevcuttur. Faydalı olması temennisiyle Mehmet Selçuk Batal İstanbul, Nisan 2015

Mehmet Selçuk Batal İçindekiler Bölüm 1: KURULUM Sanal Sunucu Kurulumu...1 Sanal Sunucu Kullanımı...3 Apache Sunucu Ayarları...4 PHP Yorumlayıcı Ayarları...5 MySQL Yorumlayıcı Ayarları...6 Bölüm 2: PHP NİN TEMELLERİ PHP Nedir?...7 PHP nin Çalışma Mantığı...7 PHP nin Avantajları...8 PHP İle Kodlamaya Başlamadan Önce...8 PHP Yazım Kuralları...8 Yorum Satırları...9 Bölüm 3: DEĞİŞKENLER VE SABİTLER Veri Türleri... 10 Değişkenler... 10 Sabitler... 13 Bölüm 4: OPERATÖRLER Aritmetik Operatörler... 14 Atama ve Bileşik Atama Operatörleri... 15 Birleştirme Operatörü... 17 Artırma ve Azaltma Operatörleri... 18 Karşılaştırma Operatörleri... 19 Mantıksal Operatörler... 19 Bölüm 5: KONTROL YAPILARI If Kontrol Deyimi (If, Else If, Else)... 20 Switch Kontrol Deyimi... 24 Bölüm 6: DÖNGÜLER For Döngüsü... 26

Mehmet Selçuk Batal While Döngüsü... 27 Do While Döngüsü... 29 Foreach Döngüsü... 29 Bölüm 7: FONKSİYONLAR Parametresiz Fonksiyonlar... 30 Parametreli Fonksiyonlar... 31 Varsayılan Değer Alan Fonksiyonlar... 32 Global Değişkenli Fonksiyonlar... 32 Geriye Değer Döndüren Fonksiyonlar... 34 Bölüm 8: HTTP BAŞLIK (HEADER) FONKSİYONU HTTP Yanıt Koduna Göre Çıktı Üretme... 35 Karakter Seti Tanımlama... 35 Önbellek Temizleme... 35 Yönlendirme... 36 Dosya İndirme... 37 Bölüm 9: ZAMAN FONKSİYONLARI Getdate Fonksiyonu... 38 Date Fonksiyonu... 39 Time Fonksiyonu... 41 Mktime Fonksiyonu... 41 Bölüm 10: MATEMATİK FONKSİYONLARI Rastgele Sayı Üretme Fonksiyonları... 42 Kırpma ve Yuvarlama Fonksiyonları... 42 En Küçük ve En Büyük Sayı Bulma Fonksiyonları... 43 Gelişmiş Hesaplama Fonksiyonları... 44 Dönüşüm Fonksiyonları... 45 Trigonometri Fonksiyonları... 46 Bölüm 11: METİN İŞLEME FONKSİYONLARI Karakter Sayısını Öğrenme... 47 Boşluk veya Karakter Temizleme... 47 Metin Uzunluğunu Sınırlama... 49

Mehmet Selçuk Batal Harf Büyüklüklerini Değiştirme... 50 Metin İçeriğini Ters Çevirme... 51 Metin İçinde Arama ve Konum Bulma... 51 Metin Değiştirme... 53 HTML İşaretlerini Temizleme... 53 HTML ve PHP Etiketlerini Temizleme... 54 Tek ve Çift Tırnakları Etkisizleştirme... 55 Satır Sonu Etiketi Ekleme... 55 Metni Bölümlere Ayırma... 56 Bölünmüş Metinleri Birleştirme... 57 Regex İle Metin Bulma ve Değiştirme... 57 Bölüm 12: METİN ŞİFRELEME FONKSİYONLARI MD5 Fonksiyonu... 58 SHA1 Fonksiyonu... 58 CRC32 Fonksiyonu... 58 BASE64 Fonksiyonu... 59 Bölüm 13: DOSYA EKLEME FONKSİYONLARI Include Fonksiyonu... 60 Include_Once Fonksiyonu... 60 Require Fonksiyonu... 61 Require_Once Fonksiyonu... 61 Bölüm 14: DİZİLER (ARRAY) Tek Boyutlu Diziler... 62 Çok Boyutlu Diziler... 64 Dizi Elemanlarını Silme... 66 Dizi Elemanlarını Ters Çevirme... 67 Dizilere Eleman Ekleme ve Çıkarma... 68 Dizi Elemanlarını Sıralama... 69 Dizi Elemanlarını Sayma... 71 Dizileri Birleştirme... 72 Dizilerin Farklı Elemanlarını Bulma... 72 Dizilerin Ortak Elemanlarını Bulma... 73

Mehmet Selçuk Batal Dizi Elemanlarını Arama... 73 Dizideki Tekrar Eden Elemanları Silme... 75 Diziden Rastgele Eleman Alma... 76 Diziden Kesit Alma... 76 Bölüm 15: KÜRESEL DEĞİŞKENLER $GLOBALS Değişkeni... 77 $_SERVER Değişkeni... 78 $_REQUEST Değişkeni... 79 $_COOKIE Değişkeni... 79 $_SESSION Değişkeni... 80 $_GET Değişkeni... 80 $_POST Değişkeni... 81 $_FILES Değişkeni... 81 Bölüm 16: ÇEREZ VE OTURUM İŞLEMLERİ Çerez (Cookie) İşlemleri... 83 Oturum (Session) İşlemleri... 86 Bölüm 17: DOSYA VE DİZİN İŞLEMLERİ Dosya İşlemleri... 90 Dizin İşlemleri... 97 Bölüm 18: FORM İŞLEMLERİ HTML Form Yapısı... 102 GET Metotu... 103 POST Metotu... 105 Bölüm 19: DOSYA YÜKLEME İŞLEMLERİ HTML Form Yapısı... 106 $_FILES Küresel Değişkeni... 106 Dosya Yükleme... 107 Çoklu Dosya Yükleme... 109 Dosya Kontrolü... 110 Bölüm 20: E-POSTA İŞLEMLERİ

Mehmet Selçuk Batal E-posta Gönderme... 111 Detaylı E-posta Gönderme... 112 HTML Destekli E-posta Gönderme... 113 Bölüm 21: PHPMYADMIN KULLANIMI phpmyadmin İle Çalışma... 115 Veritabanı İşlemleri... 116 Kullanıcı İşlemleri... 117 Tablo İşlemleri... 118 Kayıt İşlemleri... 120 Sorgulama İşlemleri... 121 Aktarma İşlemleri... 122 Bölüm 22: VERİTABANI VE SQL Veritabanı... 123 SQL... 124 Bölüm 23: PHP MYSQL KÜTÜPHANESİ Veritabanı İle Bağlantı Kurma... 140 Veritabanı Seçme... 140 Karakter Seti Tanımlama... 141 Veritabanı Bağlantısını Kesme... 141 Veritabanı Sorgusu Çalıştırma... 142 Sorgudan Etkilenen Kayıt Sayısını Bulma... 142 Veritabanından Kayıt Seçme... 143 Seçilen Toplam Kayıt Sayısını Bulma... 145

BÖLÜM 1 KURULUM

Kurulum PHP diline ait kodların çalıştırılabilmesi için, bir sunucu platformuna gereksinim duyulmaktadır. Bu platform, sanal olarak yerel bilgisayarlarda veya internet yayınına açık bir bilgisayarda bulunabilir ve PHP komutları sorunsuz bir şekilde çalıştırılabilir. Sunucu platformlarında, tüm işletim sistemleri ile sorunsuz çalışması ve verimlilik düzeyinin yüksek olması nedeniyle genellikle Apache Web Sunucusu kullanılır. Bunun yanı sıra, PHP komutlarının yorumlanabilmesi için PHP Yorumlayıcısı, MySQL veritabanı dilinin yorumlanabilmesi için MySQL Yorumlayıcısı ve veritabanı işlemlerinin kolaylıkla yürütülebilmesi için PHPMyAdmin programı da kullanılmaktadır. Bu programlar, üreticilerinin web sitelerinden indirilerek yerel bilgisayarlara kurulabileceği gibi, bunların tümünü tek bir paket halinde içerisinde barındıran sanal sunucu programları da kullanılabilir. Piyasada açık kaynak kodlu olarak dağıtılan oldukça fazla sanal sunucu programı bulunmaktadır. Bu programlardan Wamp programı Windows tabanlı bilgisayarlarda, Mamp programı ise MacOS tabanlı bilgisayarlarda yaygın olarak kullanılmaktadır. (Uygulama CD si içerisinde bu programlar mevcuttur.) 1. SANAL SUNUCU KURULUMU Bu eğitim kitabındaki tüm uygulama örnekleri, Wamp Sanal Sunucu programı ile test edilerek çalıştırılmıştır ve okuyuculara da sanal sunucu programı olarak Wamp ın veya Mamp ın kullanılması tavsiye edilmektedir. Wamp Sanal Sunucu programı www.wampserver.com adresinden, Mamp Sanal Sunucu programı ise www.mamp.info adresinden indirilebilir. Wamp programı yerel bilgisayara kayıt edildikten sonra, kurulum dosyasına çift tıklanarak kurulum işlemi başlatılır. Kurulum işlemi başladığında ekrana gelen adımlar sırasıyla Next düğmesine basılarak geçilir ve Son Kullanıcı Lisans Sözleşmesi ekranı açıldığında sözleşme içeriği kabul edilir. - 1 -

Kurulum Bir sonraki aşamada, sanal sunucunun hangi dizine kurulacağının belirlendiği ayar ekranı görüntülenir ve herhangi bir değişiklik yapılmasına gerek olmadan Next düğmesine basılarak bir sonraki aşamaya geçilir. Bir sonraki aşamada, PHP posta gönderme ayarlarının yapılacağı ekran görüntülenir ve yine herhangi bir değişiklik yapılmasına gerek olmadan Next düğmesine basılarak bir sonraki aşamaya geçilir. Bu aşamadan sonra Wamp Sanal Sunucu programı yerel bilgisayarın C:\Wamp dizinine kurulmuş olacaktır. Son aşamada, kurulum işleminin tamamlandığı ve sunucu programının kurulum programı kapatıldıktan sonra çalıştırılıp çalıştırılmayacağı belirlenebilir. - 2 -

Kurulum 2. SANAL SUNUCU KULLANIMI Wamp Sanal Sunucu programı, PHP betik dili ile ilgili tüm test işlemlerinden önce çalışıp çalışmadığı kontrol edilmeli ve eğer çalışmıyorsa Windows Başlat Menüsü nde veya Windows Masaüstü nde bulunan Wamp kısayolu kullanılarak program çalıştırılmalıdır. Wamp programı çalıştırıldığında, Windows Görev Çubuğu nda sağ alt kısımda bulunan saatin yanına (W) simgesi yerleşecektir. Bu simgenin yeşil renkli olması programın sorunsuz çalıştığını, sarı renkli olması bazı alt programlarda sorun olduğunu, kırmızı renkli olması ise sanal sunucunun çeşitli hatalar nedeniyle başlatılamadığını belirtir. Wamp Sanal Sunucu programı kullanılmadan önce, (W) simgesinin üzerinde iken mouse un sağ tuşu aracılığıyla Language seçeneğinden dil ayarı Türkçe olarak değiştirilebilir. - 3 -

Kurulum Wamp Sanal Sunucusu aracılığıyla PHP uygulamalarının çalıştırılabilmesi için tüm uygulama dosyaları, sanal sunucunun kurulduğu dizinde (C:\wamp) bulunan www dizini içerisine yüklenmelidir. Birden fazla uygulama test edilecek ise herhangi bir karışıklığa yol açmamak için, www dizini içerisinde ihtiyaç duyulduğu kadar alt dizin kullanılabilir. C:\wamp\www dizini içerisine yüklenen uygulamaların test edilebilmesi için, tarayıcının adres çubuğuna http://localhost veya http://127.0.0.1 adresi girilmelidir. Bu adres www kök dizinini işaret etmektedir. Eğer, bu dizin içerisinde bir index dosyası mevcutsa bu dosya çalıştırılacak, eğer mevcut değilse dizin içeriği tarayıcı aracılığıyla ekrana listelenecektir. 3. APACHE SUNUCU AYARLARI Apache Sunucusu ile ilgili tüm ayarlar, Wamp Sanal Sunucusu nun kurulduğu dizinde (C:\wamp\bin\apache) bulunan httpd.conf dosyası içerisinde bulunmaktadır. Apache Sunucusu nun ayarları değiştirilmek istendiğinde, doğrudan httpd.conf dosyası üzerinde düzenlemeler yapılabileceği gibi, Wamp Sanal Sunucu programının sol tuş menüsünde bulunan Apache seçeneği de kullanılabilir. Sunucu ayarlarında değişiklikler yapıldıktan sonra, Wamp programı otomatik olarak durdurulacak ve sonrasında yeniden başlatılarak değişikliklerin aktif olması sağlanacaktır. - 4 -

Kurulum 4. PHP YORUMLAYICI AYARLARI PHP Yorumlayıcısı ile ilgili tüm ayarlar, Wamp Sanal Sunucusu nun kurulduğu dizinde (C:\wamp\bin\php) bulunan PHP.ini dosyası içerisinde bulunmaktadır. PHP Yorumlayıcısı nın ayarları değiştirilmek istendiğinde, doğrudan PHP.ini dosyası üzerinde düzenlemeler yapılabileceği gibi, Wamp Sanal Sunucu programının sol tuş menüsünde bulunan PHP seçeneği de kullanılabilir. PHP ayarlarında değişiklikler yapıldıktan sonra, Wamp programı otomatik olarak durdurulacak ve sonrasında yeniden başlatılarak değişikliklerin aktif olması sağlanacaktır. - 5 -

Kurulum 5. MYSQL YORUMLAYICI AYARLARI MySQL Yorumlayıcısı ile ilgili tüm ayarlar, Wamp Sanal Sunucusu nun kurulduğu dizinde (C:\wamp\bin\mysql) bulunan my.ini dosyası içerisinde bulunmaktadır. MySQL Yorumlayıcısı nın ayarları değiştirilmek istendiğinde, doğrudan my.ini dosyası üzerinde düzenlemeler yapılabileceği gibi, Wamp Sanal Sunucu programının sol tuş menüsünde bulunan MySQL seçeneği de kullanılabilir. PHP ayarlarında değişiklikler yapıldıktan sonra, Wamp programı otomatik olarak durdurulacak ve sonrasında yeniden başlatılarak değişikliklerin aktif olması sağlanacaktır. - 6 -

BÖLÜM 2 PHP NİN TEMELLERİ

PHP nin Temelleri 1. PHP NEDİR? PHP (Hypertext Preprocessor), geniş bir kitle tarafından kullanılan, dinamik web sayfaları oluşturmak için geliştirilmiş ve HTML içerisine gömülebilen bir betik yani web tabanlı script dilidir. PHP dili, 1995 yılında Kanadalı bir yazılım uzmanı olan Rasmus Lerdorf tarafından oluşturulmuştur. Lerdorf bu dili geliştirirken Perl betiği halinde kendi kişisel web sayfasına gelen ziyaretçilerin sayısını tutmayı hedeflemişken, kullanım ve öğrenme kolaylığı nedeniyle çok kısa bir süre içerisinde yazılımcılar arasında yayılmış ve sonrasında açık kaynak kod haline getirilerek piyasaya sunulmuştur. 2. PHP NİN ÇALIŞMA MANTIĞI PHP, sunucu taraflı (server-side) çalışan bir betik dilidir. Bunun anlamı, PHP ile yazılan kodların sunucu içerisinde bulunan bir yorumlayıcı tarafından yorumlanması ve oluşan sonucun kullanıcıya HTML dili aracılığıyla gösterilmesidir. Bu yorumlama işlemi yapılırken iki adet bileşene ihtiyaç duyulmaktadır: Web sunucusu ve PHP yorumlayıcısı. Yukarıdaki şekilde de görülebileceği üzere, PHP dili ile yazılan kodlar öncelikle Web Sunucusu na gönderilir. Web Sunucusu, yazılan kodların PHP diline ait olduğunu onayladıktan sonra yorumlanması amacıyla PHP Yorumlayıcısı na gönderir. PHP Yorumlayıcısı tarafından yorumlanan ve sonuç olarak üretilen çıktılar, HTML diline çevrilir ve Web Sunucusu tarafından HTML web sayfası olarak tarayıcıya yani kullanıcıya gönderilir. - 7 -

PHP nin Temelleri Eğer PHP dili veritabanı uygulamaları oluşturmak için kullanılıyorsa veya web sayfasının herhangi bir yerinde veritabanı bağlantısı oluşturuluyorsa, çalışma mantığında değişim olacak ve yukarıdaki şekilde olduğu gibi veritabanı eklentisi yapılacaktır. 3. PHP NİN AVANTAJLARI PHP dilinin neredeyse yok denecek kadar az dezavantajı olması ile birlikte, oldukça fazla avantajı mevcuttur. PHP yi kullanmak için herhangi bir lisans bedeli ödenmesine gerek yoktur, tamamen ücretsizdir. PHP, mevcut sanal sunucular sayesinde tüm işletim sistemlerinde rahatlıkla çalışabilir. PHP, basit söz dizimi sayesinde hem öğrenimi hem de kullanımı oldukça kolay bir dildir. PHP Yorumlayıcısı, yazılan kodları çok kısa bir süre içerisinde yorumlar ve sonuç üretir. PHP, MySQL ve MS-SQL benzeri tüm veritabanı yönetim sistemleri ile birlikte sorunsuz çalışabilir. PHP, açık kaynak kodlu bir dil olması nedeniyle devamlı gelişir ve herkes tarafından geliştirilebilir. PHP dilini yazmak için özel bir program yoktur, herhangi bir metin editörünün olması yeterlidir. PHP dili, çok fazla sayıda ücretli veya ücretsiz basılı, görsel ve işitsel kaynağa sahiptir. 4. PHP İLE KODLAMAYA BAŞLAMADAN ÖNCE PHP ile uygulama geliştirilirken iki farkı yöntem kullanılabilir. Bunlardan ilki, herhangi bir servis sağlayıcı firmadan Linux (veya PHP destekli Windows) tabanlı bir hosting (barındırma) hizmeti satın almak ve hazırlanan kod sayfalarını anlık olarak uzak sunucuda test etmektir. Diğer yöntem ise, bir önceki konuda anlatıldığı şekilde bir yerel sunucu kurmak ve öncelikle bu sunucuda test etmektir. Uygulama geliştirme aşamasında kod yazmak için, Windows un Not Defteri veya MacOS un programlarına benzer herhangi bir metin editörü kullanılabilir. Ayrıca daha gelişmiş çeşitli programlar da (Dreamweaver, Notepad++, PHPDesigner) kullanılabilir. 5. PHP YAZIM KURALLARI Web Sunucusu nun PHP dili ile yazılan kodları bulabilmesi ve PHP Yorumlayıcısı na gönderebilmesi için yazılan kod bloklarının başına <?PHP ve sonuna ise?> etiketlerinin yazılması gerekmektedir. <?PHP etiketi sunucuya kullanıldığı noktadan itibaren yazılan kodların PHP diline ait olduğunu,?> etiketi ise PHP dili ile yazım işleminin sona erdiğini bildirir. <?php?>.. PHP ile yazılan komutların her birinin yeni bir satırda yazılmasına gerek olmamakla birlikte mutlaka her komutun sonuna noktalı virgül (;) işareti konulmalıdır. Noktalı virgül (;) işareti, ilgili komutun bittiğini ve yeni bir komutun başlayacağını belirtir ve komutların birbirine karışmamasını sağlar. - 8 -

PHP nin Temelleri Noktalı virgül (;) işaretini kullanmadığınız takdirde sunucu Yazım Hatası (syntax) oluşturacak ve herhangi bir çıktı üretemeyecektir. <?php?> echo Merhaba Dünya! ; Yukarıdaki ornek.php uzantısı ile kaydedilip sunucu tarafında çalıştırıldığında, kullanıcı ekranında yalnızca Merhaba Dünya! mesajı görüntülenecektir. {Ekran Çıktısı} Merhaba Dünya! Örnekte bulunan echo komutu, PHP dilinde ekrana herhangi bir çıktı üretme amacıyla kullanılmaktadır. Ekrana yazdırma işlemlerinde echo komutu yaygın olarak kullanılmakla birlikte, print veya printf komutları da aynı işlevi görmektedir. Echo komutu kullanılırken ekrana yazdırılmasını istenen mesajlar, yaygın olarak çift tırnak ( ) işaretleri arasına eklenir, ancak bazı durumlarda tek tırnak ( ) işaretleri arasında da kullanıldığı gözlemlenebilir. 6. YORUM SATIRLARI PHP ile yazılan kodların arasına ihtiyaç halinde bazı hatırlatıcı ibareler veya açıklamalar ekleme isteği duyulabilir. Bu açıklamalara programcılıkta Yorum Satırları adı verilmektedir. PHP de yorum satırları oluşturmak için birkaç yöntem bulunmaktadır. Eğer tek satırlık yorumlar oluşturulacaksa yorum satırının başına çatal kare (#) işareti veya çift bölü (//) işareti koyulabilir. Eğer birden fazla satırda yorum yazılacaksa, her satırın başına yukarıda anlatılan işaretleri eklemek yerine, yorum satırının başına /* işaretlerini ve sonuna da */ işaretlerini eklemek yeterli olacaktır. <?php?> // Tek satırlık yorum örneği echo Merhaba Dünya! ; # Tek satırlık yorum örneği echo Merhaba Dünya! ; /* Çok satırlı yorum örneği */ echo Merhaba Dünya! ; Bu şekilde oluşturulan yorum satırları Web Sunucusu ve PHP Yorumlayıcısı tarafından görmezden gelinecek ve herhangi bir işletime tabi tutulmayacaktır. - 9 -

ÖRNEK KİTABIN SONUNA GELDİNİZ. KİTABI SATIN ALMAK İÇİN www.phpmysqlegitimi.com WEB ADRESİNİ ZİYARET EDEBİLİRSİNİZ.