Halo teman-teman pada kesempatan kali ini saya akan menlanjutkan tentang Cara Mengirim Variabel (Pesan) Antar Halaman PHP.
Cara Menampilkan Pesan Kesalahan Form
Namun pesan kesalahan tersebut hanya ditampilkan pada halaman proses.php. Jika user ingin mengubah isian form, terpaksa kembali kehalaman form.html untuk memperbaiki kesalahan form.
Jika pada saat pengisian form umum lalu ada kesalahan maka user akan dikembalikan ke halaman form, dengan pesan kesalahan. Untuk membuat seperti itu, kita akan memanfaatkan fungsi PHP: header().
Menggunakan halaman form.html dan proses.php, kali ini saya akan memodifikasi halaman proses.php agar bisa memanfaatkan fungsi header(). Berikut adalah modifikasi file proses.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php if (isset($_GET['nama']) AND isset($_GET['email'])) { $nama=$_GET['nama']; $email=$_GET['email']; $nama=htmlspecialchars($nama); $email=strip_tags($email); } else { header("Location:form.php?error=variabel_belum_diatur"); } if(empty($nama)) { header("Location:form.php?error=nama_kosong"); } else { if (is_numeric($nama)) { header("Location:form.php?error=nama_harus_huruf"); } else { echo "Nama: $nama <br /> Email: $email"; } } ?> |
Saya hanya mengubah bagian error menggunakan fungsi header(). Namun perhatikan bahwa saya mengirimkan variabel error kepada halaman form.php, pesan inilah yang akan diproses pada halaman form.php.
Berikut adalah kode dari halaman form.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
<?php //ambil nilai variabel error if (isset($_GET['error'])) { $error=$_GET['error']; } else { $error=""; } //siapkan pesan kesalahan $pesan=""; if ($error=="variabel_belum_diset") { $pesan="<h3>Maaf, anda harus mengakses halaman ini dari form.php</h3>"; } if ($error=="nama_kosong") { $pesan="<h3>Maaf, anda harus mengisi nama</h3>"; } if ($error=="nama_harus_huruf") { $pesan="<h3>Maaf, nama harus berupa huruf</h3>"; } ?> <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Belajar Form PHP</title> </head> <body> <h2>Tutorial Belajar Form HTML - PHP </h2> <?php echo $pesan; ?> <form action="proses.php" method="get"> Nama: <input type="text" name="nama" /> <br /> E-Mail: <input type="text" name="email" /> <br /> <input type="submit" value="Proses Data" > </form> </body> </html> |
Pada halaman form.php saya menambahkan beberapa kode PHP. Kode PHP ini berfungsi untuk menangani variabel error yang dikirimkan dari halaman proses.php.
Setelah memindahkan variabel $_GET[‘error’] ke dalam variabel $error agar mudah diakses, selanjutnya saya membuat beberapa logika IF untuk memeriksa pesan error, dan memberikan ‘pesan kesalahan’ yang ingin ditampilkan kedalam variabel $pesan.
Variabel $pesan ini akan disisipkan di awal tag form. Biasanya pesan kesalahan ini ditampilkan dengan style yang berbeda dari judul form agar lebih ‘pas’. Semoga bermanfaat.