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...
Read More...