GET, POST Yöntemlerini Kullanan PHP Kayıt Formu Örnekle

Biçim Nedir?

Bir web sitesine veya e-posta kutunuza giriş yaptığınızda bir formla etkileşime geçersiniz.

Formlar kullanıcıdan girdi almak ve bunu işlenmek üzere web sunucusuna göndermek için kullanılır.

Aşağıdaki şemada form işleme süreci gösterilmektedir.

PHP Formu

Form, giriş kutusu, onay kutuları, radyo düğmeleri vb. gibi grafiksel kullanıcı arayüzü öğelerini içeren bir HTML etiketidir.

Form kullanılarak tanımlanır. … Etiketler ve GUI öğeleri, giriş gibi form öğeleri kullanılarak tanımlanır.

Formları ne zaman ve neden kullanıyoruz?

  • Formlar, kullanıcı girdisini kabul eden esnek ve dinamik uygulamalar geliştirirken kullanışlıdır.
  • Formlar veritabanındaki mevcut verileri düzenlemek için kullanılabilir

Bir form oluştur

Form oluşturmak için HTML etiketlerini kullanacağız. Aşağıda bir form oluşturmak için ihtiyacınız olan minimum şeylerin listesi bulunmaktadır.

  • Form etiketlerini açma ve kapatma …
  • Form gönderme türü POST veya GET
  • Gönderilen verileri işleyecek gönderim URL'si
  • Giriş kutuları, metin alanları, butonlar, onay kutuları vb. gibi giriş alanları.

Aşağıdaki kod basit bir kayıt formu oluşturur

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

    <h2>Registration Form</h2>

    <form action="registration_form.php" method="POST"> First name:

        <input type="text" name="firstname"> <br> Last name:

        <input type="text" name="lastname"> 

        <input type="hidden" name="form_submitted" value="1" />

        <input type="submit" value="Submit">

    </form>
</body>
</html>

Yukarıdaki kodu bir web tarayıcısında görüntülediğinizde aşağıdaki form görüntülenir.

Bir form oluştur

İŞTE,

  • … açılış ve kapanış form etiketleridir
  • action=”registration_form.php” method=”POST”> hedef URL'yi ve gönderim türünü belirtir.
  • Ad/Soyad: giriş kutuları için etiketlerdir
  • giriş kutusu etiketleridir
  • yeni satır etiketi
  • formun gönderilip gönderilmediğini kontrol etmek için kullanılan gizli bir değerdir
  • tıklandığında formu işlenmek üzere sunucuya gönderen düğmedir

Form verilerinin sunucuya gönderilmesi

Formun action özelliği, verileri işleyen gönderim URL'sini belirtir. Method özelliği gönderim tipini belirtir.

PHP POST yöntemi

  • Bu, HTTP POST yöntemiyle gönderilen değerleri almak için kullanılan, PHP'nin yerleşik süper genel dizi değişkenidir.
  • Dizi değişkenine programdaki herhangi bir komut dosyasından erişilebilir; küresel bir kapsama sahiptir.
  • Bu yöntem, form gönderi değerlerinin URL'de görüntülenmesini istemediğinizde idealdir.
  • Post metodunun kullanımına iyi bir örnek, sunucuya giriş bilgilerinin gönderilmesidir.

Söz dizimi şu şekildedir.

<?php
 $_POST['variable_name'];
?>

İŞTE,

  • “$_POST[…]” PHP dizisi
  • “'değişken_adı'” URL değişkeninin adıdır.

PHP GET yöntemi

  • Bu, HTTP GET yöntemi aracılığıyla gönderilen değerleri almak için kullanılan PHP'nin yerleşik süper genel dizi değişkenidir.
  • Dizi değişkenine programdaki herhangi bir komut dosyasından erişilebilir; küresel bir kapsama sahiptir.
  • Bu yöntem URL'deki form değerlerini görüntüler.
  • Kullanıcıların sonuçlara yer işareti koymasına olanak tanıdığı için arama motoru formları için idealdir.

Söz dizimi şu şekildedir.

<?php
$_GET['variable_name'];
?>

İŞTE,

  • “$_GET[…]” PHP dizisidir
  • “'değişken_adı'” URL değişkeninin adıdır.

GET ve POST Yöntemleri

POST GET
URL'de görünmeyen değerler URL'de görünen değerler
Değerler HTTP gövdesi aracılığıyla gönderildikleri için uzunluk sınırlaması yoktur. Değerlerin uzunluğu sınırlaması genellikle 255 karakterdir. Bunun nedeni, değerlerin URL'de görüntülenmesidir. Karakterlerin üst sınırının tarayıcıya bağlı olduğunu unutmayın.
Php_POST değerlerinin HTTP gövdesinde kapsüllenmesi için harcanan zaman nedeniyle Php_GET yöntemiyle karşılaştırıldığında daha düşük performansa sahiptir Değerleri URL'ye eklemenin basit yapısı nedeniyle POST yöntemiyle karşılaştırıldığında yüksek performansa sahiptir.
String, sayısal, ikili vb. gibi birçok farklı veri türünü destekler. Değerler URL'de görüntülendiğinden yalnızca dize veri türlerini destekler
Sonuçlara kitap işareti eklenemez URL'deki değerlerin görünürlüğü nedeniyle sonuçlar kitap olarak işaretlenebilir

Aşağıdaki diyagram get ve post arasındaki farkı göstermektedir

GET ve POST Yöntemleri

GET ve POST Yöntemleri

Kayıt formu verilerinin işlenmesi

Kayıt formu, formun action özelliğinde belirtildiği şekilde verileri kendisine gönderir.

Bir form gönderildiğinde değerler $_POST süper global dizisine doldurulur.

$_POST dizisinde form değerlerinin doldurulup doldurulmadığını kontrol etmek ve verileri işlemek için PHP isset fonksiyonunu kullanacağız.

Kayıt formunu, verileri işleyen PHP kodunu içerecek şekilde değiştireceğiz. Değiştirilen kod aşağıdadır

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<body>

    <?php if (isset($_POST['form_submitted'])): ?> //this code is executed when the form is submitted

        <h2>Thank You <?php echo $_POST['firstname']; ?> </h2>

        <p>You have been registered as
            <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?>
        </p>

        <p>Go <a href="/tr/registration_form.php">back</a> to the form</p>

        <?php else: ?>

            <h2>Registration Form</h2>

            <form action="registration_form.php" method="POST">

                 First name:
                <input type="text" name="firstname">
                
                <br> Last name:
                <input type="text" name="lastname">
                
			<input type="hidden" name="form_submitted" value="1" />

                <input type="submit" value="Submit">

            </form>

      <?php endif; ? > 
</body> 
</html>

İŞTE,

  • $_POST[] dizisinde form_subtained gizli alanının doldurulup doldurulmadığını kontrol eder ve bir teşekkür ve ad mesajı görüntüler.

    $_POST[] dizisinde form_fobtained alanı doldurulmamışsa form görüntülenir.

Daha fazla örnek

Basit arama motoru

Form gönderme türü olarak PHP_GET yöntemini kullanan basit bir arama motoru tasarlayacağız.

Basitlik açısından, bir kullanacağız PHP If ifadesi çıktıyı belirlemek için.

Yukarıdaki kayıt formu için aynı HTML kodunu kullanacağız ve üzerinde minimum düzeyde değişiklik yapacağız.

<html>
<head>
	<title>Simple Search Engine</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

    <?php if (isset($_GET['form_submitted'])): ?>

        <h2>Search Results For <?php echo $_GET['search_term']; ?> </h2>
        <?php if ($_GET['search_term'] == "GET"): ?>

            <p>The GET method displays its values in the URL</p>

            <?php else: ?>
            	 <p>Sorry, no matches found for your search term</p>

            <?php endif; ?>

                <p>Go <a href="/tr/search_engine.php">back</a> to the form</p>

                <?php else: ?>

                   <h2>Simple Search Engine - Type in GET </h2>

                   <form action="search_engine.php" method="GET">

                        Search Term:
                        <input type="text" name="search_term">
                        <br>
                            
			<input type="hidden" name="form_submitted" value="1" />

                       <input type="submit" value="Submit">
                       
                  </form>
               <?php endif; ?>
</body>
</html>

Yukarıdaki sayfayı bir web tarayıcısında görüntüleyin

Aşağıdaki form gösterilecektir

Basit Arama Motoru

Büyük harfle GET yazıp gönder butonuna tıklayın.

Aşağıdakiler gösterilecektir

Basit Arama Motoru

Aşağıdaki şemada yukarıdaki sonuçların URL'si gösterilmektedir

Basit Arama Motoru

URL'nin, search_term ve form_subtained değerlerini görüntülediğini unutmayın. GET'ten farklı bir şey girmeye çalışın, ardından gönder düğmesine tıklayın ve hangi sonuçları alacağınızı görün.

Onay kutuları ve radyo düğmeleriyle çalışma

Kullanıcı bir onay kutusu veya radyo düğmesi seçmezse hiçbir değer gönderilmez; kullanıcı bir onay kutusu veya radyo düğmesi seçerse bir (1) veya doğru değeri gönderilir.

Kayıt formu kodunu değiştireceğiz ve kullanıcının hizmet şartlarını kabul etmesine olanak tanıyan bir onay düğmesi ekleyeceğiz.

<html>
<head>
	<title>Registration Form</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
    <?php if (isset($_POST['form_submitted'])): ?>
        <?php if (!isset($_POST['agree'])): ?>
            <p>You have not accepted our terms of service</p>
            <?php else: ?>
                <h2>Thank You <?php echo $_POST['firstname']; ?></h2>
                <p>You have been registered as
                    <?php echo $_POST['firstname'] . ' ' . $_POST['lastname']; ?>
                </p>
                <p> Go <a href="/tr/registration_form2.php">back</a> to the form</p>
            <?php endif; ?>
            <?php else: ?>
                        <h2>Registration Form</h2>
                        <form action="registration_form2.php" method="POST">
                            First name:
                            <input type="text" name="firstname">                           
                            <br> Last name:
                            <input type="text" name="lastname">                            
                            <br> Agree to Terms of Service:
                            <input type="checkbox" name="agree">
                            <br>
                            <input type="hidden" name="form_submitted" value="1" />
                            <input type="submit" value="Submit">
                        </form>
	<?php endif; ?>
</body>
</html>

Yukarıdaki formu bir tarayıcıda görüntüleyin

Onay kutuları, Radyo düğmeleriyle çalışma

Adını ve soyadını girin

Hizmet Şartlarını Kabul Et onay kutusunun seçili olmadığına dikkat edin.

Gönder düğmesine tıklayın

Aşağıdaki sonuçları elde edeceksiniz

Onay kutuları, Radyo düğmeleriyle çalışma

Form bağlantısına geri dön'e tıklayın ve ardından onay kutusunu seçin

Onay kutuları, Radyo düğmeleriyle çalışma

Gönder düğmesine tıklayın

Aşağıdaki sonuçları elde edeceksiniz

Onay kutuları, Radyo düğmeleriyle çalışma

ÖZET

  • Formlar kullanıcılardan veri almak için kullanılır
  • Formlar HTML etiketleri kullanılarak oluşturulur
  • Formlar, POST veya GET yöntemi kullanılarak işlenmek üzere sunucuya gönderilebilir.
  • POST yöntemiyle gönderilen form değerleri HTTP gövdesinde kapsüllenir.
  • GET yöntemiyle gönderilen form değerleri URL'ye eklenir ve görüntülenir.