GET, POST Yöntemlerini Kullanan PHP Kayıt Formu Örnekle
⚡ Akıllı Özet
PHP'de Form İşleme, HTML formlarından kullanıcı girdisini yakalar ve $_POST ve $_GET süper küresel değişkenleri aracılığıyla sunucuda işler. Bu kılavuz, bir kayıt formu oluşturur, POST ve GET yöntemlerini açıklar, karşılaştırır ve alanların, onay kutularının ve arama girdilerinin nasıl işleneceğini gösterir.

Biçim Nedir?
Bir web sitesine veya e-posta kutunuza giriş yaptığınızda, bir formla etkileşim kuruyorsunuz.
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ş kutuları, onay kutuları, radyo düğmeleri ve daha fazlası gibi grafiksel kullanıcı arayüzü öğeleri içeren bir HTML etiketidir.
Form, aşağıdaki yöntem kullanılarak tanımlanır. … Etiketler ve GUI öğeleri, input gibi form öğeleri kullanılarak tanımlanır.
Formları ne zaman ve neden kullanıyoruz?
- Formlar, geliştirme aşamasında oldukça kullanışlıdır.ping Kullanıcı girdilerini kabul eden esnek ve dinamik uygulamalar.
- 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
- Sunuş URL gönderilen verileri işleyecek
- Giriş alanları; örneğin, giriş kutuları, metin alanları, düğmeler, onay kutuları ve benzerleri.
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” ifadesi hedefi belirtir. URL ve gönderim türü.
- 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 özniteliği gönderimi belirtir. URL Verileri işleyen yöntem. `method` özniteliği, gönderim türünü 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 küresel 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önderim değerlerini görüntülemek istemediğiniz durumlarda idealdir. URL.
- POST yönteminin kullanımına iyi bir örnek, sunucuya giriş bilgilerini göndermektir.
Söz dizimi şu şekildedir.
<?php
$_POST['variable_name'];
?>
İŞTE,
- “$_POST[…]” PHP dizisi
- “'variable_name'”, form alanının adıdır.
PHP GET yöntemi
- Bu, HTTP GET yöntemiyle gönderilen değerleri almak için kullanılan, PHP'nin yerleşik süper küresel 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 değerlerini şu şekilde görüntüler: URL.
- Kullanıcıların sonuçları yer imlerine eklemesine 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ı'” şudur: URL değişken ismi.
GET ve POST Yöntemleri
| POST | GET |
|---|---|
| Görünmeyen değerler URL | Görünür değerler URL |
| Değerlerin uzunluğu konusunda herhangi bir sınırlama yoktur, çünkü bunlar HTTP isteğinin gövdesi üzerinden gönderilir. | Değerlerin uzunluğu konusunda bir sınırlama vardır, genellikle 255 karakterdir. Bunun nedeni, değerlerin şu şekilde görüntülenmesidir: URLKarakter sayısının üst sınırı tarayıcıya bağlı olarak değişebilir. |
| POST değerlerinin HTTP gövdesine yerleştirilmesi için harcanan zaman nedeniyle GET yöntemine kıyasla daha düşük performansa sahiptir. | Değerlerin basitçe toplanması nedeniyle POST yöntemine kıyasla daha yüksek performansa sahiptir. URL. |
| Dize, sayısal, ikili ve daha birçok farklı veri türünü destekler. | Yalnızca metin veri türlerini destekler çünkü değerler metin içinde görüntülenir. URL |
| Sonuçlar yer imlerine eklenemez. | Sonuçlar, değerlerin görünürlüğü sayesinde yer imlerine eklenebilir. URL |
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.
Form gönderildiğinde, değerler $_POST süper küresel dizisine yerleştirilir.
$_POST dizisinde form değerlerinin doldurulup doldurulmadığını kontrol etmek ve verileri işlemek için PHP isset fonksiyonunu kullanacağız.
Kayıt formuna, verileri işleyen PHP kodunu ekleyeceğiz. Değiştirilmiş 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="/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[] dizisindeki gizli form_submitted alanının doldurulup doldurulmadığını kontrol eder ve doldurulduktan sonra teşekkür mesajı ve adınızı görüntüler. Eğer $_POST[] dizisindeki form_submitted alanı doldurulmamışsa, form görüntülenir.
Daha fazla örnek
Basit arama motoru
PHP GET yöntemini form gönderim türü olarak 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="/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.
GET kelimesini büyük harflerle yazın, ardından gönder düğmesine tıklayın.
Aşağıdakiler gösterilecektir.
Aşağıdaki şemada URL Yukarıdaki sonuçlar için.
Not URL `search_term` ve `form_submitted` değerlerini görüntüledi. GET dışında herhangi bir şey yazmayı deneyin, ardından gönder düğmesine tıklayın ve aldığınız sonuçlara bakı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="/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 ve soyadları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.
Forma geri dön bağlantısına tıklayın, ardından onay kutusunu seçin.
Gönder düğmesine tıklayın.
Aşağıdaki sonuçları elde edeceksiniz.










