T.C.S.F.B.A.T - Alılı Tilki

Ders 1

Web sayfalarına anket veya geribildirim formu koymak isteyen kullanıcılarımız, BFormMail/FormMail programlarını kullanarak çalışan aşağıdaki örnek formların kaynak kodlarını kopyalayıp, bu sayfada belirtilen açıklamalar doğrultusunda üzerinde gerekli değişiklikleri yaparak kendi sayfalarına uyarlayabilirler. Konuyla ilgili sorular hotlinemetu.edu.tr adresine iletilebilir.


BFormMail ve FormMail programlarındaki ayarların açıklaması

ODTÜ merkezi web sunucusu üzerinde yer alan BFormMail programını kullanmak için aşağıdaki html kodlarını hazırladığınız form/anket dosyanızın içine koymalısınız (satır numaraları açıklamalara yardımcı olmak için eklenmiştir, onları dahil etmeyiniz). Ardından BformMail.pl programının içeriğinde yer alan ve aşağıda numaralandırılmış bazı hazır değerleri atamalısınız. Örnek form sayfasına, buradan ulaşabilir ve bu sayfanın kodundan yararlanabilirsiniz.

< FORM ACTION="http://www.metu.edu.tr/cgi-bin/BFormMail.pl" METHOD="post" >
(1) < INPUT NAME="recipient" TYPE="hidden" VALUE="*****@metu.edu.tr"  >
(2) < INPUT NAME="subject" TYPE="hidden" VALUE="Formmail Deneme Formu" >
(3) < INPUT NAME="required" TYPE="hidden" VALUE="Q1,Q2,Q3,Q4,Q5">
(4) < INPUT NAME="env_report" TYPE="hidden" VALUE="REMOTE_HOST, REMOTE_ADDR, REMOTE_USER, HTTP_USER_AGENT" >
(5) < INPUT NAME="print_config" TYPE="hidden" VALUE="realname,email" >
(6) < INPUT NAME="sort" TYPE="hidden" VALUE="order: Q1,Q2,Q3,Q4,Q5" >
(7) < INPUT NAME="title" TYPE="hidden" VALUE="Tesekkür Ederiz" >
(8) < INPUT NAME="bgcolor" TYPE="hidden" VALUE="#FFFFFF" >
(9) < INPUT TYPE="hidden" NAME="append_db" VALUE="/home###/username/wwwhome/abc.txt" >
(10) < INPUT TYPE="hidden" NAME="db_fields" VALUE="Q1,Q2,Q3,Q4,Q5" >
(11) < INPUT TYPE="hidden" NAME="db_delimiter" VALUE="|">
(12) < INPUT TYPE="hidden" NAME="redirect" VALUE="url">

 

1.satır: "recipient" parametresi; Formun doldurulmasıyla oluşacak e-postayı alacak kişi. Birden fazla e-posta adresi kullanılabilir. recipient parametresinde tanımlanacak olan e-posta adres(ler)inin ODTÜ BIDB Enformatik Grubuna (cc-igmetu.edu.tr) mutlaka iletilmesi gerekir. Oluşturulan formların gönderileceği e-posta adresleri BFormMail.pl ve FormMail.pl betiklerinde özel bir satırda listelenmektedir. İletilmemesi durumunda karşınıza "Error: Bad/No Recipient" hatası çıkacaktır.

2.satır: "subject" parametresi; Formun doldurulmasıyla oluşacak e-postanın konusu.

3.satır: "required" parametresi; Formun son kullanıcı tarafında muhakkak doldurulması gereken bölümleri required değişkeni altında listelenmektedir.

4.satır: "env_report"; Açık adıyla "Environmental Report", yani formun son kullanıcı tarafında doldurulduğu bilgisayarın Alan Adı (REMOTE_HOST), IP Adresi (REMOTE_ADDR) vs. bilgileri edinmek isterseniz dahil edeceğiniz satır.

5.satır: "print_config" parametresi; Formun doldurulmasıyla oluşacak e-postaya formu dolduran kişinin e-posta adresinin ve adının da eklenmesiyle yollanmasını sağlayan parametre. (Bu parametrenin kullanılabilmesi için form üzerindeki e-posta ve ad-soyad değişkenlerinin sırasıyla "email" ve "realname" şeklinde verilmeleri gerekmektedir. Bazı formlarda formu dolduranların kimlik bilgileri sorulmaz. O zaman bu satırın yer almasına gerek yoktur.)

6.satır: "sort" parametresi; Hazırlanan form içinde yer alan değişkenlerin hangi sırayla oluşacak e-postada yer alacağını belirleyen parametredir. Formda kullanılan tüm değişkenlerin bu parametre içinde yer alması gereklidir. Bu listede yer almayan form değişkeni kullanıcı tarafından doldurulmuş olsa bile gelen e-postada görülmeyecektir.

7. ve 8.satırlar: Formu dolduran kişinin "submit/gönder" tuşuna basmasıyla karşısına çıkacak olan ekranın başlığını ve zemin rengini belirlemektedir.

9, 10 ve 11. satırlar: BFormMail.pl, FormMail.pl'den farklı olarak son kullanıcı tarafında doldurulan form bilgilerinin bir dosyaya yazılmasını da sağlamaktadır. Dosya ile ilgili her tür teknik özellik bu parametrelerle belirlenir. (İsteğe bağlı olarak, yanıtları sadece e-posta yoluyla almanız yeterli ise bu satırları dahil etmenize gerek yoktur. Fakat iletilen yanıtları toplu olarak bir dosya içine kaydetmek isterseniz, dahil edilmelidirler.)

9.satır: append_db" parametresi; Verilerin nerede tutulacağını belirtir. Söz konusu text dosyası içi boş da olsa mevcut bir dosya olmalı ve hakları 622 şeklinde tanımlanmalıdır. Dosyaların erişim hakları ile ilgili daha detaylı bilgilere bu adresten erişebilirsiniz. Dosya adı tam adres (path) verilerek yapılmalıdır. Örnek: /home###/usercode/wwwhome/abc.txt gibi. Kullanıcı kodunuzun yer aldığı ev dizininin numarasını bulmak için UNIX ortamında:

~usercode diyerek enter'a basın.
/home###/usercode: is a directory
şeklinde bir satır belirecektir.

Ancak (merkezi sistemlerdeki web kullanıcı kodları için) formun bulunduğu adres www.***.metu.edu.tr şeklinde bir alan adı ise form verilerinin kaydedileceği adres ilgili www**** seklindeki web hesabı altinda olamayacaktır. Bunun için sayfadan ve ilgili web hesabından sorumlu kişiye ait kullanıcı hesabı altında dosya adreslemesi yapılabilir.

Dosya adı olarak seçeceğiniz ismin anketinizin konusyla, ya da isminizle ilgili olması önerilmektedir.  Bunun amacı data.txt, list.txt ve benzeri birden falza kullanıcının seçebileceği isimler sunucunun tmp dosyasında aynı adla farklı dosyaların oluşmasına ve isimlerin kilitlenmesine sebep olur.

10.satır: db_fields" parametresi; Veriler (data) içinde yer alacak değişken adlarını belirtir. "sort" değişkeninde yer aldığı gibi doldurulmalıdır. Sıralama bu parametre için de önemlidir.

11.satır: db_delimiter" parametresi; Her bir data için kullanılacak ayracı belirtir. Genellikle "|" (pipe) kullanılmaktadır. Söz konusu data şu şekilde oluşacaktır:

Örnek: 2 kişinin doldurmasıyla oluşturulan datanın ara soruları nokta ile geçildi.

1.datanıntarihi|1.soru değeri|2.soru değeri|4.soru değeri| ........ |23. soru değeri|25.soru değeri
2.datanıntarihi|1.soru değeri|3.soru değeri|4.soru değeri| ........ |22. soru değeri|25.soru değeri

1. datayı dolduran kişi 3. soru ve 24. soruyu doldurmamış,
2. datayı dolduran kişi de 2. soruyla 23. ve 24. soruyu doldurmamış görünüyor.

Bunlar karşılaşacağınız datayı yorumlamanız açısından size yardımcı olacaktır. Ayrıca form herkes tarafından doldurulduktan sonra, tablo işlemci programda (excel, spss,open office vb) programda, oluşan dosyayı açıp program içeriğinde yer alması muhtemel komutlarla ["anketi dolduran kişi sayısı"X"soru sayısı"] ebatlarında bir matris elde edebilirsiniz.

12.satır: "redirect" parametresi; Anketi dolduran kişinin anket tamamlandığında yönlendirilmesi istenen web sayfası adresini belirtir. Örneğin, yönlendirilen adres anketin ana sayfası veya bir teşekkür sayfası olabilir.

=> Sen de ücretsiz bir internet sitesi kurmak ister misin? O zaman burayı tıkla! <=