Pada tutorial sebelumnya, kita telah belajar cara menampilkan pesan kesalahan form pada halaman form itu sendiri dengan menggunakan fungsi header(). Pada tutorial kali ini kita akan mempelajari cara mengisi form secara otomatis ketika terjadi kesalahan, sehingga pengisian form menjadi lebih efisien dan user friendly.
Form yang Otomatis Terisi jika Terjadi Kesalahan
Pada saat kita mendaftar suatu situs menggunakan form, ketika ada suatu kesalahan (misalnya user name yang diinginkan sudah ada yang menggunakan), maka kita dikembalikan ke halaman register semula dengan pesan kesalahan. Jika anda perhatikan, seluruh form yang telah diisi sebelumnya secara otomatis terisi kembali sehingga kita tidak perlu menginput semua form, namun hanya memperbaiki bagian yang salah.
Form yang terisi sendiri ini akan sangat membantu user untuk mengoreksi isian form yang salah. Bayangkan jika kita mengisi form dengan 15 kotak inputan, hanya kemudian terpaksa menginput kembali semua kotak inputan tersebut karena salah mengisi format tanggal pada salah satu inputan.
Memanfaatkan variabel $_GET dan fungsi header
Untuk dapat membuat form yang otomatis terisi ketika terjadi kesalahan, kita akan memanfaatkan fitur variabel $_GET dan fungsi header() seperti dalam tutorial sebelumnya.
Triknya adalah menyambung URL dengan isian form sebelumnya, lalu menampilkannya kembali di dalam form. Agar lebih mudah, mari kita langsung ke contoh program.
Kali ini saya akan memodifikasi kode program proses.php agar bisa ‘mengembalikan’ nilai isian form ketika terjadi kesalahan. Berikut adalah contoh program proses.php:
if (isset($_GET['nama']) AND isset($_GET['email']))
{
$nama=$_GET['nama'];
$email=$_GET['email'];
$nama=htmlspecialchars($nama);
$email=strip_tags($email);
$isi_form="&nama=$nama&email=$email";
}
else
{
header("Location:form.php?error=variabel_belum_diset");
}
if(empty($nama))
{
header("Location:form.php?error=nama_kosong".$isi_form);
}
else
{
if (is_numeric($nama))
{
header("Location:form.php?error=nama_harus_huruf".$isi_form);
}
else
{
echo "Nama: $nama
Email: $email";
}
}
?>
Perhatikan pada baris ke-.. dimana saya menambahkan variabel $isi_form yang ditujukan untuk ‘menyambung URL’. Jika variabel $nama berisi duniailkom, dan variabel $emailberisi duniailkom@gmail.com, maka isi variabel $_isi form akan menghasilkan string sebagai berikut:
&nama=duniailkom&email=duniailkom@gmail.com
String tersebut selanjutnya akan ditambahkan kedalam fungsi header() untuk dikirim ke halaman form.php (dikembalikan ke halaman asal form)
Pada halaman form.php kita akan menampung nilai dari variabel $_isi form ini dan menampilkannya di dalam kotak input. Berikut adalah modifikasi halaman form.php:
//ambil nilai variabel error
if (isset($_GET['error']))
{
$error=$_GET['error'];
}
else
{
$error="";
}
//siapkan pesan kesalahan
$pesan="";
if ($error=="variabel_belum_diset")
{
$pesan="Maaf, anda harus mengakses halaman ini dari form.php
";
}
if ($error=="nama_kosong")
{
$pesan="Maaf, anda harus mengisi nama
";
}
if ($error=="nama_harus_huruf")
{
$pesan="Maaf, nama harus berupa huruf
";
}
//Siapkan isian form jika terjadi kesalahan
if (isset($_GET['nama']) AND isset($_GET['email']))
{
$nama=$_GET['nama'];
$email=$_GET['email'];
}
else
{
$nama="";
$email="";
}
?>
Belajar Form PHP
Tutorial Belajar Form HTML - PHP
echo $pesan;
?>