Pemrosesan Form PHP

Variabel global super PHP $_GET dan $_POST digunakan untuk mengumpulkan data form (form-data).

PHP - Form HTML Sederhana

Contoh di bawah menunjukkan form HTML sederhana yang berisi dua field input dan tombol submit:

Contoh

<html>
<body>
<form action="welcome.php" method="post">
Nama: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

Jalankan contoh

Ketika pengguna mengisi formulir ini dan mengklik tombol submit, data formulir akan dikirim ke file PHP dengan nama "welcome.php" untuk diproses. Data formulir dikirim melalui metode HTTP POST.

Untuk menampilkan data yang disubmit, Anda dapat dengan mudah mengecho (echo) semua variabel. File "welcome.php" adalah seperti ini:

<html>
<body>
Selamat datang <?php echo $_POST["name"]; ?><br>
Alamat email Anda adalah: <?php echo $_POST["email"]; ?>
</body>
</html>

Output:

Selamat datang Bill
Alamat email Anda adalah Bill.Gates@example.com

Anda dapat mendapatkan hasil yang sama dengan menggunakan metode HTTP GET:

Contoh

<html>
<body>
<form action="welcome_get.php" method="get">
Nama: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

Jalankan contoh

"welcome_get.php" adalah seperti ini:

<html>
<body>
Selamat datang <?php echo $_GET["name"]; ?><br>
Alamat email Anda adalah: <?php echo $_GET["email"]; ?>
</body>
</html>

Kode di atas sangat sederhana. Namun, konten yang paling penting diabaikan. Anda harus memvalidasi data formulir untuk mencegah kelebihan keamanan skrip.

Peringatan:Perhatikan keamanan saat mengelola formulir PHP!

Halaman ini tidak termasuk program validasi formulir, ia hanya menunjukkan bagaimana mengirim dan menerima data formulir.

Tetapi bab selanjutnya akan menggambarkan bagaimana cara untuk meningkatkan keamanan formulir PHP! Mempergunakan validasi keamanan yang sesuai untuk mencegah serangan hacker dan spam email sangat penting!

GET vs. POST

GET dan POST semua membuat array (contoh, array( key => value, key2 => value2, key3 => value3, ...)). Array ini mengandung pasangan kunci/nilai, di mana kunci adalah nama elemen formulir dan nilai adalah data input dari pengguna.

GET dan POST dianggap $_GET dan $_POST. Mereka adalah variabel global, yang berarti akses ke mereka tidak perlu memikirkan lingkungan - tanpa kode khusus, Anda dapat mengaksesnya dari setiap fungsi, kelas, atau berkas.

$_GET adalah array variabel yang dikirim melalui parameter URL ke skrip saat ini.

$_POST adalah array variabel yang dikirim melalui HTTP POST ke skrip saat ini.

Kapan menggunakan GET?

Informasi yang dikirim melalui metode GETDapat dilihat oleh siapa pun(Semua nama variabel dan nilai akan ditampilkan di URL)。GET membatasi jumlah informasi yang dikirim. Batas sekitar 2000 karakter. Namun, karena variabel ditampilkan di URL, halaman yang ditambahkan ke bookmark juga lebih mudah.

GET dapat digunakan untuk mengirimkan data yang tidak sensitif.

Komentar:Tidak boleh menggunakan GET untuk mengirimkan sandi atau informasi sensitif lainnya!

Kapan menggunakan POST?

Informasi yang dikirim melalui metode POSTTidak dapat dilihat oleh orang lain(Semua nama/nilai akan disisipkan ke dalam badan permintaan HTTP),dan untuk jumlah informasi yang dikirim jugaTidak terbatas.

Selain itu POST mendukung fungsi tingkat tinggi, seperti input multi-part biner saat mengunggah berkas ke server.

Namun, karena variabel tidak ditampilkan di URL, halaman tidak dapat ditambahkan ke bookmark.

Petunjuk:Para pengembang menyukai POST untuk mengirimkan data form.

Berikut ini kita lihat bagaimana cara mengelola form PHP dengan aman!