Notes For My Knowledge

Private Trainer, Web , Mobile & Desktop Programmer


Fahmi Basya Kartapura On August - 3 - 2010

Contoh Kasus:

Seorang penanya gagal menginput data mahasiswa baru, dia bertanya bagaimana cara memperbaikinya … ?

Diketahui:

Dia sudah mempunyai form input data mahasiswa baru dengan tampilan  seperti dibawah ini:

Database yang sudah dibuat bernama pendaftaran

Tabel yang sudah dibuat bernama formulir_pendaftaran dengan struktur seperti pada gambar dibawah ini:

File yang sudah dibuat, yaitu:

  • koneksi.php, digunakan untuk memilih database pendaftaran pada MySQL.
  • formulir1.php, digunakan untuk menginput data dan memberikan hasilnya ke file formulir2.php
  • formulir2.php, digunakan untuk memasukkan data ke tabel formulir_pendaftaran

File koneksi.php

<?php
mysql_connect(“localhost”,“root”,“”) or die(“Koneksi gagal”);
mysql_select_db(“pendaftaran”)
?>

File formulir1.php

<html>
<head>
<title>Formulir Pendaftaran Mahasiswa Baru  </title>
</head>
<body bgcolor=”white”>
<form action=”formulir2.php” method=”POST”  >
<font face=arial black size=2 color=”black”>
<h3 align=left>
<center>FORMULIR PENDAFTARN MAHASISWA BARU</center><br>
<center>Tahun Akademik 2010/2011</center><br><br>

</h3>
</font>
<pre>
<tr>
No.Pendaftaran                    <input type=”text” name=”no_pendaftaran” value=”" size=”35″><br>

Program Studi yang dipilih        <select name=”programstudi_pilihan”>
<option value=”Managemen(S1)” selected=”selected”>Managemen(S1)</option>
<option value=”Akuntansi(S1)”>Akuntansi(S1) </option>
<option value=”Teknik Informatika(S1)”>Teknik Informatika(S1)</option>
<option value=”Managemen Perusahaan(DIII)”>Managemen Perusahaan(DIII)</option>
<option value=”Akuntansi(DIII)”>Akuntansi(DIII)</option>
<option value=”Managemen Informatika(DIII)”>Managemen Informatika(DIII)</option>
<option value=”Komputerisasi Akuntansi(DIII)”>Komputerisasi Akuntansi(DIII)</option>
<option value=”Teknik Komputer(DIII)”>Teknik Komputer(DIII)</option>
<option value=”Managemen Informatika(D1)”>Managemen Informatika(D1)</option>
<option value=”Komputerisasi Akuntansi(DI)”>Komputerisasi Akuntansi(DI)</option>
<option value=”Teknik Komputer(DI)”>Teknik Komputer(DI)</option>
</select>

Nama Siswa                        <input type=”text” name=”nama_siswa” value=”" size=”35″><br>
Jenis Kelamin
<input type=”radio” name=”jkel” value=”Laki-laki”>Laki-laki
<input type=”radio” name=”jkel” value=”Perempuan”>Perempuan
</select><br>
Tempat Lahir                      <input type=”text” name=”tempat_lahir” value=”" size=”20″><br>
Tanggal Lahir                     <input type=”text” name=”tanggal_lahir” value=”" size=”35″>(hh/bb/tt)<br>
Agama                             <select name=”agama”>
<option value=”Islam” selected=”selected”>Islam</option>
<option value=”Katolik”>Katolik </option>
<option value=”Protestan”>Protestan</option>
<option value=”Hindu”>Hindu</option>
<option value=”Budha”>Budha</option>
<option value=”Lain-lain”>Lain-lain</option>
</select><br>
Alamat Lengkap                    <input type=”text” name=”alamat_lengkap” value=”" size=”35″>
<input type=”text” name=”alamat_lengkap” value=”" size=”35″><br>
No.Telpon                         <input type=”text” name=”no_telp” value=”" size=”20″><br>
Email                             <input type=”text” name=”email” value=”" size=”35″>
<tr>
<td width=”350″ height=”18″ style=”border-bottom-style: solid; border-bottom-width: 1″ >&nbsp;</td>
<td width=”410″ height=”18″ style=”border-bottom-style: solid; border-bottom-width: 1″ >&nbsp;</td>
</tr>

<input type=submit value=”Daftarkan”> <input type=reset value=”Reset”>

</pre>
</form>
</body>
</html>

File formulir2.php

<?php

include ‘koneksi.php’;

$programstudi_pilihan=$_POST['programstudi_pilihan'];
$nama_siswa=$_POST['nama_siswa'];
$jenis_kelamin=$_POST['jkel'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir=$_POST['tanggal_lahir'];
$agama=$_POST['agama'];
$alamat_lengkap=$_POST['alamat_lengkap'];
$no_telp=$_POST['no_telp'];
$email=$_POST['email'];

$sql=”INSERT INTO formulir_pendaftaran(‘programstudi_pilihan’,'nama_siswa’, ‘jenis_kelamin’, ‘tempat_lahir’, ‘tanggal_lahir’, ‘agama’, ‘alamat_lengkap’, no_telp’, email  )
values( ‘$programstudi_pilihan’,'$nama_siswa’,'$jenis_kelamin’,'$tempat_lahir’, ‘$tanggal_lahir’,'$agama’, ‘$alamat_lengkap’,'$no_telp’, ‘$email’)” ;

?>

Analisa:

Cek kode pada file koneksi.php, hasilnya benar

Cek kode action dari  form pada file formulir1.php yaitu kode seperti dibawah ini:

<form action=“formulir2.php” method=”POST”  >

Hasilnya benar karena actionnya menuju ke file formulir2.php

Cek pengambilan data pada fil formulir2.php, yaitu seperti terlihat pada kode dibawah ini:

$programstudi_pilihan=$_POST['programstudi_pilihan'];
$nama_siswa=$_POST['nama_siswa'];
$jenis_kelamin=$_POST['jkel'];
$tempat_lahir=$_POST['tempat_lahir'];
$tanggal_lahir=$_POST['tanggal_lahir'];
$agama=$_POST['agama'];
$alamat_lengkap=$_POST['alamat_lengkap'];
$no_telp=$_POST['no_telp'];
$email=$_POST['email'];

Hasilnya benar, karena metode pada form dalam file formuli1.php adalah POST maka pengambilan datanya pada file formulir2.php adalah dengan menggunakan $_POST['namaElemenForm'].

Cek Query pada file formulir2.php

$sql=”INSERT INTO formulir_pendaftaran(‘programstudi_pilihan’,‘nama_siswa, ‘jenis_kelamin’, ‘tempat_lahir’, ‘tanggal_lahir’, ‘agama’, ‘alamat_lengkap’, no_telp’, ‘email’ )
values( ‘$prog’ramstudi_pilihan’,'$nama_siswa’,'$jenis_kelamin’,'$tempat_lahir’, ‘$tanggal_lahir’,'$agama’, ‘$alamat_lengkap’,'$no_telp’, ‘$email’)” ;

Pengujian pada Browser

Setelah saya ketik http://localhost/formulir1.php dan isi semua data sampai lengkap maka dia menuju URL http://localhost/formulir2.php, tapi kenapa browsernya blank dan data tidak masuk ke tabel formulir_pendaftaran.

Kesulitan:

Jika terjadi error pada query diatas maka bagaimana melihatnya … , serta kalu sukse gimana mengetahuinya ?

Jawaban:

Kita berikan kode berikut ini dibaris paling bawah pada file formulir2.php untuk memeriksanya:

$hasil=mysql_query($sql);

if (!$hasil){

die(‘Query Salah: ‘ . mysql_error());

}else{

echo “Data berhasil masuk ke database”;
}

Pengujian Pada browser

Setelah diuji pada browser maka ada pesan kesalahan seperti berikut ini:

Query Salah: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ”programstudi_pilihan’,'nama_siswa’, ‘jenis_kelamin’, ‘tempat_lahir’, ‘tanggal_l’ at line 1

Problem yang terjadi

Setelah diperiksa maka ada kesalahan dalam tanda petik satu yang mengapit namaField dari tabel yaitu pada kode beritkut ini:

$sql=”INSERT INTO formulir_pendaftaran(‘programstudi_pilihan’,‘nama_siswa’, ‘jenis_kelamin’, ‘tempat_lahir’, ‘tanggal_lahir’, ‘agama’, ‘alamat_lengkap’, no_telp’,‘email’ )

Solusi:

Buanglah tanda kutip satu yang mangapit nama field dari tabel formulir_pendaftaran sehingga menjadi seperti ini:

$sql=”INSERT INTO formulir_pendaftaran(programstudi_pilihan,nama_siswa, jenis_kelamin, tempat_lahir, tanggal_lahir, agama, alamat_lengkap, no_telp,email )

Pengujian Pada browser

Setelah diuji pada browser maka ada pesan kesalahan seperti berikut ini:

Query Salah: Unknown column ‘nama_siswa’ in ‘field list’

Problem yang terjadi

Error tersebut menyebutkan bahwa field nama_siswa dalam query dibawah ini:

$sql=”INSERT INTO formulir_pendaftaran(programstudi_pilihan,nama_siswa

Tidak ada pada tabel formulir_pendaftaran, yang ada adalah field nama_calonsiswa.

Solusi:

Rubahlah field nama_siswa menjadi nama_calonsiswa pada Query SQL menjadi seperti dibawah ini:

$sql=”INSERT INTO formulir_pendaftaran(programstudi_pilihan,nama_calonsiswa

Pengujian Browser

Sekarang muncul pesan “Data berhasil masuk ke database”

Pengecekan Database


Ya.. benar hasilnya, data sudah masuk ke tabel formulir_pendaftaran.

Muncul Pertanyaan:

Kok data tanggal lahirnya kosong, cuma tampil ’0000-00-00′ … ?

Jawaban:

Coba cari dulu permasalahannya …. ?





Categories: PHP & MySQL

28 Responses

  1. Adit says:

    Terima Kasih Fahmi Basya Kartapura

    (Kira-kira web aplikasi pendaftaran ini bisa dijadikan TA ga ya??)

  2. admin says:

    Ini Contoh Kasus juga saya dapat dari anak kuliah yang sedang TA, jadi ya bisa digunakan untuk TA.

  3. Ryan says:

    mau tanya, inikan formulir, klo id formuirnya ingin kita bikin Kode unik seumpama
    FRM002,selanjutnya FRM003.

    Klo di mysql kan untuk autonumber tidak bisa digabung dengan char, jadi mengakalinya gimana ya??

    thx b4…

  4. admin says:

    Oh,

    Untuk kode misal “FRMXXX” dimana:
    Kata FRM ini tetap
    Melihat dari tiga angka dibelakang kata FRM maka id_formulir di MySQL autonumber dari 1 sampai 1000.

    jadi kamu buat field baru misal “nomor_daftar” dimana field ini adalah gabungan :
    Kata “FRM”
    diikuti oleh id_formulir dimana kamu mempunyai program pemeriksaan jika nilai dari id_formulir itu 1 maka tambahkan dua angka nol didepannya begitu seterusnya.

    Terima Kasih,
    Fahmi Basya Kartapura.

  5. Sandy says:

    Terima Kasih, Share yang sangat bagus.
    sekali lagi Terima Kasih. Keep posting!

  6. pravantio says:

    thx boz….

    sangat bermanfaat..

    saya mw tanya gmna membuat fasilitas edit profil!!!

  7. black_id says:

    masak pakek disable copy paste na

    tapi bagus c

    karna pemerogaman itu ngetik

  8. admin says:

    iya, karena saya tidak suka penjiplakan, saya pernah melihat satu website itu membuat tutorial dan semuanya hasil copy paste dari web saya lalu dia bilang itu hasil tulisan dia. Saya benci banget dah …., hati kesel banget dah …

  9. Welly says:

    Tutorial yang sangat jelas sekali ….

    Terima kasih Fahmi Basya Kartapura

  10. sapi says:

    wah bagi ilmu kug separuh separuh gg bisa dicopy paste…

    pahalanya juga separuh dunks…

    buat copy paste kan bisa dikasih peringatan adjah,,,

    klu buat pembelajaran kug disable copy paste… ::parah

  11. admin says:

    Yang Penting dapat pahala Gan ….

  12. mala says:

    input tanggalnya salah gan, di form ditulis format untuk tanggal dd-mm-yyyy, sedangkan di mysql formatnya yyyy-mm-dd, jadi ga bisa diinput ke database :)

  13. punggawa says:

    terima kasih banget … semoga bermanfaat

  14. maria says:

    thx mas… saya mau bertanya.. jika membuat tanggal, bulan dan tahun menggunakan listbox bagaimana ya??
    apa saya harus menuliskan begitu terus sampai tanggal 31??

  15. Fahmi Basya Kartapura says:

    Kamu bisa lihat pada link http://a2fahmi.com/?p=13010

  16. ahmad says:

    mas bro…..
    query dari table yang di atas seperti apa ya?
    mohon bantuannya, saya lagi mendalami php n my sql…
    thanks….

  17. abduls says:

    mas alhamdulillah blog sampean sangat membnatu saia untuk mengerti akan alur pemrograman PHP ini, saya sudah mencoba tutorial yang sudah mas posting disini,hanya saja saya mengalami kesulitan dalam menangani masalah coding,saya mencoba mengikuti tutorial “membuat form pendaftaran mahasiswa baru dengan php & mysql” tapi pas eksekusi keluar string yang berbunyi ” $hasil=mysql_query($sql); if(!$hasil){ die(‘Query salah:’.mysql_error()); }else{ echo”Data berhasil masuk ke Database”; } ”

    Mohon pencerahanya mas,. ditunggu replaynya
    as_batam@yahoo.com

    makasih

  18. Fahmi Basya Kartapura says:

    Coba saya lihat skripmu, kirim ke fahmibasya@gmail.com

  19. Alfin says:

    Hmmm di file formulir1.php form actionnya formulir4.php. Apa salah ketik ya?

  20. Alfin says:

    no.pendaftaran juga belum ada di database. thanks

  21. Fahmi Basya Kartapura says:

    Iya, salah ngetik, terima kasih atas pemberitahuannya dan sekarang sudah diperbaiki

  22. Fahmi Basya Kartapura says:

    Iya silahkan ditambahkan sendiri

  23. aries says:

    mas.kalau ditambah button print.dan supaya formulir tersebut dapat diprint itu scripnya gmana??

    thanks

  24. Machfudz says:

    Wah, sangat bermannfaat sekali…
    makasih gan tutorialnya…
    :D

  25. oliq says:

    terima kasih Fahmi Basya Kartapura

  26. ALVA says:

    mas admin,,
    saya udah ada tulisan”Data berhasil masuk ke database”
    terus buat ngeliat tabel yang kayak di posting mas admin gimana ya??
    thank buat infonya mas admin

  27. Fahmi Basya Kartapura says:

    Kamu buka alamat http://localhost/phpmyadmin, nah dari situ kamu bisa lihat database dan tabel-tabelmu beserta isi dari tabel

  28. ALVA says:

    Sep mas makasih infonya,, tanya sekali lagi, kok kalo formnya aku coba kosongin kok datanya masih masuk ke database ya??

Copy Protected by Chetans WP-Copyprotect.