Membuat aplikasi data mahasiswa dengan PHP - Bagian 2

Melanjutkan artikel saya tentang bagaimana membuat aplikasi data mahasiswa dengan php bagian 1, pada bagian 2 ini akan saya bahas tentang bagaimana membuat form/formulir input data mahasiswa, membuat proses simpan dan upload photo mahasiswa.

Membuat form input data mahasiswa

Sesuai dengan susunan database yang sudah saya rancang sebelumnya maka saya akan membuat sebuah form dengan kode sebagai berikut dan disimpan dengan nama input-data-mahasiswa.php :

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01  Transitional//EN">
  <html>
  <head>
  <title>Entry Mahasiswa</title>
  <meta http-equiv="Content-Type" content="text/html;  charset=iso-8859-1">
  </head>
  <body>
  <form action="simpan-data-mahasiswa.php"  method="post" enctype="multipart/form-data"  name="FMHS">
  <table  width="452" border="0" align="center"  cellpadding="0" cellspacing="1"  bgcolor="#669900">
  <tr>
  <td  height="40" align="center"  bgcolor="#669900"><strong><font  color="#FFFFFF">ENTRY DATA</font></strong></td>
  </tr>
  <tr>
  <td  bgcolor="#FFFFFF"><table width="452"  border="0" align="center" cellpadding="5"  cellspacing="0">
  <tr><td  width="113">NIM</td><td width="11">:</td>
  <td  width="237"><input name="nim" type="text"  id="nim" size="12" maxlength="12"></td>
  </tr>
  <tr><td>Nama</td><td>:</td>
  <td><input  name="nama" type="text" id="nama"  size="30" maxlength="30"></td>
  </tr>
  <tr><td>Tempat  Lahir</td><td>:</td>
  <td><input  name="tempat_lahir" type="text" id="tempat_lahir"  size="30" maxlength="30"></td>
  </tr>
  <tr><td>Tanggal  Lahir</td><td>:</td>
  <td><select name="tgl" size="1"  id="tgl">
  <?php
  for ($i=1;$i<=31;$i++)
  {
  echo "<option  value=".$i.">".$i."</option>";
  }
  ?>
  </select>
  <select  name="bln" size="1" id="bln">
  <?php
  $bulan=array("","Januari","Pebruari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
  for ($i=1;$i<=12;$i++)
  {
  echo "<option  value=".$i.">".$bulan[$i]."</option>";
  }
  ?>
  </select>
  <select  name="thn" size="1" id="thn">
  <?php
  for ($i=1985;$i<=2000;$i++)
  {
  echo "<option  value=".$i.">".$i."</option>";
  }
  ?>
  </select></td>
  </tr>
  <tr>
  <td>Alamat</td>
  <td>:</td>
  <td><textarea name="alamat" cols="30"  rows="5" id="alamat"></textarea></td>
  </tr>
  <tr><td>Jenis  Kelamin</td><td>:</td>
  <td><input  name="jenis_kelamin" type="radio" value="L" checked> Laki-laki <input  name="jenis_kelamin" type="radio" value="P"> Perempuan  </td>
  </tr>
  <tr><td>Photo</td><td>:</td>
  <td><input  type="file" name="photo"  id="photo"></td>
  </tr>
  <tr><td  colspan="3" align="center"><input  name="fok" type="submit" id="fok"  value="OK">
  <input  name="fulang" type="reset" id="fulang"  value="Ulangi">
  <input name="fulang2"  type="button" id="fulang2" value="Batal"  onClick="javascript:history.back()"></td>
  </tr>
  </table></td>
  </tr>
  </table>
  </form>
  <div  align="center"><a href="index.php">Menu  Utama</a></div>
  </body>
</html>

Hasil kode tersebut jika dijalankan akan seperti gambar berikut :

form/formulir input data mahasiswa

Form dapat didownload disini. Download Form Input data Mahasiswa.

Membuat Proses Simpan dan Upload photo mahasiswa

Setelah form selesai sekarang saya membuat file untuk menyimpan data yang diisikan lewat formulir entry, nama file sesuai seperti yang saya buat di
<form action="simpan-data-mahasiswa.php" …> yaitu simpan-data-mahasiswa.php. Isinya seperti berikut :

 <?php
  include "koneksi.php";
  $nim=$_POST['nim'];
  $nama=$_POST['nama'];
  $tempat_lahir=$_POST['tempat_lahir'];
  $tanggal_lahir =  $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl']; 
  $alamat=$_POST['alamat'];
  $jenis_kelamin=$_POST['jenis_kelamin'];
  //masing-masing variabel yang diawali dengan $_POST harus sesuai dengan  nama yang dibuat dalam form
  if (empty($nim))
  {              
     die("Isikan  NIM!"); //Berhenti dan munculkan pesan jika nim tidak diisi
  } 
  elseif(empty($nama))
  {
     die("Isikan  Nama!"); //Berhenti dan munculkan pesan jika nama tidak diisi
     //anda bisa  tambahkan struktur if yang lain jika ada data yang perlu dicek
  }
  else
  {
     $cekdata="select  nim from tb_mahasiswa where nim='$nim'";
     $ada=mysql_query($cekdata)  or die(mysql_error());
     if(mysql_num_rows($ada)>0)
     { die("NIM  telah Terdaftar!"); }
     else  {
  if (!empty($_FILES["photo"]["tmp_name"]))
  {
    $namafolder="photo/";  //tempat menyimpan file
    $jenis_gambar=$_FILES['photo']['type'];
    if($jenis_gambar=="image/jpeg"  || $jenis_gambar=="image/jpg" || $jenis_gambar=="image/gif"  || $jenis_gambar=="image/png")
    {           
  $photo  = $namafolder . basename($_FILES['photo']['name']);       
  if  (!move_uploaded_file($_FILES['photo']['tmp_name'], $photo))
  { die("Gambar gagal dikirim"); }
    } else  { die("Jenis gambar yang anda kirim salah. Harus .jpg .gif .png"); }
  }  //end if cek file upload
  mysql_query("insert  into tb_mahasiswa(nim,nama,tempat_lahir,tanggal_lahir,alamat,jenis_kelamin,photo)  " . 
  "values('$nim','$nama','$tempat_lahir','$tanggal_lahir','$alamat','$jenis_kelamin','$photo')")  or die(mysql_error());
  echo  "Berhasil";
  header("location:laporan-data-mahasiswa.php");
     } //end if  terdaftar
}     
?>

Setelah selesai form input mahasiswa, anda masuk ke folder data-mahasiswa, lalu buat sebuah folder baru diberi nama photo. Kemudian coba jalankan aplikasi seperti awal tadi (lihat bagian 1 menjalankan menu), masuk ke menu utama http://localhost/data-mahasiswa  kemudian masuk ke menu input data mahasiswa.

Kemudian coba diisikan lengkap dengan gambar dan disimpan.

Jika pas selesai ternyata ada error header... , seperti gambar berikut :

error header php

 

Anda jangan panik dulu, data sebenarnya sudah masuk tapi ada bagian baris pertama pada file koneksi.php yang harus anda tambahkan, lihat perubahan pada baris pertama :

<?php
ob_start(); //ditambahkan untuk mengabaikan pengiriman header, berlaku juga untuk mengabaikan pesan error header
$dbserver="localhost";
$dbusername="root";
$dbpassword="";
$dbname="db_datamhs";
mysql_connect($dbserver,$dbusername,$dbpassword) or die(mysql_error());
mysql_select_db($dbname) or die (mysql_error());
?>

setelah anda perbaiki file koneksi.php, coba refresh lagi...

Ternyata muncul lagi pesan error... semuanya anda abaikan dulu. Sekarang kita coba cek dulu apakah data yang dikirim sudah masuk database atau belum, caranya anda buka phpmyadmin, masuk ke database db_datamhs, tb_mahasiswa, coba anda browse apakah ada baris baru disitu??? kalau ya berati data memang berhasil tersimpan.

Setelah itu kita cek lagi file gambar yang diupload, buka folder data-mahasiswa/photo, apakah ada file gambar disitu??? kalau ya berarti data sudah masuk dan photo juga sudah terkirim. PROSES SIMPAN SELESAI.

File php untuk simpan data mahasiswa dapat didownload disini. Download Simpan Data Mahasiswa.

Kemudian kita akan buat laporan dan delete data..saya akan bahas ini pada bagian 3 membuat aplikasi data mahasiswa

Semoga Bermanfaat, kritik saran, koreksi, pertanyaan jangan sungkan anda sampaikan. Silahkan berbagi buat yang lain jika ini menurut anda baik.

Zainal Hakim

Membuat aplikasi data mahasiswa dengan PHP - Bagian 1 Bagian 2 - Bagian 3 - Bagian 4 - Bagian 5 - Bagian 6

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 5
    Melanjutkan artikel saya tentang membuat aplikasi data mahasiswa dengan php, sekarang sedikit saya kembangkan untuk melindungi ruang pengelolaan data mahasiswa dengan sistem login pengguna/user. Ini diperlukan hampir pada tiap aplikasi yang dibangun agar tidak semua orang yang mengakses halaman pengelola bisa langsung melihat atau melakukan perubahan data tanpa proses login terlebih dahulu.
  • Membuat nomor transaksi diawali 0000
    Jika kita membuat aplikasi yang berhubungan dengan proses transaksi maka akan membuat penomoran secara otomatis yang format nomornya terdiri dari beberapa angka sesuai urutan transaksinya. Nomor transaksi biasanya diawali dari angka terkecil yaitu satu tapi ditampilkan dalam digit angka ratusan atau ribuan. Misal untuk transaksi no 1 maka akan ditampilkan dengan angka 001 atau 0001.
  • Menghindari duplikat data dalam mysql dengan php
    Menghindari duplikat data dalam mysql bisa dilakukan dengan dua cara, pertama dengan mendefinisikan salah satu field/kolom sebagai primary key atau index, dan cara kedua adalah dengan membuat rutin perintah pengecekan data pada saat akan melakukan insert data. Berikut ini saya akan berbagi tentang bagaimana membuat rutin perintah php yang digunakan untuk menghindari duplikat data dalam mysql.
  • Cara membuat dan menjalankan PHP
    Cara membuat dan menjalankan PHP. Untuk membuat file php kita bisa gunakan editor apa saja yang penting dapat menyimpan dalam format text, disini saya akan gunakan editor sederhana yang ada dilingkungan windows yaitu notepad.
  • Membuat fungsi cek data mysql dengan php
    Proses pengecekan apakah data sudah ada dalam database tentunya pasti kita lakukan berulang-ulang dalam sebuah aplikasi php. Untuk mempermudah proses pengecekannya kita memerlukan sebuah fungsi/function yang gampang dipanggil setiap saat. Berikut ini saya ingin berbagi tentang bagaimana membuat fungsi tersebut.

Kiriman terbaru