Güncel İnternet Teknolojileri ve PHP 2



Benzer belgeler
AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

HTTP. (Hyper Text Transfer Protocol)

PHP 1. Hafta 1. Sunum

İNTERNET PROGRAMLAMA II. Tanımlar

Basit bir web uygulaması

solid; BORDER-LEFT: #1F9FFF 0px solid; BORDER-RIGHT: #1F9FFF 0px solid; BORDER-TOP: #1F9FFF 0px solid; COLOR: #1F9FFF; FONT-FAMILY: Trebuschet MS;

JSON Korsanlığı. Mesut Timur, Şubat 2010, WGT E-Dergi 4. Sayı

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

PHP 1. Hafta 2.Sunum

1.PROGRAMLAMAYA GİRİŞ

jquery kütüphanesini sayfaya eklemek için iki yöntem vardır. 1. Direkt jquery nin sitesinden ekleme

Oturum Öncesi Tanımlı Oturum Kimliği Çerezi Açığı Gökhan

Öğr. Gör. Serkan AKSU 1

WEB TASARIMINDA TEMEL KAVRAMLAR

YZM 3215 İleri Web Programlama

YZM 3215 İleri Web Programlama

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

Arama Sonuçlarında Üst Sıralarda Olmak. Temel SEO Çalışması

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

Web Önyüzü Nasıl Olmalı? <Markup> : İskelet {css} : Görünüm JavaScript() : Etkileşim

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

YZM 3215 İleri Web Programlama

Arayüz Geliştirme Dokümantasyonu

Üst Düzey Programlama

Bilgisayar Programcılığı Uzaktan Eğitim Programı. e-bilg 121 AĞ TEKNOLOJİLERİNİN TEMELLERİ Öğr. Gör. Bekir Güler

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

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

Web 2.0 Örnek Eğitim Notu

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.

Ajax kullanımı oldukça yaygınlaşmaktadır. Web tabanlı uygulamalar Ajax desteği ile çok daha esnek kullanışlı, performanslı bir yapıya kavuşmaktadır.

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

İSMET AKTAR ANADOLU TEKNİK LİSESİ BİLİŞİM TEKNOLOJİLERİ ALANI WEB PROGRAMCILIĞI DALI

İnternet Programcılığı

İNTERNET VE BİLGİ AĞLARININ KULLANIMI

CSS3, HTML 5 ve jquery ile Web Tasarımı. Umuthan Uyan

Bütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.

Üst Düzey Programlama

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

ÖRÜN (WEB) GÜVENLİĞİ. Hazırlayan: Arda Balkanay

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

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

1.1 Web Kavramlar URL terimini tanımlayınız ve anlayınız.

Atatürk Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BM Web Programlama ÖDEV 1

Üst Düzey Programlama

BMT 202 Web Tasarımı Bahar Dönemi. Yük. Müh. Köksal GÜNDOĞDU 1

WEB TASARIMININ TEMELLERİ

Sunucu Taraflı JavaScript ile Gerçek Zamanlı Web Uygulamaları Geliştirme

AMACSEO TEMASI KULLANIM KILAVUZU. AmacSeo temasının Amacdizayn.com tarafından hazırlanmış kullanım kılavuzudur. 1

HTML (Hyper Text Markup Language)

Internet: Tarihçe ve Kavramlar

ASP.NET 1. DURUM YÖNETİMİ. BLM 318 e-ticaret ve Uyg. Durum Yönetimi Nedir? Durum Yönetimi: Karșılaștırma İÇERİK. Sunucu-taraflı Durum Yönetimi

Algorithm of Your Life. AJAX ve...

4.41. WEB DE GENÇ TEKNİK: AJAX. Fırat Üniversitesi Fen Bilimler Enstitüsü, Elazığ. Fırat Üniversitesi Teknik Eğitim Fakültesi,

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

PROGRAMLAMA DERSİ 1. İNTERNET

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

HTML içerik oluşturmak için düşünülen bir işaret dilidir. Örnek

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Google Search API ile ajax arama

Blog ve WordPress Kavramları 2. WordPress.com a Nasıl Üye Olabilirim? 10. Nelere İhtiyacımız Var? 18

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

Basamaklı Stil Şablonları (CSS) BIM206 Web Programlama

1 / 5. Mehmet Alper Şen. Kıdemli Yazılım Uzmanı. İletişim Bilgileri

Web Uygulama Güvenliği Kontrol Listesi 2010

Geliştirici Referans Kılavuzu

DIV KAVRAMI <style> position: absolute

2 SEO YOL HARITASI 21 Seo Çalışmasının Aşamaları 21 Ön Analiz Ve Araştırma 21 Planlama 23 Çalışmanın Uygunlanması Ve İzlenmesi 24

2-Hafta Temel İşlemler

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

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

Web Programlama Kursu

WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)

BİLGİSAYAR 4 MOLEKÜLER BİYOLOJİ VE GENETİK BÖLÜMÜ 2. DERS YARD. DOÇ. DR. MEHTAP YALÇINKAYA

WEB TASARIMININ TEMELLERİ

Web Teknolojileri ve Programla

Web Tasarımının Bugünü ve Geleceği

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 5

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 1

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

AĞ ve İNTERNET TCP/IP. IP Adresi İNTERNET NEDİR? Standartlar :

Bozok Üniversitesi Mühendislik Fakültesi - Bilgisayar Mühendisliği. Yrd. Doç. Dr. Ahmet Sertol KÖKSAL

E-ticaretSEM & TEB Eğitimleri İstanbul

HTML Etiketleri Genel Özellikler (Global Attributes)


Internet Programming II

JAVASCRIPT JAVASCRIPT DİLİ

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

WEB TASARIMI. Đnternet Nedir?

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

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

Web Tasarımının Temelleri

Css Stillerinin Nesneyi Etkileme Yolları Ve Sırası, Diez, Nokta, Yıldız, Class Css De Neyi İfade Eder.

PHP I le Web Sitesi Yapımı

Transkript:

Neler var? HTML CSS (Cascading Style Sheets) DOM (Document Object Model) JavaScript jquery kütüphaneleri W3C Standartları HTTP (Hypertext Transfer Protocol) Requests POST GET Headers Çerezler (Cookies) Status Codes XMLHttpRequest & AJAX JSON XML PHP MySQL PHP Sessions SEO (Search Engine Optimization) Güncel İnternet Teknolojileri ve PHP 2

HTML Metin, resim, flash dosyası (swf), java appleti ve benzeri yapıları belirli bir dizayn içerisinde göstermeye yarayan markup dilidir. Günümüzdeki (neredeyse) tüm web sayfaları bilgisayarımıza HTML olarak gelmektedir. HTML, web tarayıcıları ile açılabilir. HTML kodları Kaynağı görüntüle seçeneği ile okunabilir. Güncel İnternet Teknolojileri ve PHP 3

Güncel İnternet Teknolojileri ve PHP 4

HTML HTML programlama dili değil, görsel ifade dilidir. Yazının renginin mor, boyutunun 13 piksel olacağı gibi bilgileri tutar. HTML daha rahat kullanımlar için diğer bir görsel ifade dili olan CSS ile sıkça beraber kullanılır. Gerekli durumlarda HTML kodlarının içine Java Script kodları gömülebilir. Bu konu Java Script kısmında ele alınacaktır. Güncel İnternet Teknolojileri ve PHP 5

HTML HTML kodları hem içerik hem de dizayn bilgilerini içerebilir. Söz gelimi, hem yazının renginin kırmızı olacağını hem de yazının Ayşe ip atla. olduğunu kodlamaya imkan sağlar. Ancak tasarım ve içeriğin beraber olması sorunlara ve karmaşıklığa yol açtığından, stillerin hepsini bir yerde toplamayı hedef alan CSS (stil sayfaları) kullanılmaya başlamıştır. Güncel İnternet Teknolojileri ve PHP 6

CSS Güncel İnternet Teknolojileri ve PHP 7

CSS CSS, HTML içine tasarım kodları sokmak yerine bu stilleri başka bir yerde tanımlama imkanı sağlar. Web sitesinde sıklıkla tekrarlanan stilleri tek satırla biçimlendirebiliriz. CSS kullanımı HTML dosyalarının karmaşıklığını ve boyutunu azaltır. Aynı verilerin sürekli yolculuk etmesini engelleyerek bant genişliği optimizasyonu sağlar. Değişiklik yapmak kolay olur. Güncel İnternet Teknolojileri ve PHP 8

DOM Document Object Model, Belge Nesnesi Modeli olarak Türkçeleştirilebilir. Bu modele göre web sayfası ve içerisindeki tüm elemanlar birer nesne kabul edilir. Tüm nesnelerin özellikleri (property) ve içerikleri çalışma esnasında değiştirilebilir. Nesnelerin olayları (event) vardır. Bu değişiklikler Java Script ya da benzer script dilleri ile yapılabilir. Güncel İnternet Teknolojileri ve PHP 9

Java Script Java Sciprt tarayıcı üzerinde çalışan istemci taraflı bir scripting dilidir. JS ile DOM nesneleri yönetilebilir. Java Script sunucu tarafına bilgi gönderebilir ve cevap alabilir. JS ile sayfa yenilemeden sorgulama yapılabilmesi ve dönen bilgilerin ekrana yerleştirilmesi son zamanlarda sıkça kullanılmaya başlanmış önemli bir web teknolojisidir. Güncel İnternet Teknolojileri ve PHP 10

JS ile DOM nesnesi özelliği değiştirme <img id="resim" src="resim.jpg" style= border: 1px solid black" alt="resim" /> <script type="text/javascript"> document.resim.style.border='1px solid red'; </script> Güncel İnternet Teknolojileri ve PHP 11

jquery jquery, Java Script de çok daha az yazarak çok daha fazla şey yapmamızı sağlayan hazır bir kütüphanedir. Google, Technorati, Wordpress, Drupal gibi bir çok sistem jquery kütüphanelerinden yararlanmaktadır. Bu kütüphanenin sağladığı başlıca özellikler aşağıdadır: DOM elementleri için selectors ve events (onlar ne?) Kolay kullanımlı bir AJAX (AJAX ileride anlatılacak) Eklentiler ile genişletilebilirlik Güncel İnternet Teknolojileri ve PHP 12

jquery de Selector ve Event Kavramı body <div id= header > <div id= content > <div class= stil-a > <div class= stil-b > Selector ve Event kavramlarına girmeden önce HTML etiketlerinin id ve class özniteliklerinin ne işe yaradığını bilmek gerekir. <div class= stil-a > <img class= saga-yasli > Güncel İnternet Teknolojileri ve PHP 13

ID vs. CLASS ID Eşsizdir, birden fazla HTML objesi aynı ID ye sahip olamaz. Bir HTML objesinin birden fazla ID si olamaz. Adres satırından doğruca erişilebilir. Tek olan öğeler için uygundur. Class Birden çok HTML objesi aynı class a sahip olabilir. Bir HTML objesi birden fazla sınıfa sahip olabilir. Adres satırından erişilemez. Sürekli tekrarlayan objeler için uygundur. Güncel İnternet Teknolojileri ve PHP 14

jquery de Selector ve Event Kavramı <div id= header > <div id= content > <div class= stil-a > <div class= stil-b > <div class= stil-a > body Event, bir olayın gerçekleşmesi anlamına gelir. (Örneğin bir elementin üstüne tıklanması o elemente ait click olayını yaratır.) Java Script te jquery kütüphanesi kullanılarak şöyle bir kod yazmak mümkündür: <img class= saga-yasli > 15

jquery de Selector ve Event Kavramı <div id= header > body $("#header").click(function () { $(this).hide(); } <div id= content > <div class= stil-a > <div class= stil-b > $("div").click(function () { $(.saga-yasli).hide(); } $("div.stil-a").click(function () { $( #header").text( Yazı."); } <div class= stil-a > <img class= saga-yasli > 16

W3C web kodlamalarını bir standarda uygun hale getirmek için 1994 yılında kurulmuş bir topluluktur. W3C standartlarına uygun siteler, W3C standartlarını destekleyen tarayıcılar tarafından doğru görüntülenir. (teoride doğru, pratikte yanlış) W3C standartları WWW in yazım kuralları gibi düşünülebilir. Ddem nabıyosun?!! nası gidiyo? Sende gelsene? Oq? Didem ne yapıyorsun? Nasıl gidiyor? Sen de gelsene. Tamam mı? arasındaki fark ne ise standartlara uymak ile uymamak arasındaki fark da budur. Güncel İnternet Teknolojileri ve PHP 17

Neler var? HTML CSS (Cascading Style Sheets) DOM (Document Object Model) JavaScript jquery kütüphaneleri W3C Standartları HTTP (Hypertext Transfer Protocol) Requests POST GET Headers Çerezler (Cookies) Status Codes XMLHttpRequest & AJAX JSON XML PHP MySQL PHP Sessions SEO (Search Engine Optimization) Güncel İnternet Teknolojileri ve PHP 18

Hyper Text Transfer Protocol WWW de en yaygın kullanılan veri iletişim protokolüdür. İstek/Cevap (Request/Response) şeklinde çalışır. HTTP de birçok istek metodu mevcuttur. (HEAD, GET, POST ) Bunlardan yaygın kullanılan ikisi, GET ve POST metotları, ve HTTP nin işleyişi bu sunumda anlatılacaktır. Güncel İnternet Teknolojileri ve PHP 19

HTTP nasıl işler? HTTP metotlarından biri kullanılarak sunucuya istek yapılır. Sunucu bilgiyi HEAD ve BODY olarak iki kısımda gönderir. (İstekte de BODY kısmı olabilir) HEAD kısmı gerekli bilgi gelmeden önce, verinin tipi, kodlaması, sıkıştırma tipi gibi ön bilgileri gönderir. BODY kısmında istenen bilginin kendisi döndürülür. Güncel İnternet Teknolojileri ve PHP 20

Güncel İnternet Teknolojileri ve PHP 21

GET vs. POST GET POST Belirli bir dosya çağırır. Teorik olarak sunucuya başka bir bilgi göndermez. GET metodu ile sunucuya adres satırından bilgi yollanabilir. Ancak bunun sadece çekilecek veriyi seçmek için kullanılması önemlidir. (o ne demek?) http://site.com/sayfa.php?sayfano=20&bölüm=2 İşlenmesi için bir bilgi gönderir. Gönderilen bilgi yaptığımız isteğin (request) BODY kısmında yer alır. Form bilgileri sunucuya bu şekilde yollanır. Güncel İnternet Teknolojileri ve PHP 22

Cookies (Çerezler) Çerezler sunucudan gelen cevap (response) sırasında ya da daha sonra Java Script ile atanabilen istemci tarafında tutulan ufak boyutlu bilgi parçalarıdır. Çerezler web sitelerinin özelleştirilmesi, kullanıcının izlenmesi, oturum açma ve session kontrolü gibi bir çok amaçla kullanılabilir. Tarayıcınız ilgili web sitesi daha önceden bir çerez atamışsa yaptığı HTTP isteğinde bu çerezi HEAD kısmında gönderir. Güncel İnternet Teknolojileri ve PHP 23

Örnek HTTP GET Request GET http://ww.ubenzer.com / ile gönderilen HTTP Header Host: www.ubenzer.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-us; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: ad=umut Cache-Control: max-age=0 HEAD Güncel İnternet Teknolojileri ve PHP 24

Örnek HTTP GET Response HTTP/1.1 200 OK Content-Encoding: gzip Vary: Accept-Encoding Transfer-Encoding: chunked Date: Mon, 10 Nov 2008 20:43:37 GMT Connection: close X-Pingback: http://www.ubenzer.com/xmlrpc.php Expires: Wed, 11 Jan 1984 05:00:00 GMT Last-Modified: Mon, 10 Nov 2008 20:43:37 GMT Cache-Control: no-cache, must-revalidate, max-age=0 Pragma: no-cache Content-Type: text/html; charset=utf-8 HEAD <!-- index.php kaynak kodları --> BODY Güncel İnternet Teknolojileri ve PHP 25

HTTP Status Codes HTTP istediğiniz sunucuya gittiğinde, sunucudan size gelen cevabın HEADER kısmındaki en önemli bilgilerden biri HTTP Status Code kısmıdır. Bu kısım gelenin ne olduğunu anlatır. Web de en sık rastlanan kodlar bir sonraki slaytta listelenmiştir. Güncel İnternet Teknolojileri ve PHP 26

HTTP Status Codes 200 OK 301 Moved Permanently 304 Not Modified 403 Forbidden 404 Not Found 500 Internal Server Error 503 Service Temporarily Unavailable Sağlam Kalıcı olarak taşındı Son istekten bu yana değişmedi. Erişim yasak. Sayfa görüntülenemiyor. İç sunucu hatası. Hizmet geçici olarak kullanılamıyor. Güncel İnternet Teknolojileri ve PHP 27

Güncel İnternet Teknolojileri ve PHP 28

Neler var? HTML CSS (Cascading Style Sheets) DOM (Document Object Model) JavaScript jquery kütüphaneleri W3C Standartları HTTP (Hypertext Transfer Protocol) Requests POST GET Headers Çerezler (Cookies) Status Codes XMLHttpRequest & AJAX JSON XML PHP MySQL PHP Sessions SEO (Search Engine Optimization) Güncel İnternet Teknolojileri ve PHP 29

XMLHTTPRequest & AJAX AJAX (Asynchronous JavaScript and XML) güncel web teknolojilerinde sıkça kullanılan bir yöntemdir. AJAX ın isminde JavaScript ve XML geçmesine rağmen ikisinin de kullanılması aslında zorunlu değildir. AJAX yöntemin adı olarak kalmıştır. AJAX sayfanın tamamını yenilemeden sunucudan veri çekip sayfayı güncellemek anlamına gelir. Veri aktarımı sırasında XMLHTTPRequest denen bir nesne kullanılır. En sağlam örnekleri Gmail, Hotmail, Google Maps, Google Reader, Google Docs, Facebook gibi web sitelerinde görülebilir. Güncel İnternet Teknolojileri ve PHP 30

XMLHTTPRequest & AJAX İşleyişi 1 Web sitesi Java Script ile XMLHTTPRequest nesnesi oluşturur. XMLHTTPRequest ile sunucuya POST ya da GET ile veri gönderilir. 2 3 Sunucu veriyi işler ve sonuç üretir. Sonucu dinlemede olan XMLHTTPRequest nesnesine gönderir. Sonuç XML, JSON, HTML ya da düz metin olabilir. (onlar ne?) İstemci tarafında çalışan JavaScript, XMLHTTPRequest nesnesine gelen cevabı işler ve değişiklikleri ekrana yazdırır. Kullanıcı sayfa yenilenmediği için mutlu olur. :) Güncel İnternet Teknolojileri ve PHP 31

AJAX ın iyi ve kötü yanları İyidir Web sayfası (ve buna ait resim, js, stil belgeleri ) sadece bir defa yüklenir. Her seferinde sayfanın yenilenmemesi sunucu yükünü ve bant genişliği kaybını azaltır. Hızlıdır. Kötüdür Sayfa sadece bir defa yüklendiği ve daha sonra adres hiç değişmediği için kullanıcının sayfayı yer imlerine (sık kullanılanlar) eklemesi zorlaşır. Arama motorlarının JavaScript çalıştırma yetenekleri kısıtlı olduğundan AJAX ile erişilen kısımlara sabit bir adresten erişilememesi SEO sorunlarına yol açar. Güncel İnternet Teknolojileri ve PHP 32

XML & JSON Bir önceki slaytta XMLHTTPRequest ten dönen verinin XML, JSON, HTML ya da düz metin olabileceğini söylemiştik. AJAX ile sunucudan alınan veri birebir ekrana yazdırılmak zorunda değildir. AJAX stilli metinden daha çok verinin kendisini döndürmek üzere tasarlanmış bir dildir. İstemci tarafındaki JS gelen veriyi uygun şekilde işleyip ekrana yazdırır. Veri aktarmak için sıkça kullanılan iki format olan JSON ve XML bir sonraki slaytta anlatılacaktır. Güncel İnternet Teknolojileri ve PHP 33

XML Güncel İnternet Teknolojileri ve PHP 34

JSON Güncel İnternet Teknolojileri ve PHP 35

Neler var? HTML CSS (Cascading Style Sheets) DOM (Document Object Model) JavaScript jquery kütüphaneleri W3C Standartları HTTP (Hypertext Transfer Protocol) Requests POST GET Headers Çerezler (Cookies) Status Codes XMLHttpRequest & AJAX JSON XML PHP MySQL PHP Sessions SEO (Search Engine Optimization) Güncel İnternet Teknolojileri ve PHP 36

PHP: Hypertext Preprocessor İlk sürümü 1993 yılında geliştirilmiş, açık kaynak kodlu, sunucu taraflı bir betik (script) programlama dilidir. PHP nin açılımı, PHP: Hypertext Preprocessor şeklinde özyinelidir. 2008 yılı itibariyle 20 milyon sunucuda kullanıldığı tahmin edilmektedir. C diline benzerliği nedeniyle kolayca öğrenilir. Nesneye dayalıdır. Facebook, YouTube, Wordpress, Wikipedia, Ogame gibi popüler bir çok site PHP ile geliştirilmiştir. Güncel İnternet Teknolojileri ve PHP 37

PHP nin İşleyişi İstemci sunucuyla bağlantı kurarak bir istekte bulunur. (HTTP 1.1 GET, POST) Sunucu gelen bilgileri PHP önişlemcisine gönderir. PHP önişlemcisi gelen bilgileri değerlendirir ve bir sonuç oluşturur. Bu esnada ilgili PHP betiği çalışır, veritabanı bağlantısı kurulabilir vs. PHP önişlemcisi oluşturduğu sonucu sunucu yazılıma gönderir. Sunucu PHP den dönen bu sonucu istemciye gönderir. Güncel İnternet Teknolojileri ve PHP 38

PHP Kod Örneği http://www.egeblog.com/sample/1.php Güncel İnternet Teknolojileri ve PHP 39

MySQL MySQL zamanında MySQL AB şirketi tarafından geliştirilmiş, şu an SUN tarafından satın alınmış, C C++ dilinde yazılmış açık kaynak kodlu bir veritabanı motorudur. MySQL in PHP ile birlikle kullanımı oldukça yaygındır. Wikipedia, Wordpress, Flickr, Facebook gibi birçok ünlü sistem MySQL veritabanını tercih etmektedir. Güncel İnternet Teknolojileri ve PHP 40

PHP Sessions Cookielerin (çerez) işleyişi önceki kısımda anlatılmıştı. Kısaca özetlemek gerekirse, cookieler kullanıcının bilgisayarında tutulan ufak boyutlu bilgi dosyalarıydı. PHP Sessions, en basit anlamıyla sunucu taraflı bir cookie sistemi gibi düşünülebilir. Güncel İnternet Teknolojileri ve PHP 41

PHP Sessions PHP Sessions sisteminde: Sunucudan istekte bulunan her ziyaretçiye bir sessionid atanır. (Bu PHP tarafından yapılan otomatik bir işlemdir.) Session Timeout süresi aşılmadıkça ziyaretçi sessionid si ile tanınabilir. Böylece kullanıcının bilgisayarına hiçbir çerez yazmadan çeşitli özelleştirmeler yapmak mümkün olabilir. Güncel İnternet Teknolojileri ve PHP 42

PHP Sessions Kod Örneği http://www.egeblog.com/sample/2.php Güncel İnternet Teknolojileri ve PHP 43

Neler var? HTML CSS (Cascading Style Sheets) DOM (Document Object Model) JavaScript jquery kütüphaneleri W3C Standartları HTTP (Hypertext Transfer Protocol) Requests POST GET Headers Çerezler (Cookies) Status Codes XMLHttpRequest & AJAX JSON XML PHP MySQL PHP Sessions SEO (Search Engine Optimization) Güncel İnternet Teknolojileri ve PHP 44

SEO (Search Engine Optimization) SEO, Arama Motorları İçin Eniyileme olarak Türkçeleştirilebilir. Günümüzde arama motoru kullanımının ne derece yaygın olduğunu herkes bilmektedir. Arama motorlarında üst sıralara çıkabilmek bir web sitesi için çok önemlidir. Web sitesinin yapısında çeşitli iyileştirmeler yaparak arama motorlarında daha üst sıralara çıkmak mümkündür. Güncel İnternet Teknolojileri ve PHP 45

SEO Arama motorları genel olarak aşağıdaki maddelere dikkat ederler: W3C geçerlemesi Sayfalara uygun başlıklar seçilmesi robots.txt kullanımı Sitenin bağlantı yapısı Siteye gelen dış bağlantılar (referrer) Site haritası kullanımı (sitemap) Sayfa yüklenme süresi (sunucu hızı) Sunucunun bulunduğu ağ (IP adresi) Alan adının (domain) yaşı ve ne zaman biteceği Güncel İnternet Teknolojileri ve PHP 46

robots.txt de ne? Robots.txt bir web sitesinin kök dizininde bulunmalıdır. Bu dosya arama motorlarına hangi adreslerin gezilip, hangilerinin gezilmemesi gerektiği gibi bilgileri verir. Site haritası varsa adresi robots.txt de belirtilebilir. Böylece arama motoru siteyi nasıl gezeceği hakkında bilgi sahibi olmuş olur. Güncel İnternet Teknolojileri ve PHP 47

Bağlantı Yapısı (Permalink Structure) Bir sitenin kalıcı bağlantı yapısı arama motoru sıralamasında ciddi bir rol oynamaktadır. http://www.site.com/index.php?yil=12&ay=2&session=12ced67281f http://www.site.com/12/2/ Bilgilerin GET ile aktarılmasından kaçınılmalı. Bunun yerine ikinci örnekteki bağlantı tipi tercih edilmeli. (apache-mod_rewrite) Arama motorları hangi GET bilgilerinin sayfanın içeriğini değiştireceğini, hangilerinin değiştirmeyeceğini bilemezler. Bu, sayfalarının çift indekslenmesine ya da hiç indekslenmemesine neden olur. Güncel İnternet Teknolojileri ve PHP 48

Site Haritası (Sitemap) Site haritası bir sitenin tüm içeriğinin, arama motorlarının anlayabileceği bir şekilde (XML) listelendiği bir dosyadır. Site haritaları sayesinde arama motorları web sitelerini daha kolay indeksleyebilmektedir. Site haritaları arama motoru için eniyileme konusunda oldukça büyük bir önem taşımaktadır. Güncel İnternet Teknolojileri ve PHP 49

SEO Arama motorları genel olarak aşağıdaki maddelere dikkat ederler: W3C geçerlemesi Sayfalara uygun başlıklar seçilmesi robots.txt kullanımı Sitenin bağlantı yapısı Siteye gelen dış bağlantılar (referrer) Site haritası kullanımı (sitemap) Sayfa yüklenme süresi (sunucu hızı) Sunucunun bulunduğu ağ (IP adresi) Alan adının (domain) yaşı ve ne zaman biteceği Güncel İnternet Teknolojileri ve PHP 50

SON

Yararlanılan Kaynaklar Wikipedia (http://www.wikipedia.com/) Word Wide Web Consortium (http://www.w3.org) PHP: Hypertext Preprocessor (http://www.php.net) MySQL (http://www.mysql.com/) ZEND (http://www.zend.com/) JSON (http://www.json.org/) Ubuntu (http://www.ubuntu.com/) Google (http://www.google.com) jquery (http://jquery.com/) W3Schools (http://www.w3schools.com/) Smashing Magazine (http://www.smashingmagazine.com/) Wordpress Codex (http://codex.wordpress.org/) Technorati (http://www.technorati.com/) Güncel İnternet Teknolojileri ve PHP 52