PERL ile CGI
|
|
- Bariş Bayar
- 8 yıl önce
- İzleme sayısı:
Transkript
1 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 sunucusu bizim adımıza çalıştırıyor.bir script 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. Perl scriptlerinizi ya kendi lokal makinamızda (Notepad,Simpletext vb.editör programlarıyla) ya da UNIX sunucusu üzerinde hazırlayabiliriz. Öncelikle Perl ile program yazmadan önce Perl'ü internetten temin etmemiz gerekir.perl kullandığımız işletim sistemleri için değişik adreslerden temin edilebilir. Gerekli program internetten temin edildikten sonra Perl programlarımızı çalıştırmak için <dosya adı>.pl şeklinde kaydettikten sonra MS-DOS penceresini açar ve herhangi bir dizinde c:\>perl <dosya adı>.pl komutunu vererek programımızı çalıştırırız. Perl ile yazılan tüm scriptlerde her dosyanın ilk satırında aşağıdaki gibi bir deyimin olması gerekir.bu satır,sunucuya bu dosyanın bir Perl scripti olduğunu ve de Perl yorumlayıcısının yerini söyler. #!/usr/bin/perl Bu satırdan sonra,perl kodunu yazmaya başlayabiliriz.perl deyimleri (;) ile sonlanır.döngüler(for,while..) ve şartlı dallanma yapılarında(if) (;) kullanılmaz. PERL'DE DEĞĠġKENLER Bir değişken, daha sonra kullanılmak ü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.değişken isimleri rakamla başlayamaz,boşluk ve ekstra(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 ya da mantıksal diye bir ayrım söz konusu değildir.örneğin; $isim="fatih Taşçı"; $yas=27; Değişkenlerde çift tırnak içine alınanlar "yorumlanırlar",tek tırnak içine alınanlar yorumlanmazlar,olduğu gibi ekrana yazdırılırlar. Perl'de değişkenleri kullanmadan önce deklare etmek zorunda değiliz.istediğimiz anda bir değişkeni tanımlamaksızın kullanabiliriz.perl'de değişkenler anında tip değiştirebilirler. Bir değişkene klavyeden değer atamak için aşağıdaki deyim kullanılır.burada klavyeden girilenler $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);
2 2 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ırız. Diziler(Arrays) Bir dizi değişkeni,birden çok değeri 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 Perl'de dizi indisleri 0'dan başlar.örneğin,@renkler dizisinin ilk elemanını belirtmek için $renkler[0] şeklinde bir notasyon kullanılır. Perl'de # işareti ile başlayan satırlar açıklama satırı kabul edilir. Dizi Fonksiyonları Perl'de dizilere eleman eklemek,eleman silmek,iki diziyi birleştirmek,dizideki elemanların sıralarını kaydırmak vb. işlemleri gerçekleştirmek için birtakım hazır fonksiyonlar vardır.bunlara dizi fonksiyonları kirmizi, yesil, mavi, mor, sari ); $renk=pop(@renkler); # dizideki son elemanı, sari yı verir. $renk=shift(@renkler); # dizideki ilk elemanı, kirmizi yı verir. Pop ve shift,diziden elemanları silmek,yok etmek için kullanılır.diziye eleman eklemek için push fonksiyonu kullanılır. push(@renkler, turuncu ); dizisinin sonuna turuncu eklenir. Dizilerle ilgili çok kullanılan bazı fonksiyonlar şunlardır: sort(@renkler) reverse(@renkler) $#renkler join(,,@renkler) # Dizideki elemanları alfabetik olarak sıralar. # Dizideki elemanları tersinden yer değiştirir. # renkler dizisinin uzunluğu (eleman sayısı-1) # Dizideki elemanları aralarına virgül koyarak bir string olarak birleştirir. Özel-Tablolar(Hashes) Özel-tablolar,dizilerin özel bir hali olup her bir eleman; anahtar-değer şeklindeki ikililerden oluşur.perl de özeltablo isimleri %-yüzde işareti ile başlarlar.örneğin; %HASH_LISTE=("Ahmet"=>24, "Veli"=>30, "Ayşe"=>23, "Orhan"=>18); Özel-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 bilgiyi öğrenmekteyiz.
3 3 Özel-Tablo Fonksiyonları Özel-tablolarla çalışırken sık kullanılan fonksiyonlar aşağıda verilmiştir: delete $tablo"anahtar" # belirtilen anahtar/değer ikilisini tablodan siler ve silinen değeri geri döndürür. exist $tablo$key # belirtilen anahtar tabloda mevcut ise true döndürür. keys %tablo # tablonun anahtarlarını bir liste olarak verir. values %tablo # tablonun degerlerini bir liste olarak verir. scalar %tablo # tabloda eleman varsa,boş değilse true verir. DÖNGÜLER If Döngüsü 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ı seçimliktir;gerektiğinde kullanılır,gerekmediği zaman kullanılmaz. Perl de test ettiğimiz değişkenin string veya sayı olmasına göre farklı karşılaştırma operatörleri kullanılır.karşılaştırma operatörleri aşağıdaki tabloda görülmektedir: 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 $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 Foreach Döngüsü Örneğin; foreach $eleman(%hash) print $eleman; #Ekrana HASH tipinde listenin anahtarlarını yazar.
4 4 While Döngüsü While döngüsü verilen şart geçerli olduğu sürece blok içindeki komutları çalıştırır.yapısı şöyledir: while(şart) deyimler... Do-While Döngüsü Önce döngü bir kez çalışır,sonra verilen şart sağlanıyorsa çalışmaya devam eder.yapısı şöyledir: do deyimler... while(şart); For Döngüsü Perl,C dilindekine benzer bir for döngüsüne sahiptir.yapısı şöyledir: for(başlangıç;şart;artım) deyimler... ALT PROGRAMLAR Diğer dillerden metot,fonksiyon ya da prosedür olarak tanıdığımız kod birimleri,perl dilinde subrutin(alt program) olarak isimlendirilirler.subrutinleri programın herhangi bir yerinde tanımlayarak,programımızın içinde kullanabiliriz. Subrutin kullanmak yazdığımız kodları düzenli bir yapıya kavuşturur.en önemlisi bir kere yazdığımız kodu programın çeşitli yerlerinde subrutin ismini yazarak kullanabiliriz.perl de bir altprogramı çağırmak için birkaç alternatif bulunmaktadır: &subname; &subname(args); subname; subname(args); subname(); Altprogramın önüne konulan & işaretini kullanmak seçimliktir.genel olarak bir altprogramın yapısı şöyledir: Sub altprogramadı kodlar. return ($deger); veya exit($deger);
5 5 VERĠ DOSYALARI Dosyaların Açılması Dosyalarla çalışırken ilk önce onlara aşağıdaki deyim ile bir belirteç(filehandle) atanır ve okuma-yazma işlemleri bu belirteç üzerinden gerçekleştirilir. open(belirteç, dosya_adi ); Dosya adının önünde mod belirteci olarak > ya da >> olabilir.bunların anlamları,dosya çıktı modunda(dosya yeniden oluşturulacak) ya da ekleme modunda açılacak demektir. Dosyalarla çalışırken dosyanın gerçekten açılıp açılmadığını kontrol etmek lazımdır.örneğin; open(output, >output.txt ) or dienice( Dosya açilamadi. ); Burada dienice,dosya açılamadığı takdirde kullanıcıya bir hata mesajı veren ve CGI dan çıkan bir altprogramdır. Dosyaların Kilitlenmesi Aynı dosyadan okuma-yazma yapan iki farklı script aynı anda işlem yapmaya çalışırlarsa veri dosyası silinebilir ve tüm verilerinizi kaybedebilirsiniz.bunu önlemek için: flock(belirteç,mod) fonksiyonu kullanılır.bu sayede dosyayı sadece bizim işlem yapabileceğimiz hale getirerek kilitleriz. flock fonksiyonu,bir diğer proses dosyaya yazma işleri yaparken bizi bekletir,eğer bizde yazma işlemi yapacaksak kayıt işaretçisini dosyanın sonuna konumlandırmamız gerekir.bunun içinde; seek(belirteç,öteleme,yer) fonksiyonunu kullanırız. Öteleme,işaretçinin yer e göre göreceli olarak kaç satır hareket edeceğini gösteren sayıdır.yer parametresinin değerleri şunlardan biridir: 0 dosyanın başı 1 şu anki konum 2 dosyanın sonu Dosyaların Kapatılması Bir dosyaya yazma işlemimiz bittiyse değişikliklerin kaydedilmesi için dosyayı kapatmamız gerekir: close (BELIRTEÇ); Dosyaların Okunması Dosyayı okumak için kullanmamız gereken komutlar: open(inf, anket.dat ) or dienice(dosya açilmadi); $a=<inf>; #dosyadan tek bir satır oku ve $a değişkeninde #dosyanın tamamını oku dizisinde sakla close(inf); STRING LER Stringlerin KarĢılaĢtırılması Perl de küçük büyük harfler dönüşümleri için lc ve uc hazır fonksiyonları kullanılabilir. $country=lc($country); #küçük harfe(lowercase) çevirir. $country=uc($country); #büyük harfe(uppercase) çevirir.
6 6 Stringlerde Bul-DeğiĢtir ĠĢlemleri index fonksiyonu,str2 nin str1 içindeki pozisyonunu verir. $pos=index(str1,str2,[baslamayeri]) baslamayeri seçimliktir. Eğer baslamayeri kullanılırsa str2 nin,str1 içerisinde belirtilen konumdan sonraki bulunduğu yer döndürülür. İndisleme 0 dan başlar.str2,str1 içinde yoksa geriye -1 döndürür.index fonksiyonu küçük büyük harf duyarlıdır.eğer arama işini sondan başlatacaksak rindex fonksiyonu kullanılır.bu durumda indisleme sondan itibaren 0 dan başlar. Verilen bir stringin belli bir kısmını elde etmek veya değiştirmek için substr fonksiyonu kullanılır.yapısı şöyledir: $str=substr(string,baslamayeri,uzunluk) Stringlerin Formatlı Yazdırılması Perl de stringleri ekrana formatlı yazdırmak için standart bir yöntem kullanılmaktadır: printf ve sprintf.bu iki fonksiyonun kullanımı C dekiler ile birebir aynıdır: printf( format stringi,degiskenler listesi); $mystr=sprintf( format stringi,degiskenler listesi); format stringi,normal metin(mesaj) ve %-direktifleri içerir.değişken listesinde yer alan elemanlar,birebir karşılık gelecek şekilde %-direktifleri ile eşleştirilerek,bu direktif ile istenilen formatta ekrana yazdırılırlar. %-direktifinin genel formu şöyledir; %mx veya %m.nx Burada m ve n,keyfi sayılardır ve genişlik belirtirler.m,genellikle alanın minimum genişliğini,n ise reel sayılarda ondalık kısmın genişliğini,diğer alanlarda ise alanın maksimum genişliğini belirtmektedir.x ise c(karakter),i(tamsayı),s(string)... gibi tiplerdir. DÜZENLĠ(REGÜLER) TERĠMLER Perl ve diğer dillerde regüler terimler olarak isimlendirilen harf ve kelime gruplarıyla bir metni taramamız mümkündür. Regüler Terimlerin Kullanılması Regüler terimler bir dosyanın içinde geçen kelime ve kelime gruplarını bulmak için kullanılır.örneğin; $var="bugün hava çok güzel.arkadaşlarla sinemaya gideceğiz."; if($var=~/çok/) print "Çok kelimesi kullanılıyor"; Burada if döngüsünü kullanarak,çok kelimesinin string içinde kullanılıp kullanılmadığını kontrol ediyoruz./çok/ burada kullanılan regüler terimdir.regüler terimler iki / / işareti arasında yer alır. Bazen de içinde aradığımız regüler terimin bulunmadığı bir dosyayı taramak isteyebiliriz.bunun için NOT (!) operatörü kullanılır. Tarama yaparken büyük/küçük harf ayırımı yapmak istemiyorsak; $var=~/cok/i şeklinde i opsiyonunu kullanırız.tüm satırlarda tarama yapmak için m opsiyonunu kullanabiliriz.s opsiyonunu kullanarak,satır içinde bulunan regüler terimi başka bir kelimeyle değiştirmemiz mümkündür. G opsiyonu ile cümle içinde birden fazla bulunan regüler terimi aynı anda değiştirebiliriz.örneğin; $var=~s/cok/cok cok/g ifadesi cümle içindeki tüm "cok" kelimeleri yerine "cok cok" kelimelerini yerleştirir.
7 7 Regüler Terimlerde Kullanılan Özel ĠĢaretler Sembol Anlamı.(nokta) Yeni satır(satırbaşı) hariç herhangi bir karakter [a-z] a'dan z'ye kadar bir küçük harf [^a-f] a'dan f'ye kadar harf grubu dışındaki herhangi bir küçük harf [abc] a,b ya da c \d Herhangi bir rakam(0-9) \D Herhangi bir rakam olmayan(0-9 disinda) \w Harfle başlayan herhangi bir kelime \W Harfle başlamayan herhangi bir kelime \s İki kelime arasındaki boşluk \n Yeni satır \r Yeni satır yapmadan satır başı \t Tab karakteri \0 NULL karakter \b Sadece kelime olanlar(kelime sınırı)(sadece [] dışında) \B Kelime sınırı değil ^ Satır veya string başı $ Satır veya string sonu X? 0 veya 1 adet x; x,yukarıdakilerden herhangi biri X* 0 veya çok adet x Xm,n En az m adet, en çok n adet x X+ 1 veya çok adet x (des1 des2) des1 veya des2 den herhangi biri (des) Sonradan kullanmak üzere desen le eşleşen leri saklama($1,$2, $9) Here Dökümanları Perl programlarımıza Here dökümanı çerçevesinde print() fonsiyonunu kullanmadan text pasajları ekleyebiliriz.here dökümanları kullanılarak,cgi programlarına HTML sayfa kodları eklenir. Here dökümanları <<operatörü ve Here ismiyle başlar.istenilen pasaj eklendikten sonra,here ismi tekrar yazılarak,here döküman çerçevesinin kapatılması gerekmektedir. ARAMA VE SIRALAMA Bir dosya içerisinde bir verinin aranması için birçok yöntem mevcuttur.ya dosyayı tamamen okuttuktan sonra bir döngü ile okunanları tarayıp aradığımız kelimelerin olup olmadığına bakarız ya da Perl in grep fonksiyonunu kullanarak bir liste üzerinde olan arama işlemini tek hamlede gerçekleştiririz. Arama Arama yapmak için kullandiğımız grep fonksiyonunun yapısı /desen/, aradığınız kelimeleri içeren bir düzenli ifadedir.bu,yalın 1-2 kelime olabileceği gibi kompleks bir düzenli ifadede olabilir. Sıralama Perl bize listeler üzerinde alfabetik olarak sıralama yapan basit bir sort fonksiyonu sunar.ancak sort fonksiyonu sayılar üzerinde çalışırken sayıları string gibi ele alarak farklı sonuçlar vermektedir.ancak sort fonksiyonu aşağıdaki gibi çağrılırsa bu sorun ortadan kalkar.
8 8 sort Belirtilen subname,sıralanacak listedeki herbir çift için ayrı ayrı çağırılır.değerler,$a ile ilk eleman,$b ile ikinci eleman olarak altprograma gönderilir.altprogram geri dönüş değeri olarak,eğer $a,$b den küçük ise -1,eşit ise 0 ve büyük ise +1 döndürmelidir.bu altprogram şöyledir: sub sayisal return $a < = > $b; REFERANSLAR(POINTERS) Referansları kullanarak,herhangi bir değişken adres alanı üzerinde işlem yapabiliriz.böylece referansın tipine göre,referans üzerinde yapacağımız değişiklikler,değişkenin sahip olduğu değeri etkileyecektir. Perl dilinde iki tip referans vardır: 1)Sembolik Referanslar Sembolik referanslar bir başka değişkenin ismini kullanarak,bu değişkenin değeri üzerinde işlem yapabilir.sembolik referanslar genel anlamda kendileri ve referanse ettikleri değerler değişken oldukları için,referanse edilen değerlere ulaşmak için $$ işaretlerini kullanmamız gerekir. 2)Gerçek Referanslar Sembolik referansların aksine gerçek referanslar beraberlerinde bir referans sayacı taşırlar.örneğin; Bir subrutin içinde bir değişken tanımladığımızı düşünelim.bu değişken subrutin içinde bulunduğumuz sürece geçerliliğini koruyacaktır.ana program içinde kullanmamız mümkün olmayacaktır.eğer değişkenin değerini ana program içinde kullanmak istiyorsak gerçek bir referans kullanarak değişken referanse edilebilr ve bu değişkenin değerini silinmekten kurtarabiliriz.ancak ana programda bu değişkeni kullanarak sahip olduğu değere ulaşamayız.yalnızca referans ismini kullanarak bu değişkenin değerine ulaşabiliriz. /$değişken yazarak herhangi bir değişkene referanse edebiliriz.referans bir değişkenin sahip olduğu hafıza alanı adresini içerir.referanse edilmiş değişken silinmiş olsa bile,hafıza alanı adresine sahip olduğumuz için referans üzerinden bu bilgiye ulaşabiliriz. Require Komutu Require komutu ile başka dosya içinde bulunan bir kodu kendi programımıza eklememiz mümkündür. Ġsim-Alanı Require komutu ile dışarıdan eklenen kod ana programın bir parçası olarak görülür.bundan ötürü ana programda kullandığımız değişkenler, dışarıdan eklenen kodunda içinde bulunabileceği için zarara uğrayabilirler.değişkenlerin geçerliliklerini koruduğu bölgeye,kod içinde isim-alanı adı verilir.dışarıdan eklediğimiz kodun içinde bulunan değişkenler de,kodun içinde diğer değişkenlerle aynı isim-alanını paylaştıkları için,ortaya istenmedik durumlar çıkabilir.bunun için isim-alanlarını birbirinden ayıracak bir mekanizmaya ihtiyacımız var. Paketler Bir paket başlı başına bir isim-alanı oluşturur.bir paket içinde yer alan tüm değişken ve subrutinler sadece paket içinde,paket ismi olmadan kullanılabilir.paket dışına çıkıldığı zaman,paket ismini kullanarak,paket ismiyle tanımladığımız isim-alanı içindeki değişken ve subrutinlere ulaşabiliriz.böylece paket isimlerini kullanarak,isimalanlarını birbirinden ayırmış oluruz.
9 9 Package Direktifi Bir paketi,package isim;direktifini kullanarak tanımlayabiliriz.bu direktiften sonra normal kod yazılır.örneğin; package ornek; $var=123; $isim= fatih ; 1; Ana programda,require paketismi.pl ; kullanarak bu paketi programımıza ekleyebiliriz.paket kullanılarak tanımlanmış isim-alanlarına $paketismi::$değişken şeklinde ulaşabiliriz. Modüller Perl modülü bir.pm dosyası içinde yer alan bir pakettir.use direktifini kullanarak ana programa dahil edilirler. CGI CGI NEDĠR? 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 okuma ve verileri hazırlayıp yine web üzerinden web tarayıcılara sunma metodudur.yani kısaca CGI, web tabanlı programlama yöntemidir.web tabanlı programlamayı ana hatlarıyla ikiye ayırabiliriz: Sunucu(server) tarafında programlama ve istemci(client) tarafında programlama.(ya da her ikisi aynı anda olabilir)istemci tarafında programlama için Java,JavaScript veya VBScript iyi birer seçim olabilir.sunucu tarafında programlama için en uygun seçenek CGI dır.(hem UNIX hem de WinNT platformları için).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ü bu amaçla tasarlanmıştır. Eğer web sayfaları tasarlamak istiyorsak sayfamızı kaç kişinin ziyaret ettiğini öğrenmek,ziyaretçilerin bize mesaj bırakmalarını yada bir sipariş geçmelerini sağlamak ve buna benzer şeyler isteyebiliriz.cgi,tüm bunları ve daha fazlasını yapmak için bize birtakım imkanlar sunar. 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 birtakı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: Ortam DeğiĢkeni DOCUMENT_ROOT HTTP_COOKIE HTTP_HOST HTTP_REFERER HTTP_USER_AGENT HTTPS PATH QUERY_STRING REMOTE_ADDR REMOTE_HOST REMOTE_PORT REMOTE_USER REQUEST_METOD REQUEST_URI Ġçerdiği Bilgi Web sunucusunun göreceli kök dizini Ziyaretçiye ait çerez(eğer varsa) Sunucunun adı Scriptimizin çağrıldığı sayfanın URL adresi Ziyaretçinin tarayıcısının türü Script güvenli bir sunucu üzerinden çağrılıyorsa on değerini alır Sunucuya ait sistem yolu GET ile sorgulama stringi Ziyaretçinin IP adresi Ziyaretçinin bilgisayarının DNS adı Ziyaretçinin web sunucuya bağlandığı port numarası Ziyaretçinin kullanıcı adı GET veya POST ya da diğerleri İstekte bulunulan dökümanın veya CGI
10 10 SERVER_FILENAME SERVER_ADMIN SERVER_NAME SERVER_PORT SERVER_SOFTWARE scriptinin göreceli yolu Şu anki çalışan scriptin tam yolu Webmaster ın e-posta adresi Sunucunun kayıtlı DNS adı Sunucunun takip ettiği port numarası Kullandığımız HTTP sunucu yazılımının adı Her CGI programı için tüm ortam değişkenlerinin kullanılması zorunlu değildir. FORM LARLA ÇALIġMAK 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.ya da bir veritabanımız varsa ve bunu bir web sayfası aracılığıyla hizmete sunuyorsak,oluşturacağımız bir arama form u ile kullanıcıların bu veritabanı üzerinde sorgulamalar yapmasını sağlayabiliriz. Form üzerinde çeşitli seçenekler yerleştirerek kullanıcıların seçenek butonları veya işaretleme kutucukları aracılığıyla bu seçenekleri seçmelerini sağlayabiliriz. Form larda aşağıdaki elemanları kullanabiliriz: 1.Bilgi giriş alanları (textbox) 2.Şifre giriş alanları (password) 3.Seçenek butonları (radio) 4.İşaretleme kutucukları (checkbox) 5.Çok satırlı bilgi giriş alanları (textarea) 6.Tekli ya da çoklu seçim yapılabilen listeler (select-option) 7.Dosya arama pencereleri (file) 8.Sıfırlama (reset) ve gönderme (submit) butonları 9.Gizli alanlar (hidden) Web sayfaları üzerinde form lar oluşturmak için FORM tag ı kullanılır.iç içe formlar oluşturulamaz.bir HTML dökümanı içerisinde birden fazla form kullanılabilir.form tag ının sintaksı şöyledir: <FORM action= script.cgi method= POST GET ENCTYPE= encryptype > </FORM> Eğer method belirtilmezse varsayılanı GET dir.bu iki metod arasındaki fark şudur:get ile bazı kısıtlamalar söz konusudur.post daha güçlüdür ve veri güvenliği için kullanılması şarttır. Basit Bir Sorgulama Formu Bir HTML formundan bir CGI ya veri gönderilirken GET ve POST metodları yaygın olarak kullanılmaktadır.get metodunda,formdan girilen veriler URL nin bir uzantısı olarak gönderilirler ve QUERY_STRING adlı ortam değişkeninde tutulurlar.post metodunda ise veriler,veri blokları(stream) halinde gönderilir ve standart girdi kanalından (stdin) okunurlar. QUERY_STRING ortam değişkenine değer atamak için birtakım farklı yollar vardır.bunlardan ilki bir CGI programını çağırırken URL adresinin sonuna?-soru işareti ile başlayan eklemeler yapmaktır.url de?-soru işaretinden sonra yer alan kısım QUERY_STRING ortam değişkenine aktarılmış olacaktır.aynı şey GET metodunu kullanan bir formdan bir CGI ya veri postalandığında da söz konusudur.get metodunu kullanan bir form oluşturalım: <form action= env.cgi method= GET > Çalıştığınız bölümü giriniz: <input type= text name= bolum size=20><p> </form>
11 11 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 veri hemen CGI ya gönderilir.birden çok girdi alanı içeren formlarda submit-gönder kullanmak zorunludur. bolum=matematik+muh+prg Burada sol taraftaki değer,formumuzdakı alanın adıdır.sağ taraftaki değer ise bizim metin kutusuna yazdığımız bilgidir.buradan da görülmektedir ki boşluk karakterleri +(artı) ile;noktalama işaretleri ve diğer ekstra karakterler %HH şeklinde gönderilmektedirler.diğer karakterler ise aynen gönderilmektedirler.eğer form üzerinde birden çok alan kullanmışsak her alan-değer çifti birbirlerinden & işareti ile ayrılırlar. 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 veri tabanı sorgulamaları için elverişlidir. Şimdi birden fazla alan kullanımına örnek verelim: <form action="env.cgi" method="get"> Adınızı giriniz: <input type="text" name="ad" value= Fatih size=20><br> Soyadınızı giriniz: <input type="text" name="soyad" value= Taşçı size=20><p> <input type="submit" value="gönder"> <input type="reset" value="sil"> </form> Bu form,girilen verileri env.cgi scriptine şu şekilde gönderecektir: $ENV QUERY_STRING <- ad=fatih&soyad=ta%de%df%dc ĠĢaretleme Kutucukları(Checkbox) Kullanıcıya seçeneklerden birini veya birkaçını seçebilmesi için formumuza işaretleme kutucukları koyabiliriz.eğer işaretleme kutucuklarıyla girilen verileri e-posta olarak almak istersek herbirine farklı bir isim(name) vermeliyiz.şu örneği inceleyelim: <html> <body> <form action="colors.cgi" method="post"> <input type="checkbox" name= kirmizi value=1>kirmizi<br> <input type="checkbox" name= yesil value=1>yesil<br> <input type="submit" value="gönder"> </form> </body> </html> Bu örnekte kullanıcı,bir ya da daha çok rengi seçebilir.kullanıcının kutucuğu işaretlemesi durumunda karşı tarafa value ile belirtilen değer (bu örnekte 1) gönderilir. Seçenek Butonları(Radio) Seçenek butonları,form içerisinde aynı alan ve farklı value değerleriyle kullanılarak birkaç seçenek arasından kullanıcının sadece bir tanesini seçebilmesini sağlamak için kullanılır.yine bir örnek verelim: <input type="radio" name= color value= Kirmizi >Kirmizi<br> <input type="radio" name= color value= Yesil >Yesil<br> Menülerle ÇalıĢmak(Select-option) Select alanları,kullanım olarak seçenek butonları ile aynıdır,ancak alanlar HTML sayfasında aşağı-çekmeli(pulldown) menüler şeklinde görünürler.kullanımına şöyle bir örnek verebiliriz:
12 12 <SELECT multiple size=10 name= color > <OPTION selected value= Kirmizi >Kirmizi</OPTION> <OPTION selected value= Yesil >Yesil</OPTION> </SELECT> CGI PROGRAMLARININ ÇALIġTIRILMASI Programlarımızın Windows NT altında çalışabilmesi için bazı ayarların yapılması gerekmektedir.öncelikle Windows Option Pack içinde yer alan Internet Information Server(IIS) ı kurmamız gerekir.bunun ardından bilgisayarımıza ActivePerl programını kurarız.activeperl,perl derleyicisinin IIS ile beraber çalışabilmesi için gerekli ayarları otomatik yapar. Kurma işlemlerinin ardından IIS web server ın Internet Service Manager programını çalıştırarak web server ın yönetim paneline ulaşırız. CGI programlarını çalıştırabilmek için c:\inetpub\wwwroot dizini altında cgi-bin isminde bir dizin açarız.programımızı bu dizin altına yerleştiririz.daha sonra programımızı browser dan yazarak çalıştırabiliriz. CGI PROGRAM UYGULAMASI Ziyaretçi Defteri: Web sayfalarında gördüğümüz ziyaretçi defterlerini yapmanın bir yolu da CGI programları kullanmaktır.biz de bir ziyaretçi defteri örneği yapacağız.şimdi kodumuzu açıklamalarıyla yazıyoruz: #!/usr/bin/perl print Content-type:text/html, \n\n ; Server dan gelen bilgileri değerlendirebilmesi için browser,gelen bilgilerin tipini tespit edebilmelidir.server ve Client arasında bilgi alışverişi HTTP Header olarak isimlendirilen bu birimler aracılığıyla olur.content-type,gelen bilgilerin HTML cinsinden olduğunu belirler.browser üzerinde yapabilmek için yukarıdaki satır yer almalıdır. $metod=$env REQUEST_METHOD ; $veri=$env QUERY_STRĠNG ; $dizin= /usr/local/httpd/htdocs ; $dosya= /ziyaretçi.html ; $path=$dizin.$dosya; Ziyaretçilerin yaptıkları kayıtları dosyalamak için bir HTML dosyasına ihtiyacımız olacak.$dizin değişkeninde,bu dosyanın sistem üzerinde hangi dizin içinde yer aldığı tespit ediliyor. Ziyaretçi.html dosyasına $dosya değişkeni üzerinden ulaşabiliriz.$path ise $dizin ve $dosya bileşiminden oluşan ve dosyanın sistem üzerinde yerini tespit eden yolu içeriyor. Programın ne zaman ziyaretçi defterine kayıt yapılmada kullanılan HTML arayüzünü göstermesi gerektiğini bilmesi gerekiyor.bunun gerçekleşebilmesi için programa,?ekle şeklinde parametre gönderiyoruz. GET metodunu ziyaretçi defterine kayıt yapmada kullanılan HTML arayüzünü ve ziyaretçi defterine yapılan kayıtları göstermede kullanacağız.ziyaretçi defterine kayıt yapmak için POST metodunu kullanacağız.program başlangıcında REQUEST_METHOD çevre değişkenini sorgulayarak,hangi metodun kullanıldığını ve kullanılan metoda göre ne yapmamız gerektiğini tespit edebiliriz.eğer GET metodu kullanılmışsa,o zaman sadece kayıt yapma ve kayıt gösterme işlemleri söz konusu olabilir.method POST ise,o zaman kayıt yapacağız demektir ve if döngüsünü kullanarak programın gerekli yerine ulaşabiliriz. if($metod eq GET ) if($veri eq ekle ) ilk if döngüsü,kullanılan metodun GET olup olmadığını sorgular.eğer GET kullanılmışsa,query_string ve $veri değişkenleri içinde yer alan değer ya ekle ya da göster olacaktır.
13 13 İkinci if döngüsü içinde $veri değişkenini sorgulayarak,hangi işlemin yapılması gerektiğini tespit ediyoruz.eğer $veri= ekle ise o zaman program şeklinde çalıştırılmıştır ve kullanıcı ziyaretçi defterine kayıt yapmak için HTML arayüzünü görmek istemektedir. $kayit_zamani=&zaman(); print<<html; <HTML> <BODY> <CENTER><H2>Ziyaretçi Defteri</H2></CENTER> Web sayfamızı ziyaret ettiğiniz için teģekkür ederiz.lütfen ziyaretçi defterimize kaydınızı bırakınız. $kayit_zamani</p> <HR> <FORM METHOD= POST > <PRE> <EM>Ġsim: <INPUT TYPE= text NAME= isim SIZE=40> <EM> <INPUT TYPE= text NAME= SIZE=40> <EM>URL: <INPUT TYPE= text NAME= url SIZE=40> </PRE> <EM>Lütfen eklemek istediklerinizi yazınız:<em><br>
14 14 <TEXTAREA ROWS=5 COLS=40 NAME= yazilan ></TEXTAREA> <INPUT TYPE= submit VALUE= EKLE > <INPUT TYPE= reset VALUE= SĠL > </FORM> <HR> </BODY> </HTML> HTML Karşımıza çıkan HTML arayüzündeki formu doldurup,ekle düğmesine bastıktan sonra,veriler,<form>tag ında yer aldığı gibi POST metodu ile programa gönderilir.daha öncede belirttiğimiz gibi,post metodu kullanıldığı için,programımız,ziyaretçi defterine kayıt yapılmak istendiğini anlar ve programın gerekli yerine geçer. elsif($veri eq goster ) if(open(defter, <.$path)) Program parametresiyle çağrıldıysa,ziyaretçi.html içinde yer alan kayıtlar ekrana yazılacaktır.öncelikle okumak amacıyla ziyaretçi.html dosyasını açıyoruz. while(<defter>) print; close(defter); Dosyayı açtıktan sonra,defter anahtarını kullanarak while döngüsüyle tüm satırları ekrana yazıyoruz. else print ziyaretçi.html dosyasını açamadım!!!!! ; Eğer ziyaretçi.html dosyası açılamazsa,yukarıda yer alan hata mesajı ekrana yazılır. else print<<menu <HTML> <HEAD><TITLE>Menü</TITLE></HEAD> <BODY> <H1>Menü</H1> <HR> <A HREF= /cgi-bin/ziyaretçi.pl?ekle >Deftere kayıt yap</a><br> <A HREF= /cgi-bin/ziyaretçi.pl?goster >Kayitlari göster</a><br> </BODY> </HTML> MENU Program şeklinde herhangi bir parametre verilmeden çalıştırıldığı zaman,ekrana bir menü yazar.bu menü üzerinden deftere kayıt yapılabilir ve yapılan kayıtlar gösterilebilir.
15 15 elsif($metod eq POST ) if(open(defter, >>.$path)) GET metoduyla ilgili program bölümlerini yazdıktan sonra,sırada POST metodu için gerekli program bölümlerinin yazılması var. Öncelikle $metod değişkenini sorguluyoruz.eğer kullanılan metod POST ise o zaman kayıt yapmak için hazırladığımız HTML arayüzü kullanılarak,programa veri girişi yapılmıştır.ilk işimiz ziyaretçi.html dosyasını ekleme yapmak için açmaktır.yapacağımız eklemeler dosyanın en sonuna eklenecektir. Web sitemiz üzerinde yer alan sayfalara aynı anda birden fazla insan bağlanabilir.birden fazla kullanıcının aynı anda ziyaretçi defterine kayıt yapmak istemesi sorun yaratabilir. Bunu önlemek için açılan bir dosyaya açık olduğu sürece başka bir kullanıcı tarafından kayıt yapılmasını önlemek için kilitlememiz gerekiyor.bu işlemi daha önce öğrendiğimiz flock komutuyla yaparız. flock(defter,2); Fonksiyon içinde kullandığımız 2 rakamı,dosyayı kilitler.dosyayı tekrar açmak için 8 rakamını kullanacağız. $kayit_zamani=&zaman(); &girilen_bilgileri_isle(*form); HTML arayüzü aracılığıyla yapılan kaydı gözden geçirmek aracılığıyla,&girilen_bilgileri_isle() subrutinini kullanıyoruz.burada önemli olan *FORM referansıdır. &girilen_bilgileri_isle() subrutini içinde,ziyaretçi defterine eklemek istediğimiz bilgiler yer almaktadır.herhangi bir şekilde bu bilgilere,subrutinden çıkıp sonra tekrar ulaşmamız gerekiyor.bunu FORM isminde bir referans kullanarak yapıyoruz.&girilen_bilgileri_isle() subrutini içinde HASH tipi bir liste tanımlayacağız.kayıt için gerekli tüm bilgiler bu liste içine yerleştirilecek.bir referanstan yaralanarak bu listenin adresini,form referansı içine yerleştireceğiz.böylece subrutinden çıktıktan sonra,kayıt için gerekli bilgilerin yer aldığı liste silinse bile,bu listenin hafıza adresi FORM içinde olacağı için,bilgilere form referansı üzerinden ulaşmamız mümkün olacaktır.&girilen_bilgileri_isle() subrutinini programımızın en sonunda ele alacağız. $FORM isim = Anonim KiĢi if!$form isim ;
16 16 $FORM = Anonim if!$form ; &girilen_bilgileri_isle() subrutininden gelen bilgilere artık FORM değişkeni üzerinden ulaşabiliriz.eğer kullanıcı kayıt esnasında bir isim girmediyse,yukarıda yer alan satırla,isim Anonim Kişi olarak değiştirilir.diğer bir deyişle,kullanıcının isim girip girmediği kontrol ediliyor.aynı işlemi kutusu için tekrarlıyoruz.$form içinde kullanılan isim HTML arayüzünde kullanılan isim kutusunun ismidir.kutu isimlerini kullanarak,kutulara girilen verilere ulaşıyoruz. Ziyaretçi kayıt yaparken,enter tuşuna basarak,yeni satıra atlayacak ve yazısına devam edecektir.ziyaretçi.html dosyasına bu ENTER lar \n olarak işlenir.ziyaretçi.html dosyasını bu şekilde görüntülemek istediğimizde,browser (Netscape/explorer) \n işaretini tanımadığı için yazılanların hepsini uzun bir satır üzerinde görürüz.herhangi bir şekilde bu \n işaretlerini,html dilinde yeni satır anlamına gelen <BR> ile değiştirmemiz gerekiyor.bunu aşağıdaki satır yapıyor. $FORM yazılan =~s/\n<br>/g; HTML arayüzünde bulunan yazılan isimli kutuyu girilen veri içindeki tüm \n(enter) karakterler <BR> olacak şekilde değiştirilir. Şimdi ziyaretçi.html dosyasına gerekli kaydı yapalım. print DEFTER<<EKLE; <B>$kayit_zamani:</B> Yaziyi birakan:<em>$form isim </EM><BR> <EM>$FORM </EM><BR> $FORM yazilan EKLE if($form url ) print DEFTER<<URL_EKLE; $FORM isim,url adresi: <A HREF= $FORM url >$FORM url </A> URL_EKLE if döngüsüyle,kullanıcının bir URL adresi girilip girilmediği kontrol ediliyor.eğer url isimli kutuya URL adresi girilmediyse,ziyaretçi.html dosyasına URL adresi eklenmiyor. print DEFTER <HR> ; Her kaydın altına bir çizgi çekilerek,kayıtlar birbirinden ayrılır. flock(defter,8); close(defter); Kayıt işlemi sona erdikten sonra,flock() fonksiyonunu kullanarak,kilidi açıyoruz ve bunun ardından close() fonksiyonu ile dosyayı kapatıyoruz. Ziyaretçi kaydı yapıldıktan sonra,ekrana bir teşekkür mesajı yazıyoruz. print<<tesekkurler Ziyaretçi defterimize kayıt yaptığınız için teģekkür ederim. <A HREF= /cgi-bin/ziyaretçi.pl >Geriye</A> TESEKKURLER else print ziyaretçi.html dosyasını yazmak üzere açamadım ; else print Kullandığınız metot geçerli değil. ; exit(0);
17 17 Ana program kodunu böylece noktalamış olduk.şimdi ana program içinde kullandığımız subrutinleri yazalım: sub zaman ($san,$dak,$saat,$gun,$ay,$yil)=localtime(time); return $gun.$ay.$yil-$saat:$dak:san ; localtime(time) fonksiyonu kullanarak,$san,$dak,$saat,$gun,$ay,$yil değişkenlerine saniye,dakika,saat,ay,gün,yıl verilerini eşitliyoruz.enter komutu ile zaman ve tarih string olarak ana programa geri gönderilir.$kayit_zamani=&zaman() şeklinde bir tanımlamayla ana programda,zaman() subrutini tarafından geri gönderilen zamanı kullanabiliriz. Aşağıdaki subrutini kullanarak,kullanıcının girdiği bilgilerin kodunu çözüyoruz. sub girilen_bilgileri_isle() local (*FORM_BILGILERI)=@_; local ( $elem, $anahtar, $deger); Subrutini içinde kullanacağımız değişkenleri deklare ettikten sonra,kodu yazmaya devam ediyoruz. read(stdin,$veri,$env CONTENT_LENGTH ); POST metodunu kullandığımız için read fonksiyonu ile verileri okumamız gerekiyor. Birden fazla kutu kullndığımız zaman,veriler & işareti ile birbirine foreach $elem (@kutu_deger_cifti) ($anahtar,$deger)=split(/=/,$elem); Foreach listesi içinde bulunan elemanlara ulaşıyoruz.elemanlar kutu1=deger1,kutu2=deger2 şeklinde olduğundan,asıl verilere ulaşabilmemiz için,tekrar split() fonksiyonunu kullanarak,elemanları = işaretinden iki parçaya bölmemiz gerekiyor. $deger=~tr/+//; $deger=~s/%([/da-fa-f][/da-fa-f])/pack( C,hex($1))/eg; HTML arayüzünde bulunan EKLE düğmesine basınca, veriler aşağıdaki şekilde CGI programına gönderilir: isim=ahmet+yıldırım& =ahmet%40avrasya.com Kullanıcının isim olarak Ahmet Yıldırım olduğunu düşünün. Veri iki kelimeden oluştuğu ve arada bir boşluk olduğu için, isim ve soyad Ahmet+Yıldırım şeklinde kodlanır. Ziyaretçi defterine kayıt yapmadan önce, + işaretini uzaklaştırmamız gerekir. Bu işlemi tr/+// kullanarak gerçekleştirebiliriz. Perl içinde özel anlam taşıyan işaretler : / \. Bu işaretler, kullanıcının girdiği verilerde özel bir anlam taşımadığı için, Perl derleyicisi tarafından yorumlanmaması gerekir. Bunu önlemek amacıyla, bu özel işaretler Hex formatında olmak üzere ASCII koduna çevrilir ve başına % işareti eklenir. Yukarıda kullanılan %40, aslında işaretinin hex ASCII kodudur. Desimal sistemde hex 40, 64 sayısına eşittir. =ahmet%40avrasya.com şeklinde kodlanmış bir veriyi tekrar ahmet@avrasya.com olacak şekilde normale dönüştürmemiz gerekiyor. Bu görevi aşağıdaki satır yerine getiriyor. $deger=~s/%([/da-fa-f][/da-fa-f])/pack( C,hex($1))/eg; %([/da-fa-f][/da-fa-f])/ kalıbı, % işaretiyle başlayan tüm kelimeleri tarar. Eğer % işaretinden sonra herhangi bir rakam (/d) ve harf [A-Fa-f] bulursa, bu, heksa koda çevrilmiş bir özel işaret anlamına gelir ve tekrar normal hale getirilmesi gerekmektedir. pack() fonksiyonunu kullanarak, bu heksa sayıyı (%40) tekrar desimal sayıya (64) çeviriyoruz.%40, 64 desimal rakamına çevrildikten sonra, değer değişkeni içinde yer alan heksa sayılar daha önce tanıştığımız ~s/ regüler terim işlemiyle desimal sayılarla değiştirilir. ([/da-fa-f][/da-fa-f]) parantezler içinde yer alan terim sonuçta heksadesimal cinsinden bir rakamı belirler (örneğin 20, 3B, 4A gibi). Parantezler içinde yer alan bu rakama ($1) değişkeni üzerinden ulaşabiliriz. Pack () fonksiyonuna hex ($1) şeklinde veri girişi yaptığımızda, pack ve hex fonksiyonları bu heksadesimal formatında
18 18 olan rakamı desimal bir sayıya çevirirler. Kullanılan eg opsiyonları, satır içinde kullanılan tüm %heksa sayıları bularak, desimal bir rakama çevirir. $FORM_BILGILERI$anahtar=$değer, Kullanıcının girdiği bilgileri HASH tipi bir listede saklıyoruz.kullanıcının girdiği bilgileri aşağıdaki formatta hash içine yerleştireceğiz. %FORM_BILGILERI= isim => Ahmet Yıldırım, url => yazılan => Burada yazılanlar yer alacak ; Böylece ziyaretçi defteri örneğimizi tamamlamış olduk.yazılan kodun tamamı aşağıdaki gibidir: #!/usr/bin/perl print Content-type:text/html, \n\n ; $metod=$env REQUEST_METHOD ; $veri=$env QUERY_STRĠNG ; $dizin= /usr/local/httpd/htdocs ; $dosya= /ziyaretçi.html ; $path=$dizin.$dosya; if($metod eq GET ) if($veri eq ekle ) $kayit_zamani=&zaman(); print<<html; <HTML> <BODY> <CENTER><H2>Ziyaretçi Defteri</H2></CENTER> Web sayfamızı ziyaret ettiğiniz için teģekkür ederiz.lütfen ziyaretçi defterimize kaydınızı bırakınız. $kayit_zamani</p> <HR> <FORM METHOD= POST > <PRE> <EM>Ġsim: <INPUT TYPE= text NAME= isim SIZE=40> <EM> <INPUT TYPE= text NAME= SIZE=40> <EM>URL: <INPUT TYPE= text NAME= url SIZE=40> </PRE> <EM>Lütfen eklemek istediklerinizi yazınız:<em><br> <TEXTAREA ROWS=5 COLS=40 NAME= yazilan ></TEXTAREA> <INPUT TYPE= submit VALUE= EKLE > <INPUT TYPE= reset VALUE= SĠL > </FORM> <HR> </BODY> </HTML> HTML elsif($veri eq goster ) if(open(defter, <.$path)) while(<defter>)
19 19 print; close(defter); else print ziyaretçi.html dosyasını açamadım!!!!! ; else print<<menu <HTML> <HEAD><TITLE>Menü</TITLE></HEAD> <BODY> <H1>Menü</H1> <HR> <A HREF= /cgi-bin/ziyaretçi.pl?ekle>deftere kayıt yap</a><br> <A HREF=/cgi-bin/ziyaretçi.pl?goster >Kayitlari göster</a><br> </BODY> </HTML> MENU elsif($metod eq POST ) if(open(defter, >>.$path)) flock(defter,2); $kayit_zamani=&zaman(); &girilen_bilgileri_isle(*form); $FORM isim = Anonim KiĢi if!$form isim ; $FORM = Anonim if!$form ; $FORM yazılan =~s/\n<br>/g; print DEFTER<<EKLE; <B>$kayit_zamani:</B> Yaziyi birakan:<em>$form isim </EM><BR> <EM>$FORM </EM><BR> $FORM yazilan EKLE if($form url ) print DEFTER<<URL_EKLE; $FORM isim,url adresi: <A HREF= $FORM url >$FORM url </A> URL_EKLE print DEFTER <HR> ; flock(defter,8); close(defter);
20 20 print<<tesekkurler Ziyaretçi defterimize kayıt yaptığınız için teģekkür ederim. <A HREF= /cgi-bin/ziyaretçi.pl >Geriye</A> TESEKKURLER else print ziyaretçi.html dosyasını yazmak üzere açamadım ; else print Kullandığınız metot geçerli değil. ; exit(0); sub zaman ($san,$dak,$saat,$gun,$ay,$yil)=localtime(time); return $gun.$ay.$yil-$saat:$dak:san ; sub girilen_bilgileri_isle() local (*FORM_BILGILERI)=@_; local ($veri,@kutu_deger_cifti,$elem,$anahtar,$deger); read(stdin,$veri,$env CONTENT_LENGTH foreach $elem (@kutu_deger_cifti) ($anahtar,$deger)=split(/=/,$elem); $deger=~tr/+//; $deger=~s/%([/da-fa-f][/da-fa-f])/pack( C,hex($1))/eg; $FORM_BILGILERI$anahtar=$değer,
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 Bahar Yarıyılı
Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 23 May. 2016 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları yardımıyla
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ı Öğ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ıInternet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı
Internet Programming II Elbistan Meslek Yüksek Okulu 2013 2014 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 26 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları yardımıyla
DetaylıÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR
ÖĞRENME FAALİYETİ 1 AMAÇ ÖĞRENME FAALİYETİ 1 Uygun ortam sağlandığında web sayfaları için formlar oluşturabileceksiniz. ARAŞTIRMA Web sayfalarında formların kullanım amaçlarını ve nasıl kullanıldığını
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 Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM
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 Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler Request Nesnesinin Özellikleri
DetaylıWeb Tasarımının Temelleri
1. Hafta Web Tasarımının Temelleri Öğr. Gör. Murat YAZICI www.muratyazici.com Artvin Çoruh Üniversitesi, Artvin Meslek Yüksekokulu www.artvin.edu.tr Formlar Kullanıcının da aktif olacağı dinamik web sayfaları
Detaylı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ı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ıBİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1
BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde
Detaylıİ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 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ıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9
BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)
Detaylı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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri
Detaylı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.
PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan PHP Nedir? Genel kullanım amaçlı bir betik/programlama dilidir.
Detaylıİ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ı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ı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ıBİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (
BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: edemir@sirnak.edu.tr ) 04.10.2018 1 MATLAB da Workspace ve Workspace
Detaylı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ıDinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon
Dinamik Kodlama Ürün Grubu Kategori Versiyon Önkoşulu [X] Fusion@6 [X] Yeni Fonksiyon @6 Uygulama @6 Serisi ürünlerde, kullanıcı arabirimlerinin her yerine eklenen dinamik kodlama özelliği ile, programın
Detaylıİ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ı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ıTemel Başlıklar. HTML Formlarının amacı Çalışma şekli Form Action ve Method
HTML Formları Temel Başlıklar HTML Formlarının amacı Çalışma şekli Form Action ve Method HTML/WWW veri paylaşımı üzerine kurulmuştur. Html işaretleme dilidir. Diğer içerikler ile bağlantılar (linkler)
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 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte
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
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ıÇ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ıEcat 8. Hakbim Bilgi İşlem A.Ş. Versiyon
Ecat 8 Hakbim Bilgi İşlem A.Ş. Versiyon 2015 01.01 1 Ecat8 Nedir? Firmaların elektronik yedek parça kataloğu ihtiyacını karşılamak için Hakbim Bilgi İşlem tarafından geliştirilmiş ve geliştirilmeye devam
Detaylı<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ı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ıÜ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ıÖĞ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ıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
DetaylıInternet Programming II
Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 1 Fonksiyonlar Değişken Kontrol Fonksiyonları isset() Fonksiyonu Parametre olarak aldığı değişken
DetaylıDeğişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while
Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne
DetaylıJavascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.
Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html
DetaylıHtml temelleri. Ders 4
Html temelleri Ders 4 1 Giriş World Wide Web (Kısaca web) uygun protokoller kullanarak haberleşen yazılımların çalıştırıldığı internet üzerindeki sistemlerin bir koleksiyonudur. Çoğu sistem gününüzde en
Detaylı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ı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ıHTML Sayfaları. Bütün html sayfaları
HTML VİZE NOTLARI HTML Sayfaları Bütün html sayfaları tagıyla başlar ve tagıyla biter. tagları arasında ve tagları vardır. Örnek bir html boş sayfası kodları şu şekilde
DetaylıTemel Bilgisayar Programlama Final Sınavı Çalışma Notları
Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak
DetaylıSM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları
Digi SM 100 SM 100 Terazi Ayarları Digi SM 100 Terazi Ayarları Teraziyi ayarlamaya başlamak için öncelikle X S Z ENTER Raporlar Program Ayarlar FONKSIYON Bölümlerine geçiş yapabilmemiz gerekmektedir. Bunun
Detaylı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.
ASP.NET DERS 1 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. Gelen ekranda Visual C# seçildikten
DetaylıGEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu
GEÇERLİLİK KONTROLLERİ VALİDATİON CONTROLS Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu Giriş Kullanıcı bilgilerinin istenilen kriterlere uygun olup olmadığını denetlemek
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 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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
DetaylıProgramlama Dili Prensipleri. Lab Notları 8 ve 9
Programlama Dili Prensipleri Lab Notları 8 ve 9 Fonksiyonel Programlama Fonksiyonel programlamada bir fonksiyon aynı parametreler aldığı sürece aynı sonucu üretecektir. Daha çok yapay zeka için kullanılan
DetaylıFlash ile Etkileşimli Öğretim Materyali Hazırlama Semineri
Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi
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 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ı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ı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ıAdım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011
Adım Adım SPSS 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü Y. Doç. Dr. İbrahim Turan Nisan 2011 File (Dosya) Menüsü Excel dosyalarını SPSS e aktarma Variable View (Değişken Görünümü 1- Name (İsim - Kod)
Detaylı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ıAndroid Ders Notları
Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje
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 Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler STRING FONKSİYONU... 3 SPLIT FONKSİYONU...
Detaylı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.
PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet
Detaylı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ı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ıEln 1002 Bilgisayar Programlama II
Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı
Detaylı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ıAdverTech Dijital Tabela Yönetim Yazılımı Kullanım Klavuzu
AdverTech Dijital Tabela Yönetim Yazılımı Kullanım Klavuzu 1. AdverTechDS Yönetim Paneline Giriş... 2 2. Hiyerarşi Tanımlama... 3 3. Kullanıcı Tanımlama... 4 4. Cihaz Tanımlama... 5 5. Cihaz Kurulumu...
DetaylıÇANKIRI KARATEKİN ÜNİVERSİTESİ ZİMBRA E-POSTA SİSTEMİ KULLANICI DOKÜMANI
ÇANKIRI KARATEKİN ÜNİVERSİTESİ ZİMBRA E-POSTA SİSTEMİ KULLANICI DOKÜMANI İÇİNDEKİLER GİRİŞ... 3 EPOSTA SİSTEMİNE BAĞLANMA... 3 ESKİ E-POSTLAR... 5 YENİ KİŞİ VEYA GÖREV OLUŞTURMA... 6 MESAJ YAZMA... 6 KİŞİLER...
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
ComboBox Bir Windows açılan kutu sunu temsil eder. ComboBox kontrolü, kullanıcıların bazı değerleri açılan bir listeden seçmesini sağlar. Listeye tasarım anında veya çalışma anında öğe eklenebilir. Listeye
Detaylıİ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ı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ıDizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.
DİZİLER/ARRAY: Dizi yi çeşitli şekillerde tanımlamak mümkün. Dizi içlerinde birden fazla değer saklayabilen veri kümeleridir diye tanımlarsak uygun olur sanırım. Diziler yan yana dizilmiş kutucuklar olarak
Detaylı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ıBLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA
BLM-112 PROGRAMLAMA DİLLERİ II Ders-8 Dosya İşlemleri-1 Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Giriş Değişken ve dizilerde tutulan değerler programın çalışması
DetaylıFen ve Mühendislik Uygulamaları ile MATLAB
Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler
DetaylıÜ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ı1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?
İÇİNDEKİLER VII İÇİNDEKİLER 1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? 1 Neden Python? 3 Python Neden Bütün Hacker ların Favori Programlama Dili? 4 Hangi Editörü Kullanmalıyım? 5 Bu Kitabı Nasıl Kullanmayalıyım?
Detaylıİnternet Programcılığı Form İşlemleri ve Oturum Yönetimi Örnekleri
1 İnternet Programcılığı Form İşlemleri ve Oturum Yönetimi Örnekleri Örnek 1 : Aşağıda ekran görüntüleri verilen HTML formunu ve oluşturduğunuz bu formdaki bilgileri elde edecek PHP sayfasını hazırlayınız.(formdan
Detaylı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ı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ıIPACK LADDER. Arayüz Dökümantasyonu
IPACK LADDER Arayüz Dökümantasyonu I. Giriş Bu dökümantasyon IPack Ladder yazılımının arayüz kullanımını, kullanılan model ile ilişkilerini ve işlevsel açıklamaları kapsamak üzere hazırlanmıştır. II. Dökümantasyon
DetaylıVeritabanı Tasarımı. Düzenli İfadeler
Veritabanı Tasarımı Düzenli İfadeler Konular Düzenli ifadeleri tanımlama SQL ifadelerinde düzenli ifadeleri arama, eşleme ve yer değiştirme katarlarında kullanma Düzenli ifadeleri ve kontrol kısıtlamalarını
DetaylıMühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları C Programlama Dr. Serkan DİŞLİTAŞ 5.1. Atlama Komutları Program akışının yönlendirilmesinde
Detaylı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ıSite Temizlik Projesi Kodları
Site Temizlik Projesi Kodları Site Temizlik Projesi -2 nin kodları aşağıdadır. (İlgili site sayfasını önceki yazılarda bulabilirsiniz.) [crayon-5c2acf77c2a0b746634170/] İndir (DOCX, 15KB) İlk Hafta Sunumu
DetaylıUygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.
Uygulamalar 4 IsMissing (Değişken) Visual Basic te fonksiyon veya alt programlara giriş parametresi olarak Optional deyimi kullanılırsa o parametre kullanılmadan da o fonksiyon çağrılabilir. IsMissing
Detaylı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ıpfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,
disp fonksiyonu: disp fonksiyonunun genel yazım biçimi, disp() bir tekst yada dizi olabilir. disp() dizi ismini basmadan ekrana diziyi görüntüler. Eğer metin dizesi içeriyorsa metin görüntülenir. disp
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıBASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN
BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"
DetaylıBu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.
WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde
Detaylı12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )
12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 ) 25.09.2017 METİN VE GÖRÜNÜM DÜZENLEME ETİKETLERİ : etiketleri dökümana başlık eklemek için kullanılır. etiketinde ki x ifadesi 1 den 6 ya kadar
DetaylıDizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.
DİZGİLER (STRINGS) Dizgiler char tipli karakterlerin gruplanmş haline dizgi(string) denilir. Bazen katar ismide kullanılabilir. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir.
Detaylıideal Sistem Tester Kullanım Klavuzu
1- Sistem Modülüne Giriş ideal Sistem Tester Kullanım Klavuzu Herhangi bir Grafik penceresinin başlığındaki S harfine basılarak açılan menüden yapılabilen seçimlerle kullanılmaya başlanır. Bu menüden,
DetaylıYEDEKLEME PROGRAMI KURULUM VE KULLANIMI
YEDEKLEME PROGRAMI KURULUM VE KULLANIMI Kurulum 1..zip dosyasını açınız. 2. Açılan dosyanın içindeki Yedekleme klasörünü açınız. 3. Yedekleme.exe dosyasını açınız. 4. Üst pencerede ki ekran gözükecektir.
Detaylık ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.
MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz
DetaylıElbistan MYO Güz Dönemi Öğr.Gör. Murat KEÇECİOĞLU
Elbistan MYO 2016-2017 Güz Dönemi Öğr.Gör. Murat KEÇECİOĞLU HTML Nedir? HTML, Hyper Text Markup Language sözcüklerinin baş harflerinden oluşan bir kısaltmadır ve Web in temel dilidir. Html dökümanları
Detaylı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ıT.C. İZMİR VALİLİĞİ İzmir İl Milli Eğitim Müdürlüğü. DynEd - İngilizce Dil Eğitimi Programı Kayıt Yönetimi Sistemi Kullanımı Kılavuzu
T.C. İZMİR VALİLİĞİ İzmir İl Milli Eğitim Müdürlüğü DynEd - İngilizce Dil Eğitimi Programı Kayıt Yönetimi Sistemi Kullanımı Kılavuzu DYNED KAYIT YÖNETİMİ SİSTEMİ NE GİŞİM İŞLEMLERİ 1. ADIM: Kurum şifresini
Detaylı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ıDOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GİDEN EVRAK
DOKÜMAN YÖNETİM SİSTEMİ KULLANIMI GİDEN EVRAK 1. DYS (Doküman Yönetim Sistemi) nin kullanımı için 3. parti bir programa ihtiyaç yoktur. Tamamen WEB tabanlı çalışmaktadır. 2. Sisteme http://dys.akdeniz.edu.tr
DetaylıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8
BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek
DetaylıFlow Kullanım Klavuzu Mart 2014
Flow Kullanım Klavuzu Mart 2014 İçindekiler Flow nedir? Bir Flow hesabı oluşturmak Oturum açmak Flow Hesabınız Genel Görünüm Flow Hesabınız Kullanım + Add (ekle butonu) Bibliography (Künye/Atıf butonu)
Detaylı