Formulir Format PHP

Formulir yang dimaksud dalam hal ini adalah formulir online yang biasa kita jumpai dalam website-website. Formulir online bisa disebut juga sebuah regenerasi formulir kertas yang biasa kita jumpai, misal saat daftar sekolah dan lain lain.

Langkah pertama yang harus diketahui adalah kegunaan dari formulir itu tersebut dan diperuntukkan kepada siapa, sehingga kita bisa menentukan macam-macam kolom yang akan kita masukkan dalam formulir tersebut, seperti radio button, text kolom, check box, select box, ataupun tombol yang lainnya. Sebagai contoh saya mencoba membuat formulir biodata personal. Berikut langkah-langkahnya:

Kita siapkan sebuah halaman html yang berisi formulir input dengan kolom-kolom yang diperlukan untuk mengisi jenis-jenis datanya. Kita simpan halaman tersebut dengan nama index.php

<html>
<head>
<title>Formulir Biodata Personal</title>
</head>

<body>
<h1>Formulir Biodata Personal</h1>
<form method=”post” action=”input.php”>
<table cellpadding=”2″ cellspacing=”2″ width=”600″>
<tr valign=”top”>
<td width=”30%”>Nama Lengkap:</td>
<td width=”60%”><input type=”text” name=”nama” size=”30″></td>
</tr>

<tr valign=”top”>
<td width=”30%”>Jenis Kelamin:</td>
<td width=”60%”>
<input type=”radio” name=”anu” value=”Pria”> Pria -
<input type=”radio” name=”anu” value=”Wanita”> Wanita
</td>
</tr>

<tr valign=”top”>
<td width=”30%”>Alamat:</td>
<td width=”60%”><input type=”text” name=”alamat” size=”30″></td>
</tr>

<tr valign=”top”>
<td width=”30%”>E-mail:</td>
<td width=”60%”><input type=”text” name=”email” size=”30″></td>
</tr>

<tr valign=”top”>
<td width=”30%”>Status:</td>
<td width=”60%”>
<select name=”status”>
<option value=”">———–</option>
<option value=”Menikah”>Menikah</option>
<option value=”Belum Menikah”>Belum Menikah</option>
<option value=”Cerai”>Cerai</option>
</select>
</td>
</tr>

<tr valign=”top”>
<td width=”30%”><input type=”submit” name=”action” value=”Submit”></td>
</tr>
</table>
</form>
</body>
</html>

Jika file index.php diatas dibuka pada browser akan menghasilkan tampilan seperti dibawah ini:

#

Pada tag <form> tersebut menggunakan properti method="post" action="input.php" yang berarti metode pengiriman data form adalah metode POST dan file yang digunakan untuk mengeksekusi adalah input.php.

Langkah berikutnya adalah membuat file PHP yang berfungsi untuk mengolah formulir tersebut dengan nama input.php. Standart pengolahannya adalah dengan cara memvalidasi data yang dikirim untuk kemudian akan ditampilkan saja.
Untuk menghindari akses langsung ke file input.php oleh user, kita bisa meletakkan tag PHP dibawah ini pada bagian atas file tersebut. Jadi jika file tersebut diakses langsung, maka akan terlempar ke halaman form.

if (!$_POST) {
Header ("Location:./index.php");
exit();
}

Selanjutnya kita deklarasikan variabel-variabel yang kita ambil:

$nama = "";
$anu = "";
$alamat = "";
$email = "";
$status = Array();

Setelah variabel-variabel dideklarasikan, kemudian variabel-variabel tersebut didefinisikan sesuai dengan data yang akan diisi.

$nama = $_POST["nama"];
$anu = $_POST["anu"];
$alamat = $_POST["alamat"];
$email = $_POST["email"];
$status = $_POST["status"];

Kemudian kita validasikan variabel-variabel tersebut

$error = "";
if (trim ($nama) == "") {
$error .= "Nama belum diisi.<br />";
}
if (trim ($anu) == "") {
$error .= "Jenis kelamin belum dipilih, apakah anda Homok?.<br />";
}
if (trim ($alamat) == "") {
$error .= "Alamat belum diisi.<br />";
}
if (trim ($email) == "") {
$error .= "Email belum diisi.<br />";
}
if (count ($status) == "") {
$error .= "Anda belum memasukkan status.<br />";
}
if (trim ($error) != "") {
print "$error";
print “Silahkan ulangi lagi.”;
exit();
}

Pada tag di atas, pertama-tama didefinisikan bahwa variabel $error adalah kosong. Jika dalam pengisian data terjadi kesalahan, maka tiap-tiap variabel akan mendefinisikan pesan error.

Langkah berikutnya adalah penggabungan semua inputan dari data yang terisi untuk ditampilkan pada halaman input.php.


print "Nama Anda: $nama<br />";
print "Jenis Kelamin: $anu<br />";
print "Alamat: $alamat<br />";
print "E-mail: <a href=\"mailto:$email\">$email</a><br />";
print "Status: $status<br />";

Untuk contoh file input.php lebih lengkap adalah seperti dibawah ini:

<?php

if (!$_POST) {
Header (”Location:./index.php”); //direct ke halaman depan jika diakses langsung
exit();
}

//deklarasi dari variabel yang diambil
$nama = “”;
$anu = “”;
$alamat = “”;
$email = “”;
$status = Array();

//mendefiniskan variabel
$nama = $_POST[”nama”];
$anu = $_POST[”anu”];
$alamat = $_POST[”alamat”];
$email = $_POST[”email”];
$status = $_POST[”status”];

//memvalidasi variabel
$error = “”;
if (trim ($nama) == “”) {
$error .= “Nama belum diisi.<br />”;
}
if (trim ($anu) == “”) {
$error .= “Jenis kelamin belum dipilih, apakah anda Homok?.<br />”;
}
if (trim ($alamat) == “”) {
$error .= “Alamat belum diisi.<br />”;
}
if (trim ($email) == “”) {
$error .= “Email belum diisi.<br />”;
}
if (count ($status) == “”) {
$error .= “Anda belum memasukkan status.<br />”;
}
if (trim ($error) != “”) {
print “$error”;
print “Silahkan ulangi lagi.”;
exit();
}

//menampilkan data
print “<html><title>Biodata Personal</title></html>”;
print “<body>”;
print “Nama Anda: <strong>$nama</strong><br />”;
print “Jenis Kelamin: <strong>$anu</strong><br />”;
print “Alamat: <strong>$alamat</strong><br />”;
print “E-mail: <strong><a href=\”mailto:$email\”>$email</a></strong><br />”;
print “Status: <strong>$status</strong><br />”;
print “</body></html>”;

?>

Terus terang tulisan ini hanya iseng aja dan ada unsur keterpaksaan supaya blog ini tidak hanya berisi lirik lagu saja, Hi Dud™

1 Comment »

The URI to TrackBack this entry is: http://fendra.blogsome.com/2006/09/18/formulir-format-php/trackback/

  1. Comment by bob

    On 7 October 2007 @ 06:32

    wah tutorial yang panjang, tapi sangat spesifik dan jelas.. btw, ga bikin buku saja mas? rasa2nya lom banyak yang buat buku PHP+keamanannya…

RSS feed for comments on this post.

Leave a comment

Comment Guidelines:
Basic XHTML is allowed (a href, strong, em, code). Line breaks and paragraphs are automatically generated. Off-topic or inappropriate comments will be edited or deleted. Email addresses will never be published.






Anti-spam measure: please retype the above text into the box provided.