Pemrograman Web – PHP 2

41
Pemrograman Web – PHP 2 Antonius RC

description

Pemrograman Web – PHP 2. Antonius RC. PHP dan Form ( 1 ). Form (2). Remember: Array global pada PHP. $_GET[“variabel”] – untuk menerima variabel pada URL secara GET $_POST[“variabel”] – untuk menerima variabel dari POST form $_REQUEST[“variabel”] – untuk menerima variabel GET dan POST - PowerPoint PPT Presentation

Transcript of Pemrograman Web – PHP 2

Page 1: Pemrograman Web – PHP 2

Pemrograman Web – PHP 2

Antonius RC

Page 2: Pemrograman Web – PHP 2

PHP dan Form (1)

Page 3: Pemrograman Web – PHP 2

Form (2)

Page 4: Pemrograman Web – PHP 2

Remember: Array global pada PHP

• $_GET[“variabel”] – untuk menerima variabel pada URL secara GET

• $_POST[“variabel”] – untuk menerima variabel dari POST form

• $_REQUEST[“variabel”] – untuk menerima variabel GET dan POST

• $_FILES[“variabel”] – untuk menerima upload file• $_SESSION[“varname”] – untuk mengakses session• $_COOKIE[“varname”] – untuk mengakses cookies

Page 5: Pemrograman Web – PHP 2

Kode PHPif (empty($_POST["keterangan"]))

$ket.="keterangan masih kosong";if (isset($ket)){

echo "Error :".$ket;exit;

}echo "Jadi nama anda: ".$_POST["nama"]."<br>";echo "Alamat anda: ".$_POST["alamat"]."<br>";echo "Password anda: ".$_POST["password"]."<br>";echo "Jenis Kelamin anda: ".$_POST["gender"]."<br>";echo "Hobi anda adalah: <br>";

Page 6: Pemrograman Web – PHP 2

Contoh Menulis/Kopi File<?$filename="test.txt";print "Writing to $filename<br>";$fp = fopen($filename,w) or die("Couldn'topen $filename");fwrite($fp,"Hello World \n");fclose($fp);print "Appending to $filename<br>";$fp = fopen($filename,"a") or die("Couldn't open $filename");fputs($fp,"And another thing\n");fclose($fp);?>

Page 7: Pemrograman Web – PHP 2

Membaca file

<?php$file_handle = fopen(“test.txt", "r");while (!feof($file_handle)) {$line_of_text = fgets($file_handle); echo $line_of_text . "<br>";}fclose($file_handle);

?>

Page 8: Pemrograman Web – PHP 2

CSV – Comma Separated Value

Page 9: Pemrograman Web – PHP 2

Upload file

Page 10: Pemrograman Web – PHP 2

Upload script

Page 11: Pemrograman Web – PHP 2

Hasil

Page 12: Pemrograman Web – PHP 2

PHP dan MySQL

Page 13: Pemrograman Web – PHP 2

Popular Technology Stacks

MySQL

Linux

Apache

MySQL MySQL

Linuxor

SolarisWindows

ApacheTomcatJBoss

IISApacheJBoss

Java .net / C#

Perl

LAMP J2EE .NET

Page 14: Pemrograman Web – PHP 2

Main Features of MySQL

• Fully multi-threaded using kernel threads• Works on many different platforms• Many column types• Full operator and function support in the SELECT

and WHERE parts of queries• A privilege and password system that is very flexible

and secure• Handles large databases• Tested with a broad range of different compilers.

(C/C++)• No memory leaks• Full support for several different character sets

Page 15: Pemrograman Web – PHP 2

More Features• Multiple storage-engine architecture• ACID compliant transactions • Standards based SQL, aiming for SQL-2003• Syntax based query caching• Master/Slave replication• Written in C, C++ and ASM

– 80% in C– Parse tree and optimizer in C++– String functionality in ASM on some platforms

Page 16: Pemrograman Web – PHP 2

Pluggable Storage Engine Architecture

Page 17: Pemrograman Web – PHP 2

Storage Engine: Memory• RAM based storage engine– Data is stored only in system memory– Schema persists on disk

• Very fast– No disk I/O– Basic data structures

• Quite limited– Fixed column widths – no VARCHAR– Limited indexes available

Page 18: Pemrograman Web – PHP 2

Storage Engine: MyISAM (Index Sequential Access Method)

• File based storage– .MYD – table data– .MYI – index data– .FRM – table definition (schema)

• Easily maintained– Architecture-independent data– Files can be copied across platforms

• Low overhead– No transactions– Large grained table level locking– Excels at mostly-read applications– One third the memory/disk footprint of transactional engines

• Limited– Write concurrency– Potential for corruption with limited recovery (no transactions)– Limited data dictionary (reduced optimizations)– Enjoys smaller datasets and simpler queries

• Made MySQL…– A “SQL enabled file system”

Page 19: Pemrograman Web – PHP 2

Storage Engine: InnoDB• ACID Compliant

– Atomicity/Consistency/Isolation/Durability– Full transactional support and multi-

versioning– Read Uncommitted, Read Committed,

Repeatable Read, Serializable– Foreign keys constraints

• Locking and logging– Row-level and next-key locking– Consistent non-locking reads– Commit and rollback segments

• Fault tolerance and table spaces– Large datasets, raw partitions– Online backups

• Next generation indexing and data storage– Clustered and B-tree indexes

• Higher overhead– Substantial memory/disk footprint– Administration and maintenance

• Made MySQL…– Competitive in the enterprise

database market– Ready to break out of commodity

RDBMS use

Page 20: Pemrograman Web – PHP 2

MySQL Architecture

Page 21: Pemrograman Web – PHP 2

Koneksi dengan MySQL

• MySQL adalah RDBMS server (www.mysql.com)• PHP dapat dikoneksikan dengan MySQL dengan

mudah dan cepat• Tahapan PHP berkomunikasi dengan MySQL:– Buat Koneksi– Select database– Buat query– Kirim query dan ambil hasilnya– Tutup koneksi

Page 22: Pemrograman Web – PHP 2

Tool untuk Pembuatan tabel

• PHPMyAdmin• PHPMiniAdmin• SqlBuddy• SqlYog• HeidiSQL

Page 23: Pemrograman Web – PHP 2

Web Database Architecture with PHP and MySQL

Browser Web Server PHP Engine MySQL Server

1 2 3

456

1. Browser issues an HTTP request for a particular web page2. Web server receives the request, retrieves the file and passes

it to the PHP engine for processing3. PHP engine connects to the MySQL server and sends the

query4. MySQL server receives the query, processes it, and sends the

results back to the PHP engine5. PHP engine receives the results, prepares the HTML page and

send it to the web server6. Web server sends the HTML page to the browser and browser

displays the page to the user

Page 24: Pemrograman Web – PHP 2

Koneksi Database MySQL

• mysql_connect(<host>,<username>,<password>

• mysql_select_db(<nama_db>)• mysql_query(<query>)• mysql_fetch_array(<hasil_query>)• mysql_close()

Page 25: Pemrograman Web – PHP 2

Mysql_connect• mysql_connect(server, username, password)

– connects to a MySQL server through a port– the default is the string "localhost:3306"– username is a string for the user name– password is a string for the password– returns FALSE on failure

• Example– $db_link = mysql_connect("localhost:3306", “root",

“password");• there is also the persistent mysql_pconnect()• myql_close() for closing the connection

Page 26: Pemrograman Web – PHP 2

Mysql_select_db

• mysql_select_db(name, link)– select a database given by the string name– the link is optional and specifies the open link

value such as $db_link returned by a connect statement.

– if not supplied the last opened link is used.– returns TRUE on success else FALSE

• Example– mysql_select_db(“mahasiswa“,$db_link);

Page 27: Pemrograman Web – PHP 2

Mysql_error()• mysql_error($db_link)

– Return an error string or error number– the link is optional– if not supplied the last opened link is used.– Empty string is returned if there is no error.

• Example– mysql_error($db_link);

Page 28: Pemrograman Web – PHP 2

mysql_query

• mysql_query($query, $link)– Make a query (link is optional)– Query is a SQL string for the MySQL query– Don't end the query with a semi-colon

• the query are:– Select, describe

• Return array

– Create, Insert, update, delete, drop, truncate• Return true / false

Page 29: Pemrograman Web – PHP 2

Informasi kolom-kolom tabel

• mysql_list_fields($database, $table, $link)– For a select query it retrieves information from

given table in given database. link is optional– The returned resource can be used to obtain

properties of the table such as names of the table columns and field type information

• Example– $fields = mysql_list_fields("web_db","books");

Page 30: Pemrograman Web – PHP 2

Jumlah Fields

• mysql_num_fields($result)– return the numbers of columns in a table– result is the resource returned by a call to the

mysql_list_fields function• Example– $fields = mysql_list_fields("web_db", "books");– $num_columns = mysql_num_fields($fields);

Page 31: Pemrograman Web – PHP 2

Field name

• mysql_field_name($result, $index)– return the name of the table column whose

position is given by index (0,1,...)– result is the resource returned by a call to

mysql_list_fields• Example: the first column name– $fields = mysql_list_fields("web_db", "books");– $isbn = mysql_field_name($fields, 0);

Page 32: Pemrograman Web – PHP 2

Mysql_fetch_array

• mysql_fetch_array($result)– combines mysql_fetch_row, mysql_fetch_assoc,

mysql_fetch_object– returns row information as both an associative

array and an indexed array or object

Page 33: Pemrograman Web – PHP 2

Beberapa fungsi lain• mysql_num_rows($result)– returns number of rows from a select query– result is the resource returned by the select query

• mysql_affected_rows($result)– used after an INSERT, UPDATE, or DELETE query to return

the number of rows affected– result is the resource returned

• mysql_close($link)– close the database connection associated with the given

link– doesn't do anything for persistent links.

Page 34: Pemrograman Web – PHP 2

Contoh kasus: Tabel Blog• Blog

– id UNSIGNED INT AUTOINCREMENT– title VARCHAR(255)– post TEXT

• Buat View/Select• Buat Add/Insert• Buat Delete• Buat Edit/Update

Page 35: Pemrograman Web – PHP 2

Contoh Select

Page 36: Pemrograman Web – PHP 2

MySQL fetch_object dan Num_rows

Page 37: Pemrograman Web – PHP 2

Contoh update dan delete

Page 38: Pemrograman Web – PHP 2

Insert data

Page 39: Pemrograman Web – PHP 2

Hosting

• Kita upload file-file web yang sudah dibuat ke tempat di Internet

• Bisa berbayar atau gratis• Tool yang dibutuhkan:– Web hosting (space, konfigurasi server)– Nama Domain– FTP tool seperti FileZilla / WinSCP

Page 40: Pemrograman Web – PHP 2

Upload ke Server TI• User : password

– progweb_a : hum4qxprogweb_b : km8yjuprogweb_c : kgi6msprogweb_d : 19gfta

• Detail server:– host: ti.ukdw.ac.id – port: 2345– Username dan password lihat diatas!

• PHPMyAdminhost: ti.ukdw.ac.id:8888/phpmyadmin

• Web:URL : http://ti.ukdw.ac.id:8888/~<username>/folder-kelompok

Page 41: Pemrograman Web – PHP 2

PHP OOP