PHP (Input Data) dan MySQL

25
I Putu Arya Dharmaadi, S.T., M.T. Dosen Jurusan Teknologi Informasi Universitas Udayana http://aryadharmaadi.com

Transcript of PHP (Input Data) dan MySQL

Page 1: PHP (Input Data) dan MySQL

I Putu Arya Dharmaadi, S.T., M.T.

Dosen Jurusan Teknologi Informasi

Universitas Udayana

http://aryadharmaadi.com

Page 2: PHP (Input Data) dan MySQL

7 November 2015 aryadharmaadi.com 2

Page 3: PHP (Input Data) dan MySQL

Pendahuluan PHP adalah bahasa scripting yang kuat yang cocok untuk pengembangan HTML

PHP merupakan tools yang dimanfaatkan untuk membuat web HTML menjadi dinamis

Sedangkan MySQL adalah database management system (DBMS) yang bersifat open source yang sangat populer di dunia

Dalam pengembangan web HTML dinamis, PHP berkolaborasi dengan MySQL untuk menyimpan data yang diinputkan oleh user

7 November 2015 aryadharmaadi.com 3

Page 4: PHP (Input Data) dan MySQL

Input Data ke PHP Bagaimana cara PHP untuk mendapatkan input dari user?

Gunakan Form HTML!

User memasukkan data pada form, kemudian di-”tangkap” oleh server PHP.

Dan oleh PHP, data tersebut disimpan pada variabel, kemudian diproses (atau disimpan ke database)

7 November 2015 aryadharmaadi.com 4

Page 5: PHP (Input Data) dan MySQL

Memulai Project Sederhana Asumsi bahwa anda sudah meng-install aplikasi web server, contoh: LAMPP (jika Linux), atau XAMPP (jika Windows)

Buatlah folder baru (misal: latihan) pada folder htdoc di direktori anda menginstall XAMPP

Lalu buatlah sebuah file html untuk menginputkan script html form

7 November 2015 aryadharmaadi.com 5

Page 6: PHP (Input Data) dan MySQL

7 November 2015 aryadharmaadi.com 6

Page 7: PHP (Input Data) dan MySQL

Membuat Form HTML File: input_nama.html

7 November 2015 aryadharmaadi.com 7

Page 8: PHP (Input Data) dan MySQL

Penjelasan Code Action pada atribut form (action=“simpan_nama.php”) bertujuan untuk memberitahu browser bahwa file tersebut yang akan memproses form HTML.

Name pada atribut input (name=“namaku”) akan menjadi nama variabel yang akan digunakan oleh PHP untuk menangkap data input oleh user.

Code input type=“submit” akan menghasilkan sebuah tombol yang jika klik oleh user, akan mengirimkan data form html ke file tujuan (simpan_nama.php).

7 November 2015 aryadharmaadi.com 8

Page 9: PHP (Input Data) dan MySQL

Hasil Sementara

7 November 2015 aryadharmaadi.com 9

Page 10: PHP (Input Data) dan MySQL

Membuat File PHP sebagai Penerima Data

Berdasarkan form input_nama.html tersebut, akan dilanjutkan membuat file PHP yang berfungsi sebagai “penangkap” kiriman data

Diasumsikan bahwa anda sudah mengetahui dasar-dasar sintaks PHP

Untuk “menangkap” data, digunakan fungsi $_GET atau $_POST, tergantung attribute method yang digunakan pada form HTML

Pada contoh file input_nama.html, digunakan method=“post”

7 November 2015 aryadharmaadi.com 10

Page 11: PHP (Input Data) dan MySQL

File simpan_nama.php

7 November 2015 aryadharmaadi.com 11

Page 12: PHP (Input Data) dan MySQL

GET vs POST Method GET diproses lebih sederhana karena permintaan dikirim melalui alamat URL

Contoh: http://aryadharmaadi.com/index.php?nama=arya&hobi=futsal

Method POST lebih tertutup dan data tersimpan lebih aman selama pengiriman karena data tidak terlihat. Data dikirimkan melalui body of request.

Method POST bersifat non-cacheable.

7 November 2015 aryadharmaadi.com 12

Page 13: PHP (Input Data) dan MySQL

Hasil Running

7 November 2015 aryadharmaadi.com 13

Page 14: PHP (Input Data) dan MySQL

Koneksi PHP dan MySQL Untuk menghubungkan PHP ke MySQL, dibutuhkan fungsi: mysqli_connect([string server [, string username [, string password [, string database_name [, int port_number [, string socket]]]]]])

Contoh:

Untuk menutup koneksi, gunakan:

mysqli_close($db);

7 November 2015 aryadharmaadi.com 14

Page 15: PHP (Input Data) dan MySQL

Query MySQL Untuk memasukkan query ke MySQL melalui PHP, digunakan fungsi: mysqli_query ( resource link_identifier, string query [, int mode = MYSQLI_STORE_RESULT])

Contoh:

7 November 2015 aryadharmaadi.com 15

Page 16: PHP (Input Data) dan MySQL

Prepared Statement Adalah fitur yang digunakan untuk mengeksekusi SQL statement berulang-ulang dengan sangat efisien.

Prepare Statement mengandung SQL Statement Template, dimana nilai yang akan dimasukkan diisi dengan tanda tanya (?)

Contoh:

INSERT INTO daftar_hobi (nama, hobi) VALUES (?,?)

7 November 2015 aryadharmaadi.com 16

Page 17: PHP (Input Data) dan MySQL

Melanjutkan Project Dari project yang pertama (input_nama.html), akan dilanjutkan dengan memasukkan data yang diinput oleh user ke database MySQL.

Buka http://localhost/phpmyadmin melalui browser untuk membuka tampilan MySQL

Selanjutnya, buatlah database di MySQL dengan nama “latihan” dan buat tabel dengan nama “daftar_hobi”, dengan kolom sebagai berikut:

nama varchar (25)

hobi varchar(25)

7 November 2015 aryadharmaadi.com 17

Page 18: PHP (Input Data) dan MySQL

Insert Data Untuk insert data ke database, buatlah file koneksi_db.php

Pada form di file input_nama.html, ubah atribut action=“simpan_nama.php” menjadi action=“koneksi_db.php” agar data dikirim ke file koneksi_db.php yang akan dibuat

7 November 2015 aryadharmaadi.com 18

Page 19: PHP (Input Data) dan MySQL

File: koneksi_db.php

7 November 2015 aryadharmaadi.com 19

Page 20: PHP (Input Data) dan MySQL

Membaca Data Untuk membaca data pada database, digunakan fungsi: mysqli_fetch_assoc ( resource result) .

Fungsi tersebut mengambil satu row dan mengubahnya menjadi array asosiatif

Selain itu, untuk mengetahui ada berapa baris data (row) yang didapatkan, digunakan fungsi: mysqli_num_rows ( resource result)

7 November 2015 aryadharmaadi.com 20

Page 21: PHP (Input Data) dan MySQL

File: query.php

7 November 2015 aryadharmaadi.com 21

Page 22: PHP (Input Data) dan MySQL

Hasil

7 November 2015 aryadharmaadi.com 22

Page 23: PHP (Input Data) dan MySQL

Penutup PHP dan MySQL dimanfaatkan untuk membentuk web HTML menjadi dinamis

Lebih lanjut, anda bisa mencoba bagaimana cara meng-update dan delete data pada MySQL

7 November 2015 aryadharmaadi.com 23

Page 24: PHP (Input Data) dan MySQL

Next . . . Kombinasi JQuery, AJAX, dan PHP

7 November 2015 aryadharmaadi.com 24