Tek dosyalı projeler (siteler) üretmek



Benzer belgeler
Google Search API ile ajax arama

PHP ile İnternet Programlama

Facebook connect ile kullanıcı giriş çıkış

Interprise. Ülker İletişim Web Servisi. Bu doküman Ülker iletişim web servisi hakkında teknik açıklamaları içerir. İletişim web servisi web adresi :

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

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

Yukarıdaki örnekte görüldüğü üzere her php komut satırı noktalı virgül (;) ile biter.

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

E-postalarınıza HTML imza ile daha ilgi çekici olun

1.PROGRAMLAMAYA GİRİŞ

3. Metin ve Görünüm Etiketleri

HTML & CSS. Öğr.Gör. M.Ersin AKAY

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

BÖLÜM 4 KONTROL DEYİMLERİ

2-Hafta Temel İşlemler

görüntüleyebilirsiniz. HTML, programlama dilleri bir programlama mantığı taşımadığından öğrenilmesi gayet kolay bir dildir.

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

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

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

İNTERNET PROGRAMCILIĞI - II

ALGORİTMA DERSLERİ. Algoritma Nedir? Belirli bir problemi çözmek ve belli bir sonuca ulaşmak için çizilen yola algoritma denir.

Windows XP Professional Kurulumu

Gimp ile web animasyonu oluşturmak (gif)

Microsoft Excel. Çalışma Alanı. Hızlı Erişim Çubuğu Sekmeler Başlık Formül Çubuğu. Ad Kutusu. Sütunlar. Satırlar. Hücre. Kaydırma Çubukları

How to ASP Language. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. Hafta V

Internet Programming I. Hafta III. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Ekran Çıktısı. FONT-WEIGHT: bold; COLOR: #00688F; FONT-FAMILY: Tahoma, Arial, sans-serif; style="text-decoration none" }

C# ile e-posta Göndermek

Temel Bilgisayar Terimleri Yrd. Doç. Dr. Devkan Kaleci

Arama motoru: kuş gribinin etkileri

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

UZAYLIYLA SOHBET. Kedi kuklasını silip bu kuklalardan birini seçin ve projenize başlayın.

MacOSX'de Mail.app (Apple Mail) istemcisinde html imza ayarlamak

<< Google-buzz.de - Reports >>

PHP ile İnternet Programlama

3-

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Daha önce bu işlemin iki tane dosya oluşturduğunu gördük. GecDenTest.aspx dosyasının source kısmında içeriğini inceleyecek olursanız en başta

Google Dokümanlar Servisi

Bu sayfa şifre hatırlatma sayfasıdır. Öğrenci numarası ve ön kayıt başvurusu sırasında girdiğiniz e- posta ile şifrenizi isteyebilirsiniz.

e-imzatr Kurulum Klavuzu

BİL-142 Bilgisayar Programlama II

KENDİ ÇİZİM PROGRAMIMIZI OLUŞTURALIM

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

1) İlk olarak oluşturduğumuz filtre adı yazılır. (örneğin tatil mesajı, taşı vb gibi.) 2) Sonra filtre için kural belirlenir.

Eskişehir Osmangazi Üniversitesi Akademik yılı yeni öğrenci kayıtları:

Fonksiyonlar. <? print "Ekrana yaziyorum..<br>"; $a=print "Ben de...<br>"; print $a;?> Bu kodun ciktisi: Ekrana yaziyorum.. Ben de...

1-100 tam puan üzerinden notları harf notuna çeviren Php kodunu yazınız. <?php

KENDİ ÇİZİM PROGRAMIMIZI OLUŞTURALIM

3-Hafta Genel Sayfa Yapısı. Semantik Web Nedir? SEO Nedir? Sayfa Başlığı (Title) Konu Başlıkları (Heading) Genel Sayfa Düzeni

PHP 1. Hafta 2.Sunum

Bo lu m 7: Hesap Tabloları

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

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Note: If you want to validate a page containing frames, be sure the DTD is set to "Frameset DTD". Read more about XHTML Validation.

WEB TASARIM. CSS, IFRAME, TEMPLATE, SLICE, INCLUDE(php komutu) Tarık ÖZEL

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş.

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

İnternet Programcılığı Dersi 2.Dönem Ders Notu

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Analiz Raporu. Projenin amacının, konusunun, işlevinin ne olacağı, hangi yazılımlar kullanılacak gibi parametrelerin belirlenmesi.

Blogcu Kullanma Kılavuzu

OKUL HABER EKLEME MODÜLÜ TANITIM DOSYASI. Okul haberlerinizi ilçemiz web sitesinde yayınlayabilmek için aşağıdaki adımları uygulamanız gerekmektedir.

Kodlama Paneli. Nazmiye Demirel Ortaokulu SCRATCH Scratch bir grafik programlama dilidir.

Bilin tarafından verilen Kullanıcı Adı ve Şifresini bu alanlara giriniz. Bilin Yazılım ve Bilişim Danışmanlığı Ltd. Şti.

Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi

e-imzatr Kurulum Klavuzu

Python Programlama Dili

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 4

Genel Programlama II

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

Word Otomatik Düzelt

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

Free Download Manager Kullanarak Internetten Download

Regular Expressions Version 0.1

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.

Internet Programming II

Twitter da bu durumla karşılaşan başka kullanıcılar var mı diye twitter virüs anahtar kelimeleri ile genel bir arama yaptığımda ise bu durumun Nisan

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

SparkleShare. Çağrı Emer. Ekim, 2011

Vsp Teknoloji Son sistem güvenlik duvarlarıyla korunmaktadır, Kullanıcı bilgilerini doğru girdiğinde giriş sayfasına bağlanacaktır.

Per_Puan Yıl Sonu İ şlemleri

İNTERNET PROGRAMCILIĞI - II

TÜRKİYE KAMU HASTANELERİ KURUMU WEB SİTESİ YÖNETİM REHBERİ

Değerli Datasoft Kullanıcısı;

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Ambalaj Atıklarının Kontrolü Yönetmeliği VERİ KAYIT VE BELGELENDİRME SİSTEMİ

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

ΕΘΝΙΚΟ & ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΤΟΥΡΚΙΚΩΝ ΣΠΟΥΔΩΝ ΚΑΙ ΣΥΓΧΡΟΝΩΝ ΑΣΙΑΤΙΚΩΝ ΣΠΟΥΔΩΝ Μάθηµα : ΤΟΥΡΚΙΚΗ ΓΛΩΣΣΑ II ΔΕΞΙΟΤΗΤΕΣ ΣΤΟΝ

Temel Bilgisayar Programlama

T.C. MĠLLÎ EĞĠTĠM BAKANLIĞI AÇIK KAYNAK KODLU HAZIR SĠSTEMLERĠ

PORT HABERLEŞME SERİ PORT FARUK BOZAN

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

YILDIZ TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ADAY ÖĞRENCİ ONLINE BAŞVURU KILAVUZU

WEB TASARIMIN TEMELLERİ

Anaokulu Bilgi ve İletişim Sistemi

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir.

TESTOSİS KULLANIM KLAVUZU Sisteme Giriş: adresinden yapılmaktadır.

Transkript:

Tek dosyalı projeler (siteler) üretmek 18 Şubat Pazartesi 08 PHP ve Pear Dökümanları http://mfyz.com/tek-dosyali-projeler-siteler-uretmek Bazen yazdığınız/yazacağınız modül/sayfa/proje çok işlem ve bölüm içermeyebilir. Farklı içeriğe sahip kısa ama çok metin olabilir elinizde. Ya da modülünüzde işlemler kısadır. Ya da tamamen ilginçlik olsun diye tek dosyada birçok işi yaptırmak isteyebilirsiniz. Mesela sadece bir dizini listeleyip, dosyalar üzerinde ufak işlemler yaptıran bir betik yazıyor olabilirsiniz. Ya da bir reklam kampanyası için reklam sayfasının yanında ufak bir bilgi (hakkında) sayfası ve iletişim formu olan bir site-cik yapıyor olabilirsiniz. Ufak işlemler içeren sayfalara bir sürü dosya oluşturup dosya kalabalığı yaptırmaktansa tek dosyada toplayabilirsiniz. Bu dökümanda ufak bir örnekle tek dosyadan oluşan bir site/sayfa yapacağım. Başlıyoruz Önce basit html yapınızı modüler yapıdaki gibi hazırlayalım. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="contenttype" content="text/html; charset=utf-8"> <title>tek dosyadan olu?an sayfam</title> </head> <body> <h1>fatih'in sitesi</h1> <ul> <li><a href="index.php">anasayfa</a></li> Sayfa 1 / 9

<li><a href="index.php?bolum=hakkimda">hakk?mda</a></li> <li><a href="index.php?bolum=projeler">projeler</a></li> <li><a href="index.php?bolum=iletisim">?leti?im</a></li> </ul> <div> içerik k?sm? </div> Mehmet Fatih YILDIZ 2008 </body> </html> gördüğünüz gibi oldukça basit. Site başlığı, ufak bir menü iki HR arasında sayfa içeriği ve sayfa sonu notu. Sayfa içeriği kısmına modüler yapıdaki gibi içerğimizi basacağız. Şimdi 4-5 tane sayfamız var bunların içeriklerini gömeceğiz dosyamızın içine. Aslında hepsi basit bir kontrol mekanizması ile hallolacak. <?php // bilgiler $bolum = $_GET["bolum"]; $islem = $_GET["islem"]; // ekrana basilani tamponlayalim ob_start(); // sayfa icerikleri if( $bolum == 'hakkimda' ){ <h2>hakk?mda</h2> Ben buyum?unlar? bunlar? yapar?m falan fe?mekan.?urada okudum, burada okuyorum büyüyünce X olaca??m siteyi?öyle yapt?m böyle ettim. Sayfa 2 / 9

}else if( $bolum == 'projeler' ){ <h2>projelerim</h2> PHP ile?u projelerin altyap?s?yla u?ra??yorum. Hede hödö }else if( $bolum == 'iletisim' ){ <h2>?leti?im</h2>?leti?im bilgilerim : asd@asd.com <form action="index.php?islem=iletisim" method="post"> Ad : <input type="text" name="ad"> E-posta : <input type="text" name="ad"> Mesaj : <textarea name="ad"></textarea> <input type="submit" value="mesaj? gönder"> </form> }else{ // anasayfa Siteme ho?geldiniz } // tamponlanan icerigi alalim $icerik = ob_get_contents(); // tamponu bosaltalim, ekrana basilmasin ob_end_clean(); Sayfa 3 / 9

?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> Yukarıda gördüğünüz gibi sayfa içeriklerini kontrole göre ekrana bastık. Burada dikkatinizi 2 şey çekmiştir. ob_start, ob_get_contents ve ob_end_clean fonksiyonlarını ekrana basılan şeyleri $icerik değişkenine aktarabilmek için yaptım. echo'daki kullanımı ise "HTML_SON" kelimesini bitirme kelimesi olarak görerek içeride tırnakları istediğimiz gibi kullanma özgürlüğü sunduğu için yaptım. Yani HTML_SON'ların arasında özgürce istediğiniz her karakteri kullanabilirsiniz. Bu sayede html olarak hazırladığınız sayfa içeriklerini 1-1 kopyala yapıştırarak rahatça işinizi halledebilirsiniz. Gelelim neden çıktıyı tamponladığıma, bu işlemi hiç echo, tamponlama kullanmadan şöyle de yapabilirdiniz : if( $bolum == 'hakkimda' ){ $icerik = "<h2>hakk?mda</h2> Ben buyum?unlar? bunlar? yapar?m falan fe?mekan.?urada okudum, burada okuyorum büyüyünce X olaca??m siteyi?öyle yapt?m böyle ettim."; }else if( $bolum == 'projeler' ){ $icerik = "<h2>projelerim</h2> PHP ile?u projelerin altyap?s?yla u?ra??yorum. Hede hödö"; }else if( $bolum == 'iletisim' ){ Sayfa 4 / 9

Ama bir sürü tırnak sorunu ile uğraşmanız gerekebilirdi. Neyse içeriklerimizi get ile gelen bolum parametresine göre belirlediğimize göre htlm'imizde konumlandırabiliriz. Sayfanızdaki "içerik kısmı" yazan yere <div> <?=$icerik;?> </div> $icerik değişkenini basıyoruz. Böylece tek sayfada içerik basabiliyoruz. İşin bir de işlem kısmı var. Yani tek dosyada toplamaya çalıştığınız site/sayfa sadece içerikten oluşmak zorunda değil. Aynı zamanda php'ye bazı işler yaptırmanız gerekebilir. Hatta modül için bu tek dosya mantığını düşünürseniz işlem modüllerinde içerik değil sadece işlemler vardır. Aynı mantıkla bunu da yapabilirsiniz. Örnekte gördüğünüz gibi iletişim bölümünde bir iletişim formu var. Bunu işleyen kısmı buraya gömmek için sayfa içeriklerini seçtirmeden önce işlemler için de bir kontrol bloüu koyuyoruz. <?php // bilgiler $bolum = $_GET["bolum"]; $islem = $_GET["islem"]; // once islemler kontrol edilmeli if( $islem == 'iletisim' ){ // iletisim formunu eposta ile gonderen // veya veritabanina kaydeden kodu // buraya yerlesitiryorsunuz Sayfa 5 / 9

/* tabiki islemler bittikten sonra exit ile betigin calismasini durdurmaniz lazim. zaten bundan once i?leminizin sonucunu ekrana basmis olmaniz lazim. "ba?ar?yla gönderildi" veya gönderilemedi gibi */ exit(); } /* E?er birden fazla i?leminiz varsa else if koyarak i?lemlerinizi tan?mlay?p buraya ekleyebilirsiniz. Fakat else koymay?n. Çünkü i?lem de?i?keni olmak zorunda de?il. mesela sadece içerik gösteriliyorsa islem parametresi yoktur. */ işlemleri de sayfaya gömdükten sonra son sayfa şuna benzer olacak : <?php // bilgiler $bolum = $_GET["bolum"]; $islem = $_GET["islem"]; // once islemler kontrol edilmeli if( $islem == 'iletisim' ){ // iletisim islemleri exit(); } // ekrana basilani tamponlayalim ob_start(); Sayfa 6 / 9

// sayfa icerikleri if( $bolum == 'hakkimda' ){ <h2>hakk?mda</h2> Ben buyum?unlar? bunlar? yapar?m falan fe?mekan.?urada okudum, burada okuyorum büyüyünce X olaca??m siteyi?öyle yapt?m böyle ettim. }else if( $bolum == 'projeler' ){ <h2>projelerim</h2> PHP ile?u projelerin altyap?s?yla u?ra??yorum. Hede hödö }else if( $bolum == 'iletisim' ){ <h2>?leti?im</h2>?leti?im bilgilerim : asd@asd.com <form action="index.php?islem=iletisim" method="post"> Ad : <input type="text" name="ad"> E-posta : <input type="text" name="ad"> Mesaj : <textarea name="ad"></textarea> <input type="submit" value="mesaj? gönder"> </form> Sayfa 7 / 9

}else{ // anasayfa Siteme ho?geldiniz } // tamponlanan icerigi alalim $icerik = ob_get_contents(); // tamponu bosaltalim, ekrana basilmasin ob_end_clean();?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="contenttype" content="text/html; charset=utf-8"> <title>tek dosyadan olu?an sayfam</title> </head> <body> <h1>fatih'in sitesi</h1> <ul> <li><a href="index.php">anasayfa</a></li> <li><a href="index.php?bolum=hakkimda">hakk?mda</a></li> <li><a href="index.php?bolum=projeler">projeler</a></li> <li><a href="index.php?bolum=iletisim">?leti?im</a></li> </ul> <div> <?=$icerik;?> </div> Mehmet Fatih YILDIZ 2008 </body> </html> Modüler yapıya ne oldu? Sayfa 8 / 9

Powered by TCPDF (www.tcpdf.org) Daha öncehttp://www.mfyz.com/?/dokuman/52/bir-sitenin-kod-dil-olmali/ dökümanında bahsettiğim bir modüler yapı vardı. Her türlü projenizde bu mantığı kullanmanızı önermiştim. Bu dökümanın amacı ufak projeler için zaten. Farkındaysanız örnekte verdiğim kodlar müthiş kısa kodlar. Çok basit bir site bile yapsanız bu kodlar uzayıp gidecektir. Bir de şunu unutmayın : eğer kodlarınız (yani bölümler veya işlemlerdeki) genellikle 20-30 satırı geçen kodlar ise bu yöntem hata yakalamanızı, sorun yaşadığınızda çözme sürenizi, çalışabilirliğinizi ve kodun temizliğini kötüleştirecek/zorlaştıracaktır. Onun için çok paranoyak veya ihtiyaç duymadığnız sürece bu mantığı kullanmayın. Modüler yapıyla ilgili yazdığım döküman çok daha faydalı olacaktır. Hazırlayan : Mehmet Fatih YILDIZ Bu yazı http://mfyz.com/tek-dosyali-projeler-siteler-uretmek adresinden indirilmiştir. Sayfa 9 / 9