Sama seperti Artikel – artikel sebelumnya yang membahas XTemplate, klik disini untuk membaca instalasi Xtemplate. Saya menekankan Validasi Form hendaknya kalian dilakukan pada sisi Server site (php, asp, jsp, dll) atau bila kalian menggunakan Javascript Validalation jangan lupa memvalidasi pada sisi pemroses, mengapa? karena javascript bersifat Client site jadi jika mode javascript pada Browser dimatikan tentu javascript validation menjadi tidak berguna, Bukannya bisa ditambahakan html
<noscript>Maaf silahkan aktifkan Javascript pada browser anda.</noscript>
Memang benar pada sisi html kalian bisa menambahakan script tersebut akan tetapi bagaimana bila pengisian dilakukan Via Remote (pengisian tidak pada Form yang kalian sediakan.) tentu kalian ga’ pengen website yang sudah kalian bangun dengan susah payah, dibuat ajang SPAM oleh orang – orang tertentu. Saya kombinasikan validasi sebuah form dengan menggunakan XTemplate pada artikel kali ini, OK sekarang kita coba buat yang sederhana dan sedikit ditambahkan beberapa keamanan.
1. Buat 1 file untuk tampilan website buat pada folder themes (seperti biasa ) dengan nama main.html
<form action=”” method=”post” name=”frm_post”>
<table width=”500″ border=”0″ cellspacing=”1″ cellpadding=”1″>
<tr>
<td width=”70″>Nama *</td>
<td width=”10″>:</td>
<td width=”300″><input type=”text” name=”nama” id=”nama” value=”{nama}” /></td>
</tr>
<tr>
<td width=”70″>Email *</td>
<td width=”10″>:</td>
<td width=”300″><input type=”text” name=”email” id=”email” value=”{email}” /></td>
</tr>
<tr>
<td width=”70″ valign=”top”>Pesan *</td>
<td width=”10″ valign=”top”>:</td>
<td width=”300″><textarea name=”pesan” id=”pesan” rows=”5″ cols=”40″>{pesan}</textarea></td>
</tr>
<tr>
<td colspan=”3″><input type=”submit” name=”submit” id=”submit” value=”Submit” /> <input type=”reset” name=”reset” id=”reset” value=”Batal” /></td>
</tr>
</table>
</form>
Lihat pada masing value terdapat {nama}, {email}, {pesan} adalah nilai balik apabila Terdapat kesalahan penginputan, yang mengembalikan nilai tersebut adalah XTemplate (lihat ketenangan berwarna biru).
2. Buat file yang memproses sekaliagus yang menampikan template
<?php
require_once( ‘xtemplate.class.php’ ); // class untuk Xtemplate
$tpl = new XTemplate(‘main.html’, ‘theme’, null, ‘main’, true); // akses template yang pertama kali dengan nama main.html
$referer_uri = “http://localhost/form/”; // masukkan Host kalian pada variabel ini
if($_POST[submit]){ //bila terdapat post submit kerjakan
if($_SERVER[‘HTTP_REFERER’] == $referer_uri){ // untuk membandingkan haisl referer apakah dikirim dari domain kita
$nama = $_POST[‘nama’];
$email = $_POST[‘email’];
$pesan = $_POST[‘pesan’];
if(!empty($nama) && strlen($nama) >= 4){ // nama hanya tidak boleh kosong dan minimal input 4 karakter
if(!empty($email) && filter_var($email, FILTER_VALIDATE_EMAIL)){ // Email tidak boleh kosong dan cek penusilan email apakah sudah benar
if(!empty($pesan)){ // Pesan tidak boleh kosong
$msg = “<div class=”sukses””>Terima kasih <strong>$nama</strong>