Php İle Form Kullanımı

Php ile Form Kullanımı

Php dili ile dinamik sayfalar oluşturmak için html formlar oldukça önemlidir çünkü bu formlar aracılığıyla kullanıcılardan veri alıyoruz veya dinamik sayfamızın içeriğini yine formlar aracılığı ile veri tabanına kayıt ediyoruz. Kısaca php içerisinde form hem veri almak için hem de veri girmek için kullanılmaktadır.

Herhangi bir web sayfanı incelediğinizde iletişim sayfasında görmüş olduğunuz iletişim formu kullanıcıdan veri almak için kullanılan forma örnek verilebilir.

Html ile form oluştururken dikkat edilmesi gereken bazı parametreler vardır. Bu parametreler method ve action parametreleridir. Method parametresi GET veya POST değerlerini almaktadır. Action parametresi ise formun çalıştırılacağı sayfayı belirlemek için kullanılır ve boş bırakılabilir. Boş bırakıldığı taktirde mevcut sayfada çalışacaktır.

Html Form Elemanları

Html ile bir form oluşturmadan önce bu form içerisinde kullanabileceğimiz kullanıcıdan veri almayı sağlayan form elemanlarını aşağıdaki tablodan inceleyelim.

TipKullanım Şekli
text<input type = ‘text’ />
password<input type=’password’ />
radio<input type=’radio’ />
checkbox<input type=’checkbox’ />
submit<input type=’submit’ />
reset<input type=’reset’ />
file<input type=’file’ />
hidden<input type=’hidden’ />

Her form elemanının kendine has aldığı parametreler mevcuttur ancak tüm form elemanları name parametresini alır. Name parametreleri form elemanının verisine ulaşmak için kullanılır.

text Form Elemanı

text tipine sahip form elemanları kullanıcıdan string (metinsel) verileri almak için kullanılır. Girilecek verinin uzunluğu maxlength özelliği ile sınırlandırılabilir. maxlength özelliği belirlenen karakter sayısından fazla karakter girişini önler.

<input type="text" name="eleman-ismi" maxlenght="10" />

password Form Elemanı

password form elemanları kullanıcıdan gizli verileri almak için kullanılır. Genellikle üyelik formlarında ve oturum açma formlarında kullanılır. Bu form elemanına girilen veriler ekranda görünmez böylece güvenlik sağlanmış olur. Php ile üyelik sistemi olan bir uygulama yapıyorsanız mutlaka ihtiyacınız olacaktır.

<input type="password" name="sifre" />

radio Form Elemanı

radio tipine sahip form elemanları kullanıcının birden fazla seçenek arasından yalnızca bir tanesini seçmesini sağlamak için kullanılabilir. Örnek olarak üyelik formlarındaki cinsiyet seçme alanlarını verebiliriz.

<input type="radio" name="cinsiyet" checked="checked"/> Kadın
<input type="radio" name="cinsiyet"/> Erkek

radio form elemanında dikkat etmemiz gereken tüm radio tipindeki form elemanlarının name parametrelerinin değeri aynı olmalıdır. Name parametrelerinin değerleri aynı olmadığı takdirde aynı anda her iki elemanda seçilebilir olacaktır.

checkbox Form Elemanı

Checkbox form elemanı radio elemanının aksine birden fazla seçeneğin seçilmesi istenildiğinde kullanılabilir.

<input type="checkbox" name="kutu1">
<input type="checkbox" checked="checked" name="kutu2">

Not : checked parametresi hem radio hemde checkbox elemanlarında varsayılan olarak işaretlendiği anlamına gelir.

submit ve reset Form Elemanı

Bu form elemanının görüntüsü tıklanabilir bir buton şeklindedir.

submit form elemanı formun belirtilen method(get veya post) ile gönderilmesi için kullanılır.

reset form elemanı ise forma girilen verilerin temizlenmesi için kullanılır.

file Form Elemanı

file form elemanı formlar aracılığı ile sunucuya dosya yüklemek için kullanılır. Form aracılığı ile dosya yükleme işlemi yapabilmek için action ve method parametrelerinin yanı sıra enctype parametresini kullanmamız gerekmektedir.

<form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="dosya"/>
</form>

hidden Form Elemanı

hidden form elemanları kullanıcının göremeyeceği ancak veri saklayabilen bir form elemanıdır.

<input type="hidden" name="gizli_veri" />

Php ile Form Action Get Kullanımı

Php ile form uygulamamızda get methodu formdaki verilerin tarayıcının adres çubuğunda görüntülenebilir. Bu nedenle bazı sorunlarda beraberinde gelir.

  • Güvenlik sorunu, veriler adres çubuğunda göründüğü için verilere dışarıdan müdahaleyi açık hale getirir.
  • Get methodu ile gönderilebilecek veri sınırı 4000 byte’dır.
  • Tarayıcılar Unicode karakterleri yanlış yorumlayarak verilerin bozulmasına neden olabilir.
<form action="form-kontrol.php" method="GET">
    Kullanıcı Adı: <input type="text" name="k_adi"/><br/>
    Şifre: <input type="password" name="sifre"/><br/>
    <input type="submit" value="Giriş Yap"/>
</form>

Formda get parametresi ile gönderdiğimiz verileri php tarafında yine $_GET süper global değişkeni ile alırız.

<?php  
/* form-kontrol.php  */
$kullanici_adi = $_GET["k_adi"];
$sifre = $_GET["sifre"];

echo "Girdiğiniz kullanıcı adı = $kullanici_adi ve şifre = $sifre";
?>

Örneğin sonucundaki ekran görüntüsünde göründüğü üzere get methodu kullanılan form örneğinde veriler adres çubuğunda açıkça görünmektedir. Bu nedenle kullanıcıdan şifre ve banka hesap bilgileri gibi veriler alacaksanız get methodu yerine post methodunu kullanmayı tercih edin.

Php İle Form Kullanımı

Php ile Form Action Post Kullanımı

Post methodu get methoduna göre daha güvenlidir. Post methodu ile alınan veriler adres çubuğunda görüntülenmez.

<form action="form-kontrol.php" method="POST">
    Kullanıcı Adı: <input type="text" name="k_adi"/><br/>
    Şifre: <input type="password" name="sifre"/><br/>
    <input type="submit" value="Giriş Yap"/>
</form>

Formda post methodu ile gönderdiğimiz verileri php tarafında yine $_POST süper global değişkeni ile alırız.

<?php
$kullanici_adi = $_POST["k_adi"];
$sifre = $_POST["sifre"];
echo "Girdiğiniz kullanıcı adı = $kullanici_adi ve şifre = $sifre";
?>

Örnek ekran görüntümüzde adres çubuğunda verilerin görüntülenmediğini ve verilerin form-kontrol.php dosyamızda kullanabildiğimizi görebilirsiniz.

Php ile Form Kullanarak Üye Kayıt Örneği

Üyelik formumuzu oluşturmak için kayit.php adında bir php dosyası oluşturuyoruz ve üye kayıt formumuzu bu dosya içerisinde oluşturuyoruz.

/* kayit.php */
<!DOCTYPE html>
<html lang="tr">
<head>
    <title>Üye Kayıt Formu</title>
</head>
<body>
<form action="form-kontrol.php" method="POST">
    <table>
        <tr>
            <td>Adınız:</td>
            <td><input type="text" name="adi"/></td>
        </tr>
        <tr>
            <td>Eposta adresiniz:</td>
            <td><input type="text" name="eposta"/><br/></td>
        </tr>
        <tr>
            <td>Cinsiyet:</td>
            <td>
                <input type="radio" name="cinsiyet" value="kadın"/>Kadın
                <input type="radio" name="cinsiyet" value="erkek"/> Erkek
            </td>
        </tr>
        <tr>
            <td>Kullanıcı adı:</td>
            <td><input type="text" name="k_adi"/></td>
        </tr>
        <tr>
            <td>Şifre:</td>
            <td><input type="password" name="sifre"/></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="checkbox" name="sozlesme"> Üyelik sözleşmesini okudum,onaylıyorum.
            </td>
        </tr>
        <tr>
            <td><input type="reset" value="Formu Temizle"/></td>
            <td><input type="submit" value="Kayıt Ol"/></td>
        </tr>
    </table>
</form>
</body>
</html>

Kayıt formumuzu daha nizami durması için tablo kullanarak oluşturduktan sonra POST methodu ile gönderilen verileri almak için form-kontrol.php dosyamızı oluşturuyoruz ve kayit.php dosyasından gönderilen form verilerini $_POST süper global değişkeni ile alıyoruz.

Php İle Form Kullanımı

Not : Formun action parametresinin oluşturduğunuz form-kontrol.php dosyası ile aynı olduğuna emin olun.

<?php /* form-kontrol.php */
$adi = $_POST["adi"];
$eposta = $_POST["eposta"];
$cinsiyet = $_POST["cinsiyet"];
$kullanici_adi = $_POST["k_adi"];
$sifre = $_POST["sifre"];
$sozlesme = $_POST["sozlesme"] ? 1 : null;

if ($sozlesme == 1) {
    echo "Tebrikler başarıyla üye oldunuz. <br/>";
    echo "Adınız : $adi <br/>";
    echo "Epostanız : $eposta <br/>";
    echo "Kullanıcı Adınız : $kullanici_adi <br/>";
    echo "Şifreniz : $sifre";
} else {
    echo "Sözleşemeyi onaylamadan üye olamazsınız!";
}
?>

Formumuzdan post methodu ile gelen verileri aldık ve üyelik işlemini gerçekleştirdik. Tabi ki bu işlemlerin çok daha detayı var ancak kullanım mantığının anlaşılması için detaylara girmeden yüzeysel bir örnek verdim.

Formlar ile birlikte php’de en sık kullanacağınız kontrol aracı karar yapılarıdır. Karar yapıları kullanıcıdan alacağınız her türlüyü veriyi denetlemenizi sağlayacaktır. Güvenlik için kullanıcıdan alınan hiç bir veriyi kontrolden geçirmeden kullanmayın. Her kullanıcı iyi niyetli olmayacaktır.

Bir Cevap Yazın