PHP Kod ile Formlarla Çalışmak

PHP Kod ile Formlarla Çalışmak

Web sayfalarında olmazsa olmaz olan bileşenlerden biri de formlardır ve formlardan alınan veriler PHP’ye gönderilirken ya e-mail olarak gönderilir ya da bu veriler MySQL gibi bir veri tabanına kaydedilir.Şimdi biz de HTML5 sayfalarında yer alan verileri PHP dosyalarına nasıl göndereceğimizi,PHP’de de bu verileri nasıl alıp işleyeceğimizi öğreneceğiz.

PHP’ye GET ve POST ile Veri Göndermek

HTML5 sayfalarında PHP’ye veya diğer bir sunucu tarafı programlama dillerinden herhangi birine veri gönderilirken iki farklı metot uygulanır.Bunları şimdi bir inceleyelim…

GET ve POST Nedir?

GET ile veri gönderilirken,adres çubuğunda gönderilir.Gönderilen değişkenler ve veriler adres çubuğunda görüntülendiği için güvenilir değildir.Ancak bu veriler MD5 şifreleme ile güvenli bir şekildede gönderilebilir.GET ile veri gönderilirken,512 KB kadar veri gönderilir.Bu nedenle basit işlemler için kullanılır.En yaygın kullanım örneği SEF URL kodlamalarında görülür.

Post ise,doğrudan PHP sayfasına veri gönderir.Yani veriler adres çubuğunda görülmez.Daha güvenli bir yöntemdir.

GET ile PHP’ye Veri Göndermek ve PHP’de Verileri Okumak

Bir örnekle konuyu işleyelim…


<?php

$_isim=$_GET[‘isim’];

$_soyisim=$_GET[‘soyisim’];

echo “Hoşgeldin$_isim$_soyisim”;

?>


Yukarıda yer alan PHP kodlarına göre,bu sayfaya GET metodu ile URL satırında iki adet değişken değeri gönderebiliyor.Bu tanımlamaya göre adres şuna benzer olmalı:


http://localhost/php_get_kendine.php?isim=UĞUR&soyisim=GELİŞKEN  


Bu satıra göre isim ve soyisim değerleri değişkendir.PHP’de bu isimlerle erişim sağlanacak.Verilerde UĞUR ve GELİŞKEN String’leridir.

GET ile değer gönderirken ? operatörünü kullandığına dikkat edin.Soru işaretinden sonra bu sayfaya GET ile veri gönderileceği belirtilir.Sonrasında ilk olarak değişken sonra =atama operatörü sonra da değer gelir.Eğer birden fazla değişken ile çalışacaksa her birinin arasında & ve işareti eklenir.

POST ile PHP’ye Veri Göndermek ve PHP’de Verileri Okumak

Şimdi yapacağımız örneğimizde şöyle bir metot uygulayacağız.Sayfamızda basit bir form olacak,isim vesoyisim değerlerini alacağız.Formdaki gönder butonuna tıkladımızda ,yine kendi sayfasına değerleri gönderecek.Gelen veriler post ile alınıp bir mesajda yazdırılacak.Ek olarak,form ile işimiz kalmadığı için,PHP’de bir CSS stili yazdırıp formu oluşturan kutuya gizleyeceğiz.

php_post_kendine.php


<!DOCTEYP html>

<html>

<header>

<?php 

if(isset($_POST[‘gonder’])){ 

$_isim=$_POST [‘isim’ ];   

        $_soyisim=$_POST [‘soyisim’];   

        echo ” Hoşgeldin $_isim $_soyisim”;  

        echo ” <style type=’text\css’> 

        #form_kutusu{  

                          display:none;     

    }  

     <\style>”;   

}    

?>

</header>

<body>

<div id=”form_kutusu “>

<form action=’‘php_post_kendine.php” method=”POST”>

<P>İsim <\p><input type=”text”name ”isim /><br/>

<P>SOYisim</p><input type=”text” name=”soyisim”/>

p><input type=”sumit” name=” gonder”value=”gönder”/></p><

</form>

</div>

</body>

</html>


Bu bölümde anlatılan örneğe ait kaynak kodları,/kaynak kodlar/php/

php_post_kendine.php dosyası ile bulabilirsiniz.

yazmış olduğumuz bu kodu şimdi farklı sayfaya veri gönderecek şekilde hazırlayalım. Bunun  için bir HTML5 sayfası ve bir de PHP sayfası hazırlayacağız.Yapacağımız iş, sadece kodları birbirinden ayırmak ve POST edilecek sayfanın ismini değiştirmek olacak.


<!DOCTYP html>

<html>

<heade>

<meta charset =”UTF-8>

</head>

<body>

<div id=” form_kutusu ” />

<form action=” form_oku.php”method=”POST”>

<P>İsim <\p><input type=”text”name= ”/><br/>

<P>SOYisim</p><input type=”text” name=”soyisim”/>

>p<input type=”sumit” name=” gonder”value=”gönder”/></p>

<form>

</div>

</body>

</html>



<!DOCTYPE html>

<html>

</header>

<body >

    <?php 

$_isim=$_POST[‘isim’];

$_soyisim=$_POST[‘soyisim];

echo ”Hoşgeldin$_isim$_soyisim”;

?>

</body>

</html>


Bu bölümde anlatılan örneğe ait kaynaklı kodları,DVD/Kaynak Kodlar/PHP/form/dizinin içinde bulabilirsiniz

 

Share this post

Bir Cevap Yazın

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