PHP’de Formlar

Mart 13, 2008 tarihinde PHP kategorisine eklendi | Yorum yok

Formlar web sitelerinin vazgeçilmez elemanlarıdır ve dikkatli yönetilmelidirler. Ziyaretçilerden alınan bilgilerle işlenen bir üyelik sistemi, mevcut üyelerin giriş panelleri, içerik ekleme sistemleri, görüntü dosyalarının eklenmesi ve arama gibi birçok işlem için formlar kullanılır.

PHP formlar için $_Get ve $_Post değişkenlerini kullanır. Form elemanları birer HTML kodudur ve PHP kodları bunların arasında kullanılır, çalıştırılır. Örnek;

<html>
<body>

<form action=”ornek.php” method=”post”>
İsim: <input type=”text” name=”isim” />
Yaş: <input type=”text” name=”yas” />
<input type=”submit” value=”Gönder” />
</form>

</body>
</html>

Örneğimiz, iki adet metin giriş alanı (input) ve bir gönderme düğmesinden (submit) oluşan basit bir form. Ziyaretçi giriş alanlarını doldurup gönderme düğmesine tıkladığında yazmış olduğu bilgilerle birlikte sayfa “ornek.php” dosyasına yönlenecektir. ornek.php dosyası ise;

<html>
<body>

Merhaba <?php echo $_POST["isim"]; ?>.<br />
<?php echo $_POST["yas"]; ?> yaşındasın..

</body>
</html>

Yukarıdaki gibidir. Başlangıçta belirttiğim değişkenlerden $_Post ile forma yazılan bilgileri aldık ve ekrana yazdırdık. Diğer bir örnek;

<form action=”ornek.php” method=”get”>
İsim: <input type=”text” name=”isim” />
Yaş: <input type=”text” name=”yas” />
<input type=”submit” value=”Gönder” />
</form>

ornek.php dosyası ise;

Merhaba <?php echo $_GET["isim"]; ?>.<br />
<?php echo $_GET["yas"]; ?> yaşındasın..

Şeklinde olacaktır. Örneklerde $_Post ve $_Get değişkenlerini ayrı ayrı kullandık. Peki farkları nedir?

İki örneği de çalıştırdığınızda tarayıcının adres bölümüne gözatın. $_Post yöntemi ile yaptığımız örnekte,

http://www.domain.com/ornek.php

dizilimini görmelisiniz. $_Get yöntemi ile yaptığımız örnekte ise adres çubuğunda;

http://www.domain.com/ornek.php?isim=Ahmet&yas=37

dizilimini görmelisiniz. Dikkat ederseniz $_Get yöntemi ile gönderilen bilgiler tarayıcının adres bölümüne aynen yazıldı. Bu bazen işimize yarayabilir ancak, bir üyelik formu için sakınca yaratabilir. Çünkü giriş yapan kişiye ait kullanıcı bilgileri tarayıcıda görünecektir. Ayrıca uzun değişkenlerin için de kullanımı zor olacaktır. 100 karaktere kadar izin veren $_Get metoduna karşılık $_Post metodu limitsizdir.

PHP $_Request

PHP’de $_Get ve $_Post ile kullanabileceğimiz bir başka değişken ise $_Request’dir. Bu değişkeni ayrıca çerezler (cookie) içinde kullanılır. Örnek;

Merhaba <?php echo $_REQUEST["isim"]; ?>.<br />
<?php echo $_REQUEST["yas"]; ?> yaşındasın..

Son olarak form kontrolü (form validation), siteler için oldukça önemlidir ve formlar hataların oluşmasına veya sitenize zarar verebilecek kodların yürütülmesine uygun alanlardır. Form ile alınan bilgiler şayet veritabanına kaydedilecekse veya sorgulama isteyecekse kontrolü sunucu taraflı yapmak güvenli olacaktır. Bu sebeple formları farklı bir sayfaya yönlendirmek ve işlemleri burada yapmak yararlıdır. Her ne kadar trafik artışına sebep olsa da, istenmeyen olayları engellemek daha önemlidir.

Umarım yararlı olmuştur.

Bu yazının Popülerliği: 21% [?]

Yorumlar

Yorum Yapın




Aşagıdaki iki kelimeyi boş olan kutuya yazınız. Bu uygulama zararlı yorumları engellemek için. Anlayışınıza teşekkur ederim.