Modul 7
Modul 7
1. <!DOCTYPE html>
2. <html lang="id">
3. <head>
4. <meta charset="UTF-8">
5. <title>Belajar PHP</title>
6. </head>
7. <body>
8. <h1>Pemrosesan Form</h1>
9. <form action="prosesform.php" method="post">
10. <p>Username: <input type="text"
name="username"></p>
11. <p>Password: <input type="password"
name="password"></p>
12. <input type="submit" value="Proses">
13. </form>
14. </body>
15. </html>
Kode di atas murni HTML dan tidak ada kode PHP sama sekali. Namun
yang perlu diperhatikan adalah baris ke-9 pada atribut action dan method:
1. <pre>
2. <?php
3. print_r($_GET);
4. ?>
5. </pre>
1. <h1>Halaman Proses</h1>
2. <?php
3. echo "Username: ".$_POST['username']."<br>";
4. echo "Password: ".$_POST['Password']."<br>";
5. ?>
Jika form diisi username dan password, lalu mengklik tombol proses
akan tampil seperti berikut ini:
Untuk menampilkan data dari isian form tersebut, kita akan membuat
file prosesform2.php seperti pada kode berikut:
D. Validasi Form
Validasi form adalah proses untuk memastikan apakah isian form sudah
sesuai dengan keinginan atau belum. Sebagai contoh, apakah isian alamat
email memang berupa email atau tidak, apakah isian jumlah barang diisi
dengan angka atau malah dengan huruf. Secara umum, terdapat beberapa
kriteria yang ingin kita pastikan pada sebuah form:
1. Wajib diisi: apakah sebuah isian form wajib diisi atau tidak.
2. Panjang karakter: apakah panjang isian form harus dibatasi, misalnya
maksimal 5 karakter, atau minimal 5 karakter.
3. Tipe data: isian form bisa ditentukan apakah berupa angka bulat
(integer), angka desimal (float) atau harus berupa sebuah kalimat
(string).
4. Dalam sebuah kelompok data: isian form hanya bisa diisi dengan
karakter tertentu saja, misalnya "L" untuk laki-laki dan "P" untuk
perempuan. Selain karakter ini, dianggap tidak valid.
5. Pola khusus: isian form harus memenuhi syarat pola / format khusus,
misalnya untuk alamat email, harus memiliki karakter "@" dan memiliki
alamat domain.
Selain kelima validasi di atas, masih banyak syarat validasi lain
tergantung kebutuhan. Validasi form sangat amat penting untuk menghindari
data yang salah. Mengisi data yang tidak seharusnya juga akan menyebabkan
error.
Sekarang kita akan mencoba membuat validasi pada form tambah data
mahasiswa pada latihan sebelumnya yaitu form2.php dan
prosesform2.php. Yang pertama kita lakukan adalah memeriksa pengiriman
data dari form, hal ini penting dilakukan untuk mengetahui apakah semua
inputan terkirim atau tidak. Hal ini bisa kita lakukan dengan
1. <?php
2. // cek apakah form telah di submit
3. if (isset($_POST["simpan"])) {
4. //tombol telah diklik, cek seluruh data
5. echo "<pre>";
6. print_r($_POST);
7. echo "<pre>";
8. die();
9. }
Silahkan buka dan isi data pada form2.php lalu klik tombol SIMPAN,
Jika pengiriman data semuanya berhasil, hasilnya seperti gambar berikut:
9. <tr><td>Program Studi</td>
10. <td>: $_POST[prodi]</td></tr>
11. <tr><td>Jenis Kelamin (L/P></td>
12. <td>: $_POST[JK]</td></tr>
13. <tr><td>Alamat Lengkap</td>
14. <td>: $_POST[alamat]</td></tr>";
15. ?>
16. </table>
Apabila form diisi lalu mengklik tombol SIMPAN hasilnya seperti gambar
berikut:
1. <?php
2. //Form telah disubmit, cek seluruh data
3. echo "<h1 align='center'>Data Mahasiswa UTM</h1>
4. <table border='0' align='center' width='90%'>
5. <tr><td>Nomor Induk Mahasiswa</td>
6. <td>: $nim</td></tr>
7. <tr><td>Nama Mahasiswa</td>
8. <td>: $nama</td></tr>
9. <tr><td>Program Studi</td>
10. <td>: $prodi</td></tr>
11. <tr><td>Jenis Kelamin (L/P></td>
12. <td>: $JK</td></tr>
13. <tr><td>Alamat Lengkap</td>
14. <td>: $alamat</td></tr>
15. </table>";
16. ?>
1. <?php
2. // cek apakah form telah di submit
3. if (isset($_POST["simpan"])) {
4. //ambil nilai dari form
5. $nim = htmlentities(strip_tags(trim($_POST["nim"])));
6. $nama =
htmlentities(strip_tags(trim($_POST["nama"])));
7. $prodi =
htmlentities(strip_tags(trim($_POST["prodi"])));
8. $JK = htmlentities(strip_tags(trim($_POST["JK"])));
9. $alamat =
htmlentities(strip_tags(trim($_POST["alamat"])));
10. //siapkan variabel pesar error
11. $pesan_error="";
12. // cek apakah "nim" sudah diisi atau tidak
13. if (empty($nim)) {
14. $pesan_error .= "NIM belum diisi<br>";
15. }
16. // cek apakah "nama" sudah diisi atau tidak
17. if (empty($nama)) {
18. $pesan_error .= "Nama belum diisi<br>";
19. }
20. // jika tidak ada error, tampil isi form
21. if($pesan_error===""){
22. include "prosesform2.php";
23. die();
24. }else{
25. echo "<font color='red'>$pesan_error</font>";
26. }}
27. ?>
membuat variabel pesan error pada baris 11. Pada baris 13-15 adalah pesan
apabila NIM belum diisi, baris 17-19 adalah pesan apabila nama belum diisi.
Terakhir pada baris 21-26 jika tidak ada pesan error maka data ditampilkan,
jika tidak maka muncul pesan error warna merah. Berikut tampilan form
setelah mengklik tombol SIMPAN namun NIM dan nama tidak diisi.
1. <?php
2. //alamat email memiliki karakter '@'
3. If(strpos($email,'@') == false){
4. $pesan_error .= "Penulisan alamat email salah <br>";
5. }
1. <?php
2. // cek apakah form telah di submit
3. if (isset($_POST["simpan"])) {
4. //ambil nilai dari form
5. $nim =
htmlentities(strip_tags(trim($_POST["nim"])));
6. $nama =
htmlentities(strip_tags(trim($_POST["nama"])));
7. $prodi =
htmlentities(strip_tags(trim($_POST["prodi"])));
8. $JK =
htmlentities(strip_tags(trim($_POST["JK"])));
9. $alamat =
htmlentities(strip_tags(trim($_POST["alamat"])));
10. //siapkan variabel pesar error
11. $pesan_error="";
Apabila isian nomor induk mahasiswa diisi karakter lebih dari 7 digit
dan nama mahasiswa kurang dari 5 digit akan tampil pesan seperti gambar
berikut:
E. Form Upload
Form upload merupakan form yang digunakan untuk mengupload file,
baik berupa file gambar, file dokumen, file audio atau video. Materi ini
sangat penting karena dalam pengembangan aplikasi, kita tidak terlepas dari
proses upload file. Untuk mengupload file, pertama yang harus dibuat adalah
form HTML. Contoh kode form HTML untuk upload file seperti berikut:
1. <!DOCTYPE html>
2. <html lang="id">
3. <head>
4. <meta charset="UTF-8">
5. <title>FORM UPLOAD</title>
6. </head>
7. <body>
8. <h1>Upload File</h1>
9. <form action="" method="post"
enctype="multipart/form-data">
10. <p>Label File : <input type="text"
name="label_file"></p>
11. <p>Upload File: <input type="file"
name="file_upload"></p>
12. <input type="submit" name="submit" value="Proses
Upload">
13. </form>
14. </body>
15. </html>
1. <?php
2. // cek apakah form telah di submit
3. if (isset($_POST["submit"])) {
4. // form telah disubmit, proses data
5. echo "Label File =".$_POST['label_file']."<br>";
6. //tampilkan informasi tentang file yang diupload
7. echo "Nama File
=".$_FILES['file_upload']['name']."<br>";
8. echo "MIME Type
=".$_FILES['file_upload']['type']."<br>";
9. echo "Temporary
=".$_FILES['file_upload']['tmp_name']."<br>";
10. echo "Kode Error
=".$_FILES['file_upload']['error']."<br>";
11. echo "Ukuran File
=".$_FILES['file_upload']['size']."<br>";
12. }
13. ?>
14. .. lanjutkan kode form HTML disini
Jika form upload dijalankan dengan mengisi label file dan memilih
sebuah file untuk diupload, lalu menekan tombol Submit maka informasi
detail file akan tampil seperti berikut:
1. <?php
2. // cek apakah form telah di submit
3. if (isset($_POST["submit"])) {
4. // form telah disubmit, cek apakah ada error
5. $error = $_FILES["file_upload"]["error"];
6. if ($error === 0){
7. // tidak ada error
8. $pesan_error = "<font color='green'>File sukses
di upload</font>";
9.
10. // pindahkan file ke folder_upload
11. $nama_folder="folder_upload";
12. $tmp = $_FILES["file_upload"]["tmp_name"];
13. $nama_file = $_FILES["file_upload"]["name"];
14. move_uploaded_file($tmp,
"$nama_folder/$nama_file");
15. }
16. else {
17. $pesan_error = "<font color='red'>File gagal di
upload</font>";
18. }
19. }
20. ?>
21. <!DOCTYPE html>
22. <html lang="id">
23. <head>
24. <meta charset="UTF-8">
25. <title>FORM UPLOAD</title>
26. </head>
27. <body>
28. <h1>Upload File</h1>
29. <?php if (!empty($pesan_error)) {echo
"<p>$pesan_error</p>";} ?>
30. <form action="" method="post" enctype="multipart/form-
data">
31. <p>Label File : <input type="text"
name="label_file"></p>
32. <p>Upload File: <input type="file"
name="file_upload"></p>
33. <input type="submit" name="submit" value="Proses
Upload">
34. </form>
35. </body>
36. </html>
Pada kode di atas, nama folder upload diketik pada baris ke 11. Adapun
nama file yang diupload dideklarasikan pada baris ke 12 dan 13. Fungsi
upload file menggunakan fungsi move_uploaded_file pada baris ke 14
menuju pada folder upload yang ditentukan. Jika tidak ada error, maka
muncul pesan seperti pada baris ke 8 dengan font warna hijau, dan jika gagal
akan muncul pesan seperti pada baris ke 17 dengan font warna merah. Pada
baris ke-29 kita akan mengubah sedikit form untuk untuk menampilkan
pesan sukses atau gagal .
Apabila form dijalankan di browser dengan memilih salah satu file lalu
menekan tombol submit, maka file akan terupload ke folder_upload dan
muncul pesan sukses.
No Indikator Skor
Maksimum
1 Desain form terdiri dari textbox, combobox, radio 20
button, terxarea dan upload file
2 Kode program proses tampil data dari isian form 20
sudah benar dan dapat dijalankan pada browser
3 Kode program validasi form untuk isian nama barang 20
sudah benar dan dapat dijalankan pada browser
4 Kode program upload foto barang sudah benar dan 20
dapat proses upload dapat dilakukan
5 Video tutorial telah diupload di Youtube 20
Total Skor 100
G. Rangkuman
Pemrosesan form merupakan salah satu materi utama dalam
pemrograman web. Form merupakan formulir isian yang digunakan oleh
pengguna untuk berinteraksi dengan web, misalnya melalui form
pendaftaran, form login, form pencarian, form ulasan, form komentar,
mengirim email dan sebagainya. Pemrosesan form mencakup tentang
menampilkan hasil form, validasi form seperti validasi isian kosong, validasi
jumlah karakter, dan validasi format isian dan terakhir adalah proses pada
form upload file.