10 - Bilgi Yuma Peki bu kadar teori yeter imdi bir deney...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Bilgi Yuma Peki, bu kadar teori yeter; imdi bir deney daha yapalm. Hem Form bilgimizi tazeleyelim, hem de Formdan gelen bilginin nasl yumaklandn grelim. An Not Defterini veya onsuz olamadnz dz yaz programn ve balayn yazmaya: <HTML> <HEAD> <TITLE>FORM ORNEGI</TITLE> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-9"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> </HEAD> <BODY> <FORM ACTION="isim-yas.pl" METHOD=POST> Adnz: <INPUT TYPE=text NAME="isim"><p> Yanz: <INPUT TYPE=text NAME="yas"><p> <INPUT TYPE=submit VALUE="Gnder"> </FORM> </BODY> </HEAD> </HTML> Bitirince, bu belgeyi isim-yas.htm adyla kaydedin, fakat kapatmayn; Form etiketinin her iki zelliini silin; etiket tek bana (<FORM>) kalsn. Bu dosyay yeniden fakat adn deitirerek, rnein isim-yas-gecici.htm adyla, kaydedin. Tamam m? imdi ikinci kaydettiiniz geici HTML dosyasn Browsernzda an. Adnz ve yanz yazn; Gnder dmesini tklayn ve Browsernzn Adtres hanesine bakn: Burada una benzer bilgi yuman gryor olmalsnz: isim=Mustafa+Durcan&yas=23 Bu, Formdaki deikenlerin (isim ve yas), Formu dolduran kii tarafndan verilen deerlerle birlikte Servera, oradan da CGI programna sunulu biimidir. Browser, bir Formun Inputlarnn adlar ile bu alana yazlan deerleri, bir String (ba) haline getirir; ve Servera gnderir. Bu Stringin oluturulmasnda u kurallarn izlenmi olduuna dikkat edin: 1. Deiken adlar kendilerine ait deerle eittir (=) iaretiyle birletiriliyor; 2. deiken=deer iftleri ve anlamna gelen Ampersand (&) iaretiyle birbirine ekleniyor; 3. Deerin iinde boluk varsa yerine art (+) iareti konuyor. Bu ileme URL Encoding sistemi denir; buradaki rnekte grlmemekle birlikte, standart ASCII karakterler dndaki harfler ve iaretler yzde (%) iareti ve heksadesimal (16 tabanl) kodlara evrilir. Hexadecimal Trke! URL Encoding emasnda, Trke karakterlerin kodlar yledir: : F0 : D0 : FD : DD : FC : DC : FE : DE : F6 : D6 : E7 : C7 (URL Encoding emasna gre, yzde iareti %25, Ve (&) iareti %26 ve iftatal (#) iareti ise %23 olarak ifrelenir.) Bu deneyi yapmakla, Browsern Formdaki bilgileri Servera nasl gnderdiini grm olduk. imdi bu bilgi yuman aan bir CGI program yazalm. Bu sizin ilk form ileme programnz olacak! Evet, Not Defteri gibi bir program aarak, yazmaya balyoruz: #!/usr/local/bin/perl # isim-yas.pl require 'cgi-lib.pl' &ReadParse(*girdi); print "Content-Type: text/html\r\n\r\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>ISIM-YAS</TITLE>\n"; print "<meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-9\">\n"; print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1254\">\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<P>\n"; print "Merhaba, " . $girdi{'isim'} . ". Sen\n"; print $girdi{'yas'} . " yandasn.<p>\n"; print "</BODY>\n"; print "</HEAD>\n"; print "</HTML>\n"; Yazmay bitirince bu kodu isim-yas.pl adyla kaydetmek zorundasnz. Neden? nk bu program aracak veya altracak olan bir nceki HTML kodunda Form etiketinde ACTION hanesine bu ad verdik. isim-yas.htm sayfasnda Formu dolduran kii Gnder dmesini tklad anda, Browser Servera, Sizin oralarda isim-yas.pl adnda bir CGI program olacak.. u yumak yaptm bilgileri ona verir misin, ltfen? diyecek; Server, bu isimli CGI programn arayacak; bulamazsa Browsera hata mesaj gnderecek; bulursa CGI programna Al bakalm, sana bir yumak bilgi geldi; ne yapacaksan, yap! diyerek, ziyaretinin gnderdii bilgileri devredecektir. Dolaysyla Formun ACTION hanesine adn yazdmz CGI programnn belirtilen yerde olmasn salamak Web Tasarmcs olarak bizim grevimiz. (CGI programclar Perl program yazarken, kodun bana dosyann kendi adn da yazarlar. Burada grdnz rnekte Shebanginin hemen altndaki # isim-yas.pl satr, programcnn kendisi ve daha sonra bu kodu irdeleyecek veya kullanacak kiiler iin ald bir gvenlik nlemidir.) Biz de birazdan kodumuzu irdeleyeceiz; ama nce isim-yas.htm sayfasn Browsernzda an; Formu doldurup, gnder dmesini tklayn; una benzer bir karlk alm olmalsnz: ...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online