Adres Satýrýndan Bilgi Almak



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

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

FLASH ile Kayan Menüler

PHP ile İnternet Programlama

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

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

İnternet Programcılığı Form İşlemleri ve Oturum Yönetimi Örnekleri

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

1. FORMLAR AMAÇ ARA TIRMA. Programlamaiçindeformkullan m n ö renerekuygulamalaryapabileceksiniz.

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

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

Web Tasarımının Temelleri

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKÎ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ INTERNET PROGRAMCILIĞI - 4

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

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

İNTERNET PROGRAMCILIĞI I

Web Teknolojileri ve Programla

olarak çalýºmasýdýr. AC sinyal altýnda transistörler özellikle çalýºacaklarý frekansa göre de farklýlýklar göstermektedir.

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar

Web Tasarımı - Yrd. Doç. Devkan Kaleci 1

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

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

İNTERNET PROGRAMCILIĞI - II

Web Site Tasarımı (Html-Css) (SD0139) Murat KARA 2017

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

düºünülerek geliºtirilmiºtir. Bu nedenle, diðer dillerden farklý olarak, ayný zamanda kendisi de bir platformdur.

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

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

WEB TASARIMININ TEMELLERİ

PHP ile İnternet Programlama

JAVASCRIPT JAVASCRIPT DİLİ

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

Web Programlama Kursu

Öğr. Gör. Serkan AKSU 1

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.

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

Javascript Ders Örnekleri -2. Tarayıcı Görüntüsü

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.

HESAP MAKİNASI YAPIMI

2-Hafta Temel İşlemler

Cookie s. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 17 Ara 2013

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

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 Programcýlýðý (PhP, MySQL) Ders Sorumlusu Yrd.Doç.Dr.Hilmi Kuºçu

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

Site Temizlik Projesi Kodları

MEBİS Kullanım Kılavuzu. Öğrenci İstanbul Medipol Üniversitesi

JavaScript Örnekleri PDF

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

çindekiler 01. Kurulum

PROGRAMLAMA DERSİ 1. İNTERNET

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

BÖLÜM 3 OPERAT A ÖRLER

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

CSRF (XSRF, Cross Site Request Forgery Cross Site Reference Forgery ) Nedir? Nasıl Kullanılır? ve Nasıl Korunulur?

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

Site Tasarım Çalışması -3

1 Aralık 2011 / Perşembe

BÖLÜM 4 KONTROL DEYİMLERİ

MEBİS Kullanım Kılavuzu. Öğretim Elemanı Yeni İstanbul Medipol Üniversitesi

8- Sistem tarihinden gün değerini alarak çift veya tek sayı olup arasındaki sayılardan tek olanları yeşil çift olanları kırmızı

BX 6 ARAÇ KANTARI YAZILIMI KULLANIM EL KÝTABI

4 Front Page Sayfası Özellikleri


WEB TASARIMININ TEMELLERİ

MATLAB E GÝRݪ. >> quit. >> exit. komutlarý kullanýlýr. 2.Yardým Ýsteme

BUSINESS SOURCE PREMIER

Görüntü Konumunu Ayarlama. DocuColor 242/252/260

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

ݺletim Sistemleri Dersi. Beykent MYO Pardus bir Linux Ulusal Daðýtým Projesi'dir

A A A A) 2159 B) 2519 C) 2520 D) 5039 E) 10!-1 A)4 B)5 C)6 D)7 E)8. 4. x 1. ,...,x 10. , x 2. , x 3. sýfýrdan farklý reel sayýlar olmak üzere,

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

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

KÖÞE TEMÝZLEME MAKÝNASI ELEKTRONÝK KONTROL ÜNÝTESÝ KULLANIM KILAVUZU GENEL GÖRÜNÜM: ISLEM SECIMI FULL

Php neden oluşturuldu

WEB TABANLI PROGRAMLAMA

BTP208 İnternet Programcılığı II HTML5 ve Getirdiği Yenilikler (2. Kısım)

Toplu Kayıt Kullanıcı Kitapçığı

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

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

İhtiyaç Bursu Başvuru Kılavuzu

1 Organizasyon Tanımlama

İNTERNET PROGRAMCILIĞI - II

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

1 JAVASCRIPT NEDİR? 1

ASP.NET Web Kontrolleri

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, 3 Mayıs 2007

Microsoft FrontPage Web Sitesi Hazırlama. Ögr.Gör.N.Nilgün Çokça

Arayüz Geliştirme Dokümantasyonu

NicProxy Registrar AWBS Modül Kurulumu Versiyon 1.0

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

Kanguru Matematik Türkiye 2017

İnternet Programcılığı

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

Kayan Çerçeveler. Web sayfası içerisine kaydırılabilir çerçeveler yerleştirmek için

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

Yeni Web Sitesi Oluşturma: Visual Studio 2012 açılır. File>New>Web Site>C#-Asp Empty Site

Transkript:

Web programcýlýðýnda asýl olan konu form iºlemleridir. Formlar, ziyaretçiden bizim istediðimiz bilgileri ve ziyaretçinin sunacaðý bilgileri iºleyip gerekli yerlere ulaºtýrmak için hazýrlanmýº HTML kalýplarýdýr. Internet ilk çýktýðýnda tamamen web sitesinden ziyaretçilere bilgi sunmak için geliºtirilmiºti. Ama ºimdi bir web sayfasýndan sadece bunu bekleyemeyiz. Çünkü artýk bir web sayfasýnda ziyaretçiden bilgi alma mecburiyetimizde doðmuºtur. Bu bir anket, bir forum veya sanal bir alýºveriº sitesi de olabilir. Formlar ziyaretçiden bilgi toplamak için oluºturulmuºtur. Bu formlardan gelen bilgiler, istenilen dosyalara GET ve POST metotlarý kullanýlarak gönderilir. Bir PHP dosyasýna dýºarýdan üç farklý yöntemle bilgi gönderilebilir: Birincisi adres satýrýndan, ikincisi formlardan, üçüncüsü de çerezlerden. ªimdi burada ilk iki yöntemi anlatacaðýz. Çerezlereyse ileriki konularda deðineceðiz. Adres Satýrýndan Bilgi Almak Adres satýrýndan bilgi edinmek çok kullanýlan ve basit olduðu için tercih edilen bir yöntemdir. Ýnternet'te gezinirken deneme.php?go=123&say-ga=05 ºeklinde, karýºýk gibi görünen, ama göründüðü kadar karýºýk olmayan bir adres satýrýndan bilgi alma iºlemini basitçe anlatalým: http://www.aspet.net/git.php?go=03 Yukarýdaki adrese týkladýðýmýzda tarayýcýmýz ilk önce internet adresine baðlanýr. Sonra git.php dosyasýnýn olup olmadýðýný sorgular. Daha sonra bu sayfaya girer ve $go="03"; gibi bir deðiºken atar. Bu dosyada, bu deðiºkeni kullanýr. Somut bir örnek vererek iºimizi kolaylaºtýralým: print "Adýnýz: <b>$ad</b>";?> Bu komut satýrýný forml.php olarak ana dizininize kaydedin. Sonra tarayýcýnýzý açarak adres satýrýna http://localhost/forml.php?ad=mehmet yazýn. Bakýn karºýnýza ne gelecek! 1 / 10

Görüldüðü gibi burada $ad adýnda bir deðiºken oluºturduk ve adres hanesine dosyanýn adýný yazdýktan sonra?ad=mehmet yazdýðýmýzda programa $ad deðiºkenini tanýmlayýp bu deðiºkenin deðerini sunuyoruz. Burada bir deðiºken sunduk. Peki birden çok deðiºkeni, adres satýrýndan programa nasýl aktarýrýz? print "Adýnýz: <b>$ad </b><br> Soyadýnýz: <b>$soyad</b>";?> ªimdi bu kodu form2.php olarak kaydedin. Sonra tarayýcýnýzý açarak adres hanesine ºu adresi yazýn. http://localhost/form2.php?ad=ilker&soyad=mete Gördüðünüz gibi form2.php dosyasýnda iki deðiºken oluºturduk ve bu deðiºkenlere adres hanesinden veri aktardýk. Adres hanesindeki ilk deðiºkeni yazmadan önce bir soru iºareti koyuyoruz. Sonra deðiºkeni yazýyoruz ve deðiºkenin deðerini eºittir iºareti ile yüklüyoruz. ikinci deðiºken oluºtururken & iºaretinden yararlanýyoruz. Sonra bir önceki yöntemdeki adýmlarý aynen uyguluyoruz. Ýki deðiºken veya 50 deðiºken hiç fark etmez, ilk deðiºkeni yaparken soru iºareti kullandýktan sonra, diðer deðiºkenlerde & iºareti kullanarak deðiºkenleri birbirinden ayýrýyoruz. http://www.aspet.net/index.php?sayfa=01&deneme=05&go=anasayfa Görüldüðü gibi burada index.php dosyasýna üç deðiºken gönderiyoruz. Bu adres ºöyle de olabilir: http://www.aspet.net/?sayfa=01&denem=05&go=anasayfa Yukarýdaki kodu ilk_ornek.php olarak kaydedin. Bu örnek kodu çalýºtýrdýðýnýzda karºýnýza aºaðýdaki gibi bir görüntü gelecektir. 2 / 10

Bu sayfadaki linkleri týkladýðýnýzda karºýnýza sýrasýyla alttaki linkler çýkacaktýr. Bu yöntemi kullanarak, bir dosyada birçok sayfayý barýndýrabilirsiniz. Ama peºinen ºu hususu da belirtmek gerekir ki, bu tip sayfalar yaparken tutup da sayfanýn tümünü PHP'ye yazdýrmayýn. Sayfalarý bu ºekilde yaparsanýz PHP ya hata verir ya da çok yavaº çalýºýr. Böyle bir sayfa yapmak için PHP kodlarýný, HTML kodlarýnýn içerisine gömmek gerekir. <html> <head> <title>bu bir denemedir</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-9"? </head> <body> switch ( $go ) { case "01";?> Bu birinci link break; case "02";?> Bu ikinci link break; default:?> Bu sayfa da iki link var.bunlar:<br> <a href=" echo $PHP_SELF;?>?go=01">Birinci link</axbr> <a href=" echo $PHP_SELF;?>?go=02">ikinci link</a> }?> </body> </html> Burada görüldüðü gibi PHP kodlarýný HTML kodunun içerisine gömdük. Bundan sonrada, oluºturacaðýmýz PHP kodlarýný HTML kodlarýnýn içerisine gömeceðiz. Buraya kadar verdiðimiz bilgilerle ºifreli bir link yapamayýz. Mantýk olarak yaparýz ama pratikte zorlanýrýz. Böyle bir link'i yapabilmek için harici dosyalardan yararlanmalýyýz. Harici dosya, herhangi bir dosyanýn baºka bir 3 / 10

dosyaya baðlanmasýdýr. Bu iºlemler için include komutu kullanýlýr. ªimdi alttaki kodu harici.inc adýyla kaydedin. Ben harici bir dosyayým ªimdi bu dosyayý çalýºtýracak harici.php adýnda bir dosya oluºturalým: include "harici.ine";?> Bu dosyayý çalýºtýrdýðýnýzda karºýnýza harici.inc dosyasýna yazdýðýmýz yazý, yani Ben harici bir dosyayým yazýsý gelir. Bu iºlemi biraz daha ilerletip, harici dosyayý çalýºtýrarak ana dosyaya ekleyelim. print "Bu dosya çalýºarak ana dosyaya eklendi";?> Bu dosyayý harici2.inc adýyla kaydedin. Alttaki koduysa harici2.php olarak kaydedin. Bu sefer karºýnýza; Bu dosya çalýºarak ana dosyaya eklendi yazýsý gelecektir. Bu yöntemi her zaman her yerde kullanacaðýz. Bu komut bize çok kolaylýk saðlar. ªimdi yukarýda verdiðimiz örneði include komutunu kullanarak yeniden yazalým, ilk önce harici dosyalarý oluºturalým: l.inc Bu birinci link 2.inc Bu ikinci link ana.inc Bu sayfa da iki link var.bunlar:<br> <a href=" echo $PHP_SELF;?>?go=01">Birinci link</axbr> <a href=" echo $PHP_SELF;?>?go=02">Ýkinci link</a> harici_dosya.php switch ( $go ) { case "01"; include "l.inc"; break; case "02"; include "2.inc"; break; default: include "ana.inc"; }?> Görüldüðü gibi adres ºifreleme iºlemlerini yaparken include komutunu kullanmak iºimizi kolaylaºtýrmýºtýr. Lif if deyimini kullanarak daha uzun link adresleri yapmamýz mümkündür. Burada bir hususu belirtmekte yarar var: switch deyimi ile yaptýðýmý tüm ºifreli link'leri if deyimiyle de yapabiliriz. Ama if deyimi ile yaptýðýmýz tüm ºifreli linkleri switch deyimi ile yapamayýz. Ýç içe girmiº bir switch deyimiyle, if deyiminin yaptýðý iºlemleri yapabiliriz. Ama uzun uzadýya iºlemlerden kaçýnarak uzun linkleri yapmaya baºlayalým. ªimdi alttaki kodu uzunlink.php olarak kaydedin. 4 / 10

if ( $sayfa == "anasayfa" && $go == "01" ) { include "anasayfaol.ine" ; } elseif ( $sayfa == "anasayfa" && $go == "02" ) { include "anasayfa02.ine" ; ) elseif ( $sayfa == "anasayfa" && $go == "03" && $git == "ek-sayfa" ) { include "anasayfaos.ine" ; } else { include "anasayfa.inc"; }?> Burada, verdiðimiz örnekteki link'leri sýralamamýz gerekirse: http://localhost/uzunlink.php http://localhost/uzunlink.php?sayfa=anasayfa&go=ol http://localhost/uzunlink.php?sayfa=anasayfa&go=02 http://localhost/uzunlink.php?sayfa=anasayfa&go=03&git=eksayfa Buradaki linklere týkladýðýnýzda PHP, kodda verdiðimiz harici dosyalarý arayacak ve bulamayacaðý için hata verecektir. Önemli olan, bir link'e týkladýðýmýzda bu linke ait harici dosyanýn aranabilmesidir. Bu link adreslerinde herhangi bir yanlýºlýk yapýldýðýnda otomatikman if deyiminde bulunan else bölümüne kayýtlý harici dosya çalýºacaktýr. ªifrelenmiº link'li web adresleri yaparken dikkat etmemiz gereken en önemli husus; oluºturacaðýmýz linklerde Türkçe karakter "ç, Ç, ð, G, ý, Ý, ö, Ö, º, ª, ü, Ü" ve üst karakterler kullanmamaktýr. Link ºifrelemede tamamen ingilizce karakter ve rakamlarý kullanmamýz gerekmektedir. Bu tip karakterleri çalýºtýrdýðýmýzda bowser otomatikman ºifreleyecektir. Altta belli baºlý karakterlerin ºifrelenmiº hallerini bulunmaktadýr. ç = %E7 Ç = %C7 9 = %FO Ð = %DO Formdan Bilgi Almak ý = %FD Ý = %DD ö = %F6 Ö = %D6 ü = %FC Ï = %DC % = %25 & = %26 _ = %BD HTML formlarýndan bilgi almak çok basittir. Herhangi bir form nesnesinden, (text, password, radio, textarea, checkbox, hidden, vb.) bilgi almak için bu form alanýndaki nesnelere bir ad veririz. HTML'de bunu name komutu yapar. Bu komut bir deðiºken adý tanýmlar. Gerektiði yerlerde, ozellikle hidden görünmez nesnelerde kullanacaðýmýz bir diðer komut da value komutudur. Bu komut oluºturduðumuz deðiºkene deðer atar. Eðer formda deðer atamazsak value bölümünde yer alan bilgi deðiºkene atanýr. Eðer value'ye deðer atadýysak ve de form alanýna bilgi girdiysek form alanýna girilen bilgiye itibar edilir. ªimdi somut birer örnek verelim: <input type="text" name="degisken"> Burada deðiºken adýnda bir deðiºken oluºturmuº oluyoruz. Bu deðiºkene deðer atamak için formda çýkan alana bilgi giriyoruz. Ozellikle tek seçenek iºaretlenmesini istediðimiz formlarda (genelde anketlerde) kullanýlan radio form alanlarýný da ayný ºekilde hazýrlýyoruz. Fakat burada value deðer atama komutunu da birlikte kullanýyoruz. 5 / 10

<input type="radio" name="deðiºken" value="01"> cinput type="radio" name="degisken" value="02"> <input type="radio" name="deðisken" value="03"> Burada görüldüðü gibi radio düðmelerinde seçenek yapabilmemiz için deðiºkeni tanýmladýðýmýz name komutuna ayný adý vermeliyiz. Burada üç seçenekli bir radio düðmesi yaptýk. Birinci seçilirse, gerekli programa $degis-ken="01" ºeklinde bir deðiºken ve deðeri atanýr. Diðer düðmele seçilirse, gerekli programa $degisken="02" ve $degisken="03" deðiºkenleri ve deðerleri atanýr. Checkbox düðmeleri, birden çok seçmeli düðmeler yapmamýz gerektiðinde kullanýlabilen form alanlarýdýr. Bu düðmenin radio düðmesinden farký ºudur: radio düðmelerinde seçmeme ºansýmýz yoktur. Mutlaka bu düðmelerden birini seçmemiz gerekir. Ama checkbox düðmelerinde seçip seçmeme ºansýmýz vardýr. Bir veya birden çok düðmeyi seçme ºansýmýz olduðunda düðmelerin adýný farklý veriyoruz. <input type="checkbox" name="girdil" value="01"> <input type="checkbox" name="girdi2" value="02"> Formlarda çokça kullandýðýmýz select form alanlarýnda da bir alan seçebilme olanaðýmýz olduðundan radio düðmelerine benzemektedir. Bu düðmeleri kullanma ºeklide aºaðýdaki gibidir: <select name="deneme"> <option value="100">al</option> <option value="200">a2</option> </select> Burada, çoklu seçenekten birini seçebilmemiz için deðiºkene deðiºik deðerler atýyoruz, al seçeneðini seçili duruma getirdiðimizde deneme deðiºken! nin deðeri 100 olur. Diðer seçeneði seçtiðimizde de deðiºkenin deðeri 20i? olur. Buraya kadar HTML'le form oluºturmayý anlattýk. ªimdi de bu form bilgilerini gerekli PHP dosyasýna göndereceðimiz metotlarý görelim. HTML'de form bilgileri bir dosyaya iki yöntemle gönderilir. Bunlar GET ve POST me-todlarýdýr. Bu metotlardan istediðimizi kullanabiliriz. Ama POST metotu daha güvenilirdir. Çünkü bu yöntemde formdan alýnan bilgiler tamamen ºifrelenerek istenilen dosyaya gönderilir. GET metotundaysa link ºifreleme de olduðu gibi form bilgilerini adres satýrýna yansýtarak gerekli dosyaya iletir. Form gönderme iºlemi kýsaca ºöyledir: <form action="gönderilecekdosya" method="get/post"> <input type="submit"> </form> ªimdi buraya kadar öðrendiðimiz soyut bilgileri somut bir örneðe yansýtalým. Alttaki HTML kodunu forml.htm olarak kaydedin. <form action="forml.php" method="post"> Adýnýz: <input type="text" name="adi"xbr> Soyadýnýz: <input type="text" name="soyadý"><br> <input type="submit" value="gönder"> </form> Bu form alanýndan alýnan bilgileri göndereceðimiz forml.php dosyasýný hazýrlayalým: echo "Adýnýz: <b>$adi </bxbr>\n"; echo "Soyadýnýz:<b> Ssoyadi </b>\n";?> Bu form dosyasýný çalýºtýrýp form alanýný doldurduktan sonra gönder düðmesine týkladýðýnýzda aºaðýdaki 6 / 10

gibi bir sayfayla karºýlaºacaksýnýz. Görüldüðü gibi bu formdaki bilgiler POST metotuyla ile forml.php dosyasýna gönderilmiºtir. ªimdi GET ve POST metotunun farkýna varabilmek için forml.htm dosyasýný açýn ve form etiketinde bulunan POST yerine GET yazarak gönder butonuna basýn. Sonuç yine ayný olacaktýr. Farklý olan tek ºey adres satýrýnýn deðiºik olmasýdýr. http://localhost/forml.php?adi=%d6ner&soyadi=g%fcnayd%fdn Ýki yöntem arasýnda bir fark yoktur. Ama Ýnternet'te kullanacaðýmýz dosyalarýn güvenli olmasýný açýsýndan; örneðin üyelik sisteminin bulunduðu bir sitede login olmak için girilen bir form alanýna tutup da GET metoduyla yaparsak kötü niyetli kiºiler bu linke týklayarak siteye giriº yapabilir. Bu gibi durumlarda POST metodunu kullanmalýyýz. Bazý durumlarda da GET metodunu kullanmamýz gerekebiliyor. Ama genelde POST metodu kullanýlýr. ªimdi daha kapsamlý bir örnek verelim: Alttaki örneði form2.htm olarak kaydedin. <html> <headxtitle>bu bir denemedir</title> <meta http-equiv="content-type" content="text/html; charset=iso=8859-9"> </head> <body> <form action="form2.php" method="get"> Ad ve soyadýnýz: <input type="text" name="ad"xbr> E-Mail : -cinput type="text" name="mail"xbr> En sevdiðiniz meyve nedir? <select name="meyve"> <option value="rnuz ">MUZ <option value="nar">nar coption value="çilek">cilek </selectxbr> Cinsiyetiniz? Erkek : -cinput type="radio" name="cinsiyet" value="erkek"xbr> Kadýn : <input type="radio" name="cinsiyet" value="kadýn"xbr> Hiç kivinin tadýna baktýnýz mý? <input type="checkbox" name="kivi" value="kivi"> <br> <input type="submit" value="gönder"> </form> </body> </html> Bu HTML kodunu çalýºtýrýp gönder butonuna týkladýðýnýzda bilgilerin derlenip gönderileceði dosya olan form2.php dosyasýnýn kodlarý altta verilmiºtir. 7 / 10

echo "Adýnýz: <b>$ad</bxbr>" ; echo "E-Mail adresiniz: <b>$mail</bxbr>"; echo "En sevdiðiniz meyve nedir? <b>$meyve</bxbr>"; echo "Cinsiyetiniz = <b>$cinsiyet</bxbr>"; if (isset ($kivi) ) { print "Siz kivi yediniz"; }?> HTML kodumuz yukarýdaki resimde görüldüðü gibi bir sonuç çýkartmakta. Bu form alanýný doldurup gönder butonuna týkladýðýmýzda bilgiler GET metoduyla toplanýp form2.php dosyasýna gönderilir. Form2.php dosyasm-daysa, gelen bu bilgileri yakalamak için deðiºken isimlerini yazdýrýyoruz. HTML kodunda checkbox kullandýðýmýz için ziyaretçi bu bölümü doldur -mayabilir. Bu yüzden bu form alanýnýn dolu olup olmadýðýný sýnamak için bir if deyimi kullandýk. Bu if deyiminde, farklý olarak isset komutunu kullandýk. Bu komut bir deðiºkenin veri içerip içermediðini sýnar. Eðer doðruysa, yani form alaný doldurulmuº ise dönen deðer TRUE, form alaný dol-durulmamýºsa FALSE sonucu gelecektir. Ayrýca, formdan gelen bilgiler GET metoduyla geldiði için adres satýrý ºifrelenmiºtir. 8 / 10

Öyle form alanlarý yaparýz ki bu form alanýnda tanýmlanan deðiºkenleri satýr satýr yazmak bazen sýkýntýlara yol açar. Bizi bu dertten, PHP'nin $HTTP_GET_VARS ve $HTTP_POST_VARS dizi deðiºkenleri kurtarýr. Bu dizi deðiºkenleri, formadan gelen bilgileri derleyip toparlayarak, bir döngü yardýmýyla tutulan deðiºken ve deðerlerini ekrana basar. ªimdi yukarýda oluºturduðumuz formdaki bilgileri ekrana basalým. if (isset ( $HTTP_POST_VARS ) ) { foreach ($HTTP_POST_VARS as $anahtar => $degeri ) { print "$anahtar = $degeri <br>\n"; } } if ( isset($http_get_vars) ) { foreach ( $HTTP_GET_VARS as $anahtar => $degeri ) { print "$anahtar = $degeri <br>\n"; } } if ( empty ($HTTP_GET_VARS ) II empty ($HTTP_POST_VARS) ){ print "form alanýndan GET veya POST metoduyla bilgi gönderilmedi"; }?> Bu kodu form2.php dosyasýna yerleºtirin ve çalýºtýrýn. Bakýn neler oluyor. Eðer form alanýndan POST metotuyla bilgi geldiyse ilk if deyimi devreye giriyor. Eðer form alanýndan GET metotuyla bilgi girildiyse bu sefer ikinci if deyimi devreye girer. Form alaný doldurulmadan direkt olarak form2.php dosyasý çalýºtýrýldýðýnda, en altta bulunan if deyimi çalýºýp form alanýnýn dol-durulmadýðýný bildiren hata mesajý verecektir. Bilgi girilmemesi durumunda hemen altta bulunan print komutunu çalýºtýrmasýný istiyoruz. ªimdi de ayný sayfada hem form hemde formdan gelen bilgileri iºleyen dosyanýn bir arada toplandýðý dosyalarýn nasýl yapýldýðýný öðreneceðiz. Bu iºlemler if deyimiyle birlikte yapýlýr. Herhangi bir programý yapacaksak önceden bir plan oluºturmamýz gerekmektedir. Bunun için öncelikle bu tip bir dosyanýn nasýl çalýºabileceðini planlayalým: 1. Çalýºtýracaðýmýz dosya ilk çalýºtýðýnda form alaný çýkacak. 2. Form alanýnda hiçbir bilgi doldurulmadan gönder butonuna basýldý ðýnda hata uyarýsý versin. Form doldurulup gönder butonuna basýldýðýnda yapýlacak iºlemleri hazýrlayalým. ªimdi bu iºlemleri bir if deyimiyle, kapsamlý bir örnekte yapmaya çalýºalým: function uyari(){ print ' <script language="javascript"> alert("formu eksik doldurdunuz") </script>'; }?> <html> <head> <title>çok fonksiyonlu bir form</title> <meta http-equiv="content-type" content="text/html; charset=iso=8859-9"> 9 / 10

<meta http-equiv="content-type" content="text/html; charset=iso=windows-1254"> </head> <body bgcolor="#ffffco"> if( empty($adi) II empty($soyadý) II empty($meslek) M empty($mail) ) { if($http_get_vars): if(empty($adi) II empty($soyadi) II empty($meslek) empty($mail) ){ uyari(); } endi f ;?> <form action=" echo $PHP_SELF;?>" method="get"> Adiniz: <input type="text" name="adi"xbr> Soyadiniz: -cinput type="text" name="soyadý"><br> Mesleðiniz: <input type="text" name="meslek"><br> E-Mail : <input type="text" name="mail"xbr> <input type="submit" value="gönder"> </form> }else{ foreach( $HTTP_GET_VARS as $anahtar=>$deger){ print "$anahtar = <t»$deger</bxbr>\n" ; } }?> </body> </html> Burada ilk baºta bir fonksiyon tanýmlýyoruz ve içine bir JavaScript kodu yerleºtiriyoruz. Bu JavaScript kodu formun eksik doldurulmasý durumunda bizi uyaracaktýr. Sayfanýn baº kýsmýný oluºturduktan sonra, bir if deyimiyle altta oluºturduðumuz formdaki deðiºkenlerden hepsinin olup olmadýðýný sýnýyoruz. Bunun hemen altýna bir if deyimini daha oluºturuyoruz ve bu deyimle, $HTTP_GET_VARS deðiºkeniyle herhangi bir deðiºken gelip gelmediðini sýnýyoruz. Eðer geldiyse yine bir if deyimiyle, bu gelen deðiºkenlerin formdaki deðiºkenlerden olup olmadýðýný sýnýyoruz. Bunun sebebi; eðer kullanýcý form alanýnda herhangi bir alaný doldurmazsa JavaScript koduyla onu uyarmaktýr. Eðer bütün form alaný dolduruldu ise ilk if deyiminin else bölümü çalýºýr ve burada bulunan döngü gelen deðiºkenleri ekrana listeler. 10 / 10