Dinamik (server-based) Web Teknolojileri ve Programlama

Transkript

Dinamik (server-based) Web Teknolojileri ve Programlama
KARADENİZ TEKNİK ÜNİVERSİTESİ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
BİLGİSAYAR AĞLARI LABORATUARI
Dinamik (server-based) Web Teknolojileri ve Programlama
1. Giriş
İlk bulunduğunda daha çok araştırma-geliştirme amaçlı çalışmalar yapılan İnternet, 1995
yılından itibaren yaygınlaşmaya başlamış ve toplumlarda önemli ölçüde kabul görmüştür.
İnternetin önem ve yararının geniş ölçüde kabul edilmesi ile birlikte, statik Web-HTML
sayfalarının kullanıcıları tatmin etmediği ve ortaya çıkan yeni ihtiyaçları karşılayamadığı
görülmüştür. Özellikle bu sayfalardaki bilgilerin anlık değişimleri yansıtacak biçimde
güncellenememesi ve kullanıcı ile yeterince etkileşimli olmaması gibi sorunlara
karşılaşılmıştır. Oysa çoğu İnternet kullanıcısının aklında kullanıcının eylemlerinden
etkilenen bir yapı oluşturma ve değişen bilgilerin anında Web-sayfasına yansıması fikri
vardır. Bu fikirden hareketle kullanıcı etkileşimli ve anında güncellenen web sayfaları
oluşturmak için çeşitli teknolojiler geliştirildi. Bu teknolojilerin bazıları ASP, CGI, PHP ve
JSP dir. Bu deneyde dinamik ve aktif web sayfalarının çalışma mantıklarını inceleyerek PHP
ve JavaScript ile ilgili örnek uygulamalar geliştirilecektir.
2. Statik ve Dinamik Web Sayfaları
Web sayfaları kabaca dinamik sayfalar ve durgun(statik) sayfalar olmak üzere ikiye
ayrılabilir.
2.1. Statik (Durgun) Sayfalar
Statik sayfa yapısı genelde bilgi vermeye yönelik sayfalarda kullanılır. Sayfa ziyaretçisi
ile herhangi bir enteraktif iletişim yoktur. Bu sayfalar gazeteye ya da dergilere benzetilebilir.
Bu tür sayfalarda sadece sayfaya işlenmiş olan veriler (yazı, resim) görülür. Sayfaya herhangi
bir veri gönderilmez. Bir habere yorum yapılamaz veya ankete oy verilemez. Sadece alıcı
olarak sayfada var olanlar algılanır. Bu gibi sayfaların yapısında %90 HTML kodu ve %10 ise
istemci taraflı kodlar (Javascript, CSS) bulunmaktadır. Statik (durgun) sayfalar dinamik
sayfalara göre yapım maliyeti daha düşüktür. Güncellemek veya yapı değişiklikleri dinamik
sayfalara göre daha zordur; yüksek maliyet gerektirir. Sayfa ziyaretçilerine herhangi bir
hizmet verilemez.
2.2. Dinamik Sayfalar
Bu tür sayfalar genelde. asp, .php, .jsp, .shtml gibi sunucu taraflı dil uzantılarından oluşur.
Sayfa ziyaretçisi ile enteraktif iletişim vardır. Sayfa ziyaretçisine çeşitli hizmetler sunulabilir.
Site güncellemesi kullanıcı tarafından yapılabilir. (örn: Fiyat listelerinin değiştirilebilmesi,
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
1
yeni sayfaların eklenmesi, çevrimiçi broşür hazırlama ve tek tuşla binlerce müşteriye
gönderimi gibi ...). Web sayfalarında şirket amaçlarına uygun hizmetler verilebilir. Şirket
ürünleri e-ticaret vasıtası ile satılabilir veya bayi ağı çevrimiçi çalışır hale getirilebilir.
Dinamik sayfaları dinamik yapan içerdiği kodun dinamikliğidir. Bu sayfalarda mesaj
gönderilebilmekte, oy kullanılabilmekte ve e-posta atılabilmektedir.
3. Scripting (Betik) Diller
3.1. İstemci Taraflı Scriptler
Web sayfalarında yaygın olarak kullanılan bu dillerden javascript Netscape firması
tarafından HTML nin bazı yönlerinin yetersiz olduğu düşünülerek türetilmiştir. Söz dizimi C
ye çok benzer. Javascripte benzer şekilde Microsoft firması tarafından türetilen VB script
vardır. Temel olarak Javascript kodları, istemci tarafında çalışırlar ve gerektiği yerde popup
hata mesajı, form denetimleri, sayfanın yazıcıya gönderilmesi gibi işlevleri yerine getirirler.
İstemci taraflı scriptler yazmak için web tarayıcının desteğine göre JavaScript, VBScript ve
PerlScript gibi dillerden herhangi biri kullanılabilir. Aşağıda verilen istemci taraflı iki
script örneği de aynı işlemi yapar: her biri ekran üzerinde “Hello world” kelimelerini içeren
bir mesaj kutusu gösterir.
<script language="JavaScript">
function AlertJS() { alert("Hello world.") }
</script>
<script language="VBScript">Sub AlertVBS()
MsgBox "Hello world."
End Sub
</script>
Scriptlerin istemci tarafından icra edilmeden önce tarayıcıya yüklenmiş olmaları gerekir.
Bu nedenle scriptler genellikle <head> ile </head> etiketleri arasına yerleştirilir. Aşağıdaki
client_message.asp sayfası istemci taraflı scriptlerin bir ASP sayfasına nasıl yerleştirildiği ve
çağrıldığını gösterir.
client_message.asp
<html>
<head>
<title>İstemci Taraflı Scripting Örneği</title>
<script language="JavaScript">
function AlertJS() { alert("Hello world.") } </script>
</head>
<body onLoad="AlertJS()">
</body>
</html>
HTML <body> etiketinin onLoad eylemi sayfa tarayıcıya yüklenirken icra edilecek
scriptleri içerir. Dolayısıyla bir web tarayıcı client_message.asp sayfasını gösterirken
AlertJS() ve AlertVBS() rutinlerini sırasıyla koşar. İstemci taraflı scriptlerin icrası istemci
tarafında koştuğundan ağ trafiği etkilenmez ve sunucu bilgisayarın yükü hafifletilmiş olur.
3.2. Sunucu Taraflı Scriptler
Sunucu taraflı scriptlerin çalışma şekilleri Şekil 1’de şematik olarak gösterilmektedir.
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
2
Şekil 1: Web sunucusundan bir web sayfası isteme adımları
1. İstemci bilgisayar, www aracılığı ile web sunucusundan bir sayfa çağırır.
2. Web sunucusu ilgili sayfanın başlık kısmını istemciye gönderir.
3. Eğer istemcinin istediği sayfa dinamik bir sayfa ise web sunucusu dinamik sayfayı
yorumlar ve html sayfası üretir.
4. Dinamik sayfadan üretilen html sayfası Web server tarafından istemciye
gönderilir.
5. İstemci kendisine gelen html sayfasını ekranda gösterir.
Sunucu taraflı scriptler, sunucu üzerinde icra edilirler ve icra sonuçları, karşılık gelen
HTML koduyla yer değiştirilirler. İstemcinin sayfa her isteğinde scriptler yeniden icra edilir.
Örneğin, bir sunucu aşağıdaki server_message.asp sayfasına sahip olsun.
server_message.asp
<html>
<head><title>Sunucu Taraflı Scripting
Örneği</title></head>
<body>
Hello. It is now <%=Time() %> on the server.
</body>
</html>
Bu ASP sayfasındaki Time() scripti bir VBScript fonksiyonudur ve sayfa istemciye
gönderilmeden önce icra edilmesi gerekir. “<%=” ve “%>” işaretleri bir fonksiyonun
döndürdüğü değeri ya da bir değişkenin değerini HTML koduna eklemek için kullanılır.
Sonuç olarak, sunucu aşağıdaki içeriğe sahip server_message.asp sayfasını istemciye
gönderir.
<html>
<head><title>Sunucu Taraflı Scripting
Örneği</title></head>
<body>
Hello. It is now 10:42:43 on the server.
</body>
</html>
Sayfadan görüldüğü gibi tarayıcı ekranında sadece “Hello. It is now 10:42:43 on the
server.” kelimelerini içeren bir mesaj görünür. Sayfa her istendiğinde mesajda görünen zaman
değeri farklı olacaktır.
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
3
4. Web 2.0
Tanım ya da etiket olarak 2004 yılındaki bir konferansta temelleri atılan Web 2.0 kavramı
tam anlamıyla tanımlanıp açıklanmakta güçlük çekilse de geçtiğimiz yıllar içerisinde web
teknolojilerine ve eğilimlerine olan etkisi göz ardı edilemeyecek derecede büyüktür.
Kimi tanımlamalara göre bir teknoloji kimi tanımlamalara göre ise yeni bir çağ olarak
kabul edilen yeni sürüm webin kullanıcılara sunduğu en büyük getiri içeriğin mikro boyutlara
indirgenmesidir. Önceki yıllarda içeriği bulmak için referans sitelere gidilir ihtiyaç duyulan
bilgiler yerinden sağlanırdı. Örneğin; haber isteyen cnn.com u, tasarımcılar adobe.com’u,
windowsla ilgili olanlar microsoft.com’u ziyaret ederdi. Az sayıdaki içerik sağlayıcılar çok
sayıdaki istemciye cevap verirdi. Ancak zaman geçtikçe istemcilerde kendi içeriklerini
yazmaya ve bunları insanlarla paylaşmaya başladılar. Bir ya da iki saat içerisinde öğrenilen
html bilgisiyle yapılmaya çalışılan sitelerin yerine kullanıcı için hiçbir tasarım bilgisi
gerektirmeyen, kullanıcının tüm isteklerini düşünmüş uygulamaların ortaya çıkması,
istemciler tarafından sağlanan içerik döneminin gelişmesine önemli derecede katkıda
bulunmuştur. Bu uygulamalar neticesinde insanlar; tasarımla, teknikle uğraşmak zorunda
kalmadan sahip olduğu fotoğrafları, anlatmak istedikleri teknik ya da sosyal içerikleri, ziyaret
ettikleri siteleri (bookmark) vs. milyonlarla çok rahat bir şekilde paylaşır hale gelmişlerdir.
Yayınlamanın yanında bu içeriklere ihtiyacı olanların, bu içerikleri arayanların istediklerini
bulma konusunda işlerini kolaylaştıran arama motorları, portallar, geliştirilen api (Application
Programming Interface)ler kullanıcı hâkimiyetindeki yeni nesil web zincirine eklenen
tamamlayıcı halkalardan sadece biri olmuştur.
Tablo 1 eski ve yeni nesil web arasındaki geçişi birkaç örnekle açıklayabilmektedir.
Web 1.0
Web 2.0
Statik bannerlar
Sitedeki içeriğe göre reklam gösteren Google AdSense
Ofoto gibi fotoğrafları sadece kendi kullanımınız için
saklayacağınız ortamlar
Fotoğrafları milyonlarla paylaşabileceğiniz Flickr
mp3 indirmek için listeleri gezeceğiniz bir mp3.com
Şarkı adını yazıp arama yaptığınız Kazaa
Ansiklopedik bilgiyi arayacağınız yer Britannica Online
Ansiklopedik bilginin aşamalı şekilde oluştuğu Wikipedia
Kişisel web siteleri
Bloglar
domain name için akılda kalıcı tanımlamalar seçmek
akılda kalmak ya da öne çıkmak için arama motorları
optimizasyonları geliştirmek
sayfa görüntülenmesi
tıklamaların değerlendiği dönem
içerik yönetim sistemleri
herkesin birşeyler söyleyebildiği wiki pedia
klasor yapıları (taxonomy)
tag yapıları (tagging,"folksonomy")
Tablo 1. Eski ve yeni nesil webin karşılaştırılması
5. Dinamik Web Programlama Dilleri
5.1. ASP Dili
ASP, ya da Active Server Pages (Etkin Sunucu Sayfaları), Microsoft tarafından geliştirilen
internete yönelik sunucu taraflı (serverside) çalışan bir teknolojidir. Sunucunun sadece
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
4
durağan sayfaları istemciye (ziyaretçi) göndermesi yerine, ziyaretçiden veri kabul edilmesi
gerekliliğinin sonucunda ortaya çıkmıştır.
ASP sayfaları çoğunlukla VBScript kullanılarak yazılır, ancak @Language komutuyla
JScript, hatta Perl gibi başka bir dil de seçilebilir.
Bir ASP dosyasının içinde, özel nesneler ve VBS, JS, SQL kodları bulunur, bu sayfalar
istemci tarafından istendiğinde sunucu öncelikle ASP içindeki kodları icra ederek, istemciye
göndereceği bilgiyi oluşturur ve gönderir. Gönderilen bilgi genellikle HTML şeklindedir.
Fakat sadece bunlarla sınırlı değildir, aynı şekilde bir grafik dosyası da oluşturulup, istemciye
gönderilebilinir.
ASP sayfaları HTML kodlarının içine gömülü şekilde oluşturulduğu halde bir kez sunucu
tarafından yorumlandığında saf HTML olarak döner. Kaynak kodlara bakıldığında ASP
kodları görülmez. Bu kodlamacıların kaynaklarını saklamalarını kolaylaştırır.
ASP'nin ortaya çıkış nedenlerinden birisi de CGI dillerinin Oturum (Session) ve
Uygulamaların (Application) başından sonuna kadar izlenmesinin yetersiz oluşundandır.
Bir web sayfasının ASP kodu içerip içermediği dosyaya verilen “.asp” uzantısıyla
belirlenir. Web sunucudan (IIS) istenen bütün “.asp” uzantılı dosyalar istemciye
gönderilmeden önce sunucu ile aynı makine üzerinde bulunan ASP yorumlayıcıya
(ASP.dll) gönderilirler. ASP yorumlayıcı “.asp” uzantılı bir dosya içerisinde bulunan ASP
kodlarını HTML kodlarına dönüştürür ve sunucuya geri gönderir. Daha sonra bu yeni dosya
sunucu tarafından istemciye gönderilir. İstemciye gönderilen dosyalar daima sadece HMTL
kodu içerdiğinden dolayı ASP sayfaları web tarayıcılardan (browser) bağımsızdır.
5.2. PHP Dili
PHP (Personal Home Pages)ın kısalması olan ve ASP gibi sunucu taraflı interaktif web
siteleri oluşturmak için kullanılan bir script dilidir. 1990 ların ortalarında Rasmus Lerdorf
tarafından oluşturulmuş ve giderek geliştirilmiştir. PHP söz dizimi (syntax) Perl ve C ye çok
benzemektedir. PHP scriptleri sunucu tarafından çalıştırılmakta ve birçok veritabanı
sistemiyle (MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, vs…)
uyumlu olarak çalışabilmektedir. Açık kaynak kodlu bir dildir ve ücretsizdir. PHP kodlarının
çalışması için sunucu üzerinde web sunucu (çoğunlukla Apache) programı çalışmalıdır.
PHP kodları. php uzantılı dosyalara yazılırlar. Web sunucusu. php uzantısını gördüğü an o
dosyanın php dosyası olduğunu anlar. Php kodlarını yorumlar ve geriye html kodu döndürür.
Bir PHP dosyası düz metinlerden, php kodlarından ve html etiketlerinden oluşabilir. Ayrıca
php dosyaları .php3 ya da .phtml uzantısında da olabilirler.
Bir web sayfasının php kodu içerip içermediği o dosyanın uzantısına bakarak anlaşılır. Bir
istemci, sunucudan .php uzantılı bir sayfa çağırdığında Web sunucu (Apache) o dosyayı php
yorumlayıcısına gönderir. Php yorumlayıcısı php kodlarını yorumlayarak html çıktısı üretilir.
Üretilen html dosyası istemciye gönderilir ve istemci tarafından görüntülenir. Burada dikkat
edilmesi gereken nokta istemci bilgisayarda görüntülenen kod php kodu değil html kodudur.
PHP Söz Dizimi
PHP blokları <?php ile başlar ve ?> ile biterler ve html kodları arasına yerleştirilebilirler.
Aşağıda basit bir php kodu verilmektedir.
<html>
<body>
<?php
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
5
// Burası tek satırlık açıklama
/*
Burası blok şeklinde
Yorumlar için kullanılmaktadır.
*/
echo "Bu kod php tarafından oluşturuldu.";
$txt = "Hello World!";
$number = 16;
echo $txt;
echo $number;
?>
</body>
</html>
PHP Fonksiyonları
PHP dilinin gücü içerdiği fonksiyonlardan kaynaklanmaktadır. PHP içerisinde 700 den
fazla dahili fonksiyon bulunmaktadır. Bu fonksiyonlara www.php.net adresinden
erişebilirsiniz. Bunun dışında bu fonksiyonlara ek olarak kullanıcı tanımlı fonksiyonlar da
yazılabilmektedir.
<html>
<body>
<?php
function writeMyName()
{
echo "Kai Jim Refsnes";
}
echo "Hello world!<br />";
echo "My name is ";
writeMyName();
echo ".<br />That's right, ";
writeMyName();
echo " is my name.";
?>
</body>
</html>
PHP Form Handling
PHP web programlama dilinde istemciden bilgiler form yardımıyla alınır ve sunucuya
iletilir. Verilerin sunucuya iletilme biçimleri 2 türlüdür.
• Get metodu
• Post Metodu
Form olayını daha net anlamak için aşağıdaki örnekleri inceleyelim.
Form.html
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
Welcome.php
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.
</body> </html>
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
6
GET Metodu
Bu metodla iletilen veriler adres satırı üzerinden görülür ve herkesin görebileceği
şekildedir. Değişkenler $_GET[“isim”] şeklinde kullanılırlar.
• İletilen değişkenler URL de gözükürler
• Kullanıcı adı ve parola iletimi gibi durumlarda bu metodun kullanılması sakıncalıdır.
• Bu metod büyük çaplı değişkenler için elverişli değildir. Örneğin karakter dizilerinin
boyutu 100’ü geçemez.
• Parametreli sayfa çağırmaları için elverişlidir.
Örn: :
https://ceng.ktu.edu.tr/index.php?option=com_frontpage&Itemid=1
POST Metodu
Bu metod ile iletilecek olan veriler kullanıcılara gözükmeden iletilirler. Değişkenler
$_POST[“isim”] şeklinde kullanılırlar.
• İletilen değişkenler URL de gösterilmezler.
• İletilen değişkenler için büyüklük sınırlaması yoktur.
$_REQUEST Değişkeni
Bu değişken ile hem GET metodu ile iletilen veriler hem de POST metodu ile iletilen
veriler alınır.
Örn:
<form action="welcome.php" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
GET ile
Welcome <?php echo $_GET["name"]; ?>.<br />
You are <?php echo $_GET["age"]; ?> years old!
POST ile
Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old!
REQUEST ile
Welcome <?php echo $_REQUEST["name"]; ?>.<br />
You are <?php echo $_REQUEST["age"]; ?> years old!
Yukarıdaki her üç kod da aynı görevi görmektedir. Tabi form ile veri iletilirken action
parametresinin uygun şekilde verilmesi gerekir.
PHP Çerezleri
Çerezler, sunucu bilgisayarın istemci bilgisayarda kullanıcıyı tanımlamak için kullandığı
dosyalardır. Genellikle sunucu bilgisayarın istemciyi daha sonraki girişlerde tanıması için
kullanılır.
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
7
Syntax
setcookie(name, value, expire, path, domain);
Çerezlerin Ayarlanması
<?php
setcookie("user", "Alex Porter", time()+3600);
?>
<html>
<body>
</body>
</html>
Çerezlerin Okunması
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br
/>";
else
echo "Welcome guest!<br />";
?>
</body>
</html>
PHP Oturumları
Bir kullanıcı bir sayfayı açtığında uygulamayı kapatana kadar geçen süre oturum olarak
adlandırılır. PHP de Session değişkeni ise bir oturum süresince olan bilgileri tutar. Bir web
sayfası web tarayıcısı ile açıldığında açma, değişiklikler yapma ve kapama gibi işlemler
yapılır. İşte bu gibi bilgiler session değişkeni yardımıyla daha sonra tutulur. Session değişkeni
ile ilgili verilerin kullanılması için önce oturumun açılması gerekir.
Not: session_start() fonksiyonunun <html> tagından önce kullanıldığına dikkat edin.
<?php session_start(); ?>
<html>
<body>
</body>
</html>
Örn:
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
Oturumu Kapatma
<?php
unset($_SESSION['views']);
?>
Ya da
<?php
session_destroy();
?>
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
8
6. Web Sayfalarının Çalıştırılması
6.1. Web Sunucu
Web, internet üzerinde yer alan grafiksel bir servistir. Hazırlanan içeriklerin ( grafik, yazı ,
ses, animasyon, görüntü vb ) dünya üzerinde yer alan tüm kullanıcılara iletilmesi ve
kullanıcıların bu dosyalara ulaşabilmesi için internete bağlı bir bilgisayar üzerinde çalışan
uygulama yazılımını web server olarak tanımlayabiliriz. Web server programları kuruldukları
işletim sistemine göre farklılık gösterebilir. Sözgelimi web server olarak unix işletim
sistemini kullanan bilgisayarlar Apache ( Apache’nin Windows işletim sistemlerinde de
çalışan sürümleri vardır. ) kullanırken windows işletim sistemini ( server ) kullanan
bilgisayarlar ise web server programı olarak IIS (Internet Information Server ) kullanabilir.
6.2. ASP Sayfalarını Çalıştırma
ASP sayfalarının bir harici sunucuya ihtiyaç duyulmadan bir PC üzerinde
çalıştırılabilmesi için Microsoft’un geliştirdiği ürünlerden olan Personel Web Server (PWS)
ya da Internet Information Server (IIS) kurulmalıdır. PWS’i kurmak için en az Windows 95
ve IIS’i kurmak için ise en az Windows NT işletim sistemi gerekir.
6.3. PHP Sayfalarını Çalıştırma
PHP sayfalarının çalıştırılabilmesi için kodun çalıştığı bilgisayarda Apache web sunucu
programının kurulu olması gerekir. PHP sayfalarının harici bir sunucuya ihtiyaç duymadan bir
PC üzerinde çalışması için o PC üzerinde Apache web sunucusu ve PHP yorumlayıcısının
kurulması gerekir. Ayrıca veri tabanı uygulamaları yapabilmek için PHP’nin tam uyum
gösterdiği MySQL veritabanı sunucusunun da kurulu olması gerekir. Günümüzde tüm bu
programları bir arada tutan ve Windows platformunda çalışan programlar vardır.
Deneyimizde Wamp Server (Windows Apache MySQL, PHP) programını kullanacağız.
Wamp Server programını indirip kurmak için http://www.wampserver.com adresini ziyaret
edebilirsiniz.
4. Deney Hazırlığı
1. Deneye gelmeden önce her öğrenci deney föyünü dikkatlice okumalı ve dinamik web
programlama kavramını öğrenmelidir.
2. Deneye gelmeden önce HTML dili ile ilgili temel düzeyde bilgi sahibi olunmalıdır.
3. Web sayfaları arasında veri iletim metodları hakkında en az bir uygulama yazılmalıdır.
4. PHP web programlama dilini kullanarak temel düzeyde en az bir web uygulaması
yazılmalıdır.
5. Deney Tasarımı ve Uygulaması
1. Deney föyü ile ilgili dinamik web programlama ilgili soruların sorulması ve
cevaplanması.
2. www.wampserver.com adresinden web sunucu programını indirilmesi ve kurulması.
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
9
3. Uygulama 1 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/
adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi.
4. Uygulama 2 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/
adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi.
5. Uygulama 3 deki kodu yazarak sonucu http://ceng.ktu.edu.tr/~zafer/bil-sis/
adresindeki karşılığı ile karşılaştırma ve çalışma mantığının incelenmesi.
6. Uygulama 3’te kullanılan renk menüsüne yeni renklerin eklenmesi
7. Uygulama 3’te kullanılan seçim (select) elemanları yerine radio elemanlarının
kullanılarak yeniden düzenlenmesi
8. Uygulama 3’te Select elemanı yerine bir text alanı ve bir buton yerleştirerek, bu alana
girilen renk bilgisinin buton yardımıyla sunucuya gönderilmesini sağlama ve bu
sayede arkaplan renginin ayarlanması.
6. Deney Soruları
Web sayfalarının kullanılan teknolojiye göre kaça ayrıldığını söyleyiniz.
İstemci taraflı scriptlere örnek veriniz.
Sunucu taraflı scriptlere örnek veriniz.
Sunucu taraflı scriptlerin çalışma mantığını söyleyiniz.
Web 2.0 ile Web 1.0’ı karşılaştırınız.
Web sayfalarında verilerin sunucuya iletilme biçimlerinin ne olduğunu söyleyiniz ve
bu biçimleri birbirleri ile karşılaştırınız.
7. Web sunucu nedir ve ne işe yarar?
8. PHP sayfalarının çalıştırılması için neler gerekir?
1.
2.
3.
4.
5.
6.
7. Deney Raporu
Deney raporu, deney esnasında yazılarak teslim edilecektir. Bu nedenle rapor şablon
dosyasını buradan indirerek çıktısını alınız, gerekli alanları (öğrenci no, ad, soyad …)
doldurunuz, hazırlık sorularını cevaplayarak el yazısı ile “Deneye Hazırlık” kısmına yazınız.
Raporunuzun diğer alanları deney esnasında doldurulacaktır. Her öğrenci bireysel rapor
hazırlayacaktır.
Deneyin web sayfası : http://ceng2.ktu.edu.tr/~zafer/aglab/
8. Kaynaklar
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
www.w3schools.com
www.hotscripts.com
www.php.net
www.phpbuilder.com
www.wampserver.com
www.csharpnedir.com
tr.wikipedia.org
www.programlamadili.net
KTÜ Bilgisayar Mühendisliği Bölümü – Bilgisayar Ağları Laboratuarı
10

Benzer belgeler