Membuat Halaman Web dengan fungsi CRUD dan Captcha
- Tentang CRUD
- Tentang Captcha
Contoh Modern Captcha
Dalam tutorial kali ini halaman web akan berisi Form Input Data Mahasiswa. Langkah-langkahnya yaitu :
1. Membuat databasenya dulu. Misalnya database dengan nama "poltek" dan nama tabel "mahasiswa". Isi dari tabel sebagai berikut :
a. nim int
b. nama varchar
c. tg_lahir varchar
d. alamat varchar
e. telpon varchar
2. Setelah membuat database dan tabelnya, membuat halaman webnya dengan coding dibawah ini.
a) Membuat koneksi dengan database poltek.
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("poltek") or die(mysql_error());
b) Menginisialisasi variable nim,nama,alamat,dll yang diset kosong dan memanggil fungsi captcha dengan variable "$cap". Variable "$sql1" untuk mengambil data dari tabel
mahasiswa.
$error ="";
$cap =captcha();
$nim ="";
$nama ="";
$alamat ="";
$tgl ="";
$telp ="";
$no =1;
$sql1 =mysql_query("select * from mahasiswa");
c) Membuat fungsi Captcha. Dengan panjang 6 digit. Variable $base untuk menyimpan huruf dan angka yang akan diacak. Fungsi while sebagai perulangan dari setiap huruf & angka secara acak.
function captcha(){
$panjangacak =6;
$base ='ABCDEFGHKLMNOPQRSTWXYZ123456789';
$max =strlen($base)-1;
$acak ='';
mt_srand((double)microtime()*1000000);
while(strlen($acak)<$panjangacak){
$acak.=$base{mt_rand(0,$max)};
}
return $acak;
}
d) Membuat fungsi untuk menambah data inputan. Dengan mengambil inputan dari form kemudian di tambahkan (insert) ke dalam database.
function tambah(){
$nim =$_POST['nim'];
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$tgl =$_POST['tgl'];
$telp =$_POST['telp'];
mysql_query("insert into mahasiswa values('$nim','$nama','$tgl','$alamat','$telp')");
header("location: ".$_SERVER['PHP_SELF']);
}
e) Membuat fungsi untuk mengedit data. Fungsi ini akan beraksi jika tombol edit ditekan. Dengan memperbarui (update) data yang akan diubah sesuai variable nim yang terpilih.
function edit(){
$nim =$_POST['nim'];
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$tgl =$_POST['tgl'];
$telp =$_POST['telp'];
mysql_query("update mahasiswa set nama='$nama',alamat='$alamat',tg_lahir='$tgl',telpon='$telp' where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);
}
f) Membuat proses untuk menambahkan data. Dengan memanggil fungsi tambah. Jika Captcha sesuai maka data akan bertambah. Jika salah maka akan muncul error bahwa "Captcha Tidak Sama".
if(isset($_POST['tambah'])){
$captcha1 =$_POST['captcha1'];
$captcha2 =$_POST['captcha2'];
if($captcha1!==$captcha2){
$error ="Captcha Tidak Sama";
}else{
tambah();
}
}
g) Membuat proses edit data. Dengan memanggil fungsi edit. Jika Captcha sesuai maka data akan bertambah. Jika salah maka akan muncul error bahwa "Captcha Tidak Sama".
if(isset($_POST['edit'])){
$captcha1 =$_POST['captcha1'];
$captcha2 =$_POST['captcha2'];
if($captcha1!==$captcha2){
$error ="Captcha Tidak Sama";
}else{
edit();
}
}
h) Membuat proses hapus data. Dengan memanggil fungsi hapus sesuai nim yang terpilih, maka data di database akan terhapus.
if(isset($_GET['hapus']) && !empty($_GET['hapus'])){
$nim =$_GET['hapus'];
mysql_query("delete from mahasiswa where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);
}
Coding lengkapnya ada dibawah ini.
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("poltek") or die(mysql_error());
$error ="";
$cap =captcha();
$nim ="";
$nama ="";
$alamat ="";
$tgl ="";
$telp ="";
$no =1;
$sql1 =mysql_query("select * from mahasiswa");
//=====================Fungsi Captcha=====================//
function captcha(){
$panjangacak =6;
$base ='ABCDEFGHKLMNOPQRSTWXYZ123456789';
$max =strlen($base)-1;
$acak ='';
mt_srand((double)microtime()*1000000);
while(strlen($acak)<$panjangacak){
$acak.=$base{mt_rand(0,$max)};
}
return $acak;
}
//=====================Fungsi Tambah Data=====================//
function tambah(){
$nim =$_POST['nim'];
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$tgl =$_POST['tgl'];
$telp =$_POST['telp'];
mysql_query("insert into mahasiswa values('$nim','$nama','$tgl','$alamat','$telp')");
header("location: ".$_SERVER['PHP_SELF']);
}
//=====================Fungsi Edit Data=====================//
function edit(){
$nim =$_POST['nim'];
$nama =$_POST['nama'];
$alamat =$_POST['alamat'];
$tgl =$_POST['tgl'];
$telp =$_POST['telp'];
mysql_query("update mahasiswa set nama='$nama',alamat='$alamat',tg_lahir='$tgl',telpon='$telp' where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);
}
//=====================Proses Tambah Data=====================//
if(isset($_POST['tambah'])){
$captcha1 =$_POST['captcha1'];
$captcha2 =$_POST['captcha2'];
if($captcha1!==$captcha2){
$error ="Captcha Tidak Sama";
}else{
tambah();
}
}
//=====================Proses Edit Data=====================//
if(isset($_POST['edit'])){
$captcha1 =$_POST['captcha1'];
$captcha2 =$_POST['captcha2'];
if($captcha1!==$captcha2){
$error ="Captcha Tidak Sama";
}else{
edit();
}
}
if(isset($_GET['edit']) && !empty($_GET['edit'])){
$nim =$_GET['edit'];
$data_row =mysql_fetch_array(mysql_query("select * from mahasiswa where nim='$nim'"));
$nim =$data_row['nim'];
$nama =$data_row['nama'];
$alamat =$data_row['alamat'];
$tgl =$data_row['tg_lahir'];
$telp =$data_row['telpon'];
}
//=====================Proses Hapus Data=====================//
if(isset($_GET['hapus']) && !empty($_GET['hapus'])){
$nim =$_GET['hapus'];
mysql_query("delete from mahasiswa where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);
}
?>
<html>
<head>
<title>UAS PEMROGRAMAN WEB 2</title>
</head>
<body>
<center>
<h1>POLITEKNIK KEDIRI</h1>
<h3>Jl. Mayor Bismo 27 Kediri 64121</h3>
</center>
<br>
<center><hr size=1>DATA MAHASISWA</center>
<br>
<form method="post" action="">
<table align="center" border="1">
<tr>
<td>
NIM
</td>
<td>
<input type="number" name="nim" size="15" placeHolder="nim" value="<?php echo $nim;?>" />
</td>
</tr>
<tr>
<td>
NAMA
</td>
<td>
<input type="text" name="nama" size="20" placeHolder="nama" value="<?php echo $nama;?>" />
</td>
</tr>
<tr>
<td>
ALAMAT
</td>
<td>
<input type="text" name="alamat" size="20" placeHolder="alamat" value="<?php echo $alamat;?>" />
</td>
</tr>
<tr>
<td>
TGL.LAHIR
</td>
<td>
<input type="date" name="tgl" size="15" placeHolder="Tgl Lahir" value="<?php echo $tgl;?>" />
</td>
</tr>
<tr>
<td>
NO.TELPON
</td>
<td>
<input type="text" name="telp" size="15" placeHolder="no. telpon" value="<?php echo $telp;?>" />
</td>
</tr>
</table>
<br>
<center>
<?php
echo "<input size='10' type='text' disabled value='".$cap."'>";
?>
<input type="hidden" name="captcha2" value="<?php echo $cap;?>" />
<br>
<input type="text" name="captcha1" size="10" placeHolder="captcha" />
<br><br>
<input type="submit" name="tambah" value="Simpan" />
<input type="reset" value="Batal" />
</center>
</form>
<?php echo $error;?>
<br />
<table align="center" border="1">
<thead>
<tr>
<th>NO.</th>
<th width="150">NIM</th>
<th width="200">NAMA</th>
<th width="200">ALAMAT</th>
<th width="150">TGL.LAHIR</th>
<th width="180">NO.TELP</th>
<th width="150">AKSI</th>
</tr>
</thead>
<tbody align="center">
<?php
while($data=mysql_fetch_array($sql1)){?>
<tr>
<td><?php echo $no;?></td>
<td><?php echo $data['nim'];?></td>
<td><?php echo $data['nama'];?></td>
<td><?php echo $data['alamat'];?></td>
<td><?php echo $data['tg_lahir'];?></td>
<td><?php echo $data['telpon'];?></td>
<td><a href="?edit=<?php echo $data['nim'];?>">Edit</a> || <a href="?hapus=<?php echo $data['nim'];?>">Hapus</a></td>
</tr>
<?php
$no++;
}
?>
</tbody>
</table>
</body>
</html>
Hasil dari coding akan seperti dibawah ini.
Komentar
Posting Komentar