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.
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.
İŞ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
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
Büyük harfle GET yazıp gönder butonuna tıklayın.
Aşağıdakiler gösterilecektir
Aşağıdaki şemada yukarıdaki sonuçların URL'si gösterilmektedir
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
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
Form bağlantısına geri dön'e tıklayın ve ardından onay kutusunu seçin
Gönder düğmesine tıklayın
Aşağıdaki sonuçları elde edeceksiniz
Ö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.