Senin, 31 Januari 2011

Memasukkan data dari form HTML ke Database MySQL menggunakan PHP.

Di artikel sebelumnya, saya sudah membahas bagaimana cara membuat database dan tabel MySQL menggunakan bantuan phpMyAdmin. Dan di artikel yang lalu juga sudah dibahas bagaimana cara membuat form menggunakan HTML.

Sekarang, kita akan membahas bagaimana cara memasukkan data dari form HTML ke database MySQL.

Kita akan menggunakan databse dan tabel yang kita buat di artikel sebelumnya, yaitu database 'latihan_php' dan tabel 'pengunjung'. Silahkan lihat artikel 'Membuat database MySQL dan tabel menggunakan phpMyAdmin', tepat sebelum artikel ini.

Selanjutnya kita buat dulu formnya. Buat sebuah file dengan nama 'insert-db.html'

------------------ mulai kode HTML ------------------

<html><head><title>input data dari form</title></head>
<body>
<form method="post" action="proses_form.php">
<h1>Buku Tamu</h1>
Nama: <input type="text" name="nama" maxlength="20" size="20">
<br>
Alamat: <textarea name="alamat" cols="50" rows="4"></textarea>
<br>
Telepon: <input type="text" name="telepon" maxlength="20" size="20">
<br>
<input type="reset" value="Reset"> |
<input type="submit" value="OK">
</form>

</body></html>

------------------ akhir kode HTML ------------------

Selanjutnya adalah, membuat halaman untuk memproses data nya. Buatlah file dengan nama 'proses_form.php'.

------------------ mulai kode PHP ------------------

<html><head><title>proses data dari form</title></head>
<body>
<h1>proses simpan buku tamu</h1>
<?
///membuat koneksi ke database
$server="localhost"; ///nama server
$username="root"; ///nama username mysql
$password="1234"; ///password, kosongkan jika tidak ada
$database="latihan_php"; ///nama database yang dipilih

mysql_connect($server, $username, $password) or die ("Koneksinya Gagal"); ///koneksi ke database
mysql_select_db($database) or die ("Databasenya Gak Ada"); ///memilih database, dan menampilkan pesan jika gagal
///mengambil data dari form
$nama=$_POST[nama];
$alamat=$_POST[alamat];
$telepon=$_POST[telepon];

///input ke tabel pengunjung
$input=mysql_query("INSERT INTO pengunjung (nama_pengunjung, alamat, telepon) VALUES ('$nama', '$alamat', '$telepon')");
///cek sudah terinput atau belum
if($input) ///jika sukses
{
echo "Buku tamu berhasil disimpan";
}
else ///jika gagal
{
echo "Buku tamu gagal disimpan";
}
?>
| <a href="insert-db.html">OK</a>
</body></html>

------------------ akhir kode HTML ------------------

Nah, selesai. Jangan lupa simpan semua file nya di htdocs. Kalau nggak, tidak akan jalan.

Sekarang coba buka browser dan ketikkan url nya: localhost/insert-db.html

Jika sudah, isikan datanya dengan benar di semua field. Dari nama, alamat dan telepon.

Jika sudah klik 'ok'. Jika berhasil maka akan muncul pesan 'Buku tamu berhasil disimpan'. Dan jika anda melihat ke tabel nya lewat phpMyAdmin, maka anda akan melihat datanya sudah ada dalam tabel.

Cara melihat tabelnya sebagai berikut: ketik 'localhost/phpmyadmin' di browser. Lalu di drop down pilihan database pilih database 'latihan_php'. Akan muncul daftar tabel di bawahnya. Klik nama tabel 'pengunjung'. Lalu pindah ke frame kanan, klik 'Browse'. Dan semua data di tabel 'pengunjung' akan ditampilkan.

Keterangan:

sintaks untuk insert ke tabel adalah:
$nama_variabel=mysql_query(INSERT INTO nama_tabel (kolom_tabel1, kolom_tabel2) VALUES ('$nilai_kolom1', '$nilai_kolom2'));

begini,
+ $nama_variabel: untuk membedakan INSERT yang satu dengan INSERT yang lain, jika ada di satu file.
+ mysql_query: adalah sintaks 'mysql' untuk melakukan 'query'. Bisa INSERT, UPDATE, SELECT, DELETE dsb.
+ INSERT INTO: sintaks mysql untuk menginput ke tabel
+ nama_tabel: jelas, nama tabelnya
+ kolom_tabel1: isikan nama kolom yang ada di tabel
+ VALUES: data yang akan dimasukkan
+ $nilai_kolom1: nilai yang akan diinput.

INGAT! nilai_kolom harus sama posisinya dengan kolom_tabel nya.

Contoh: (nama, alamat, telepon) maka VALUES nya harus ('$nama', '$alamat', '$telepon').
Kalau tidak sama posisinya misal, (nama, alamat, telepon) lalu VALUES nya ('$alamat', '$telepon', '$nama') maka nanti kolom 'nama' diisi nilai 'alamat', kolom 'alamat' diisi 'telepon' dan 'telepon' diisi 'nama'. Dan akhirnya data jadi tidak akurat... Ok?

Oh iya. Pada artikel ini kita belum membuat pencegahan supaya field tidak boleh kosong, telepon harus diisi angka. Jadi kalau anda tekan 'OK' dengan field kosong atau memasukkan huruf di telepon, maka data akan tetap tersimpan di tabel. Bagaimana cara mencegahnya? Sabar ya... Tunggu di artikel selanjutnya...

30 komentar:

  1. Maf bos htdoc di cpnel apa dimana bos?
    kalau boleh tau bikin form login bos gimana bos kirimin ya ke email ini

    yan_setiaone@yahoo.com atau
    yan_setiawan@look-set.com
    tanks bos atas infonya

    BalasHapus
  2. thanks ya..
    posting ini sngat mmbantu...

    BalasHapus
  3. makasih gan..
    jadi cpt kelar tugas ane..!!

    BalasHapus
  4. @setiawan: htdocs ada di cpanel. untuk form login nanti saya buat artikelnya.

    @gunawan: terima kasih

    @upix: terima kasih

    BalasHapus
  5. Sangat bermanfaat..

    Login udah di posting belum ya??

    BalasHapus
  6. kok masih error ya...
    padahal udah saya copas semua...

    BalasHapus
  7. ya mantab makasih tas info2nya,,,,

    BalasHapus
  8. kok, g isa masuk ke phpmyadmin y,,,
    padahal di jalankan di browser udah bisa.

    BalasHapus
  9. mas, kok datanya ngak masuk ke xampp ya? padahal udah saya isi
    kira" apa yang salah mas?
    semuanya sudah sama, dari nama, userscore, titik,dll

    BalasHapus
    Balasan
    1. sudah disimpan di folder
      "C:\XAMPP\htdocs\ "??

      Hapus
    2. sama bang gk bisa masuk datanya yg udah di input d html, di xampp nya masih kosong

      Hapus
  10. bisa pak., keren.,
    lw untuk artikel login dan nampilkan data dari databasenya ke html gmn y pak

    BalasHapus
  11. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  12. Teima kasih mas Andhika ata Ilmunya semoga semakin jaya dengan selalu membagi informasi

    BalasHapus
  13. mas, setelah saya klik submit kenapa malah jadi ngedowload file phpnya, tolong bantuannya makasih

    BalasHapus
  14. tugas saya terbantu, makasih gan

    BalasHapus
  15. cara import ke databasenya gmn gan ? kok waktu saya klik "ok" kok ggl ?

    BalasHapus
  16. Terima kasih artikel anda sangat bermanfaat untuk saya pelajari sendiri
    My blog
    My Campus

    BalasHapus
  17. Maaf, Saya pas ok kok gagal ya. mohon bantuan nya mas, Saya sudah simpan di htdocs. dan ada tulisan error di line 11, itu error dimananya ya masih kurang paham saya.

    BalasHapus
  18. saya sudah coba tapi datanya tidak masuk di dataase


    saya juga sudah coba ini tapi hasilnya sama



    ,,

    BalasHapus
  19. makasih bang bro

    BalasHapus