Kamis, 22 Januari 2015

Membuat Program CRUD data mahasiswa dengan captha

Buat Database poltek. Buat Tabel mahasiswa, isi kolom pada tabel mahasiswa sebagai berikut Nim int, nama varchar, alamat varchar, tanggallahir varchar, notlp varchar.
<?php
mysql_connect("localhost","root","almi1711") or die(mysql_error());
mysql_select_db("poltek") or die(mysql_error());

$error ="";
$cp =captha();
$nim ="";
$nama ="";
$alamat ="";
$tgl ="";

$telp ="";



Mysql_connect digunakan untuk mengakses database server. Sedangkan mysql_select_db digunakan untuk memilih database yang dipakai. Dan dibawahnya adalah nama-nama variable, dan mula-mula variable diset kosong. Variable cp akan memanggil function captha yang akan menghasilkan gabungan huruf dan angka acak.
function captha(){
$panjangacak =5;
$base ='ABCDEFGHKLMNOPQRSTWXYZ123456789';
$max =strlen($base)-1;
$acak ='';
mt_srand((double)microtime()*1000000);
while(strlen($acak)<$panjangacak){
$acak.=$base{mt_rand(0,$max)};
}
return $acak;
}

Function captha, berfungsi mengacak huruf dan angka. Base merupakan variable untuk menyimpan karakter-karakter yang akan diacak.
While(strlen($acak)<$panjangacak){
}
Script diatas menunjukkan perulangan  dan setiap perulangan akan mengambil karakter secara acak dan dimasukkan kedalam variable acak.
if(isset($_POST['tambah'])){
$captha =$_POST['captha'];
$captha1 =$_POST['captha1'];
if($captha!==$captha1){
$error ="Captha Yang Anda Masukkan Tidak Match";
}else{
tambah();
}
}

Code diatas akan bekerja jika tombol tambah pada form diklik. Lalu mengecek apakah captha yang dimasukkan sama persis dengan captha jiika tidak sama maka error akan diset “Captha Yang Anda Masukkan Tidak Match”. Jika sama maka akan memanggil fungsi tambah.
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','$alamat','$tgl','$telp')");
header("location: ".$_SERVER['PHP_SELF']);

}

Function tambah, akan mengambil inputan dari form dan kemudian di insertkan kedalam database.
if(isset($_POST['edit'])){
$captha =$_POST['captha'];
$captha1 =$_POST['captha1'];
if($captha!==$captha1){
$error ="Captha Yang Anda Masukkan Tidak Match";
}else{
edit();
}
}


Code diatas akan bekerja jika tombol edit pada form diklik. Lalu mengecek apakah captha yang dimasukkan sama persis dengan captha jiika tidak sama maka error akan diset “Captha Yang Anda Masukkan Tidak Match”. Jika sama maka akan memanggil fungsi edit.
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',tanggallahir='$tgl',notlp='$telp' where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);

}

Function edit, akan mengambil inputan dari form dan kemudian mengupdate ke database dengan syarat nim tertentu.
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['tanggallahir'];
$telp =$data_row['notlp'];
}

Script diatas akan dijalankan jika ada parameter get edit dan get edit tidak kosong atau jika link edit pada tabel diklik. Nilai dari parameter get edit akan diambil lalu script akan mengambil data dari database yang nim mahasiswannya sam dengan nilai get edit. Dan data dari database tersebut dimasukkan ke dalam variable nim,nama,alamat,tgl,telp.
<?php
echo "<input size='10' type='text' disabled value='".$cp."'>";
?>
<br />
<br />
<form method="post" action="">
<input type="hidden" name="captha1" value="<?php echo $cp;?>" />
    <input type="text" name="captha" size="10" placeHolder="captha" />
    <input type="number" name="nim" size="15" placeHolder="nim" value="<?php echo $nim;?>" />
    <input type="text" name="nama" size="20" placeHolder="nama" value="<?php echo $nama;?>" />
    <input type="text" name="alamat" size="20" placeHolder="alamat" value="<?php echo $alamat;?>" />
    <input type="date" name="tgl" size="15" placeHolder="Tgl Lahir" value="<?php echo $tgl;?>" />
    <input type="text" name="telp" size="15" placeHolder="Nomor Telp" value="<?php echo $telp;?>" />
    <input type="submit" name="tambah" value="Tambah" />
    <input type="submit" name="edit" value="Edit" />
    <input type="reset" value="Batal" />
</form>
<?php echo $error;?>

Diatas adalah form untuk tambah dan edit data mahasiswa ada beberapa inputan. Dan nilai dari inputan diambil dari variable nim,nama,alamat,tgl, dan telp. Diatas form terdapat kode captha yang nilainya diambil dari variable cp. Dan dibawah form terdapat pesan error jika variable error terisi karena kesalahan captha.
if(isset($_GET['hapus']) && !empty($_GET['hapus'])){
$nim =$_GET['hapus'];
mysql_query("delete from mahasiswa where nim='$nim'");
header("location: ".$_SERVER['PHP_SELF']);
}
?>

Code diatas akan dieksekusi jika link hapus diklik atau ada parameter get hapus di url. Nilai dari parameter get hapus akan diambil dan akan menghapus data pada database dengan nim sama dengan nilai parameter get hapus.
$sql =mysql_query("select * from mahasiswa");

Membuat variable sql untuk menyimpan perintah query ke database.
<?php
while($data=mysql_fetch_array($sql)){?>
    <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['tanggallahir'];?></td>
            <td><?php echo $data['notlp'];?></td>
            <td><a href="?edit=<?php echo $data['nim'];?>">Edit</a> || <a href="?hapus=<?php echo $data['nim'];?>">Hapus</a></td>
    </tr>
        <?php
$no++;
}
?>

Melakukan perulangan hingga data pada tabel mahasiswa habis setiap perulangan akan menghasilkan row tabel. Sehingga menghasilkan tabel yang berisi data mahasiswa.

Dan jiika semua code ditulis akan seperti  dibawah
<?php
mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("poltek") or die(mysql_error());

$error   ="";
$cp                         =captha();
$nim      ="";
$nama  ="";
$alamat                ="";
$tgl         ="";
$telp      ="";
$no                        =1;
$sql        =mysql_query("select * from mahasiswa");
function captha(){
                $panjangacak    =5;
                $base                                    ='ABCDEFGHKLMNOPQRSTWXYZ123456789';
                $max                                     =strlen($base)-1;
                $acak                                     ='';
                mt_srand((double)microtime()*1000000);
                while(strlen($acak)<$panjangacak){
                                $acak.=$base{mt_rand(0,$max)};
                }
                return $acak;
}
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','$alamat','$tgl','$telp')");
                header("location: ".$_SERVER['PHP_SELF']);
}
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',tanggallahir='$tgl',notlp='$telp' where nim='$nim'");
                header("location: ".$_SERVER['PHP_SELF']);
}

if(isset($_POST['tambah'])){
                $captha                                =$_POST['captha'];
                $captha1              =$_POST['captha1'];
                if($captha!==$captha1){
                                $error   ="Captha Yang Anda Masukkan Tidak Match";
                }else{
                                tambah();
                }
}
if(isset($_POST['edit'])){
                $captha                                =$_POST['captha'];
                $captha1              =$_POST['captha1'];
                if($captha!==$captha1){
                                $error   ="Captha Yang Anda Masukkan Tidak Match";
                }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['tanggallahir'];
                $telp                      =$data_row['notlp'];
}
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>ALMI KURNIAWAN</title>
<style type="text/css">
body{
                background:#09C;
}
th,td{
                border:1px solid #FFF;
}
th{
                height:30px;
}
table{
                border-collapse:collapse;
}
input[type="text"],input[type="number"],input[type="date"]{
                height:25px;
                border:1px solid #666;
                border-radius:3px;
                padding-left:3px;
                font-size:14px;
}
input[type="submit"],input[type="reset"]{
                background:#0CF;
                height:25px;
                border:1px solid #0FC;
                border-radius:3px;
}
input[type="submit"]:hover,input[type="reset"]:hover{
                background:#09F;
                height:25px;
                border:1px solid #0FF;
                cursor:pointer;
                border-radius:3px;
}
</style>
</head>
<body>
<?php
echo "<input size='10' type='text' disabled value='".$cp."'>";
?>
<br />
<br />
<form method="post" action="">
    <input type="hidden" name="captha1" value="<?php echo $cp;?>" />
    <input type="text" name="captha" size="10" placeHolder="captha" />
    <input type="number" name="nim" size="15" placeHolder="nim" value="<?php echo $nim;?>" />
    <input type="text" name="nama" size="20" placeHolder="nama" value="<?php echo $nama;?>" />
    <input type="text" name="alamat" size="20" placeHolder="alamat" value="<?php echo $alamat;?>" />
    <input type="date" name="tgl" size="15" placeHolder="Tgl Lahir" value="<?php echo $tgl;?>" />
    <input type="text" name="telp" size="15" placeHolder="Nomor Telp" value="<?php echo $telp;?>" />
    <input type="submit" name="tambah" value="Tambah" />
    <input type="submit" name="edit" value="Edit" />
    <input type="reset" value="Batal" />
</form>
<?php echo $error;?>
<br />
<table>
                <thead>
                <tr>
                <th>No</th>
            <th width="150">Nim</th>
            <th width="200">Nama</th>
            <th width="200">Alamat</th>
            <th width="150">Tanggal Lahir</th>
            <th width="180">No Telp</th>
            <th width="150">Aksi</th>
        </tr>
    </thead>
    <tbody>
    <?php
                while($data=mysql_fetch_array($sql)){?>
                <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['tanggallahir'];?></td>
            <td><?php echo $data['notlp'];?></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>

0 komentar:

Posting Komentar

luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com