Penanganan Form
- Salah satu fungsi utama PHP adalah memungkinkan adanya interaksi antara aplikasi web dengan user.
- Media untuk melakukan interaksi ini salah satunya adalah form.
- Untuk memproses data yang dikirim oleh form ada beberapa variabel superglobal yang sering digunakan.
Variabel $_GET
- Variabel
$_GETmenyimpan array data yang dikirim oleh form dengan method GET melalui URL, atau biasa disebut sebagai Query string. - Data yang dikirim akan terlihat pada URL.
- Penggunaan method GET tidak cocok untuk mengirimkan data yang sensitif, semisal password dan sebagainya.
Contoh: form_get.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Get</title>
</head>
<body>
<form action="" method="get">
<input type="text" name="kata" id="kata">
<input type="submit" value="Cari">
</form>
<?php
if(isset($_GET['kata'])){
echo "Anda sedang mencari kata <b>{$_GET['kata']}</b>";
}
?>
</body>
</html>
Uji Coba
- Akses skrip di atas dari browser.
- Masukkan sebuah kata pada kotak pencarian, dan klik tombol Cari .
- Akan muncul keterangan di bawah form.
- Perhatikan juga URL pada address bar.
Variabel $_POST
- Variabel
$_POSTmenyimpan array data yang dikirim oleh form dengan method POST melalui HTTP POST. - Data yang dikirim tidak akan tampak pada URL, sehingga lebih aman daripada
$_GET.
Contoh: form_post.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form POST</title>
<style>
body{
font-family:arial;
text-align:center;
}
input{
margin:10px;
padding:10px;
filter:drop-shadow(5px 5px gray);
}
</style>
</head>
<body>
<form action="" method="post">
<h2>Login</h2>
<input type="text" name="username" placeholder="Username">
<br>
<input type="password" name="password" placeholder="Password">
<br>
<input type="reset" value="Batal">
<input type="submit" value="Login">
<br>
</form>
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
echo "Username : <b>$_POST[username]</b>";
echo "<br>";
echo "Password : <b>$_POST[password]</b>";
}
?>
</body>
</html>
Uji Coba
- Akses skrip di atas dari browser.
- Masukkan username dan password pada form dan klik tombol Login .
- Akan muncul keterangan di bawah form.
- Tombol Batal digunakan untuk menghapus input user.
Variabel $_FILES
- Variabel
$_FILEShanya menyimpan data yang dikirim dari input dengan tipe file. - Biasa digunakan untuk proses upload file.
- Agar file dapat terupload, pada tag
<form>harus ditambah atributenctype="multipart/form-data".
Contoh : form_files.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Upload</title>
<style>
body{
font-family:arial;
text-align:center;
}
</style>
</head>
<body>
<h2>Upload File</h2>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="foto" id="foto">
<input type="submit" value="Upload">
</form>
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
$namafile = $_FILES['foto']['name'];
$lokasifile = $_FILES['foto']['tmp_name'];
if($namafile != ""){
move_uploaded_file($lokasifile,"file/".$namafile);
echo "<br>";
echo "<img src='file/$namafile' width='50%'>";
}
}
?>
</body>
</html>
Uji Coba
- Sebelum dicoba, buat 1 folder sejajar dengan skrip di atas dengan nama
file. - Akses skrip di atas dari browser.
- Pilih 1 file dari komputer dengan klik tombol Chose file , lalu klik Upload .
- Setelah terupload, maka file akan disimpan di dalam folder
fileyang baru saja kita buat. - Browser akan refresh dan gambar langsung ditampilkan di browser.
- Respect 🫡