php-formlar

Web sunucusu ve istemcisi (Browser) arasındaki etkileşme ve alışverişin nasıl işlediğine ilişkin bilgilerimiz olduğunu varsayarak, sadece Internet’te Form, bir Web sayfasının ziyaretçiden veri alabildiği ve bunları Web sunucusuna ulaştırabildiği başlıca araç olduğunu hatırlayalım. Form, ziyaretçinin bizim
istediğimiz bilgilerin yanı sıra ziyaretçinin bilgisayarından Web sunucusu bilgisayara, daha bir çok bilgiyi de beraberinde getirir. Web programcısı ve Web tasarımcısı olarak bu bilgileri bilmeye daima ihtiyacımız var. Söz gelimi, ziyaretçimizin Browser türünü ve sürümü belirleyerek, onu, uygun sayfaya yönlendirmekten tutun, ziyaretçiden istediğimiz bilgilerin Sunucu’ya ulaştığında nerede ve hangi değişkende tutulduğuna kadar, gerekli bir çok bilgi Sunucu çievre değişkenleri ve Sunucu değişkenleri dediğimiz dizilerde bulunur. Form tasarımına ve bir Form’un bilgilerini PHP ile yakalamaya ve işlemeye geçmeden önce Web Server’ı ve bize verdiği bilgileri daha yakından tanınamız yararlı olur.

Bunun için önce şu programı formlar01.php adıyla kaydedin ve çalıştırın:

<HTML>

<HEAD>

<TITLE>PHP’de Nesneler</TITLE>

<meta http-equiv=”content-type” content=”text/html; charset=ISO-8859-9″>

<meta http-equiv=”Content-Type” content=”text/html; charset=windows-1254″>

</HEAD>

<BODY>

<?php

foreach ($GLOBALS as $anahtar=>$deger ) {

print ($anahtar . ” = ” . $deger . “<br>”);

}

?>

</BODY>

</HTML>

Şimdi Browser penceresinde gördüğünüz bilgileri irdeleyelim; çünkü biraz sonra ziyaretçiden Form ile gelen verileri yakalarken ve işlerken bu bilgilerden yararlanacağız. (Bu programı kişisel bilgisayarınızda, kişisel Web sunucuda çalıştırıyorsanız, aynı programın gerçek bir Unix-tabanlı Web sunucuda (Apache) nasıl sonuç verdiğini http://www.mycgiserver.com/~ocal/formlar01.php adresinde görebilirsiniz. Sunucu’nun oluşturduğu diğer değişkenleri ise http://www.mycgiserver.com/~ocal/php.php adresinde inceleyebilirsiniz.)

Bu programla PHP’nin daima varolan $GLOBALS dizisinin üyelerini görüntülüyoruz. $GLOBALS bir ilişkili-dizi-değişken, yani değişken değerlerinin endeks adı (anahtarı) bulunan bir dizi olduğu için, içerdiği değerlere adları ile ulaşabiliriz. Bu programda, $GLOBALS’ın anahtarlarını $anahtar, değerlerini ise $değer değişkenine yazdırıyoruz ve bir foreach döngüsü ile Brnowser penceresine gönderiyoruz. Programı çalıştırdığımız sisteme ve Web sunucu programına bağlı olmak üzere, ekranımızda bir çok değişken görebiliriz. Bunlar arasında bütün HTTP Server programları için ortak ve Web programcısı için önemli değişkenler şunlardır:

HTTP_ENV_VARS HTTP Sunucu programın çalışmakta olan PHP dosyası için oluşturduğu çevre değişkenlerinin yazılı olduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur:

HOSTNAME: Sunucunun IP adresi

SHELL: Unix sisteminde kullanılan Shell programı

HOSTTYPE: Sunucunun adı ve sürünü

OSTYPE: Sunucu’nun işletim sistemi

HOME: Çalışan programın kök dizini

PATH: Çalışan programın Sunucu’daki yolu

HTTP_SERVER_VARS Sunucu programın çalışmakta olan PHP dosyasına sunduğu bazı bilgilerin bulunduğu dizi değişken. Bu değişkenin içinde şu unsurlar bulunur:

PHP_SELF: Çalışan PHP programının bulunduğu dizin ve adı

PATH_TRANSLATED: Çalışan PHP programının fiziksel yolu

HTTP_GET_VARS Bir Form’dan GET metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken

HTTP_POST_VARS Bir Form’dan POST metoduyla alınan bilgilerin anahtar=değer çiftleri olarak kaydedildiği dizi değişken

HTTP_USER_AGENT Ziyaretçinin bilgisayarında kurulu Internet Browser programı

QUERY_STRING Form ile bilgi alırken GET metodunu kullandığımız takdirde, Browser’ın göndereceği bilgilerin tutulduğu değişken

REMOTE_ADDR Ziyaretçinin bilgisayarına ISS tarafından atanmış IP adresi

REQUEST_METHOD Form ile gelen bilgilerin gönderildiği metod: GET veya POST

REQUEST_URI O anda çalışmakta olan PHP dosyasının adı ve varsa bu ada eklenmiş Query_String

SCRIPT_FILENAME O anda çalışmakta olan PHP programının dosya adı

SCRIPT_URI O anda çalışmakta olan PHP programının tam URL adresi

SERVER_ADDR Sunucunun IP adresi

SERVER_PROTOCOL Sunucunun HTTP protokolünün sürümü

Bir önceki yazımız olan php-nesneler başlıklı makalemizde php nesne tanımlama, php-class ve php-nesne oluşturma hakkında bilgiler verilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir