Tutorial : Form Input Data Ke Database Dengan If-Else – Part 2

 Pada artikel sebelumnya, kita sudah coba membuat form login dengan menggunakan PHP dan MySQL sebagai penampung database-nya. Kekurangan form input data pada artikel tersebut ialah tidak adanya pengkondisian (IF) sehingga data akan tetap ter-input meskipun tidak ada nilai/value pada form yang tersedia, dan itu tidak ganteng sama sekali. Sedangkan pada artikel ini kita akan coba menyempurnakan kembali beberapa skrip pada artikel tersebut dengan menggunakan pengkondisian (IF) agar hal semacam itu tidak terjadi.

Masih pada form input yang sama, silahkan buka kembali file tiga.php dan perhatikan isi kode berikut :

<?php
include "dua.php";
$name = $_REQUEST['nama'];
$alm = $_REQUEST['alamat'];
$telp = $_REQUEST['telp'];
$mysqli = "INSERT INTO input_tabel (nm, addr, tlp) VALUES ('$name', '$alm', '$telp')";
$result = mysqli_query($conn, $mysqli);
if ($result) {
echo "Input berhasil";
} else {
echo "Input gagal";
}
mysqli_close($conn);
?>
Disini kita akan coba menambahkan sebuah kondisi dimana jika nilai/value-nya tidak ada atau kosong, maka data tidak akan ter-input dan akan menampilkan pesan error. Berikut kode setelah di tambahkan kondisi (IF).
<?php
include "dua.php";
$name = $_REQUEST['nama'];
$alm = $_REQUEST['alamat'];
$telp = $_REQUEST['telp'];
//KONDISI
if (!empty($name) && !empty($alm) && !empty($telp)) {
$mysqli = "INSERT INTO input_tabel (nm, addr, tlp) VALUES ('$name', '$alm', '$telp')";
$result = mysqli_query($conn, $mysqli);
if ($result) {
echo "Input berhasil";
} else {
echo "Input gagal";
}
} else {
if (empty($name)) {
echo "Nama harus di isi";
}
if (empty($alm)) {
echo "Alamat harus di isi";
}
if (empty($telp)) {
echo "Telpon harus di isi";
}
}
mysqli_close($conn);
?>

Pada kode di atas, kita menambahkan IF () sebelum sintak $mysqli(); menggunakan kondisi ‘!empty()‘, dimana jika $name di isi, maka data akan di input ke dalam database dan akan menampilkan pesan ‘Input berhasil‘ (perhatikan tanda kurawal ‘{ }’). Namun jika kosong (else), maka akan menampilkan pesan ‘Nama harus di isi‘. Begitu juga dengan $alm dan $telp.

!empty(); merupakan kebalikan dari empty(); di tandai dengan tanda ‘!’. Kalau empty(); di katakan ‘kosong‘, maka !empty(); bisa di katakan ‘tidak kosong‘ karena terdapat tanda ‘!’ yang berarti kebalikannya. Tanda ‘!’ bisa di gunakan juga pada isset();unset();, dll.

Pada skrip di atas, ‘if (!empty($name))‘ bisa di definisikan ‘Jika $name tidak kosong atau ada isinya‘, maka tampilkan (echo) ‘Input berhasil‘.

Sedangkan pada skrip ‘if (empty($name))‘ bisa di definisikan ‘Jika $name kosong’, maka tampilkan (echo) ‘Nama harus di isi‘.

Kurang lebih penjelasannya seperti itu, mohon maaf jika masih banyak kekurangan namanya juga masih sama-sama belajar dan masih banyak yang belum di ketahui. Mohon di revisi jika memang terjadi kesalahan pada penulisan, penjelasan, dll.

Pada tutorial berikutnya kita akan coba menampilkan isi database dari data yang sudah kita input sebelumnya.

Source code :

Download Source Code – Part 2 IF

Sumber : https://www.gaswad.com/tutorial-form-input-data-ke-database-dengan-if-else-part-2/

Tutorial : Form Input Data Ke Database Dengan PHP-MySQL (Sederhana) – Part 1

 Pada tutorial kali ini kita akan coba membuat form input ke database komplit dengan skrip untuk koneksi ke database-nya, untuk lebih jelasnya langsung saja kita baca tutorial di bawah ini,

Pertama kita buat dulu 3 buah file, namanya bebas asal berekstensi *.PHP. Kenapa di butuhkan 3 buah file? Sebenarnya di bikin 1 file saja juga cukup, tapi di jamin bakal ngejelimet, oleh karena itu lebih baik di pisah-pisah agar mudah dalam pengembangannya. Dalam tutorial ini penulis membuat file-file yang antara lain :

  1. satu.php, file ini akan berisi kode yang nantinya berfungsi untuk menampilkan form input-nya.
  2. dua.php,  file ini yang berfungsi sebagai konfigurasi PHP-nya agar data yang di proses di file tiga.php di bawah dapat tersimpan ke dalam database, jadi database-nya nanti akan kita buat di langkah 2 di bawah.
  3. tiga.php, file ini yang akan memproses data yang di input melalui form input di file satu.php.

Pastikan untuk Virtual Server pada PC kalian sudah di jalankan terlebih dahulu. Apa itu Virtual Server dan fungsinya silahkan kalian merujuk ke link berikut.

Jika sudah, masuk ke dalam folder /htdocs dari Virtual Server XAMPP kalian, buat folder baru di folder tersebut dengan nama ‘/form_input‘, lalu masukan ke tiga file tadi ke dalam folder /form_input.

 

Langkah 1. (Form Input)

satu.php

1. Buka file satu.php, masukan tag HTML standar seperti <title>, <head>, <body>, dll. lalu di bagian tag <body> buat form untuk input datanya, berikut skripnya :

<body>
<form method="post" action="tiga.php">
Nama : <input type="text" name="nama" /><br />
Alamat : <input type="text" name="alamat" /><br />
Telpon : <input type="text" name="telp" /><br />
<input type="submit" value="Submit" />
</form>
</body>

Penjelasan

method, pada bagian ‘method‘ yang di huruf tebal di atas boleh kalian isi ‘post‘ atau ‘get‘, perbedaan POST dan GET ini kurang lebih penjelasannya sebagai berikut.

Kalau kalian perhatikan pada form di atas terdapat 3 value, yaitu name=”namaname=”alamat dan name=”telp, data input dari ketiga value ini yang akan di proses di file dua.php nanti, kalau kalian menggunakan GET, setelah di submit maka nilai dari value yang kalian masukan akan tampil di URL browser kalian.

http://localhost/satu.php?name=otong&alamat=bekasi&telp=082373843

Sedangkan kalau kalian menggunakan POST pada method-nya, maka nilai dari value yang kalian masukan tidak akan di tampilkan.

http://localhost/satu.php

Sedangkan dari sisi sekuritinya otomatis GET sedikit kurang jika di bandingkan dengan POST, namun bukan berarti GET lebih buruk, ada beberapa fitur GET yang lebih baik daripada POST. Mengenai keunggulan-keunggulannya kalian bisa coba browsing sendiri di Om’ Google.

actionaction pada form di atas bisa di istilahkan sebagai navigator, pada saat tombol Submit di klik nanti si tombol ini akan ‘nanya‘ ke action, data-data yang sudah kalian input ini mau di proses dimana, lalu si action bilang, ‘di dua.php aja…‘, oleh karena itu untuk action kita isi nama file dua.php agar data input-nya bisa di proses di file tersebut.

typetype atau tipe input dalam istilah yang lebih mudahnya yaitu jenis kolom, kalau kolomnya untuk input nama berarti tipe input-nya ‘text‘, kalau buat email berarti tipe inputnya ‘email‘, kalau buat nomor berarti tipe input-nya ‘number‘, begitu seterusnya, attributnya sendiri bermacam-macam, jelasnya kalian bisa lihat di link berikut.

HTML Attribute

namename akan berfungsi sebagai nama dari kolom input itu sendiri, name perlu di isi karena nanti berfungsi sebagai ‘inisial‘ di dalam file proses php (tiga.php).

Jika sudah selesai sekarang tinggal buka browser kalian lalu akses ‘http://localhost/form_input/satu.php‘, kurang lebih tampilan form-nya akan seperti ini :

 

Langkah 2. (Koneksi Database)

Setelah layout atau tampilan form input sudah selesai kalian buat, selanjutnya kita akan membuat koneksi PHP ke database, oleh karena itu silahkan terlebih dahulu buat database melalui phpMyAdmin dengan mengakses ‘http://localhost/phpmyadmin‘.

Setelah itu silahkan kalian buat database-nya, misal dengan nama ‘input_tabel‘. Lalu berdasarkan input value yang sudah kalian buat di atas, maka untuk query-nya bisa berupa nmaddr dan tlp atau yang lainnya. Jangan lupa untuk menambahkan query ID dan set Auto Increment untuk query ID.

Query nmaddr dan tlp akan menyimpan value atau nilai yang kita masukan melalui form input setelah tombol Submit di klik.

dua.php

Pada file dua.php silahkan kalian masukan skrip berikut :

<?php
$host ="localhost"; //host server
$user ="root"; //user login phpMyAdmin
$pass ="root"; //pass login phpMyAdmin
$db ="input_form"; //nama database
$conn = mysqli_connect($host, $user, $pass, $db) or die ("Koneksi gagal");
?>

Skrip di atas merupakan skrip untuk koneksi ke database-nya, sebenarnya ada banyak skrip yang bisa kita gunakan untuk mengkoneksikan PHP ke database, salah satunya skrip di atas.

mysqli_connect();, berfungsi untuk memberikan akses ke dalam database dengan memberikan autentikasi yang berupa nama hostuserpass dan nama_database($db) sebagai data login-nya.

or die;, akan menampilkan pesan error jika terjadi kesalahan pada saat proses autentikasi.

Setelah selesai jangan lupa untuk menyimpan perubahan yang sudah kalian lakukan.

 

Langkah 3. (Process Input)

tiga.php

Setelah database, tabel, query serta skrip koneksi database-nya sudah kalian buat, selanjutnya tinggal membuat skrip yang berfungsi untuk memproses hasil input yang kalian masukan di form input agar data-data input-nya dapat tersimpan ke dalam database. silahkan masukan skrip berikut di folder tiga.php.

<?php
include "dua.php";
$name = $_REQUEST['nama'];
$alm = $_REQUEST['alamat'];
$telp = $_REQUEST['telp'];
$mysqli = "INSERT INTO input_tabel (nm, addr, tlp) VALUES ('$name', '$alm', '$telp')";
$result = mysqli_query($conn, $mysqli);
if ($result) {
echo "Input berhasil";
} else {
echo "Input gagal";
}
mysqli_close($conn);
?>

include ‘dua.php’;, sintak ini akan memanggil perintah yang ada di dalam file dua.php di mana di dalamnya berupa skrip untuk koneksi ke database, jika data akses ke database ada yang tidak sesuai maka akan menampilkan pesan error.

$name, $addr, $telp, berfungsi sebagai ‘inisial‘ yang akan menyimpan nilai/value yang nantinya akan di masukan ke dalam database, dalam praktik ini, string tersebut tidak harus berupa $name, $addr atau $telp, bisa berupa $tes1, $tes2, $tes3, dsb.

$_REQUEST[], merupakan array assosiatif yang berisi nilai/value dari fungsi $_GET, $_POST atau $_COOKIE yang ada pada file satu.php$_REQUEST dapat mengambil data dari $_POST atau $_GET. Contoh skrip di atas, $_REQUEST mengambil nilai dari nama, alamat dan telp pada file satu.php.

Pada skrip di atas tidak harus selalu menggunakan $_REQUEST, namun $_POST atau $_GET juga bisa. Kalau menurut teman yang jago koding, penggunaan $_GET atau $_COOKIE sudah jarang, $_POST masih ada beberapa yang menggunakan namun di sarankan menggunakan $_REQUEST di karenakan masalah keamanan.

('INSERT INTO NAMA_TABEL (query1, query2, query3, dsb.) VALUE ('$string1', '$string2', '$string3, $dsb.')');

INSERT INTO, merupakan perintah yang berfungsi untuk memasukan nilai ke dalam NAMA_TABEL dimana di dalamnya terdapat query1, query2, query3, dsb., sedangkan yang di inputkan merupakan VALUE dari ‘$string1‘, ‘$string2‘, ‘$string3‘, dsb.

ECHO, perintah PHP yang akan menampilkan deskripsi yang kita masukan. Pada skrip di atas, perintah ECHO akan menampilkan ‘Input berhasil‘ jika nilai berhasil di input.

Sampai sini kita sudah dapat meng-input data berupa Nama, Alamat dan No Telp ke dalam database, kekurangan dari skrip di atas ialah belum ada kondisi (IF), jadi akan tetap terinput ke dalam database meskipun nilainya kosong, dengan kata lain data akan tetap tersimpan ke dalam database meskipun kita tidak memasukan Nama, Alamat atau Telp pada form yang tersedia.

Pada tutorial berikutnya, kita akan coba memodifikasi skrip di atas (tiga.php) dengan menggunakan kondisi (IF). Yang di dapat jika menggunakan kondisi (IF) ini ialah nilai tidak boleh NULL, jadi tiap form harus di isi agar data dapat ter-input ke database.

* Untuk penamaan database dan tabel di usahakan jangan ada spasi atau simbol ‘ – ‘, sebagai gantinya kalian bisa menggunakan simbol ‘ _ ‘ (underscored) sebagai pemisah dan usahakan pula baik nama database dan tabel menggunakan huruf kecil.

Source code :

Download Source Code – Part 1

Sumber : https://www.gaswad.com/tutorial-form-input-data-ke-database-dengan-php-mysql-sederhana-part-1/