Formulir Pendaftaran PHP menggunakan Metode GET, POST beserta Contohnya
⚡ Ringkasan Cerdas
Penanganan Formulir di PHP menangkap input pengguna dari formulir HTML dan memprosesnya di server melalui superglobal $_POST dan $_GET. Panduan ini membangun formulir pendaftaran, menjelaskan metode POST dan GET, membandingkannya, dan menunjukkan cara memproses kolom, kotak centang, dan input pencarian.

Apa itu Formulir?
Saat Anda masuk ke situs web atau kotak surat Anda, Anda berinteraksi dengan sebuah formulir.
Formulir digunakan untuk mendapatkan masukan dari pengguna dan mengirimkannya ke server web untuk diproses.
Diagram di bawah mengilustrasikan proses penanganan formulir.
Formulir adalah tag HTML yang berisi elemen antarmuka pengguna grafis seperti kotak input, kotak centang, tombol radio, dan lainnya.
Bentuk tersebut didefinisikan menggunakan … Tag dan item GUI didefinisikan menggunakan elemen formulir seperti input.
Kapan dan mengapa kita menggunakan formulir?
- Formulir sangat berguna saat mengembangkanping Aplikasi yang fleksibel dan dinamis yang menerima input dari pengguna.
- Formulir dapat digunakan untuk mengedit data yang sudah ada di dalam basis data.
Buat formulir
Kami akan menggunakan tag HTML untuk membuat formulir. Di bawah ini adalah daftar minimal hal-hal yang Anda perlukan untuk membuat formulir.
- Tag formulir pembuka dan penutup …
- Jenis pengiriman formulir POST atau GET
- Sampel URL yang akan memproses data yang dikirimkan
- Kolom input seperti kotak input, area teks, tombol, kotak centang, dan sejenisnya.
Kode di bawah ini membuat formulir pendaftaran sederhana.
<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>
Melihat kode di atas dalam peramban web akan menampilkan formulir berikut.
SINI,
- … adalah tag formulir pembuka dan penutup
- action=”registration_form.php” method=”POST” menentukan tujuan URL dan jenis pengajuan.
- Nama Depan/Belakang: adalah label untuk kotak input
- adalah tag kotak input
- adalah tag baris baru
- adalah nilai tersembunyi yang digunakan untuk memeriksa apakah formulir telah dikirimkan atau belum
- adalah tombol yang, ketika diklik, mengirimkan formulir ke server untuk diproses.
Mengirimkan data formulir ke server
Atribut action pada formulir menentukan pengiriman URL yang memproses data. Atribut metode menentukan jenis pengiriman.
Metode PHP POST
- Ini adalah variabel array superglobal bawaan PHP yang digunakan untuk mendapatkan nilai yang dikirimkan melalui metode HTTP POST.
- Variabel array dapat diakses dari skrip apa pun dalam program; ini memiliki cakupan global.
- Metode ini ideal jika Anda tidak ingin menampilkan nilai-nilai form post di URL.
- Contoh yang baik dari penggunaan metode POST adalah saat mengirimkan detail login ke server.
Ia memiliki sintaksis sebagai berikut.
<?php
$_POST['variable_name'];
?>
SINI,
- “$_POST[…]” adalah susunan PHP
- “'variable_name'” adalah nama kolom formulir.
Metode PHP GET
- Ini adalah variabel array superglobal bawaan PHP yang digunakan untuk mendapatkan nilai yang dikirimkan melalui metode HTTP GET.
- Variabel array dapat diakses dari skrip apa pun dalam program; ini memiliki cakupan global.
- Metode ini menampilkan nilai-nilai formulir di dalam URL.
- Ini sangat ideal untuk formulir mesin pencari karena memungkinkan pengguna untuk menandai hasil pencarian.
Ia memiliki sintaksis sebagai berikut.
<?php
$_GET['variable_name'];
?>
SINI,
- “$_GET[…]” adalah larik PHP
- “'variable_name'” adalah URL nama variabel.
Metode DAPATKAN vs POST
| POST | DAPATKAN |
|---|---|
| Nilai tidak terlihat di URL | Nilai yang terlihat di URL |
| Tidak ada batasan panjang nilai karena nilai tersebut dikirim melalui isi permintaan HTTP. | Terdapat batasan panjang nilai, biasanya 255 karakter. Hal ini karena nilai-nilai tersebut ditampilkan di URLPerhatikan bahwa batas atas jumlah karakter bergantung pada peramban yang digunakan. |
| Memiliki kinerja yang lebih rendah dibandingkan dengan metode GET karena waktu yang dihabiskan untuk membungkus nilai POST dalam badan HTTP. | Memiliki kinerja yang lebih tinggi dibandingkan dengan metode POST karena sifatnya yang sederhana, yaitu menambahkan nilai-nilai di dalamnya. URL. |
| Mendukung berbagai tipe data seperti string, numerik, biner, dan banyak lagi. | Hanya mendukung tipe data string karena nilainya ditampilkan dalam URL |
| Hasil tidak dapat ditandai (bookmark) | Hasil dapat ditandai karena nilai-nilai tersebut terlihat jelas. URL |
Diagram di bawah ini menunjukkan perbedaan antara GET dan POST.
Mengolah data formulir pendaftaran
Formulir pendaftaran mengirimkan data ke dirinya sendiri sebagaimana ditentukan dalam atribut tindakan formulir.
Saat formulir telah dikirimkan, nilai-nilai tersebut akan diisi ke dalam array superglobal $_POST.
Kami akan menggunakan fungsi isset PHP untuk memeriksa apakah nilai formulir telah diisi dalam array $_POST dan memproses datanya.
Kami akan memodifikasi formulir pendaftaran untuk menyertakan kode PHP yang memproses data. Berikut adalah kode yang telah dimodifikasi.
<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>
SINI,
- Memeriksa apakah field tersembunyi form_submitted telah diisi dalam array $_POST[] dan menampilkan pesan terima kasih dan nama depan. Jika field form_submitted belum diisi dalam array $_POST[], formulir akan ditampilkan.
Lebih contoh
Mesin pencari sederhana
Kita akan merancang mesin pencari sederhana yang menggunakan metode PHP GET sebagai tipe pengiriman formulir.
Untuk mempermudah, kita akan menggunakan a Pernyataan if PHP untuk menentukan keluarannya.
Kami akan menggunakan kode HTML yang sama untuk formulir pendaftaran di atas dan melakukan sedikit modifikasi.
<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>
Lihat halaman di atas di peramban web.
Formulir berikut akan ditampilkan.
Ketik GET dengan huruf kapital, lalu klik tombol kirim.
Berikut ini akan ditampilkan.
Diagram di bawah ini menunjukkan URL untuk hasil di atas.
Perhatikan URL telah menampilkan nilai search_term dan form_submitted. Cobalah memasukkan sesuatu selain GET, lalu klik tombol kirim dan lihat hasil apa yang Anda dapatkan.
Bekerja dengan kotak centang, tombol radio
Jika pengguna tidak memilih kotak centang atau tombol radio, tidak ada nilai yang dikirimkan. Jika pengguna memilih kotak centang atau tombol radio, nilai satu (1) atau benar akan dikirimkan.
Kami akan mengubah kode formulir pendaftaran dan menyertakan tombol centang yang memungkinkan pengguna menyetujui persyaratan layanan.
<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>
Lihat formulir di atas di browser.
Isilah nama depan dan nama belakang.
Perhatikan kotak centang Setuju dengan Persyaratan Layanan belum dipilih.
Klik pada tombol kirim.
Anda akan mendapatkan hasil berikut.
Klik tautan "kembali ke formulir", lalu pilih kotak centang.
Klik pada tombol kirim.
Anda akan mendapatkan hasil berikut.










