PHP Programlama 1. Bölüm. Tolga GÜYER 2009-2010



Benzer belgeler
PHP ile İnternet Programlama

PHP ile İnternet Programlama

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

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

PHP 1. Hafta 1. Sunum

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

1.PROGRAMLAMAYA GİRİŞ

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

PHP ile İnternet Programlama

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

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

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

08220 Internet Programcılığı II

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

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

Üst Düzey Programlama

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

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

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

MEB E-Posta Hizmetleri ve Outlook Programı

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

İnternet Programcılığı

Üst Düzey Programlama

BLGM 354 DENEY 1 * GİRİŞ

İNTERNET PROGRAMCILIĞI - II

Internet Programming II

PHP 1. Hafta 2.Sunum

İNTERNET PROGRAMCILIĞI HAFTA. PHP ile FORM İŞLEMLERİ. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Form Elemanları Kullanımı

Öğr. Gör. Serkan AKSU 1

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Web Tasarımının Temelleri

ASP.NET ile Bir Web Sitesi Oluşturma

Metin Text Kutuları. Metin kutusu oluşturmak için <input> tagı kullanılır.

4. Bağlantı (Köprü) Oluşturma

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

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

Web Programlama Kursu

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

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.

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

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere

Basit bir web uygulaması

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

İnternet Uygulamaları. FATİH Projesi PARDUS Temel Eğitim Kursu

PHP kodları çoğu zaman HTML kodları arasına gömülü olarak yazıldığından öncesinde HTML kodlarınının bilinmesinde fayda vardır.

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

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

Kets DocPlace LOGO Entegrasyonu

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

MODÜL 2 HTML İLE GELİŞMİŞ ÖZELLİKLER

WEB PROGRAMLAMA. DERS NOTLARI / JavaScript e Giriş YARD. DOÇ. DR. MEHTAP YALÇINKAYA

C# ile e-posta Göndermek

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html>

iphone & ipad için e-posta hesabı kurulumu

PROGRAMLAMA DERSİ 1. İNTERNET

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon

AutoCAD 2011 Kurulumu

ÜNİTE İÇERİK YÖNETİM SİSTEMİ İÇİNDEKİLER. Okt. Mustafa AKBUĞA HEDEFLER WORDPRESS KURULUMU

WAMP SERVER KURULUMU

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

SHOP INGENICO DOKUMANI

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

ORSOFT 5.22 AMERİKAN KÜLTÜR DERNEĞİ DİL OKULLARI YÖNETİM BİLGİ SİSTEMİ KURULUMU

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI

VERİ ANALİZ KÜPLERİ. Küp Tasarım Formu (504200)

ÖĞ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.

HSancak Nesne Tabanlı Programlama I Ders Notları

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

MPLAB IDE v7.60 PROGRAMI KULLANIMI

V14xx Güncelleme İşlemleri

VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI

Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.

2. HTML Temel Etiketleri

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

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.

J-Guar Self Servis Kurulumu

Temel Başlıklar. HTML Formlarının amacı Çalışma şekli Form Action ve Method

EĞİTMENLER İÇİN UZAKTAN EĞİTİM SİSTEMİ (MOODLE) eders.giresun.edu.tr KULLANIM KILAVUZU

TL-WPS510U PRINT SERVER KURULUM DÖKÜMANI

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

Hızlı Kurulum ve Yapılandırma Kılavuzu

TÜRKİYE NOTERLER BİRLİĞİ

SolidWorks Macro, SolidWorks API. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı


Google Search API ile ajax arama

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.


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

Kabuk Programlama (Bash)

1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı

MICROSOFT ACCESS DERS NOTLARI

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

KANTAR UYGULAMASI Kurulum Kılavuzu

TÜİK e-vt Teknik Kılavuz

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

Program Kurulum. Turquaz Muhasebe. İçindekiler

T.C. Başbakanlık Gümrük Müsteşarlığı Muhabere ve Elektronik Dairesi Başkanlığı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

Java Programlamaya Giriş

Transkript:

PHP Programlama 1. Bölüm 2009-2010

İçindekiler 1.1 Programlama Dillerinin Sınıflandırılması 1.2 PHP nin Tarihçesi 1.3 Bilgisayarımda Nasıl PHP Kodu Yazabilirim? 1.4 HTML den Kaçış 1.5 İlk PHP Programım 1.6 Formlarla Çalışmak 2

Giriş Bilgisayarlar, genel amaçlı makineler olmaları itibarı ile diğer bütün makinelerden ayrılırlar. Diğer bir deyişle bir bilgisayarın herhangi bir kullanıcı için anlamı, o kullanıcının bilgisayarı kullanım amacına göre şekillenecektir. 3

Giriş Bilgisayarlar, onları farklı kılan bu özelliklerini programlanabilme yeteneklerine borçludurlar. Çeşitli alanlar için yazılmış paket programlar, bilgisayarların yaygın kullanımları yönünde önemli bir görevi yerine getirseler de, bilgisayarların kullanım alanlarındaki çeşitliliğin günümüzde oldukça artmış olması kurumlara, hatta kişiye özel yazılımların geliştirilmelerini kaçınılmaz kılmıştır. 4

Giriş İşte programlama dillerinin devreye girdiği nokta da tam burasıdır. 5

Giriş Başlangıçta, sadece kuruldukları bilgisayarlarda çalışan yerel uygulamalar şeklinde geliştirilen yazılımlar, daha sonra istemci/sunucu mimarisine taşınmıştır. Günümüzde ise bu mimarinin yerini, doğrudan internet tarayıcıları tarafından çalıştırılan internet uygulamaları almıştır. 6

Giriş Bu uygulamaların yazılmaları için bir çok programlama dili ve ortam geliştirilmiştir. Bu dillerden birisi olan PHP, öğrenme kolaylığı ve açık kaynak koda sahip olma gibi özellikleri ile alanda kısa sürede kendisine önemli bir yer edinmiştir. 7

Giriş Bu ders kapsamında, içinde bulunduğumuz paylaşım ortamında günden güne genişleyen PHP programlama dilinin temellerinin öğretilmesi ve ileri düzey PHP tekniklerine bir giriş yapılması amaçlanmıştır. 8

Programlama Dillerinin Sınıflandırılması Programlama dillerinin bir çok açıdan sınıflandırması yapılabilir. Bu kesimde yer alan sınıflandırma, dilleri genel amaçlı ve alana özel dil olarak iki ana sınıf altında kategorize etmektedir. Bu başlıklar altında ise sırasıyla veri türü sistemi ve paradigma olarak da adlandırılan dilin modeli kategorilerine göre sınıflandırmalar yapılmıştır. 9

Programlama Dillerinin Sınıflandırılması Bu sınıflandırmada amacımız, diller arasında bir iyi-kötü ayrımı yapmak değil, bir karşılaştırma olanağı sağlamak ve PHP dilinin diğer programlama dilleri arasındaki yerini netleştirmektedir. 10

Programlama Dillerinin Sınıflandırılması Zira her dil, geliştirilecek uygulamanın özelliklerine bağlı olarak farklı nitelikleri ile tercih edilebilir ya da edilmeyebilir. Tabi burada, uygulamayı geliştirecek programcının mesleki tecrübesi de uygun programlama dilinin seçiminde önemli bir rol oynayacaktır. Zira bir programcı için her zaman en iyi programlama dili, kendisinin en iyi bildiği programlama dili olacaktır. 11

Programlama Dillerinin Sınıflandırılması Programlama dilleri amaçlarına göre, genel amaçlı ve alana özel dil olarak iki kategoride gruplandırılmıştır. Genel amaçlı diller, ek fonksiyon kütüphanelerinin yardımıyla genişleyebilen yapılarının da sayesinde pek çok alanda uygulama geliştirmeye uygun araçlardır. PHP dili de bu kategori altında sınıflandırılmıştır. 12

Programlama Dillerinin Sınıflandırılması Alana özel diller ise, belirli amaçları gerçekleştirmek üzere tasarlanmıştır. Örneğin SQL, veritabanlarında sorgulama işlemlerini gerçekleştirmek üzere geliştirilmiş yapısal bir dildir. 13

Programlama Dillerinin Sınıflandırılması 14

Programlama Dillerinin Sınıflandırılması Programlama dilleri, veri türlü sistemlerine göre statik ve dinamik olarak iki farklı kategoride sınıflandırılabilir. 15

Programlama Dillerinin Sınıflandırılması 16

Programlama Dillerinin Sınıflandırılması Statik sistemde değişkenlerin türleri, çalışma anında değil, derleme anında kontrol edilir. Dinamik sistemde ise tersine tür denetimi çalışma anında gerçekleştirilir. Bu durumda türler, değişkenlerle değil doğrudan değerlerle ilişkilendirilir. 17

Programlama Dillerinin Sınıflandırılması PHP programlama dili, dinamik veri türü sistemine sahiptir. Bu sistem, PHP ye önemli bir üstünlük sağlamaktadır. Dinamik dillerde çalışma-anında girilen verilere bağlı olarak yeni veri türlerinin türetilmesi de mümkün olmaktadır. 18

Programlama Dillerinin Sınıflandırılması Paradigma olarak da adlandırılan, dilin modeli olarak ifade edebileceğimiz sınıflandırma yöntemine göre beş farklı kategori ortaya çıkmaktadır. Ancak bu kategorilere göre Programlama dilleri ayrık olarak sınıflandırılmazlar, bir dil birden çok kategoriye dahil olabilir. Resimde dillerin bu kategorilere göre sınıflandırılması verilmiştir. 19

Programlama Dillerinin Sınıflandırılması 20

Programlama Dillerinin Sınıflandırılması Zorunlu programlama olarak çevirebileceğimiz imperatif paradigmaya göre, bilgisayara bir işlemin gerçekleştirilmesi için gereken bütün komut dizeleri verilmektedir. İmperatif programlama, deklaratif, yani bildirimsel programlamanın tersi durum olarak betimlenebilir. 21

Programlama Dillerinin Sınıflandırılması Deklaratif paradigmaya göre bilgisayara bir işlemin yapılması için gereken emir doğrudan verilir, işlemin nasıl gerçekleştirileceği ile ilgili olarak herhangi bir bilgi verilmez. Doğrudan sorgulama ifadelerinin yer aldığı SQL dili bu kategoriye güzel bir örnektir. 22

Programlama Dillerinin Sınıflandırılması Prosedürel programlama, 1960 lı yıllardan sonra popüler olmuş bir akımdır. İmperatif programlamanın bir alt türü olarak düşünülebilir. Bu paradigmaya göre gerçekleştirilecek işlemler bilgisayara alt program olarak adlandırabileceğimiz prosedürler şeklinde bildirilir. Daha önceki modellerde yer alan sapma deyimleri, bu modelle birlikte terk edilmiştir. 23

Programlama Dillerinin Sınıflandırılması Fonksiyonel programlama dilleri ise tümüyle fonksiyonlar üzerine kurulmuş bir dil modeli olarak karşımıza çıkar. Hemen hemen bütün fonksiyonel programlama dilleri, temelleri 1930 lu yıllarda atılmış olan Lambda Analizi (Lambda Calculus) üzerine inşa edilmilştir. 24

Programlama Dillerinin Sınıflandırılması Nesne yönelimli yaklaşımda, sınıflar altında gruplanan nesneler ve onların çeşitli etkileşimleri söz konusudur. Son yıllarda popülaritesi giderek artan bu yaklaşım, bir çok programlama dili tarafından desteklenmeye başlanmıştır. 25

Programlama Dillerinin Sınıflandırılması PHP Programlama dilinin bu sınıflandırmadaki yerine bakacak olursak, imperatif, yani zorunlu programlama modeli altında yer alan prosedürel paradigmaya dahil olduğunu görürüz. 26

Programlama Dillerinin Sınıflandırılması Her ne kadar geliştirilmeye başlandığı yıllarda yapılandırılmış bir internet programlama dili olarak tasarlansa da PHP, en son sürümleri ile artık nesne yönelimli programlamaya büyük ölçüde uygun hale getirilmiştir. Dolayısıyla bu sınıflandırma içersinde yakın bir gelecekte nesne yönelimli programlama dilleri kümesine dahil olacağını öngörebiliriz. 27

PHP nin Tarihçesi PHP, ilk olarak 1994 yılında Danimarka asıllı bir Kanadalı bilgisayar bilimcisi olan Rasmus Lerdorf tarafından tasarlanmıştır. Lendorf un böyle bir kodlama sistemine ihtiyaç duyduğu konu ise oldukça ilginçtir: internete koyduğu kişisel özgeçmişine kimlerin göz attığını takip etmek. 28

PHP nin Tarihçesi Başka insanların da kullanmaya başlaması ile biraz daha geliştirilen dil, ilk olarak Personel Home Page Tools, yani kişisel ana sayfa araçları adıyla 1995 yılından itibaren yaygınlaşmaya başlamıştır. Başlangıçta basit bir gramer çözümleme (parsing) motoruna sahip olan dil, kişisel sitelere sayaç, ziyaretçi defteri gibi basit araçların yerleştirilmesi amacıyla kullanılmakta idi. 29

PHP nin Tarihçesi PHP gramer çözümleyicisi 1995 yılında PHP/FI Sürüm 2 adıyla yeniden yazılmıştır. FI, yine Lendorf tarafından başka bir proje kapsamında geliştirilen ve HTML formlarından veri elde etmek amacıyla kullanılan bir form yorumlayıcısı (Form Interpreter) yazılımdır. Bu sistem de ikinci sürümü ile PHP ile tümleşik hale getirilmiştir. 30

PHP nin Tarihçesi 1997 yılından itibaren PHP, Lendorf un kişisel projesi olmaktan çıkmış, profesyonel bir ekibin ortak çalışması ile geliştirilmeye başlanmıştır. 1999 yılında bu ekibin çalışmalarının ilk ürünü olarak PHP3 sürümü ortaya çıkmış, bu sürümü ile PHP yaklaşık 1.000.000 internet sitesinde kullanılır hale gelmiştir. 31

PHP nin Tarihçesi Günümüzde IBM ve Oracle gibi bilişim sektörünün devlerinin de desteğini alan PHP, özellikle Zend firmasının çabaları ve GNU Genel Kamu Lisansına sahip olmasının sayesinde, 2006 yılının Kasım ayı itibarı ile tüm dünyada 25 milyondan fazla internet sitesinde kullanılmaya başlanmıştır. 32

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Bilgisayarınızda PHP programlama dilini çalışır duruma getirmek için öncelikle yapmanız gereken, Apache sunucusunu kurmaktır. Apache sunucusu, PHP dilinde yazılmış kodların, istemciler tarafındaki internet tarayıcı yazılımları tarafından doğru bir şekilde görüntülenebilmeleri için gereken yorumlama ve gramer çözümleme işlemlerini gerçekleştirmektedir. 33

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Apache sunucusunun çalışır duruma geldiği bir bilgisayar, hem yerel PHP uygulamalarını çalıştırabilir, hem de doğrudan internet üzerinden gelecek sayfa görüntüleme isteklerini karşılayacak duruma gelmiştir. Ancak aynı bilgisayarda başka bir web sunucusunun çalışır durumda olmadığından emin olunması gerekmektedir. 34

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Peki kodları nerede yazacağım? Aslında aynı HTML de olduğu gibi PHP için de standart bir not defteri uygulaması, kod yazıp çalıştırmak için yeterlidir. Ancak sağladıkları kod tamamlama, kod renklendirme ya da çevrimiçi yardım gibi kolaylıklar nedeniyle programcılar tarafından kod yazma editörlerinin kullanılması daha çok tercih edilmektedir. 35

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Bunun dışında gereksinim duyacağınız diğer bir yazılım, veritabanı uygulamaları için kullanacağımız MySQL veritabanı sistemidir. 36

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Bu yazılımları standart ayarları ile bütün olarak kuran ve çalışır duruma getiren tümleşik kurulum sistemleri bulunmaktadır. Bunlardan ikisi, EasyPHP ve XAMPP dir. Her iki yazılım da internet üzerinden tam sürüm olarak ücretsiz olarak yayınlanmaktadır. 37

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Tek bir kurulum dosyasını (setup) çalıştırıp kurulumu gerçekleştirmek suretiyle bilgisayarınızda PHP ve MySQL yazılımlarını çalışır duruma getirebilirsiniz. Biz, bu ders kapsamında XAMPP sistemini kullanacağız. 38

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Apache Friends (Apache Dostları) adlı organizasyona ait web sitesinin XAMPP bölümünden indirebileceğiniz sistemi, kurulum dosyasını çalıştırarak bilgisayarınıza geçerli ayarlar ile kurabilirsiniz. 39

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Yazılımların son sürümlerinin yanı sıra konuyla ilgili bir çok bilgi, belge ve bağlantıya da ulaşabileceğiniz sitenin internet adresi, biçimindedir. http://www.apachefriends.org 40

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Kurulum gerçekleştikten sonra çalıştıracağınız XAMPP Control Panel uygulaması, karşınıza resimdeki gibi bir pencere açacaktır. 41

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? 42

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Resimde gösterilen başlatma butonlarına basılması, sırasıyla Apache sunucusunun ve MySQL veritabanı sisteminin başlatılması için yeterli olacaktır. MySQL veritabanı sisteminin yönetimi, üçüncü bölümde detaylı olarak ele alınacaktır. 43

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? PHP Kodlarını Çalıştırma Uygulamaları herhangi bir internet tarayıcısından çalıştırabilmeniz için, öncelikle Apache sunucusunun çalışıyor olması gerekir. Eğer uygulamanız veritabanı uygulaması ise, MySQL sisteminin de XAMPP kontrol panelinden başlatılmış olması gerekir. 44

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Bu işlemler yapıldı ise, çalıştırmak istediğiniz PHP dosyasını/dosyalarını içeren yerel klasörü, C:\XAMPP\htdocs\ klasörüne kopyaladıktan sonra, internet tarayıcısının adres kısmına localhost/<yerel klasör adı> /programın_adı.php yazmanız yeterli olacaktır. 45

Bilgisayarımda Nasıl PHP Kodu Yazabilirim? Burada yerel klasör, geliştirdiğiniz uygulamaya ait bütün PHP dosyalarını içeren, internet adreslerinde geçerli olmayan karakterleri kullanmadan isimlendireceğiniz klasörü belirtmektedir. 46

HTML den Kaçış PHP dosyaları sadece PHP kodlamalarından oluşabileceği gibi, HTML kodları içersinde de uygun bildirim ile PHP kodlamasına geçilebilir. HTML den kaçış olarak adlandırılan bu teknikte, web sayfasını oluşturan kodlamalar içersinde sadece bu bildirimle başlayan kodlar PHP gramer çözümleyicisi tarafından yorumlanarak çalıştırılırlar. 47

HTML den Kaçış Takip eden slaytta bu duruma bir örnek kodlama verilmiştir. Kırmızıyla belirtilen işaretler, HTML kodundan PHP kodlamasına geçilirken kullanılan etiket bildirimi göstermektedir. 48

HTML den Kaçış Anlaşılacağı gibi PHP çözümleyicisi, sayfayı oluşturan kodlardan hangilerini dikkate alıp, hangilerini dikkate almayacağını, <?php?> etiket simgeleri ile anlamaktadır. Dolayısıyla yazacağımız bütün PHP kodlarının bu iki simge arasında olması gerekmektedir. 49

HTML den Kaçış Bu etiketleme sistemi sadece HTML kodlarından kaçış amacıyla kullanılmaz, bütün PHP programları bu etiketler arasında yazılmak zorundadır. 50

İlk PHP Programım Aşağıda ilk php uygulamamızı geliştirmek için izleyeceğimiz adımlar yer almaktadır: 1. XAMPP kontrol panelini çalıştır. 2. Apache sunucusunu, panelde yer alan Start butonuna basarak başlat. 51

İlk PHP Programım 3. Not Defteri uygulamasını açarak, aşağıdaki satırları yaz: <?php?> echo Merhaba Dünya! ; 4. Bu dosyayı ilkprogram.php adıyla aşağıdaki klasöre kaydet: C:\XAMPP\htdocs\ 52

İlk PHP Programım 5. Bir internet tarayıcı uygulaması başlat. 6. Adres satırına, localhost/ilkprogram.php yaz ve Enter tuşuna bas. Eğer ekranda Merhaba Dünya! yazısını görüyorsanız tebrikler; ilk PHP programınızı çalıştırmışsınız demektir 53

Formlarla Çalışmak Dinamik etkileşim araçlarından oluşan HTML formlarından elde edilen değerlerin işlenmesi, PHP nin en önemli işlevsel kullanım alanlarından birisini oluşturmaktadır. Bu kesimde HTML formları hakkında temel seviyede bilgi verilmesi amaçlanmıştır. Bu bilgiler, ilerleyen bölümlerde ele alacağımız MySQL&PHP uygulamaları konusuna da temel oluşturacaktır. 54

Formlarla Çalışmak İnternet üzerinde çalışan veritabanı uygulamalarında formlar, kullanıcının doğrudan etkileşim kurduğu en üst katmanda yer alırlar. Dolayısıyla son derece dikkatli ve kullanıcı-dostu olarak tasarlanmaları gerekir. 55

Formlarla Çalışmak İnternet üzerinde çalışan veritabanı uygulamalarında nesne hiyerarşisini resimdeki gibi gösterebiliriz: 56

Formlarla Çalışmak HTML formları, üzerlerinde bulunan metin alanları, radyo düğmeleri, işaretleme kutuları ya da liste kutuları gibi çeşitli etkileşim nesneleri yoluyla kullanıcıdan bilgi alınmasını sağlayan araçlardır. 57

Formlarla Çalışmak Bu formlar, <form> </form> etiketleri arasında oluşturulur. 58

Formlarla Çalışmak Bu durumda metin tabanlı bir verinin girilmesini sağlayan form, aşağıdaki gibi olacaktır: <form> <p>adınız: <input type="text" name="ad" ></p> <p>soyadınız: <input type="text" name= soyad" ></p> </form> 59

Formlarla Çalışmak Burada <input type="text" name="ad"> bildirimi, alanın bir girdi (input) alanı, türünün ise metin kutusu (text) olduğunu söylemektedir. name özelliği ise, nesnenin programatik adını göstermektedir. 60

Formlarla Çalışmak Tasarladığımız bu formu, bilgileri gönderme işlemini sağlayacak bir komut düğmesi ile tamamlayalım: <form> <p>adınız: <input type="text" name="ad" ></p> <p>soyadınız: <input type="text" name="soyad" ></p> <p><input type="submit" ></p> </form> 61

Formlarla Çalışmak Burada <input type="submit"> bildirimi, yine alanın bir girdi (input) alanı, ancak türünün gönderme butonu (submit) olduğunu söylemektedir. 62

Formlarla Çalışmak Bu koda ait ekran görüntüsü aşağıdaki gibi olacaktır: 63

Formlarla Çalışmak Gönderme butonuna basıldığında gerçekleşecek eylemin belirlenmesi için form etiketinin action özelliği kullanılır. Buraya yazılacak veri, herhangi bir script kodunun çalıştırılması ile ilgili olabileceği gibi, doğrudan bir php sayfasının adresi de yazılabilir. 64

Formlarla Çalışmak <form action="verileri_al.php" method="post" > <p>adınız: <input type="text" name="ad" ></p> <p>soyadınız: <input type="text" name= soyad" ></p> <p><input type="submit" ></p> </form> 65

Formlarla Çalışmak Burada gönderme butonuna basıldığı takdirde, internet tarayıcı tarafından verileri_al.php dosyası yüklenecektir. 66

Formlarla Çalışmak Bu değer boş bırakıldığı takdirde, yani, <form action=" " method="post" > <p>adınız: <input type="text" name="ad" ></p> <p>soyadınız: <input type="text" name= soyad" ></p> <p><input type="submit" ></p> </form> 67

Formlarla Çalışmak durumunda, gönderme butonu mevcut sayfanın yeniden yüklenmesini sağlayacaktır. Bu durumda çalışmasını istediğimiz php kodlarının da aynı sayfa üzerinde olması gerekmektedir. 68

Formlarla Çalışmak Bilgilerin form üzerinden gönderilmesi için iki farklı yöntemden birisi seçilebilir. Bunlardan ilki post, diğeri ise get yöntemidir. Gönderme yöntemi, form etiketinin method özelliği kullanılarak belirlenir. 69

Formlarla Çalışmak Bilgilerin alınış yöntemi de, gönderme için seçilen yönteme göre değişecektir. Öncelikle post metodunu inceleyelim. 70

Formlarla Çalışmak Aşağıdaki HTML formunu göz önüne alalım: <html> <body> <form action="verileri_al.php" method="post"> <p>adınız: <input type="text" name="ad"></p> <p>soyadınız: <input type="text" name="soyad" ></p> <p><input type="submit"></p> </form> </body> </html> 71

Formlarla Çalışmak Bu kodu taşıyan dosyayı, verileri_gonder.html adıyla kaydedelim. Şimdi, action özelliğinde belirtilen verileri_al.php dosyasının içereceği kodları yazalım. <?php $kullaniciadi = $_POST['ad']; $kullanicisoyadi = $_POST['soyad']; echo "Merhaba $kullaniciadi $kullanicisoyadi";?> 72

Formlarla Çalışmak İnternet tarayıcısı tarafından görüntülenecek dosya, verileri_gonder.html adıyla kaydettiğimiz form dosyası olacaktır. Bu form üzerinde yer alan veri gönderme butonuna basıldığında internet tarayıcısı tarafından verileri_al.php dosyası yüklenecek ve PHP çözümleyicisi tarafından çalıştırılacaktır. 73

Formlarla Çalışmak Sonuç olarak ekranda aşağıdaki gibi bir görüntü olacaktır: Merhaba Tolga Güyer 74

Formlarla Çalışmak Kullanıcı tarafından verileri_gonder.html dosyasında girilen bilgiler, post metodu kullanılarak verileri_al.php dosyasına gönderilmiştir ve kullanıcı gönderilen verileri ancak bu PHP kodları çalıştırıldığında görebilmiştir. Veriler, $_POST fonksiyonu kullanılarak alınmıştır. Parametre olarak da form üzerindeki alanın adı kullanılmıştır. Get metodunda ise durum biraz farklıdır. 75

Formlarla Çalışmak Aynı örneği bu defa get metodunu kullanarak yapalım: <html> <body> <form action="verileri_al.php" method="get"> <p>adınız: <input type="text" name="ad"></p> <p>soyadınız: <input type="text" name="soyad" ></p> <p><input type="submit"></p> </form> </body> </html> 76

Formlarla Çalışmak Bu durumda HTML dosyasında değişen kısım form etiketinin method özelliğinin değeri olmuştur. PHP dosyasında ise verilerin alınmasında kullanılan $_POST fonksiyonu yerine $_GET fonksiyonu kullanılmıştır. 77

Formlarla Çalışmak <?php $kullaniciadi = $_GET['ad']; $kullanicisoyadi = $_GET['soyad']; echo "Merhaba $kullaniciadi $kullanicisoyadi";?> 78

Formlarla Çalışmak Aynı amaçla kullanılan bu iki yöntem arasındaki en önemli fark, get metodunda verilerin gönderiliş biçiminden kaynaklanmaktadır. Bu durumda veriler, doğrudan internet tarayıcısının adres çubuğu kullanılarak aktarılırlar. 79

Formlarla Çalışmak HTML formu doldurulup gönderme butonuna basıldığı anda, internet tarayıcısında resimdeki gibi bir durum oluşacaktır. 80

Formlarla Çalışmak 81

Formlarla Çalışmak Resimde de görüldüğü gibi internet tarayıcısının adres çubuğunda yer alan http://.../verileri_al.php?ad=tolga&soyad= Guyer adres bilgisi, gönderilen parametreleri de içermektedir. 82

Formlarla Çalışmak Dolayısıyla gizlilik içeren bilgilerin get metodu kullanılarak gönderilmesi önerilmez. Bu şekilde gönderilecekse, verilerin şifrelenmesi ve kullanılmadan önce şifrelerinin çözülmesi bu güvenlik problemini ortadan kaldıracaktır. 83

Formlarla Çalışmak Ayrıca parametre sayısı çok fazla olduğunda adres bilgisi çok uzun olacağından ve bu bilgi için 1 Kb üst sınırı bulunduğundan, bu durumda post metodu tercih edilmelidir. Diğer yandan post metodu kullanıldığında bilgiler HTTP tarafından paketlenerek gönderildiğinden, get metoduna oranla daha yavaş bir transfer olacağı söylenebilir. 84

Formlarla Çalışmak Aynı örneği tek dosya üzerinde çalışacak şekilde tasarlayalım. Bu durumda hem HTML formu, hem de PHP kodu aynı dosya üzerinde olacaktır ve gönderme butonuna basıldığında bu dosya tekrar yüklenecektir. 85

Formlarla Çalışmak <html> <body> <form action="" method="post"> <p>adınız: <input type="text" name="ad"></p> <p>soyadınız: <input type="text" name="soyad"></p> <p><input type="submit" name="dugme"></p> </form> <?php if(isset($_post["dugme"])){ $kullaniciadi = $_POST['ad']; $kullanicisoyadi = $_POST['soyad']; echo "Merhaba $kullaniciadi $kullanicisoyadi"; }?> </body> </html> 86

Formlarla Çalışmak Örneğin bu biçiminde, aynı sayfa tekrar yüklendiğinden, ilk yüklenişinde çalışmasını istemediğimiz bölüm bir koşul ile kontrol altına alınmıştır. Şöyle ki, bu koşulda yer alan isset fonksiyonu, dugme adlı butona basıldığında sağlanmaktadır. Dolayısıyla sayfanın ilk yüklenişinde kırmızı renkli kod otomatik olarak çalışmayacaktır. 87

Formlarla Çalışmak Koşullu ifadeler ve çalışma biçimleri, ikinci bölümde detaylı olarak ele alınacaktır. 88