CGI Nedir? CGI kelimesi, Common Gatevay Interface kelimelerinin başharflerinden oluşan bir kısaltmadır. Türkcesi de "ortak geçit arayüzü" anlamına gelir. CGI ile ziyaretci tarafından server'a bir iş yaptırılır. Bu iş ziyaretcinin veritabanı olarak kullanılan dosyalara belli konularda kayıt yapabilmesi şeklinde olabileceği gibi ziyaretci sayısının sayılması, cookie ile yapılan işlemler, web üzerinden mail gönderilmesi şeklinde geniş bir yelpazede devam eder. CGI programlarında c++, visual basic scripting gibi diller kullanılabilse de genel olarak CGI programlarında perl dili kullanılır. Bunun sebebi geniş hosting desteği ve perl dilinin köklü ve geniş bir dil oluşudur. Biz buradaki örneklerimizde ve anlatımlarımızda perl programlama dilini temel alacağız. CGI programlarının işleyişi hakkında örnek verecek olursak web sitemizi ziyaret eden kişilerin görüşlerini bildirebileceği bir ziyaretci defteri yaptığımızı düşünelim. Web sitemize gelen ziyaretci ziyaretci defterine girer, görüşlerini bir form vasıtasıyla doldurur ve Submit basarak formun "action" kodlarıyla belirlenen ve form vasıtasıyla bilgilerin gönderileceği adres olan CGI ya da PL dosyasına bilgiler "bilgi yumağı" halinde gönderilir. bilgileri alan CGI dosyası bu bilgileri kendisine verilen komutlar doğrultusunda açar, değişkenlere atar, dosyaya kaydeder ve isteğe bağlı olarak mail vasıtasıyla defter sahibinin mail adresine gönderir. Sonuç olarak da ziyaretciye bir teşekkür içeren html dosyası gösterir. Örneğimizde ziyaretci CGI dosyasına bilgileri gönderdi ve CGI dosyası da server'a bir "iş" yaptırdı CGI ile neler yapabiliriz? CGI dosyaları az önce de belirttiğim gibi server'a bir takım komutlar verip "iş" yaptıran programcıklardır. CGI dosyalarıyla web sitenizin ziyaretcilerle etkileşimini sağlayabilirsiniz. Onların görüşlerini ve önerilerini öğrenebilirsiniz. Bir takım bilgiler alıp dosyalara kaydettirebilir, daha sonra bu dosyaları inceleyip ziyaretcilerinizin görüşlerini öğrenebilirsiniz. Anket programlarıyla insanların istediğiniz konu hakkında düşüncelerini ve oranları öğrenebilirsiniz. Ziyaretci defteri hazırlayıp ziyaretcilerinizin görüşlerini alabilirsiniz. Forum programlarıyla insanların bilgilerini paylaşabilecekleri ortamlar hazırlayabilirsiniz. Mail formlarla ziyaretcileriniz web üzerinden size e-mail gönderebilmelerini sağlayabilirsiniz. Bunun dışında Toplist, mesaj tahtası vs. gibi programlarla hem web sitenize içerik katarsınız, hem de ziyaretci sayınızı arttırabilirsiniz. Perl ile sadece internette değil kendi bilgisayarınızda çalışan, bi takım işlerinizde pratiklik kazandıracak programlar da yapabilirsiniz. Perl öğrenmek zor ve zahmetlidir ama sonucunda bir "programlama dili" öğrenmiş olursunuz ve ilerde başka bir programlama diline geçtiğinizde özellikle döngüler ve değişkenler konusunda çok rahat edersiniz. Perl öğrenmek için ortalama html bilgisine sahip olmanız gerekiyor. Eğer yeterli derecede html bilgisine sahip değilseniz Webdersleri'nin ilgili bölümlerini ziyaret edebilirsiniz. Ayrıca bu konuda internette bir çok kaynak var. Bundan sonraki derslerde ortalama html bilgisine sahip olduğunuz varsayılacaktır. Buradaki örnek kodları mecbur kalmadıkca ya da kendi yazdığınız kodlarla karşılaştırmak gerekmedikce kullanmamanızı tavsiye ederim, kodları kendiniz yazarsanız hem eliniz alışır hem de hata yapa yapa hata yapmamayı, hatasız kod yazmayı öğrenirsiniz. Örnek kodları zip'li halde buraya tıklayıp indirebilirsiniz. Kaynak