KOCAELİ ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "KOCAELİ ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ"

Transkript

1 KOCAELİ ÜNİVERSİTESİ TEKNİK EĞİTİM FAKÜLTESİ PROJE IV HAZIRLAYAN Ad Soyad : Fakülte No : Bölüm : Bilgisayar Öğretmenliği DanıĢman : Projenin konusu : Web sayfası üzerinden güvenlikli bilgi eriģimi Öğrenci Bilgi Servisi

2 ĠÇĠNDEKĠLER ĠÇĠNDEKĠLER...1 CGI PROGRAMLAMA...3 BAġLANGIÇ...3 CGI Nedir?...3 Niçin CGI Öğrenmeliyiz?...3 BaĢlamak Ġçin Nelere Ġhtiyacımız Var?...3 BÖLÜM 1: PERL E BAġLANGIÇ...4 Bir Perl Betiğinin Yapısı...5 Bir CGI Betiğinin Yapısı...5 BÖLÜM 2: PERL ÖZELLĠKLERĠ...7 DeğiĢkenler...7 Skaler DeğiĢkenler (Scalars)...7 Diziler (Arrays)...8 Dizi Fonksiyonları...9 Tablolar (Hashes)...9 Karar Yapısı, if deyimi BÖLÜM 3: CGI ORTAM DEĞĠġKENLERĠ EtkileĢimli Formlar OluĢturmak Basit Bir Sorgulama Formu GET Metoduna ĠliĢkin Önemli Uyarılar BÖLÜM 4: FORMLARIN ĠġLENMESĠ BÖLÜM 5: ĠLERĠ DÜZEY FORM ĠġLEME ĠĢaretleme Kutucukları Radyo Butonları Menülerle ÇalıĢmak (SELECT) Anket Formları ve CGI BÖLÜM 6: VERĠ DOSYALARI ĠLE ÇALIġMAK Dosyaların Açılması Dosyaların Kapatılması PROJE: ÖĞRENCĠ BĠLGĠ SERVĠSĠ FORM OLUġTURMA FORMUN ÇALIġMASI CGI PROGRAMCIĞININ ÇALIġMASI ÖRNEK KULLANIM: TXT DOSYASININ HAZIRLANIġI DOSYALARIN WEB SERVER A YÜKLENMESĠ(UPLOAD)... 38

3 CGI PROGRAMLAMA BAġLANGIÇ Bu kitapçık web tasarımcıları, bu işten ekmek yiyenler, öğrenciler, öğretmenler ve CGI programlamayı öğrenmek isteyen herkes için düşünülmüştür. Başlamak için sadece HTML yazmayı bilmeniz yeterlidir ve herhangi bir programlama tecrübenizin olmasına gerek yoktur. Eğer bir web sayfanız varsa ve sayfanızı CGI lar yazarak etkileşimli bir hale getirmek istiyorsanız bu kitapçık sizin için biçilmiş kaftan... CGI Nedir? CGI, Common Gateway Interface (Ortak Geçit Arayüzü) kelimelerinin kısaltılmışıdır. CGI terim olarak, bir web sunucusu üzerinden; verileri veritabanlarından, dökümanlardan ve diğer programlardan elde etme ve verileri hazırlayıp yine web üzerinden web tarayıcılara sunma metodudur. Daha açıkçası CGI, web tabanlı programlama metodudur. Web tabanlı programlamayı ana hatlarıyla ikiye ayırabiliriz: Sunucu (server) tarafinda programlama ve istemci (client) tarafinda programlama. (yada her ikisi aynı anda.) İstemci tarafında programlama için Java, JavaScript veya VBScript iyi bir seçim olabilir. Sunucu tarafında programlama için en uygun seçenek (UNIX platformu için ve Windows NT için de) CGI dır. Bir CGI programı kısıtlama olmaksızın istenilen herhangi bir programlama dili ile yazılabilir, ancak Perl en popüler CGI programlama dilidir, çünkü daha çok bu amaçla tasarlanmiştır. Niçin CGI Öğrenmeliyiz? Eğer web sayfaları tasarlıyorsanız bazen sayfanızı kaç kişinin ziyaret ettiğini öğrenmek isteyebilirsiniz, ziyaretçilerin size mesaj bırakmalarını isteyebilirsiniz yada bir sipariş geçmelerini sağlamak ve buna benzer şeyler isteyebilirsiniz. CGI, tüm bunları ve fazlasını yapmak için size bir takım imkanlar sunar. Günümüzde CGI, basit bir sayaç veya programından tutun da daha karmaşık ve veritabanı kullanan pek çok siteye kadar her yerde kullanılmaktadır. Mesela; hepimizin bildiği amazon.com, yahoo.com veya hotmail.com sitelerinin gerisinde ne var diye sorarsak, CGI programlamanın olduğunu görürüz. Şimdilerde CGI bilmek, işverenlerin en çok aradıkları bir husus olmuştur ve CGI öğrenerek iyi iş bulma şansınız artar yada mesleğinizde çok hızlı yükselebilirsiniz... Başlamak İçin Nelere İhtiyacımız Var? Bu kitapçık, aslında bir UNIX işletim sistemi üzerinde Perl kullanarak CGI programları geliştirmek için hazırlanmıştır. Eğer UNIX bilmiyorsanız telaşlanmayın, gerektiği yerde yeterinde UNIX bilgisi de verilecektir. Ayrıca her bölümde yazdığınız CGI programınızı kullanabilmek için gerekli UNIX komutları açıklanacaktır. Eğer kullanabileceğiniz bir UNIX hesabınız yoksa bana bildirin, derhal ücretsiz bir hesap açalım. Eğer UNIX yerine Win NT kullanıyorsanız, işiniz çok kolay, Perl öğrenmek daha da kolay. çoğu NT makinası zaten Perl kodunu (aynen UNIX makinaları gibi) doğrudan çalıştırmaktadır. Ancak, buradaki bazı örnekler UNIX e özgü oldukları için Win NT de çalışmayacaklardır. Windows altında Perl çalısmak için adresini ziyaret ediniz. Eğer kendi bilgisayarınızda, Windows 98 ortamında çalışmak isterseniz, adresinden uygun bir Perl yorumlayıcısı ve dan PerlBuilder trial indirip kurmalısınız. Tabii bir de Perl desteği olan kişisel web sunucusu kurmak gerekecektir... örneğin, Win 98 CD sinde yer alan Personal Web Server (PWS) uygun olabilir. Gerekli programları kurduktan sonra PWS nin Perl kodlarını işleyebilmesi için Windows un registry ayarlarıyla oynamak gerekir. Bunun için registry de,

4 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Scrip t Map bölümüne aşağıdaki string value'leri oluşturmalısınız..pl --> c:\perl\bin\perl.exe %s %s.cgi --> c:\perl\bin\perl.exe %s %s Not: Bu değişikliklerin etkin olabilmesi için Windows'u yeniden başlatmanız gerekir... unutmayın. Kitapçıkta tüm Perl ve HTML kodları diğerlerinden kolayca farkedilsin diye daktilo karakteri ile yazılmıştır. örneğin; print "Bu bir ekrana yazdırma deyimidir\n"; BÖLÜM 1: PERL E BAġLANGIÇ Benim CGI programlama için tercih ettiğim dil Perl dir. Perl oldukça basit bir dildir, öğrenmesi çok kolaydır ve birçok zor ve karmaşık işi gerçekleştirmek için de yeterince güçlüdür. Her yerden temin edilebilir, ücretsizdir ve muhtemelen çalıştığınız UNIX (veya Win NT) sunucusu üzerinde önceden hazır kurulmuş vaziyettedir. Perl, (Practical Extraction and Report Language) kelimelerinin türetilmiştir ve ilk kez Larry Wall tarafından düşünülmüştür. Daha sonradan ise pek çok gönüllü programcı tarafından geliştirilmiş, kütüphaneleri hazırlanmıştır. Hatta Microsoft da ActiveState projesi dahilinde Perl i UNIX ortamından Win32 platformuna taşımıştır. Perl bir yorumlayıcı dildir. Bunun anlamı, yazdığınız programlarınızı derlemek zorunda kalmıyorsunuz; sadece yazıyorsunuz ve çağırıyorsunuz. Web sunucusu sizin adınıza çalıştırıyor. Hepsi bu kadar... Bir betik (script demek daha doğru aslında) metin halinde yazılan Perl kodudur. Perl yorumlayıcısı sadece bu metni alır ve çalıştırır, ilave işlemlere gerek yoktur. Bunun avantajı, betiğinizi Perl yüklü olan herhangi bir makineye kopyalayıp çok az yada hiçbir değişiklik yapmadan aynen çalıştırabilmektir. Dezavantajı ise hataları önceden görmek için betiği mutlaka çalıştırmak ve test etmek zorundasınız... Bazen gözden kaçan durumlar sizi saatlerce uğraştırabilir. Perl betiklerinizi ya kendi lokal makinanızda (Notepad, Simpletext vb. editör programlarıyla) yada Unix sunucu üzerinde hazırlayabilirsiniz. Eğer Linux kullanıyorsanız pico veya joe gibi editör programlarını kullanabilirsiniz. Yazdığınız betikleri kaydederken binary değil, mutlaka text formatında kaydetmelisiniz. (UNIX sistemlerde jpeg/gif/au gibi binary veriler dışında tüm HTML dosyalar ve Perl CGI betikleri text formatındadırlar.) Daha sonra bir FTP programıyla (mesela CuteFTP, WS_FTP gibi) betiklerinizi Unix sunucuya aktarmanız gerekir. Peki nereye? Aksi belirtilmedikçe kendi ev (home) dizininiz altında bulunan ve web sayfalarınızın yer aldığı /home/username/public_html dizinine... Daha sonra ise, Perl betiklerinizin executable yani çalıştırılabilir olması için aşağıdaki komutlardan birini kullanarak erişim haklarını değiştirmeniz gerekir. chmod 755 dosyaadı chmod +x dosyaadı Buradaki erişim hakları, sırasıyla dosyanın sahibi, grubu ve diğer kullanıcılar için ayrı ayrı belirtilir. Haklar okuma (r; 4), yazma (w; 2) ve çalıştırma (x; 1) şeklindedir. 755 (rwx r-x r-x) sahibine okuma, yazma ve çalıştırma; grubuna ve diğerlerine okuma ve çalıştırma hakları verilmiş demektir. Ayrıntılı bilgi için bir UNIX kullanım kılavuzuna bakınız.

5 Önemli Hatırlatma: Perl kodu, UNIX komutları ve dosya/dizin isimleri küçük büyük harf duyarlıdır ve genelikle küçük harfler kullanılır. Bunu aklınızdan çıkarmamanız gerekir... Tamam mı? Bir Perl Betiğinin Yapısı Perl öğrenmeye çalıştığınıza göre muhtemelen HTML ye aşinalığınız vardır ve bir HTML dökümanının genel yapısını biliyorsunuzdur... Nasıl ki bir HTML dökümanı <head> ve <body> gibi tag lar içerirse, yada bir hiperbağ veya resmi göstermek için belirli sentaks kuralları varsa Perl için de aynı şeyler söz konusudur. Perl in sentaks yapısı oldukça basittir ve anlaşılırdır. Eğer bu sentaks kurallarını bir kereliğine öğrenirseniz Perl ile CGI programı yazmak, HTML yazmak kadar basittir. Bekleyin, görün... Malumdur ki UNIX in çok güçlü betik yapısı (shell script) vardır. Bu, varsayılan olarak bash script tir. Perl ile yazılan betiklerde her betik dosyasının ilk satırında aşağıdaki gibi bir deyimin olması gerekir. Bu satır, sunucuya bu betik dosyasının Perl betiği olduğunu söyler. #!/usr/bin/perl Bu satırın yapısı özeldir ve sentaksının hep bu şekilde olması gerekir. Ancak, her sistemde Perl derleyicisinin kurulduğu yer /usr/bin/ dizini olmayabilir. which perl (yada whereis perl ) komutlarıyla Perl derleyicinin bulunduğu yeri (yolunu) öğrenmek mümkündür. Yukarıdaki ilk satırdan sonra, Perl kodunu yazmaya başlayabilirsiniz. Perl, yukarıda da belirtildiği gibi, küçük büyük harf duyarlı bir dildir. Yani, x ile X aynı değildir. Ayrıca, Perl deyimleri noktalı virgül (;) ile sonlanır. Döngüler ve şartlı dallanma yapılarında (;) kullanılmaz. Bunlar, ileride tekrar ele alınacaktır. Şimdi, ilk basit (ve klasik) Perl programımızı yazalım ve diske first.pl adında bir dosya olarak kaydedelim. #!/usr/bin/perl print Merhaba dünya!\n ; Şimdi, UNIX komut satırından aşağıdaki komutu verelim: chmod +x first.pl Bu değişiklikle yazdığımız programa çalıştırılabilme özelliği kazandırdık. Bunu her yeni betik oluşturduğunuzda yapmak gerekir. Ancak, önceki bir dosyada değişiklik yapınca buna gerek yok. Şimdi aşağıdaki komutu girerek ilk CGI programımızı çalıştıralım../first.pl Eğer her şey yolunda gitmişse ekranda Merhaba dünya! mesajı belirecektir. Bir CGI Betiğinin Yapısı Bir CGI programı da aslında bir Perl betiğidir. Fakat, bir önemli farkı vardır ki CGI genellikle bir web sayfası üretir (hazırlar). (Örneğin; bir form işleme CGI programı, mesela ziyaretçi defteri, genellikle geriye İlginiz için teşekkür ederiz türünden bir HTML sayfası gönderir.) Eğer siz de HTML üreten bir CGI programı yazacaksanız programınızın herhangi bir yerine (ilk print deyimini kullanmadan önce) aşağıdaki satırı mutlaka yazmalısınız. print Content-type:text/html\n\n ;

6 Buna MIME header (başlık) denilmektedir. Ki bu satır, alıcı durumunda olan web tarayıcısına gelen verinin ne tür bir veri olduğunu bildiren bir satırdır. Bu örnekte web tarayıcıya, üretilen ve gönderilen bilginin bir HTML dökümanı olduğu belirtilmek istenmiştir. Eğer bu satırı yazmayı unursanız yada bu satırdan önce ekrana bir şeyler yazdırırsanız Internal Server Error şeklinde bir hata mesajı ile karşılaşırsınız. Böyle bir durumla karşılaşmamak için ilk başa yani #!/usr/bin/perl satırından sonra bu satırı da yazmak gerekir. Bu arada belirtmek gerekirse CGI programlarının uzantıları.cgi ile biter. Ancak, Perl betiklerinin uzantılarının.pl olması şart değildir. Şimdi, first.pl betiğini alalım ve bir web sayfası üreten CGI betiğine dönüştürelim. Bunu da diskte public_html dizini altına first.cgi dosyası olarak kaydedelim. #!/usr/bin/perl print "Content-type:text/html\n\n"; print "<html><head><title>test Sayfası</title></head>\n"; print "<body bgcolor=\"red\" text=\"yellow\">\n"; print "<center><h2>merhaba, televole!</h2>\n"; print "</body></html>\n"; Şimdi, bu programı da bir önceki örnekte olduğu gibi çalıştıralım. Ne gördük? Gördüğümüz o ki; ekrana bir HTML sayfasının kaynak kodları yazıldı. Bu aslında oldukça önemli. Çünkü, üretilen web sayfasını inceleyerek hata olup olmadığını görebiliyoruz. Eğer zaten hata varsa ilgili CGI programı çağrılınca (500 Server Error) hatası üretilir. Şimdi bunu hemen deneyelim ve sonucu görelim. Karşımıza Merhaba dünya! yazan bir web sayfası gelmiş olmalı. Perl de ekrana bir şeyler yazdırmak için print deyimi kullanılır. Yazdırılacaklar... çift tırnak yada... tek tırnak arasına alınırlar. Değişkenler, $degisken şeklinde yazdırılacak mesajın içinde yer alırlar. Bazı özel karakterleri yazdırmak için \-tersbölü işareti kullanılır. Örneğin, #,,, %, $ ve & işaretlerinin Perl'de özel anlamları vardır ve doğrudan yazdırılamazlar, yazdırmak için önlerine \- tersbölü gelir. Bu durum bazen kafa karıştırır. (İyi de, olmayan şey nasıl karışacak?...) Yukarıdaki CGI programını yazmanın bir diğer (ve daha kolay) yolu da, tek bir print deyimi kullanmaktır: #!/usr/bin/perl print "Content-type:text/html\n\n"; print <<EndOfHTML; <html><head><title>test Sayfası</title></head> <body bgcolor="red" text="yellow"> <center><h2>merhaba, televole!</h2> </body></html> EndOfHTML; Dikkat etmek gerekirse << ile EndOfHTML arasında boşluk yoktur. Deyimin yapısı şöyledir: print <<EndOfHTML; Yukarıdan da görüldüğü üzere; gereksiz yere kullanılan print deyimlerinden kurtulduk.yine, bu şekilde bir kullanım ile HTML kodlamasının kendine özgü olan bazı sentaklarında,... çift tırnak kullanılan yerlerde, hata yapma olasılığı ortadan kalkmaktadır: Örneğin; print <a href=\ >Selçuk Üniversitesi</a> ;

7 satırında URL yi çift tırnak içine almak gerektiği için URL yerine \ URL\ gibi kafa karıştırıcı bir sintaks kullanmak gerekmektedir. Halbuki, ikinci yöntemde bu tür bir kargaşa söz konusu değildir. BÖLÜM 2: PERL ÖZELLĠKLERĠ Perl ile daha ileri düzey programlar yazabilmek için Perl hakkında bazı şeyleri bilmek gerekir. Değişkenler, karar yapısı (if) ve karşılaştırma operatörleri, döngü yapısı (foreach), alt programlar vb. gibi konuları azgari düzeyde bilmek lazımdır. Değişkenler Bir değişken, daha sonra kullanmak üzere bir değeri geçici olarak saklayan bellek bölgesidir. Perl de 3 tür değişken vardır: skaler değişkenler (scalars), diziler (arrays), ve özel tablolar (hashes). Skaler Değişkenler (Scalars) Bir skaler değişken tek bir skaler değer içerir. Perl de skaler değişkenler ön ek olarak bir $-dolar işareti ile başlarlar. Örneğin, $x, $y, $z, $kullanici ve $url hepsi birer geçerli skaler değişken isimleridirler. Değişken isimleri rakamla başlayamaz, boşluk ve extra (standart dışı) karakterler içeremezler. Bir harfle başlamak zorundadırlar, daha sonra rakam bulundurabilirler. En fazla 32 karakter uzunluğunda olabilirler. Perl de skaler değişkenler için sayısal, string yada mantıksal diye bir ayrım söz konusu değildir. İşte örnek birkaç değişken: $isim = "Adem Güneş"; $yas = 27; $mesaj1 = "$isim şu anda $yas yaşındadır."; $mesaj2 = '$isim şu anda $yas yaşındadır.'; $pi = ; Soru: Tek tırnak ile çift tırnak arasındaki fark nedir? Cevap: Çift tırnak arasına alınanlar yorumlanırlar, tek tırnak arsında olanlar yorumlanmazlar, olduğu gibi ekrana yazdırılırlar. Yani, print mesaj1; --> Adem Güneş şu anda 27 yaşındadır. print mesaj2; --> $isim şu anda $yas yaşındadır. Perl de değişkenleri kullanmadan önce deklare etmek zorunda değiliz. İstediğimiz anda bir değişkeni tanımlamaksızın kullanabiliriz. (Eski GWBASIC i hatırlayın.. Ne günlerdi ama?...) Ayrıca, Perl değişkenleri anında tür değiştirebilirler. Örneğin, $MyVar = 23; $MyVar = "Sihirli sayı $MyVar."; Perl, bu konuda diğer dillerin yaptığı gibi kapris yapmayacak ve tip dönüşümü derhal kabul edecektir. Şimdi, first.pl betiğimize yeniden dönelim ve iki tane skaler değişken ekleyelim #!/usr/bin/perl $kurs = "Perl ile CGI Programlama"; print "Selam beyler. İsminizi giriniz: "; $isim = <STDIN>; chomp($isim); print "Merhaba $isim. $kurs kursuna hoş geldiniz.\n";

8 Programı kaydedin ve çalıştırın. Bu kez program sizden isminizi girmenizi isteyecek. Aşağıdaki satır ile klavyeden girdiğiniz veriler $isim değişkenine aktarılmaktadır: $isim = <STDIN> İsmimizi yazdıktan sonra genellikle ENTER a basarız. Salt girilen veriyi elde etmek için ENTER karakterini değişkenden ayıklamak gerekir. Bunun için aşağıdaki deyim kullanılır: chomp($isim) print deyimi ile de mesajları, değişkenleri ve sabitleri ekrana yazdırırız. Satır başı yapmak için C de olduğu gibi, \n kullanılır. Diziler (Arrays) Bir dizi değişkeni, birden çok değer içeren bir listedir. Bir skaler değişkende tek bir değer saklanırken bir dizi değişkende birden çok değer tutulabilir. Perl de dizi değişkenler ön ek olarak işareti ile başlarlar. = ("kırmızı", "yeşil", "mavi"); Perl de dizi indisleri 0 dan başlar. dizisinin ilk elemanını belirtmek şeklinde ifade kullanılır. Belirtmek gerekirse, bir dizinin tek bir elemanı ile yerine $-işareti kullanılır. Hemen belirtelim ki; $-işareti tek bir değeri anlamı ise, dizinin tamamından bahsediyoruz, demektir. Dizideki elemanları ele alırken tek tek erişebileceğimiz gibi bir döngü değişkeni ile de ele alabiliriz. Aşağıdaki iki örneği inceleyin: #!/usr/bin/perl # Bu satır açıklama satırıdır... # #-diyez işareti ile başlayan satırlar açıklama olarak kabul = ("kırmızı","yeşil","mavi"); print "$renkler[0]\n"; print "$renkler[1]\n"; print "$renkler[2]\n"; Aynı programı foreach yapısını kullanarak yazalım. = ("kırmızı","yeşil","mavi"); foreach $r { print "$r\n"; Yukarıda bir foreach döngüsü görülmektedir. Her iterasyonda $r değişkenine dizisindeki elemanların değerleri atanır. Yaylı parantezler ise döngünün başlangıç ve bitiş noktalarını belirtmektedir. $r ye döngü değişkeni denir. foreach döngüsünün genel yapısı şöyledir: foreach $degisken {... burada döngü deyimleri yer alır

9 Dizi Fonksiyonları Perl de dizilere eleman eklemek, elaman silmek, iki diziyi birleştirmek, dizideki elemanların sıralarını kaydırmak vb. işlemleri gerçekleştirmek için bir takım hazır fonksiyonlar vardır. Bunlara dizi fonksiyonları denilmektedir. Aşağıdaki örneği arı"); $renk = # dizideki son elamanı, "sarı"yı, verir. $renk = # dizideki ilk elamanı, "kırmızı"yı, verir. Bu örneklerde, dönen değeri $renk adlı değişkende tuttuk, ancak tutmadan da doğrudan kullanmak mümkündür. Her iki deyim, pop ve shift, diziden ilgili elemanları silmek yok etmek için kullanılır. Diziye elaman eklemek için push komutu kullanılır. "turuncu"); dizisinin sonuna turuncu = ("mor", "koyuyeşil", dizisinin sonuna ekler Dizilerle ilgili çok kullanılan bazı fonksiyonlar şunlardır: # Dizideki elamanları alfabetik olarak sıralar # Dizideki elemanları tersinden yer değiştirir $#renkler # renkler dizisinin uzunluğu (eleman_sayısı - 1) join(", # Dizideki elemanların aralarına virgül koyarak bir string olarak birleştirir Tablolar (Hashes) Tablolar, dizilerin özel bir hali olup her bir eleman; anahtar - değer şeklindeki iklili gruplardan oluşur. Perl de tablo isimleri %-yüzde işareti ile başlarlar. Örneğin; Tablo adı Anahtar Değer %websayfalari = ( "adem", "http://www.kou.edu.tr/~adem/", "emre", "http://www.kouedu.tr /~emre/", "canan", "http://www.kou.edu.tr /~canan/" ); Yada aynı tablo aşağıdaki gibi de tanımlanabilir: %websayfalar = ( "adem" => "http://www.kou.edu.tr/~adem/", "emre" => "http:// /~emre/", "canan" => "http:// /~canan/" ); Bu örnekte tablodaki her bir eleman, bir kullanıcı ismi ve ona ait web sayfasından oluşmaktadır. Tıpkı dizilerde olduğu gibi, tablolarda da her bir elemanı bir skaler gibi düşünmek mümkündür. Örneğin, aşağıdaki deyim, adem e ait URL yi ekrana yazacaktır. print "$websayfalari{'adem'\n";

10 Bir tablodaki tüm elemanlarını (anahtarlarını ve karşılık gelen değerlerini) ekrana yazdırmak için aşağıdaki gibi bir foreach yapısı kullanılır: foreach $kisi (keys %websayfalari) { print "$kisi ve web sayfası : $websayfalari{$kisi\n"; Bu örnekte, tablodaki anahtarları bir dizi olarak veren keys adlı bir fonksiyon kullanılmıştır. Burada bir hususa dikkat etmek gerekir: keys %tabloadi şeklindeki bir kullanımda dönen değerler tablodaki doğal sıraya yada alfabetik sıraya göre değil rastgele bir sıraya göre olmaktadır. keys fonksiyonu kullanmak yerine biz kendimiz de değerler belirtebiliriz: foreach $kisi ("emre", "adem", "canan") { print "$kisi ve web sayfası : $websayfalari{$kisi\n"; Tablolar, CGI programlamada özellikle bir form dan gelen verileri ayrıştırmak için oldukça kullanışlıdırlar. Örneğin, $FORM{'soyad' şeklindeki bir kullanım ile kullanıcının form daki soyad alanına girdiği veriyi öğrenmekteyiz. Şimdi, tablolar ve foreach döngüsü konularında öğrendiklerimizi bir örnek vererek pekiştirelim: #!/usr/bin/perl # #-işareti Perl'de açıklama anlamına gelir. Unutmayın... %websayfalari = ( "adem" => "http:// /~adem", "emre" => "http:// /~emre", "canan" => "http:// /~canan" ); print "Content-type:text/html\n\n"; print <<EndHdr; <html><head><title>url Listesi</title></head> <body bgcolor="#ffffff"> <p> <h2>url Listesi</h2> <ul> EndHdr; foreach $kisi (keys %websayfalari) { print "<li><a href=\"$websayfalari{$kisi\">$kisi</a>\n"; print <<EndFooter; </ul> <p> </body> </html> EndFooter; Yukarıdaki kodları, urllist.cgi adında bir dosya olarak kaydedin, erişim haklarını değiştirerek çalıştırılabilir yapın. Web tarayıcınızdan çağırarak sonucu görün. Karar Yapısı, if deyimi if deyimi diğer dillerde olduğu gibi Perl programcılığının da temelini oluşturur, bazı şeyleri test etmek için kullanılır. Test sonucunun doğru yada yanlış olması durumuna göre farkı deyimler işletilir. Örneğin, siz bir sisteme login olmak istediniz, eğer şifreniz doğru ise sizi kabul eden, aksi halde şifrenizin hatalı

11 olduğunu söyleyen bir programda böyle bir yapı kullanmak zaruridir. Bu söylediğimize benzer bir örnek verelim. #!/usr/bin/perl print "Content-type:text/html\n\n"; $MyName = "Adem"; $YourName = = split(/\&/, $ENV{'QUERY_STRING'); foreach $i { ($varname, $YourName) = split(/=/, $i); if ($MyName eq $YourName){ print "İsimlerimiz aynı. Biz adaşız...\n"; print "<br>biliyorsun \"Adem\" yaratılan ilk insanın ismidir.\n" else { print "İsimlerimiz aynı değil. Biz adaş değiliz...\n"; Yukarıdaki kodları ask.cgi adında bir dosyaya kaydedelim ve bu betiği çağıran aşağıdaki gibi bir form dosyası (form3.html) hazırlayalım ve deneyelim. <form action="env.cgi" method="get"> İsminizi giriniz: <input type="text" name="isim" size="20"> <p> </form> Bu örnekte henüz bilmediğimiz çok şey var: formlar, formlarıin işlenmesi ve ortam değişkenleri vb konular. Bu konular sonraki bölümlerde ayrıtılı olarak ele alınacaktır. Lütfen, panik yapmayın... Bir if deyiminin genel yapısı şöyledir: if (test1) { test1 sonucu true iken çalışacak deyimler;... elsif (test2) { test2 sonucu true iken çalışacak deyimler;... else { test2 sonucu false iken çalışacak deyimler;... else ve elsif blokları şeçimliktir; gerektiğinde kullanılır, gerekmediğinde kullanılmazlar. Bu örnekte $MyName değişkeni ile $YourName değişkenlerinin eşit olup olmadıkları test edilmiştir. Eşitlik testi için eq operatorü kullanılmıştır. Perl de test ettiğimiz değişkenin string veya sayı olmasına göre farklı karşılaştırma operatörleri mevcuttur. Test Sayılar için String ler için $x eşittir $y $x == $y $x eq $y $x eşit değildir $y $x!= $y $x ne $y

12 $x büyüktür $y $x > $y $x gt $y $x büyük eşittir $y $x >= $y $x ge $y $x küçüktür $y $x < $y $x lt $y $x küçük eşittir $y $x <= $y $x le $y (Bu bölümde bazı eksik konular var: Mesela, döngüler, alt programlar (function), hata yakalama vb.) Bölüm 3 te ortam değişkenlerine değineceğiz ve GET metodunu kullanarak formların postalanması konusunda lüzumlu laflar edeceğiz. BÖLÜM 3: CGI ORTAM DEĞĠġKENLERĠ Ortam değişkenleri, çalıştırdığımız her CGI programına web tarayıcı (ve web sunucusu) tarafından gönderilen bir takım gizli bilgilerdir. CGI bunları ayrıştırır, yorumlar ve kendisine bu şekilde gönderilen verileri kullanır. Perl de ortam değişkenleri ve değerleri %ENV adlı bir özel tabloda tutulurlar. Bazı ortam değişkenleri aşağıda verilmiştir. Değişken DOCUMENT_ROOT HTTP_COOKIE HTTP_HOST HTTP_REFERER HTTP_USER_AGENT PATH Değeri Web sunucusunun (göreceli) kök dizini Ziyaretiye ait çerez, eğer varsa. Sunucunun adı Betiğinizin çağrıldığı sayfanın URL adresi Ziyaretçinin tarayıcısının türü Sunucuya ait sistem yolu (genellikle /bin, /usr/bin, vb..) QUERY_STRİNG Sorgulama stringi (GET ile) *** REMOTE_ADDR Ziyaretçinin IP adresi REMOTE_HOST REMOTE_PORT REMOTE_USER REQUEST_METHOD SCRIPT_FILENAME SERVER_ADMIN SERVER_NAME SERVER_PORT SERVER_SOFTWARE Ziyaretçinin makina adı (eğer ters-dns yoksa yine IP adresi) Ziyaretçinin web sunucuya bağlandığı port numarası Ziyaretçinin kullanıcı adı (.htacces te belirtilen izne göre) GET veya POST Şuanki (çalışan) betiğin tam yolu (fiziksel) Webmaster ın adresi Sunucunun kayıtlı domain adı Sunucunun dinlediği (takip ettiği) port numarası Kullandığınız HTTPd sunucu yazılımın adı (örn, Apache/1.3) Bazı sunucular daha farklı ortam değiģkenleri de sunabilirler. Bunun için sunucunun dökümanlarına bakmak gerekir. Dikkat etmek gerekir ki, bazı ortam değiģkenleri bize sunucu hakkında bilgi verirler ve bunlar değiģmezler (örn, SERVER_NAME ve SERVER_ADMIN); bazıları ise kullanıcılar hakkında ve istekler hakkında bilgiler verirler ve değiģiklikler gösterirler. Her CGI programı için tüm ortam değiģkenlerinin kullanılması gerektiği gibi bir durum söz konusu değildir; gerekenler kullanılır, gerekmeyenler kullanılmazlar. Örneğin, REMOTE_USER değiģkeni,.htaccess dosyası ile Ģifrelenerek korumaya alınmıģ dizin ve altdizinlerde yer alan sayfalara eriģim için kullanılır. Bir kiģinin adresini öğrenmek için

13 güvenilir bir yol bulunmamaktadır; en kestirme olanı bir form kullanarak kullanıcıdan bizzat sormaktır. Her CGI programı için %ENV tablosu otomatik olarak baģtan yeniden oluģturulur, bunlardan bize gerekenlerini yada tamamını kullanmak mümkündür. Örneğin, sizin CGI programınızın çağrıldığı sayfanın URL adresini ekrana yazdırmak istersek, print "Şuanki sayfanızın adresi = $ENV{'HTTP_REFERER'\n\n"; deyimini kullanırız. Perl de tüm ortam değişkenlerini elde etmek, sonradan kullanmak üzere bir diziye aktarmak yada ekrana yazdırmak oldukça kolay bir iştir. Şimdi env.cgi adında bir dosya oluşturalım ve aşağıdaki kodları girelim. #!/usr/bin/perl print "Content-type:text/html\n\n"; print <<EndOfHTML; <html><head><title>ortam Değişkenleri</title></head> <body> EndOfHTML; foreach $key (sort(keys %ENV)) { print "$key = $ENV{$key<br>\n"; print "</body></html>"; Yukarıdaki CGI programını web tarayıcınızden çağırınız. Ne gördünüz? Bu örnekte, sort fonksiyonu kullanılarak %ENV tablosundaki anahtarlar alfabetik olarak sıralanmıştır. Unutmadan söylemek gerekirse Perl deki sort fonksiyonu sıralama işlemini string değerler üzerinde gerçekleştirir. Bu demektir ki sort fonksiyonu sayılar üzerinde istenildiği gibi doğru çalışmayacaktır. Allahtan ki Perl de kendimize özel yeni sıralama rutinleri oluşturabiliriz. Sayısal ve özel kriterlere göre sıralama işlemini ileride ele alacağız.

14 Etkileşimli Formlar Oluşturmak Web sayfalarının en güzel imkanlarından biri, kullanıcıların sayfa üzerinde çeşitli bilgiler girerek bunları web sunuculara gönderebilmesidir. Örneğin, ticari amaçlı bir sayfa tasarlıyorsak, bu sayfa üzerine bir sipariş formu yerleştirebilir ve siparişlerin bu form aracılığıyla bize ulaşmasını sağlayabiliriz. Yada bir veritabanımız varsa ve bunu bir web sayfası aracılığıyla hizmete sunuyorsak, oluşturacağımız bir arama formu ile kullanıcıların bu veritabanı üzerinde etkin sorgulamalar yapmasını sağlayabiliriz. Form üzerinde çeşitli seçenekler yerleştirerek kullanıcıların radyo butonları veya işaretleme kutucukları aracılığıyla bu seçeneklerden birini seçmelerini sağlatabiliriz. Hatta oyun oynama mekanizmaları bile oluşturabiliriz. Formlar üzerinde aşağıdaki nesne tiplerini kullanabiliriz: 1. Seçenek butonları (radio button) 2. İşaretleme kutucukları (check box) 3. Listeler (list) 4. Bilgi giriş alanları (text box) 5. Çok satırlı bilgi giriş alanları (memo) 6. Tekli yada çoklu seçim yapılabilen menüler (combo box) 7. Dosya arama pencereleri 8. Sıfırlama (reset) ve gönderme (submit) butonları 9. Gizli alanlar (hidden fields) Web sayfaları üzerinde formlar oluşturmak için FORM tag ı kullanılır. İç içe formlar oluşturulamaz. Bir döküman içinde birden fazla form kullanılabilir. FORM tag nın sentaksı şöyledir: <FORM ACTION="URL/script.cgi" METHOD="POST GET" ENCTYPE="encryp-type">... </FORM> Eğer METHOD belirtilmezse varsayılan metod GET dir, ancak POST metodu da tercih edilebilir. Bu iki metod arasındaki fark nedir, diye sorarsak; GET ile bazı kısıtlamalar söz konudur. POST daha güçlüdür ve veri güvenliği için kullanılması şarttır. POST metodu ile gönderilen veriler, application/xwww-form-urlencoded olarak tanımlanan MIME formatında gönderilirler. Basit Bir Sorgulama Formu Yukarıda da belirtildiği gibi, verilerin bir HTML formundan CGI ya gönderilmesi için iki metod kullanılmaktadır: GET ve POST metodları (aslında üç metod vardır: HEAD). Bu metodlar, formdaki verilerin sunucuya ne şekilde gönderileceklerini belirtirler. GET metodunda, formdan girilen veriler URL nin bir uzantısı olarak CGI ya gönderilirler ve QUERY_STRING adlı ortam değişkeninde tutulurlar. POST metodunda ise veriler CGI programa veri blokları (stream) olarak gönderilir. Farklılıklar, ileride yeri geldikçe tekrar tekrar ele alınacaktır. Bu bölümde GET metodunu incelemeye çalışacağız. QUERY_STRING ortam değişkenine değer atamak için farklı bir takım yollar vardır. İlk akla geleni, bir CGI programını çağırırken URL adresinin sonuna?-soru işareti ile başlayan eklemeler yapmaktır. Örneğin, env.cgi programını şu şekillerde çağıralım: /cgi-bin/env.cgi?deneme1 /cgi-bin/env.cgi?deneme12

15 Göreceğiz ki URL de?-soru işaretinden sonra yer alan kısım QUERY_STRING ortam değişkenine aktarılacaktır. Aynı şey, GET metodunu kullanan bir formdan bir CGI ya veri postalandığında da söz konusudur. Şimdi GET metodunu kullanan basit bir form oluşturalım (form.html) ve deneyelim. <form action="env.cgi" method="get"> Çalıştığınız Bölümünüzü giriniz: <input type="text" name="bolumu" size="20"><p> </form> NOT: Bu örnekte submit-gönder butonu kullanılmamıştır. GET metodunu kullanan ve tek bir girdi alanı içeren formlarda ENTER a basmakla girilen veri hemen CGI ya gönderilir. Birden çok girdi alanı içeren formlarda submit-gönder butonu kullanmak zorunludur. Şimdi, QUERY_STRING ortam değişkeninin iki kısımdan oluştuğunu görmekteyiz: bolumu=bilgisayar+prg Sol taraftaki değer, formumuzdaki alanın adıdır. Sağ taraftaki değer ise bizim metin kutusuna yazdığımız bilgidir. Buradan da görülmektedir ki girilen boşluk karakterleri +-artı ile; noktalama işaretleri ve diğer extra karakterler ise %HH şeklinde gösterilmektedirler. Burada HH, ilgili karakterin hexadesimal ASCII kodudur. Eğer form üzerinde birden çok alan kullanmışsak her alan-değer çifti birbirlerinden &-ampersan işareti ile ayrılırlar. Bu kodlama biçimine URL-kodlama (URL encoding) denilir ve hem GET, hem de POST metodları ile gönderilen veriler için uygulanır. GET metodu kullanılan formlarda bu kodlama işlemini web tarayıcımız bizim adımıza gerçekleştirir... (Yaşasın! Ne güzel! ) Uzun ve karmaşık veriler göndermek için POST metodu daha uygundur. GET metodu esas itibarıyla kısa, tek alanlı sorgulamalar için, özellikle de veritabanı sorgulamaları için elverişlidir. Dahası QUERY_STRING değişkeninin uzunluğu bazı web tarayıcılarda (ve web sunucularda) 255 karakter ile sınırlandırılmıştır. Birden çok alan kullanımına da bir örnek verelim (env.html dosyası olarak kaydedin): <form action="env.cgi" method="get"> Adınızı giriniz...: <input type="text" name="ad" value="emre Tunahan" size="20"> <br> Soyadınızı giriniz.: <input type="text" name="soyad" value="güneş" size="20"> <p> <input type="submit" value="gönder"> <input type="reset" value="sil"> </form> Bu form, girilen verileri env.cgi betiğine şu şekilde gönderecektir: $ENV{'QUERY_STRING'= ad=emre+tunahan&soyad=g%dcne%de Alanlar (ve değerler) birbirlerinden &-işareti ile ayrılmışlardır. Alan-değer çiftlerini elde etmek için Perl de split adlı fonksiyon kullanılır:

16 Aşağıdaki kodları env2.cgi dosyasına kaydedelim, yukarıdaki formun action kısmını action= env2.cgi olarak değiştirelim (env2.html) ve deneyelim. #!/usr/bin/perl print "Content-type:text/html\n\n"; print <<EndOfHTML; <html><head><title>ortam Degişkenleri</title></head> <body> EndOfHTML = split(/\&/, $ENV{'QUERY_STRING'); foreach $i { ($varname, $mydata) = split(/=/, $i); print "$varname = $mydata <br>"; print "</body></html>"; GET Metoduna İlişkin Önemli Uyarılar GET metodu ile verileri göndermek, güvenlik açısından oldukça tehlikelidir; bu nedenle şifre, kredi kartı bilgileri ve diğer önemli bilgileri göndermek için kesinlikle kullanılmamalıdır. GET metodunda veriler gönderilirken URL nin bir uzantısı olarak gönderildiğinden, web sunucunun log dosyalarına bakılarak bu tür bilgilerin tamamının herhangi bir kullanıcı tarafından öğrenilmesi mümkündür. Gizli ve özel bilgiler gönderilirken POST metodu kullanılmalıdır. POST metodu ayrıca verileri kriptolama özelliğine de sahiptir ve bir sonraki bölümde incelenecektir. GET metodunun en çok kullanıldığı durumlar, bir veritabanından basit sorgulamalar yapmak suretiyle çeşitli bilgilerin listelenmesi gibi kullanımlardır. Örneğin, yazdığınız makalelerden oluşan bir veritabanını, verdiğiniz numaraları kullanarak sorgulamak için makale.cgi adında bir CGI betiği yazabilirsiniz ve örn., 23 no lu makaleyi görmek için.../makale.cgi?23 gibi bir URL kullanabilirsiniz. BÖLÜM 4: FORMLARIN ĠġLENMESĠ Bundan sonra oluşturacağımız çoğu formda verileri göndermek için POST metodunu kullanacağız. POST metodu, daha önce de belirtildiği gibi, GET metoduna göre oldukça güvenlidir ve daha çok uzunluktaki verileri gönderilebilir. Ayrıca web tarayıcınız, web sunucunuz veya proxy sunucunuz GET sorgularını cache'leyebilir, fakat POST metodunda veriler her seferinde yeniden gönderilir/alınır. Ancak, POST ile gönderilen verileri ayrıştırmak için biraz zahmete girmek gerekir. Web tarayıcılar veya web sunucular, form verilerini CGI programına gönderirken, verileri şu şekilde kodlayarak gönderirler: Standart alfanümerik karakterler aynen korunurlar, boşluklar + artı işaretine çevrilirler, diğer karakterler, örneğin, tab karakterleri, tırnaklar ve extra karakterler, %HH şeklinde kodlanarak gönderilirler. Burada HH, ilgili karakterin hexadesimal ASCII kodudur. Bu kodlamaya URL kodlama (URL encoding) denilmektedir. Aşağıda sıkça kullanılan karakterlerin kodlamaları verilmektedir: Normal Karakter URL Kodlanmış stringi \t (tab) %09 \n (return) %0A / %2F ~ %7E : %3A

17 ; %40 & %26 Kullanabilmek için gelen verileri ilk önce çözmek (decode) ve ayrıştırmak gerekir. Allahtan, bu işlemi Perl'de gerçekleştirmek için iki tane yöntem var: eşleştirme (substitute) ve çevirme (translate). Perl'in çok güçlü bir desen eşleme (pattern mathing) ve yerine koyma-değiştirme özellikleri vardır. String'ler üzerindeki bütün bu işlemleri düzenli ifadeler (regular expressions) ile gerçekleştirilebilir (Bölüm 14'e bakınız). Bir eşleştirmenin sintaksı şöyledir: $mystring =~ s/desen/yerine_konan/; Bu komut, "$mystring" içindeki "desen" yerine "yerine_konan" metni koyar. Buradaki =~ (eşittir tilda) özel bir operatordür ve işlev olarak desen uydurma veya yerdeğiştirme işleminin gerçekleştirilmesini sağlar. "s" ise "substitute" yapılacak demektir. Örneğin, $tebrikler = "Merhaba. Benim ismim xisimx.\n"; $tebrikler =~ s/xisimx/adem/; print $tebrikler; Yukarıdaki kod ekrana "Merhaba. Benim ismim Adem." yazar. Görüldüğü gibi komut, "xisimx" gördüğü yere "Adem" koymuştur. Buna benzeyen, ancak yaptığı iş farklı olan çevir (translate) komutunun yapısı ise şöyledir. $mystring =~ tr/arama_listesi/yerine_konan_liste/; Bu komut, "arama_listesi" içindeki tüm karakterleri karşılık gelen ilgili "yerine_konan_liste"dekiler ile karakter karakter yerdeğiştirir. "tr" ise "translate" anlamındadır. Yerdeğiştirmenin en yagın kullanımlarından biri, bir metin içindeki bütün büyük harfleri küçük harflere çevirmektir. Örneğin, $kucukharf =~ tr/[a-z]/[a-z]/; Biz form işlemeye dönersek... Kullanıcıdan gelen verileri benzer şekilde elden geçirmemiz gerekir. Bunun için iki önemli dönüştürme yapmak gerekir. $value =~ tr/+/ /; $value =~ s/%([a-fa-f0-9][a-fa-f0-9])/pack("c", hex($1))/eg; Birinci satırda, tüm + işaretleri boşluğa çevirilmiştir. İkinci satır biraz karmaşık olmasına rağmen yapılmak istenen şey, pack() fonksiyonu kullanılarak %HH hexadecimal karakterler yerine ASCII karşılıkları yerleştirilmiştir. Şimdi, bütün öğrendiklerimizi uygulayacağımız bir CGI yazalım ve adını da post.cgi koyalım. #!/usr/bin/perl print "Content-type:text/html\n\n"; read(stdin, $buffer, = split(/&/, $buffer); foreach $pair { ($varname, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fa-f0-9][a-fa-f0-9])/pack("c", hex($1))/eg; $FORM{$varname = $value;

18 print "<html><head><title>formdan Yollanan Bilgiler</title></head><body>"; print "<h3>formdan Yollanan Bilgiler</h2>\n"; print " <br>\n"; foreach $key (keys(%form)) { print "$key = $FORM{$key<br>", print "</body></html>"; Bu CGI, giriş kanalından gelen verileri $buffer adlı bir skaler değişkene aktarmakta ve sonra da "değişken=değer" şeklindeki çiftleri ayrıştırarak $pairs adlı bir diziye aktarmaktadır. foreach döngüsü ile her bir çift normal düz metne çevirilmekte ve elde edilen veriler %FORM adlı özel tabloda saklanmaktadır. Bu FORM tablosunun anahtarları, form girdi isimlerinin kendileridirler. Sonra, örneğin, formdaki değişkenlere -ki bunlar; username, -address ve age'dir- $FORM{'username', $FORM{' -address' ve $FORM{'age' şeklinde erişmek mümkün olmaktadır. Bu kod herhangi bir formdan, yani basit bir ziyaretçi defterinden çok daha karmaşık sipariş formlarına kadar, girilen verileri elde etmek için kullanılabilir. Buradaki örnekte hem değişkenlerin isimleri (kendileri), hem de içerdikleri veriler ekrana yazdırılmıştır. Dikkat çekmemiz gereken bir diğer fonksiyon daha var: split fonksiyonu. Bu fonksiyon, verilen bir stringi belirtilen bir karaktere veya desene göre ayrıştırarak sonucu liste halinde verir. Örneğin, $MyString = = split(/&/, dizisi şuanda ("Kırmızı","Mavi","Yeşil") oldu. Şimdi bu script'i test edelim. Bunun için aşağıdaki formu hazırlayalım. <html><head><title>post.html</title></head> <body> <form action="post.cgi" method="post"> <pre> İsminiz : <input type="text" name="username"> adresiniz : <input type="text" name=" "> Yaşınız : <input type="text" name="age"> Favori Renginiz : <input type="text" name="favorite_color"> </pre> <input type="submit" value="gönder"> <input type="reset" value="formu Temizle"> </form> </body> </html> İstenen bilgileri form üzerinde doldurarak Gönder butonuna basın. Ne gördünüz? Değişken isimleri ve sizin girdiğiniz veriler mi? Evet ise devam. Şimdi bir adım daha ileriye gidelim: Çoğu yerde görmüşüzdür, bir formu doldurup olarak yollamak mümkündür. Yada formu yolladıktan sonra bize bilgilerin ulaştığına dair bir geridönüş bilgisi içeren sayfalar gelir. İşte biz de buna benzeyen, formun ulaştığını bir ile kullanıcıya bildiren CGI yazalım. Buna genelde form-mail denilmektedir. İlk önce bir mail alma/gönderme işini yürüten bir programa (sendmail) ihtiyacımız olacak. Yani, bu programın sistemimizdeki yolu (bulunduğu dizin)

19 bilmek gerekecek. (Bunun için which sendmail yada whereis sendmail komutlarını kullanabilirsiniz. Genelde /usr/sbin/sendmail olur.) post.cgi programını kopyalayarak mail.cgi olarak çoğaltın. foreach döngüsünde bir değişiklik yapacağız. Standart çıktıya yazdırmak yerine değişkenlerin değerlerini bir mesajına yazdıracağız. O halde, ilkin, sendmail programını girdi olarak açmalıyız. Tabii bu in kime gideceğini de belirtmek gerekecektir. işaretinin özel anlamı olduğundan bu işareti adreslerinde kullanırken karışıklığa yol açmamak için, adreslerini "..." çift tırnak arasına değil '...' tek tırnak arasına almak gerekir. Örneğin, gibi veya gibi. #!/usr/bin/perl print "Content-type:text/html\n\n"; read(stdin, $buffer, = split(/&/, $buffer); foreach $pair { ($varname, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fa-f0-9][a-fa-f0-9])/pack("c", hex($1))/eg; $FORM{$varname = $value; $mailprog = '/usr/sbin/sendmail'; $recipient = open (MAIL, " $mailprog -t") or &dienice("$mailprog bulunamadı.!\n"); print MAIL "From: print MAIL "To: $recipient\n"; print MAIL "Reply-to: $FORM{' ' ($FORM{'username')\n"; print MAIL "Subject: Form-mail Denemesi\n\n"; foreach $key (keys(%form)) { print MAIL "$key = $FORM{$key\n"; close(mail); print <<EndHTML; <h2>teşekkürler</h2> İlginiz için çok teşşekkür ederiz. Mesajınız alınmıştır..<p> Ana sayfaya gitmek için <a href="http://alaeddin.cc.selcuk.edu.tr/~adem/"> buraya tıklayınız.</a>\n"; </body></html> EndHTML ; sub dienice { ($errmsg) print "<h2>hata</h2>\n"; print "$errmsg<p>\n"; print "</body></html>\n"; exit; Yukarıdaki betikte yeni bir yapı kullandık: "dienice" adında bir altprogram. Bir altprogram, yazdığımız kodun belli bir kısmı olup çağrılınca çalışan mini bir programcıktır. Bu örnekte eğer ana program

20 sendmail programını bulamazsa hemen devreye "dienice" altprogramı giriyor, ekrana hata mesajını yazıyor ve kapatılmayan tag'leri kapatıyor. Bir altprogramı çağırmak için &subname veya &subname(args) şeklinde kullanılır. Burada args, altprograma değer göndermek için kullanılan değişkenlerdir. Biz sunucuda oluşabilecek hataları bu şekilde kontrol altına alarak sıradan bir hata mesajı yerine kullanıcıları yönlendiren, alternatifler sunan bir yapı oluşturabiliriz. Yukarıda yazdığımız CGI programını kullanmak için aşağıdaki gibi bir form hazırlayalım. <html><head><title>mail.html</title></head> <body> <form action="mail.cgi" method="post"> <pre> İsminiz : <input type="text" name="username"> Adresiniz : <input type="text" name=" "> Yaşınız : <input type="text" name="age"> Favori Renginiz : <input type="text" name="favorite_color"> </pre> <input type="submit" value="gönder"> <input type="reset" value="formu Temizle"> </form> </body> </html> Bu formu doldurun, Gönder'e tıklayın. Biraz beklerseniz gönderdiğiniz bilgileri içeren yeni bir almanız gerekir. Eğer aynı 'i birden çok kimseye aynı anda yollamak isterseniz, mail.cgi dosyasında aşağıdaki değişikliği yapın: $recipient = BÖLÜM 5: ĠLERĠ DÜZEY FORM ĠġLEME Bir önceki bölümde formlardan gelen verilerin nasıl çözülüp ayrıştırılacağını ve nasıl form-mail göndereceğimizi öğrendik. Ancak, bir problemi gözardı ettik: hata kontrolü yok ve verileri kendimize özel işleme yeteneği yok. Boş form almak istemezsiniz yada formdaki belli alanların kesinlikle doldurulmasını isteyebilirsiniz. Yada verilen cevaplara göre farklı farklı davranan yeni sayfalar gönderebilirsiniz kullanıcıya. Bütün bunlar için biraz daha ileri Formdan gelen verileri işlerken, gelen verilere göre farklı işlemler yapabilmek için şartlı işletimi kullanmak zorundayız. Bunun için if-else yapısı kullanılır: if ($degisken1 eq "string_değer1") {... bu test doğru ise işletilecek kodlar elsif ($degisken2 eq "string_değer2"){... bu test doğru ise işletilecek kodlar else {... aksi hallerde işletilecek kodlar

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

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1 Web Formlar ve Sayfalar Arasında Bilgi Gönderme BATML İnternet Programcılığı 1 Bazı web sitelerinde sayfalar arasında bilgi veya değişken göndermek gerekebilir. Gönderilen bu bilgi kullanıcı adı ve şifre

Detaylı

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

Internet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 11-14 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları

Detaylı

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM

Detaylı

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

İNTERNET PROGRAMCILIĞI 2 14. HAFTA. PHP ile FORM İŞLEMLERİ. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Form Elemanları Kullanımı İNTERNET PROGRAMCILIĞI 2 14. HAFTA İçindekiler PHP ile FORM İŞLEMLERİ Form Elemanları Kullanımı GET ve POST Metodu Hedefler Php komutları kullanarak form elemanlarını etkileşimli hale getirebilir Hazırlayan

Detaylı

1.PROGRAMLAMAYA GİRİŞ

1.PROGRAMLAMAYA GİRİŞ 1.PROGRAMLAMAYA GİRİŞ Bilindiği gibi internet üzerindeki statik web sayfaları ziyaretçinin interaktif olarak web sayfasını kullanmasına olanak vermemektedir. Bu yüzden etkileşimli web sayfaları oluşturmak

Detaylı

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

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI 1) Aşağıdaki seçeneklerin hangisinde PHP kod yazımı doğru olarak verilmiştir? A) B) C).. D) 2) PHP ile hazırlanmış

Detaylı

İNTERNET PROGRAMCILIĞI - II

İNTERNET PROGRAMCILIĞI - II 0 İÇİNDEKİLER Bölüm 1 PHP İle Web Programlamaya Giriş 1 Bölüm 2 PHP Kodlama Standartları 5 Bölüm 3 PHP Değişken Kullanımı 17 Bölüm 4 IF Yapısı 32 Bölüm 5 Döngüler ve Diziler 64 1 BÖLÜM 1 PHP İLE WEB PROGRAMLAMAYA

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

İNTERNET PROGRAMCILIĞI I

İNTERNET PROGRAMCILIĞI I BÖLÜM 12 12- FORMLAR HTML'in bir metin şekillendirme aracı olduğunu söylemiştik. Form'lar bu tanımın istisnasıdır, HTML kullanarak sayfanızı ziyaret edenlerle temas kurmanızı sağlarlar. Formlar yoluyla

Detaylı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

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

MODÜL 2 HTML İLE GELİŞMİŞ ÖZELLİKLER MODÜL 2 HTML İLE GELİŞMİŞ ÖZELLİKLER Bu modülü bitirdiğinizde; HTML kodları ile WEB sayfaları için gelişmiş özellikleri kullanabileceksiniz. Ayrıca, 1. WEB sayfaları içi formlar oluşturabilecek, 2. WEB

Detaylı

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve AraştırmaMerkezi 2 İçindekiler 1. GİRİŞ... 3 1.1 ASP NEDİR?...

Detaylı

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler Request Nesnesinin Özellikleri

Detaylı

Web Programlama Kursu

Web Programlama Kursu Web Programlama Kursu Bu kurs ne değildir? Neyi amaç edinmiştir? Bilgisayar Programcısı? Web Tasarımcısı? Web Programcısı? Neler öğreneceğiz? Kurs sonunda neler yapılabileceğiz? Örnek siteler Örnek Projeler

Detaylı

2. HTML Temel Etiketleri

2. HTML Temel Etiketleri 2. HTML Temel Etiketleri Bu bölümü bitirdiğinizde, HTML ve etiket kavramlarının ne olduğunu, HTML komut yapısını, Örnek bir HTML dosyasının nasıl oluşturulduğunu, Temel HTML etiketlerinin neler olduğunu,

Detaylı

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

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları. Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında

Detaylı

http://alikoker.name.tr PERL ile CGI

http://alikoker.name.tr PERL ile CGI 1 PERL ile CGI PERL Perl(Practical Extraction Report Language), kelimelerinden türemiştir.perl bir yorumlayıcı dildir.yani,yazdığımız programları derlemek zorunda kalmıyoruz,sadece yazıyoruz ve çağırıyoruz.web

Detaylı

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş LABORATUVAR ÇALIŞMASI 1 - Python a Giriş Bu Çalışmanın Amacı Bu çalışmadaki amacımız, kullandığımız sistem ve kullanım hedefimiz için en uygun olan Python sürümünü bilgisayarımıza yükleyerek bilgisayarımızı

Detaylı

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

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve AraştırmaMerkezi 2 İçindekiler 2. ASP'nin Dili... 3 2.1 YAZILIM

Detaylı

2-Hafta Temel İşlemler

2-Hafta Temel İşlemler 2-Hafta Temel İşlemler * Html Komutlarının Yapısı * Açıklamalar * Htm Sayfasının Oluşturulması * Temel Html Komutları * Html Sayfalarının Düzenlenmesi * Html Sayfalarının İncelenmesi Html Komutlarının

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

PHP 1. Hafta 2.Sunum

PHP 1. Hafta 2.Sunum PHP 1. Hafta 2.Sunum Hello World Bu derste görülecekler WAMP ve PHP Hosting kavramı ve bizi neden ilgilendirmediği Domain ve localhost kavramları www klasörü İlk PHP kodunun

Detaylı

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

PHP (II) Formlar. Dosya İşlemleri. 2002, Sanem SARIEL PHP Ders Notları 2 1. Formlar PHP (II) Formlar Dosya İşlemleri 2002, Sanem SARIEL PHP Ders Notları 2 1 Formlar İstekçiler web sayfasılarından sunuculara formlar yoluyla bilgi yollarlar. Anketler Kullanıcı bilgilerinin alındığı ve verilerin

Detaylı

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

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011 PHP I E. Fatih Yetkin 26 Eylül 2011 Outline Temel Tanımlar HTML e Giriş PHP ye Giriş MySQL ve PHP Temel Tanımlar Web Sunucu Nedir? Teknik detaylar bir kenara bırakılacak olursa, hazırlanan web sayfasını

Detaylı

PROGRAMLAMA DERSİ 1. İNTERNET

PROGRAMLAMA DERSİ 1. İNTERNET PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar

Detaylı

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

Metin Text Kutuları. Metin kutusu oluşturmak için <input> tagı kullanılır. Form İşlemleri Form Nedir? Şu ana kadar öğrendiğimiz konularda hep ziyaretçilere veri göstermeye veya bilgi vermeye çalıştık. Gerek metinlerle, gerekse liste veya resimlerle ziyaretçilere bilgi sunmayı

Detaylı

Response : Sunucunun istemciye veri yollamasını

Response : Sunucunun istemciye veri yollamasını Response : Sunucunun istemciye veri yollamasını 27 Ekim 2011 / Perşembe Örnek : 2 tane sayfa açıyoruz,1nci ye TextBox1 ve Button ekliyoruz. Şunu istiyoruz,1nci sayfada şifre girilince, Button u tıklayınca

Detaylı

sayfa Başlığı Bu benim ilk sayfam bu metin koyu

<html> <head> <title>sayfa Başlığı</title> </head> <body> Bu benim ilk sayfam <b>bu metin koyu</b> </body> </html> HTML'e Giriş 1. HTML dosyası nedir? HTML'in açılımı Hyper Text Markup Language (Bunun tam Türkçe'si bulunmamakla beraber "çok yere açılan metin" denebilir. Bir HTML dosyası bir text dosyası olmakla beraber

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

SIMAN KULLANIM KILAVUZU

SIMAN KULLANIM KILAVUZU SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.

Detaylı

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU

ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU ÇANKAYA ÜNİVERSİTESİ WEBMAIL KULLANIM KLAVUZU Üniversitemiz Webmail servisi yenilenmiş olup Roundcube webmail üzerinden servis vermeye başlamıştır. Daha önce kullanılan SquirrelMail servisi https://oldwebmail.cankaya.edu.tr/

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 2 HTML 2 Hyper Text Markup Language = Yüksek/İleri Metin İşaretleme Dili Web sayfaları oluşturmak için kullanılan içerik biçimlendirme dilidir. Yüksek/ileri metin

Detaylı

PHP ile İnternet Programlama

PHP ile İnternet Programlama PHP ile İnternet Programlama Doç.Dr. Gazi Üniversitesi Gazi Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü 5. BÖLÜM: Oturum Yönetimi ve Güvenlik Sayfaya Yönlendirme PHP sayfamızdan

Detaylı

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

4. Bağlantı (Köprü) Oluşturma 4. Bağlantı (Köprü) Oluşturma Bu bölümü bitirdiğinizde, HTML dosyalarında nasıl bağlantı oluşturulduğunu, Bağ etiketinin ne olduğunu, Yerel dosyalara nasıl bağlantı kurulduğunu, İnternet üzerindeki dosyalara

Detaylı

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir? JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 1.1- JasperReports Server ve Ireport Nedir? 1.2- JasperReports Server ve Ireport Kurulumu 1.3- JasperReports Server Genel

Detaylı

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

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör. Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı 26 Şub. 2013 Öğr. Gör. Murat KEÇECİOĞLU PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi

Detaylı

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk

WEB PROGRAMLAMA. PHP Temelleri 2. Dr. Erman Yukselturk WEB PROGRAMLAMA PHP Temelleri 2 Dr. Erman Yukselturk Superglobal Değişkenler 1/4 Php de önceden tanımlanmış ve script in herhangi bir yerinden çağrılabilen ve çalıştirılabilen çevreye özel bilgiler sunan

Detaylı

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

ÖĞ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. KASIM EKİM EYLÜL AY 02.11.2009 06.11.2009 26.10.2009 0.10.2009 19.10.2009 2.10.2009 12.10.2009 16.10.2009 05.10.2009 09.10.2009 28.09.2009 02.10.2009 24.09.2009 25.09.2009 09.11.2009 1.11.2009 MODÜL: İNTERNET

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

PHP ile İnternet Programlama

PHP ile İnternet Programlama PHP ile İnternet Programlama Doç.Dr. Gazi Üniversitesi Gazi Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü 3. BÖLÜM: Formlarla Çalışmak HTML Formlarının Temelleri Dinamik etkileşim

Detaylı

Regular Expressions Version 0.1

Regular Expressions Version 0.1 Regular Expressions Version 0.1 Hüseyin Kaya hkaya@be.itu.edu.tr 2001 Özet Bu belge Linux and Unix Shell Programming adlı kitaptan faydalalınarak yazılmıştır. Kitabın yazarı David Tansley. İngilizce bilenler

Detaylı

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

Kayan Çerçeveler. Web sayfası içerisine kaydırılabilir çerçeveler yerleştirmek için HTML Ders 8 Kayan Çerçeveler Web sayfası içerisine kaydırılabilir çerçeveler yerleştirmek için Web sayfasının bu kısmında kayan çerçeve

Detaylı

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ASP.NET TEMELLERİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu İnternet Nasıl Çalışır? Sunucu istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan

Detaylı

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

2) Hesabınıza Giriş yaptıktan sonra aşağıdaki ekran karşınıza gelir. MEB.K12.TR Uzantılı E-Posta Hesabının Kullanımı 1) http://mail.meb.k12.tr internet adresinden e-posta hesabına giriş yapılır. Kullanıcı Adı : KURUM KODUNUZ (meb.k12.tr kısmını yazmayınız.) Şifre : Hesabınıza

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 1 Servlet Nedir? Internetin ilk zamanlarında geliştirilen web sayfaları durağan bilgiler içeriyordu. Zaman geçtikçe web sayfaları daha değişken,

Detaylı

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

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 Nedir? olmadan Login.aspx Bilgilerinizi giriniz Durum Yönetimi İle Login.aspx Bilgilerinizi giriniz Adınız Adınız Pınar Pınar Soyadınız Soyadınız Onay Durdu Onay Durdu Gönder Gönder ASP.NET - 1 sayfa.aspx

Detaylı

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu Doküman Versiyon : 1.01.01 Tarih : 10.01.2008 1 - Çalışma Şekli Hakkında Kısa Bilgi modülü kısaca aşağıdaki işlemleri yapar. Bu özelliklerin çalışabilmesi

Detaylı

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

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 Bu gün dersimizde Validation Geçerlik Dentimi Kontrollerine değineceğiz. Önce adı GecerlikDeneme isimli bir yeni site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını ve

Detaylı

Linux altında komut satırında...

Linux altında komut satırında... -Kabuk (Shell) Unix ve benzeri işletim sistemlerinde kullanıcının komut yazmasını sağlayan, bu komutları yorumlayarak gerekli işlemleri yapan programlara kabuk (shell) adı verilir. Linux da bir kullanıcı

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

ASP.NET ile Bir Web Sitesi Oluşturma

ASP.NET ile Bir Web Sitesi Oluşturma 29,30 Eylül 2011 ASP.NET ile Bir Web Sitesi Oluşturma ASP.NET sitesi oluşturmak için File menüsündeki, New açılır listesindeki, Web Site komutuna tıklıyoruz Açılan pencereden C# içindeki ASP.NET Web Site

Detaylı

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir. Eş zamanlı Scream! kullanımı Scream!, sismik ağın güçlü bir parçası olacak şekilde tasarlanmıştır. Varsayılan yapılandırma dosyası scream.ini dir ve ilk kullanım sırasında kendini otomatik olarak oluşturur.

Detaylı

Doktor Web Tasarım ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz

Doktor Web Tasarım ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz KULLANIM KILAVUZU Doktor Web Tasarım ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz Her doktorun ihtiyacı olan doktor web sitesi, hasta ve doktor arasındaki

Detaylı

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

İNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir. İNTERNET PROGRAMCILIĞI 2 10. HAFTA İçindekiler MYSQL - PHPMYADMIN Mysql Nedir PhpMyAdmin Nedir PhpMyAdmin Arayüzü Hedefler Mysql' in görevini söyleyebilir PhpMyAdmin' in kullanım amacını söyler Hazırlayan

Detaylı

BitTorrent İstemci Kullanımı

BitTorrent İstemci Kullanımı BitTorrent İstemci Kullanımı Değerli Müşterimiz, BitTorrent internet üzerinden dosya paylaşım yazılımına ve aynı tekniği kullanan dosya takas sistemine verilen isimdir. Diğer eşten eşe (P2P) paylaşım programlarından

Detaylı

KULLANIM KILAVUZU. VSP Teknoloji ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz

KULLANIM KILAVUZU. VSP Teknoloji ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz KULLANIM KILAVUZU VSP Teknoloji ile sıfır hatada Dünya standartlarında web kalite politikasına uygun web sitesi oluşturabileceksiniz Kullanıcı dostu kontrol panelli dünya standartlarında web tasarım uygulaması.

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

Print Komutu ile Değişkenleri Yazdırmak

Print Komutu ile Değişkenleri Yazdırmak PYTHON DERS-4 Bu derste eksiklerimizi gidereceğiz. Şimdiye kadar bazı komutları kullandık ancak kullandığımız bu komutların özellikleri hakkında hiçbir şey öğrenmedik. İşte bu derste biraz onlardan bahsedeceğiz.

Detaylı

SQL Uyarı Programı Kurulum ve Kullanımı

SQL Uyarı Programı Kurulum ve Kullanımı SQL Uyarı Programı Kurulum ve Kullanımı Kurulum 1. SQL Uyarı.zip dosyası açılır. 2. SQL Uyarı.exe programı çalıştırılır. 3. Üstteki ekran açılır ok. Butonuna basılır. 4. Ayarlar ekranı seçilir. 4.1 Server

Detaylı

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

Cookie s. Elbistan Meslek Yüksek Okulu 2013 2014 Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 17 Ara 2013 Cookie s Elbistan Meslek Yüksek Okulu 2013 2014 Güz Yarıyılı 17 Ara 2013 Öğr. Gör. Murat KEÇECĠOĞLU Çerezler ziyaretçinin bilgisayarına bilgi bırakmak için kullanılan kodlara çerezler denir. Çerezler ziyaretçinin

Detaylı

YILDIZ TEKNİK ÜNİVERSİTESİ

YILDIZ TEKNİK ÜNİVERSİTESİ YILDIZ TEKNİK ÜNİVERSİTESİ ÖĞRENCİ E - POSTA KULLANIM KILAVUZU Kullanıcı Adı ve Şifrenin Öğrenilmesi E-Posta Hesabına Giriş Ad ve Soyad E-posta Hesaplarını Öğrenme ve Geçiş Hesabına Kolay Erişmek İçin

Detaylı

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx Durum Yönetimi Bu gün dersimizde durum yönetimine (state management) değineceğiz. Önce adı DurumYonetimi isimli yeni bir site oluşturalım. Burada programın otomatik olarak oluşturacağı Default.aspx dosyasını

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 4

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 4 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 4 Sayfalara Resim Eklemek 2 Etiketi Sayfaya resim eklemek için kullanılır. JPG, BMP, GIF, PCX, PNG, TIFF, WMF gibi resim formatlarını destekler. Sonlandırmalı

Detaylı

TSOFT FACEBOOK STORE UYGULAMASI

TSOFT FACEBOOK STORE UYGULAMASI TSOFT FACEBOOK STORE UYGULAMASI GEREKSİNİMLER VE KURULUM YARDIMI GİRİŞ Facebook, insanların arkadaşlarıyla iletişim kurmasını ve bilgi alış verişi yapmasını amaçlayan bir sosyal paylaşım web sitesidir,

Detaylı

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu

UYGULAMALAR. İkinci liste kutusu (List 2) Birinci liste Kutusu (List 1) Metin Kutusu UYGULAMALAR Uygulama 1:Komut butonu, metin kutusu ve liste kutusu kullanarak bir program oluşturacağız. Programda, bir metin kutusuna girilen sayılardan pozitif olanlar bir listeye, negatif olanlar başka

Detaylı

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır?

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır? Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır? Not : Yazdıklarım tamamen öğretim amaçlıdır. Yaşanacak her türlü sıkıntının sorumlusu uygulayan kişidir. Sorumluluk

Detaylı

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

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

AKINSOFT Franchise Server 2 Yardım Dokümanı

AKINSOFT Franchise Server 2 Yardım Dokümanı AKINSOFT Franchise Server 2 Yardım Dokümanı Doküman Versiyon: 01.02.02 Tarih: 03.03.2015 1 1. ÇALIŞMA SİSTEMİ HAKKINDA BİLGİ Franchise Server 2 programı; Franchising veren veya bağımsız birimlerinin satış

Detaylı

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Bu belge BT Sınıfı Etkinliklerinde Kullanılmak Üzere Hazırlanmıştır İÇİNDEKİLER GİRİŞ... 3 ÜYE (KAYIT) OLMA... 3 YÖNETİM PANELİ İŞLEMLERİ... 5 ŞABLON AYARLARI...

Detaylı

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri EC-485 Ethernet RS485 Çevirici İstanbul Yazılım ve Elektronik Teknolojileri TR+: RS485 TR+ bağlantısı için kullanılır. TR-: RS485 TR- bağlantısı için kullanılır. EC-485, cihazlarınıza veya bilgisayara

Detaylı

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

Toplu Kayıt Kullanıcı Kitapçığı OnSync Web Toplantı, Sanal Sınıf, Web ve Video Toplantı Servisi Toplu Kayıt Kullanıcı Kitapçığı 1 Öncelikle Etgi Grup u tercih ettiğiniz için teşekkür ederiz. OnSync sistemine giriş yapmadan önce toplu

Detaylı

08220 Internet Programcılığı II

08220 Internet Programcılığı II 08220 Internet Programcılığı II Internet Programming II Öğr.Gör. Murat KEÇECİOĞLU Elbistan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Şubat 2015 08220 Internet Programcılığı II Internet Programming

Detaylı

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları Başlarken İletişim yönetimi için gerekli tüm araçları sunan OfisTelefonu 07 programları Abakus 360, T-Panel ve T-CRM, bir kuruluştaki

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

CYGWIN KURULUMU ve KULLANIMI

CYGWIN KURULUMU ve KULLANIMI CYGWIN KURULUMU ve KULLANIMI Cygwin, Microsoft Windows işletim sistemi üzerinde çalışan, open source, bir UNIX simülatörüdür. Cygwin`in asıl amacı *nix türevi sistemlerde yer alan yazılımların Windows

Detaylı

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz? PYTHON DERS-8 LİSTELER-2 Geçen ders listeler oluşturmayı, listedeki her elemanın bir index numarası olduğu ve bu numaranın 0'dan başladığını, listenin tamamını veya index numarası sayesinde belirli bir

Detaylı

dinamo / Periyodik İşler

dinamo / Periyodik İşler 1 Periyodik İşler dinamo / Periyodik İşler 2 Periyodik İşler Genel Tanım Periyodik İşler Nedir? Periyodik işler, kullanıcılar tarafından belirlenmiş olan rapor ve makroları yine kullanıcılar tarafından

Detaylı

24 Kasım 2011 / Perşembe

24 Kasım 2011 / Perşembe 24 Kasım 2011 / Perşembe Evde yüklemek için ServisPack1 yükleniyor.daha sonra Ajax Kontrol Toolkit i yüklüyoruz. 2008 için 3,5 olanı yüklenecek. Geçen hafta nasıl yükleneceği anlatıldı. TextBox1 ve ToolkitScriptManager

Detaylı

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ı

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ı Microsoft Excel Microsoft Excel yazılımı bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız

Detaylı

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. BA&BS MUTABAKAT PROGRAMI Kurulumu 1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır. 3. Server ayarlarının yapılacağı pencere açılır. 3.1 Server Adı\instance

Detaylı

PHP 1. Hafta 1. Sunum

PHP 1. Hafta 1. Sunum PHP 1. Hafta 1. Sunum PHP101: PHP nedir? Bu dersten sonra bilecekleriniz PHP nedir? PHP ye neden ihtiyaç vardır? PHP nin gelişimi HTML, HTTP ve JS nedir? PHP yle alakası nedir? PHP nin uygulama alanları

Detaylı

VIDEOCELL API. Versiyon 1.0.0

VIDEOCELL API. Versiyon 1.0.0 VIDEOCELL API Versiyon 1.0.0 İçindekiler 1. Bu Belgenin Amacı... 3 2. Belge Sürümleri... 3 3. Sistem Gereksinimleri... 3 4. Kullanım Şekli... 3 4.1. Genel... 3 4.2. Uyarılar... 3 4.3. Hata Kodları... 4

Detaylı

08217 Internet Programcılığı I Internet Programming I

08217 Internet Programcılığı I Internet Programming I Ders Tanıtım Sunumu 08217 Internet Programcılığı I Internet Programming I Elbistan Meslek Yüksek Okulu 2012 2013 GÜZ Yarıyılı 17 Eyl. 2012 Pzt. Öğr. Gör. Murat KEÇECİOĞLU Dersin Adı Ders Tanıtım Bilgileri

Detaylı

TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI

TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI Bu programa müşterilerinizi ekleyerek müşterilerinizin listesini takip edebilirsiniz, aynı zamanda müşterilerinize sms gönderebilir ve arayan müşterilerinizin listesini

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 02

Veri Tabanı Yönetim Sistemleri Bölüm - 02 Veri Tabanı Yönetim Sistemleri Bölüm - 02 İçerik Web sunucusunun yapılandırılması için gerekli yazılımların temini Yazılımlarının sunucuya yüklenmesi Ön test Uygulama yazılımlarının yapılandırılması Son

Detaylı

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

Temel Bilgisayar Terimleri Yrd. Doç. Dr. Devkan Kaleci 1 2 HTML, Hyper Text Markup Language kelimelerinin kısaltılmışıdır. HTML (Hareketli-Metin İşaretleme Dili) basitçe, browserlarla görebilen, internet dokümanları oluşturmaya yarayan bir çeşit dildir. HTML

Detaylı

PHP ile İnternet Programlama

PHP ile İnternet Programlama PHP ile İnternet Programlama Doç.Dr. Gazi Üniversitesi Gazi Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü 1. BÖLÜM: Bilgisayarımızı PHP ye Hazırlamak PHP Yorumlayıcısı ve Sunucu Yazılımı

Detaylı

AKINSOFT NetFoto. Yardım Dosyası. Doküman Versiyon : 1.01.01 Tarih : 27.12.2010. Sayfa-1. Copyright 2010 AKINSOFT

AKINSOFT NetFoto. Yardım Dosyası. Doküman Versiyon : 1.01.01 Tarih : 27.12.2010. Sayfa-1. Copyright 2010 AKINSOFT AKINSOFT Yardım Dosyası Doküman Versiyon : 1.01.01 Tarih : 27.12.2010 Sayfa-1 1- ÇALIŞMA ŞEKLİ HAKKINDA KISA BİLGİ AKINSOFT programı tüm fotoğraf sütüdyolarına hitap etmektedir. A-) Güvenli hızlı ve çok

Detaylı

General myzyxel.com myzyxel.com Servis Yönetim Servis Name Content Filter Name Password myzyxel.com Submit Redirected URL

General myzyxel.com myzyxel.com Servis Yönetim Servis Name Content Filter Name Password myzyxel.com Submit Redirected URL ZyWALL-70 Content Filter General 1- Content Filter uygulamasını etkinleştirmek için kutucuğu doldurunuz 2- Content Filter uygulamasının ZyWall cihazını gateway olarak gören VPN tünelleri için de geçerli

Detaylı

1 Organizasyon Tanımlama

1 Organizasyon Tanımlama İçindekiler 1 Organizasyon Tanımlama... 3 1.1 Şirket Tanımlama... 3 1.2 Kullanıcı Tanımlama... 3 1.3 İş Akışında Kullanılacak Grup/Birimlerin Oluşturulması... 3 1.4 Oluşturulan Grup/Birim Altına Kullanıcı

Detaylı

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler STRING FONKSİYONU... 3 SPLIT FONKSİYONU...

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

Detaylı

VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi. K12Net Veli Yardım Kılavuzu

VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi. K12Net Veli Yardım Kılavuzu VKV Koç Özel İlkokulu, Ortaokulu ve Lisesi KNet Veli Yardım Kılavuzu KNet e Erişim KNet Erişim Bilgilerini Güncelleme KNet te Öğrenci Bilgilerini Görüntüleme KNet Ekran Ara Yüzünü Özelleştirme KNet te

Detaylı