Anda di halaman 1dari 6

Pertemuan ke 15 Desain dan Penerapan Bais Data

Lanjutan Validasi Field Pada Sistem WEB

Validasi Type Inputan, Hanya Angka.


Form memiliki banyak type inputan. Kita akan fokus membahas type inputan teks.. karena
ini cukup banyak jenisnya.

Sebelum HTML5, input teks dan angka dibuat dalam type teks saja.

Contoh:

<input type="text" name="tinggi-badan" />

Padahal nilai yang akan diinputkan nantinya dalam bentuk angka, namun di sana kita
memberikan type text.

Akibanya user bisa saja menginputkan teks misalnya:

Kita tidak inigin seperti ini.. data ini tidak valid, seharusnya yang diinputkan adalah
angka 170.

Nah, untuk mengatasi ini, kita harus menggunakan type inputan number agar nilai yang
diinputkan hanya berupa angka saja.

<input type="number" name="tinggi-badan" />

Selain type number, terdapat juga type input yang lainnya.

Type Fungsi

color untuk input kode warna

1
Type Fungsi

date Input berupa tanggal

datetime-local Input berupa tanggal dan waktu

email input berupa alamat email

file Untuk inputan berupa file

hidden Untuk inputan yang tersembunyi

image Untuk inputan berupa gambar

month Untuk menginputkan bulan

password untuk menginputkan password

range untuk inputan rentang angka

search input teks untuk mengisi kata kunci pencarian

tel untuk menginputkan nomer telepon

time Untuk menginputkan waktu atau jam

url untuk input alamat URL

week Untuk input tanggal dalam seminggu

Silahkan dicoba-coba sendiri.

Bahan praktek:
Buatlah sebuah file dengan nama: hanya_angka.php, lalu ketikkan kode program berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

2
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<SCRIPT TYPE="text/javascript">

function numbersonly(myfield, e, dec)

var key;

var keychar;

if (window.event)

key = window.event.keyCode;

else if (e)

key = e.which;

else

return true;

keychar = String.fromCharCode(key);

// control keys

if ((key==null) || (key==0) || (key==8) ||

(key==9) || (key==13) || (key==27) )

return true;

// numbers

else if ((("0123456789").indexOf(keychar) > -1))

return true;

// decimal point jump

else if (dec && (keychar == "."))

myfield.form.elements[dec].focus();

return false;

else

return false;

3
}

//-->

</SCRIPT>

<title>Untitled Document</title>

</head>

<body>

<FORM ACTION="" METHOD=POST>

<INPUT NAME="angka" SIZE="20" onKeyPress="return numbersonly(this, event)" value="">

</FORM>

</body>

</html>

Simpan pada www.validasi_filed.com, dan jalankan sepeeti apa hasilnya…?

Cara Mendeteksi Input Username yang Sama

Bagaimana cara melakukan cek terhadap input username yang sama, karena
username itu kan unik, artinya username tiap user harus berbeda……..?
Ya, betul sekali .. kalau dilihat dari struktur tabelnya, seharusnya username
dijadikan sebagai kunci utama (Primary Key). Lihat gambar berikut:

Sehingga, misalnya ada user yang memasukkan username yang sudah dimiliki
oleh user lain, maka data tersebut tentu tidak akan tersimpan di database.
Mungkin, maksud Anda bagaimana cara memberitahukan user bahwa
username tersebut sudah dimiliki oleh user lain dan berikan pemberitahuan
kepadanya agar memasukkan username yang berbeda.
4
Oke, cara sederhananya bisa dilihat pada skrip berikut:

// Cek username di database


$cek_username=mysql_num_rows(mysql_query
("SELECT username FROM users
WHERE username='$_POST[username]'"));
// Kalau username sudah ada yang pakai
if ($cek_username > 0){
echo "Username sudah ada yang pakai. Ulangi lagi";
}
// Kalau username valid, inputkan data ke tabel users
else{
mysql_query("INSERT INTO users(username,
password,
nama_lengkap,
level)
VALUES('$_POST[username]',
'$_POST[password]',
'$_POST[nama_lengkap]',
'$_POST[level]')");
}

Menghindari duplicate entry atau data ganda dengan PHP


Berikut ini adalah script PHP supaya tidak terjadi duplicate entry atau data ganda didalam
tabel. Tentu disini kita harus memvalidasi form yang kita input , apakah data yang diiput
sudah ada diadalam database.

Dalsm hal ini kita memanfaatkan field email sebagai data untuk memvalidasinya, apakah
email nya sudah ada dalam database sudah ada atau belum. Kita lihat script sederhananya di
bawah ini :

<?php
include “koneksi.php”;

if(isset($_POST[‘simpan’])) {
$nama=$_POST[‘nama’];
$kelamin=$_POST[‘kelamin’];
$alamat=$_POST[‘alamat’];
$email=$_POST[’email’];
$hp=$_POST[‘nohp’];
$foto=$_FILES[‘gambar’][‘name’];

5
//upload foto
if (strlen($foto)>0) {
if (is_uploaded_file($_FILES[‘gambar’][‘tmp_name’])) {
move_uploaded_file ($_FILES[‘gambar’][‘tmp_name’], “gambar/”.$foto);
}
}

//Script validasi data

$cek = mysql_num_rows(mysql_query(“SELECT * FROM data_input WHERE


email=’$email'”));
if ($cek > 0){
echo “<script>window.alert(‘Email yang anda masukan sudah ada’)
window.location=’index.php'</script>”;
}else {
mysql_query(“INSERT INTO data_input(nama,kelamin,alamat,email,nohp,gambar)
VALUES (‘$nama’,’$kelamin’,’$alamat’,’$email’,’$hp’,’$foto’)”);

echo “<script>window.alert(‘DATA SUDAH DISIMPAN’)


window.location=’index.php'</script>”;
}
}
?>

Hasil dari script di atas, saat kita klik Submit pada web berikut adalah:

Duplicate Entry………….!!!!!!!

Dari gambar diatas dapat kita lihat , adanya notifikasi “Email yang anda masukan sudah ada”.

Anda mungkin juga menyukai