1 WEB DINAMIS (PHP MYSQL) Materi Kuliah Pemrograman Internet HTTP (HyperText Transfer Protocol) HTTP digunakan oleh web browser untuk mengirim request...
HTTP digunakan oleh web browser untuk mengirim request dari d i website b i ke k web b server dan d kemudian k di menerima response dari web server. HTTP request berkerja seperti email, memberitahukan kapan request dikirim, berisi header yang memberitahu apa yang harus dilakukan server dan bagaimana menghandle request tersebut. tersebut Sekali sebuah request diterima, web server kemudian menentukan response apa yang akan diberikan.
Http Request
Format http request : []
Baris pertama dari http request adalah tipe dari request yang diikuti dengan versi HTTP yang digunakan. Bagian headers berisi informasi tambahan yang mungkin digunakan g oleh server,, seperti p host,user-agent , g ataupun p type yp connection. Setelah bagian header diikuti baris kosong. Bagian request body yang dapat diisi ataupun tidak yang biasanya berisi data (text HTML atau jenis resource yang lainnya).
Get request
Misal : url : www.google.com GET / HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; enUS; rv:1.7.6) Gecko/20110225 Firefox/1.0.1 C Connection: i K Keep-Alive Ali
Keterangan :
Baris pertama dari request menandakan bahwa ini adalah GET request kemudian diikuti oleh / yang berarti kita membuka root dari domain tersebut kemudian diikuti oleh jenis HTTP yang dipakai yaitu 1.1 (alternatif yang lain bisa saja 1.0). Kemanakah request itu dikirim? (baris kedua) baris kedua merupakan header request yang pertama yaitu host yang merupakan target dari request ini. untuk jenis header ini hanya diperlukan untuk HTTP 1.1 (pada HTPP 1.0 header ini tidak diperlukan).
Baris ketiga berisi header user agent yang berisi tipe browser yang dipakai. di k i header h d inilah i il h yang biasanya bi di dimanfaatkan f tk script untuk membuat browser detection . Baris terakhir adalah berisi header yang ketiga yaitu connection yang biasanya isinya keep alive. Meskipun setelah header tidak dituliskan blank line tapi hal tersebut diharuskan ada meskipun request body tidak disertakan.
Post Request
POST / HTTP/1.1 Host: www.google.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; enUS; rv:1.7.6) Gecko/20110225 Firefox/1.0.1 Content-Type: application/x-www-form-urlencoded Content-Length: 20 C Connection: ti K Keep-Alive Ali
Http Response <status> [] --- HTTP/1.1 200 OK Date: Sat, 31 Dec 2010 23:59:59 GMT C Content-Type: T text/html;charset=ISO-8859-1 /h l h ISO 8859 1 Content-Length: 122
Perbedaan dengan http request pada Status code
Jenis kode response
kode yang umum
Post Methode – Get Methode Post Tidak ditampilkan p di adress bar,, bersifat p penting g dan rahasia,, digunakan untuk meminta respon ke server dengan cara tertutup. Metode POST digunakan untuk : Mengambil sumber data yang telah ada Mengirim pesan, berita, forum dsb. Mengirim M i i sejumlah j l h data d yang dikirim diki i melalu l l form f Operasi mengubah database yang telah ada.
Get Ditamplikan p di adress bar,, digunakan g untuk mengambil g kembali data2 yang telah ada di sumber data/database. Penggunaan metode get umumnya diimplementasikan pada pembuatan fasilitas searching. Namun hal ini menjadi kendala jika method get ini digunakan dalam menginput data dengan text yang panjang
Contoh : Script : index.html
Script : get.php Hasilnya :
Jika script index.html di ganti dengan post method :
Server Side "; //file hasil.php if (empty($_POST["nama"])) $ket.="nama kosong,"; if (empty($_POST["password"])) $ket.="pasword kosong,"; if (empty($_POST["gender"])) $ket.="gender kosong,"; if (isset($ket)){ echo "Error :".$ket; exit; } echo "Nama anda: ".$_POST["nama"]." "; echo "Password anda: ".$_POST["password"]." "; echo "Jenis Kelamin anda: ".$_POST["gender"]." "; ?>
Jika register global ditutup
Maka tidak bisa melewatkan variabel secara langsung : $_GET[“varname”] $_POST[“varname”] $_SESSION[“varname”] $_COOKIE[“varname”] $_REQUEST[“varname”] $_FILES[“varname”]
MySQL
MySQL merupakan salah satu database server yang sangat handal dan populer, pop ler selain itu it ia bersifat free (open source).
Koneksi MySQL Untuk dapat berhubungan dengan MySQL, PHP harus membuka hubungan g ke server MySQL, y yyaitu dengan g menggunakan fungsi-fungsi MySQL yang tidak terdapat dalam PHP. mysql_connect(nama host,nama user,password) mysql_select_db(nama database) --
Membuat Database Perintah membuat database pada MySQL : CREATE DATABASE ; d b Perintah membuat tabel :
CREATE TABLE nama_field_1 type_field nama_field_2 type_field nama field n type_field nama_field_n type field Primary key(nama_field) );
( attributes, attributes, attributes,
Manipulasi Data
INSERT
INSERT INTO tabel> VALUES (‘nilai ( nilai_field_1 field 1’, ‘nilai_field_2’,…, ‘nilai_field_n’);
SELECT
SELECT FROM WHERE ;
UPDATE
UPDATE tabel> SET WHERE ;
DELETE
DELETE FROM WHERE ;
Fungsi Query MySQL
mysql_query(query) mysql_fetch_row(result_id) f mysql_fetch_array(result_id) Beda antara mysql_fetch_row() dan mysql_fetch_array() adalah pada mysql_fetch_array() hasil yang diperoleh dalam bentuk array assosiatif
Project Sederhana dgn PHP - MySQL Program pendataan Mata Kuliah Rancangan: Tujuan : pendataan dan pengelolaan data Mata Kuliah Fitur : Input p data mata kuliah Menampilkan data mata kuliah
Struktur DB CREATE DATABASE db_matkul; CREATE TABLE ‘ ‘matkul’ tk l’ ( ‘kode’ char(6) NOT NULL default’’, ‘nama’ varchar(100) default NULL, ‘definisi’ longtext, PRIMARY KEY );
(‘kode’)
Form Input Tambah Data Mata Kuliah"; echo h " ""; ?>
Proses simpan data Pengiriman Data Sukses !"; } else { echo "
Buatlah project sederhana aplikasi berbasis internet menggunakan PHP PHP-MySQL MySQL dengan ketentuan :
Domain permasalahan bebas Form (Login User*, Input Data) Data Manipulation (Insert, Select, Update, Delete) Minimal menggunakan 2 tabel MySQL Menggunakan manajemen sesi (session) * Dik Dikumpulkan lk dalam d l bentuk b t k hardcopy(laporan) h d (l ) dan d softcopy(source&.sql) pada minggu ke 5 (presentasi pertemuan 5,6).
*) materi perkuliahan 4.
Format Laporan Pendahuluan Analisa dan Rancangan Hasil dan Pembahasan Penutup Maksimal 15 halaman