1 Pendahuluan
1.1 Apa itu PHP?
PHP singkatan dari PHP Hypertext Preprocessor yang digunakan secara luas sebagai bahasa scripting khususnya untuk pengembangan aplikasi web sebab dapat disisipkan ke dalam HTML. PHP merupakan aplikasi bebas (Open Source Software).
Contoh 1: Script PHP pertama
<html>
<head>
<title>Contoh</title>
</head>
<body>
<?php
echo "Aku sekarang bisa PHP!";
?>
</body>
</html>
1.2 Apa yang dibutuhkan?
Untuk menjalankan skrip PHP, kita membutuhkan Web server seperti Apache (http://httpd.apache.org) dan sudah barang tentu PHP (http://www.php.net). Untuk konektivitas dengan database bisa digunakan MySQL (http://www.mysql.com) atau PostgreSQL (http://www.postgresql.org).
1.3 Apa itu MySQL?
MySQL adalah sebuah server buatan T.c.X DataKonsultAB, Swedia. MySQL didesain untuk dapat berjalan sampai 100 akses secara simultan dan bekerja secara cepat sehingga cocok untuk aplikasi web/internet yang membutuhkan kecepatan tinggi untuk pemrosesan dan penyimpanan data. MySQL mampu berjalan pada database sampai 100 GB, cukup menakjubkan untuk sebuah software gratis dan bebas (free).
2. Instalasi
Langkah awal adalah dengan mendownload semua aplikasi yang dibutuhkan di situsnya masing-masing. Gunakan versi terakhir dan stabil. Setelah itu instal dengan menggunakan installer atau hanya diekstrak (jika berbentuk file zip).
Instalasi Apache dapat digunakan installer yang tersedia. Jika diinstal di Windows XP, Apache akan langsung terkonfigurasi secara otomatis sebagai service, begitu pula dengan MySQL.
Ada dua cara menginstal PHP di sistem windows yaitu dengan cara manual atau dengan menggunakan InstallShield installer.
Windows InstallShield
Instaler Windows PHP dapat didownload di http://www.php.net/downloads.php, berupa versi CGI dan dapat mengkonfigurasi IIS, PWS, and Xitami.
Installer akan memperoleh informasi yang cukup untuk membuat file php.inidan mengkonfigurasi web server untuk menggunakan PHP. Cukup dengan menjalankan installer, PHP akan terinstal di komputer Anda. Setelah menginstal, restart Windows Anda.
Instalasi Manual
PHP 4 untuk Windows ada dua yaitu CGI executable (php.exe), dan beberapa modul SAPI (misalnya: php4isapi.dll).
Untuk menginstal, caranya yaitu meng-unzip file php-VERSION.zip (VERSION merujuk pada versi php yang digunakan, misalnya versi 4.3.0), tempatkan di direktori C:\sebagai contoh awal. Setelah itu salin file php4ts.dll ke windows/system (Windows 9x/Me) atau winnt/system32 (for Windows NT/2000/XP) dan timpa file yang sudah ada lalu edit file httpd.conf milik Apache
*
Untuk versi CGI:
Sisipkan baris berikut ini:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
*
Untuk versi SAPI
Sisipkan baris berikut:
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
3. Administrasi MySQL
Setelah berhasil menginstal semua paket, tiba saatnya untuk mengadministrasi server MySQL.
Pertama, ubah password root dengan perintah:
# mysqladmin -u root password "passwdKU"
Kedua, membuat database untuk latihan
# mysqladmin -u root -p create latihan
Masukkan password root yang diminta
Ketiga, membuat user biasa untuk keperluan aplikasi, jangan memakai user root!
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.13
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Gunakan database mysql untuk keperluan administrasi
mysql> use mysql
Database changed
Lihat tabel pada database mysql
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.14 sec)
Lihat field-field pada table user (berbeda tiap versi MySQL)
mysql> show fields from user from mysql;
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+-----------------------------------+------+-----+---------+-------+
| Host | varchar(60) binary | | PRI | | |
| User | varchar(16) binary | | PRI | | |
| Password | varchar(16) binary | | | | |
| Select_priv | enum('N','Y') | | | N | |
| Insert_priv | enum('N','Y') | | | N | |
| Update_priv | enum('N','Y') | | | N | |
| Delete_priv | enum('N','Y') | | | N | |
| Create_priv | enum('N','Y') | | | N | |
| Drop_priv | enum('N','Y') | | | N | |
| Reload_priv | enum('N','Y') | | | N | |
| Shutdown_priv | enum('N','Y') | | | N | |
| Process_priv | enum('N','Y') | | | N | |
| File_priv | enum('N','Y') | | | N | |
| Grant_priv | enum('N','Y') | | | N | |
| References_priv | enum('N','Y') | | | N | |
| Index_priv | enum('N','Y') | | | N | |
| Alter_priv | enum('N','Y') | | | N | |
| Show_db_priv | enum('N','Y') | | | N | |
| Super_priv | enum('N','Y') | | | N | |
| Create_tmp_table_priv | enum('N','Y') | | | N | |
| Lock_tables_priv | enum('N','Y') | | | N | |
| Execute_priv | enum('N','Y') | | | N | |
| Repl_slave_priv | enum('N','Y') | | | N | |
| Repl_client_priv | enum('N','Y') | | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | | | | |
| ssl_cipher | blob | | | | |
| x509_issuer | blob | | | | |
| x509_subject | blob | | | | |
| max_questions | int(11) unsigned | | | 0 | |
| max_updates | int(11) unsigned | | | 0 | |
| max_connections | int(11) unsigned | | | 0 | |
+-----------------------+-----------------------------------+------+-----+---------+-------+
31 rows in set (0.00 sec)
Masukkan user baru:
mysql> insert into user values ("localhost", "latihan",password("latihan"),'y','y','y','y','y','n','n','n','n','n','n','y','y','y','n','n','y','y','n','n','n','','','','','100','100','100');
Query OK, 1 row affected (0.22 sec)
Keluar dari MySQL,
mysql> quit
lalu reload server MySQL
# mysqladmin -u root -p reload
masukkan password yang diminta, setelah coba login dengan user yang telah dibuat.
4. Mengenal Variabel, Konstanta dan Array
4.1 Variabel
Variabel dalam PHP dimulai dengan tanda dollar ($).
Contoh 1: Mendefinisikan variabel
<?php
$var = "Bob";
$Var = "Joe";
echo "$var, $Var"; // menampilkan "Bob, Joe"
$4site = 'not yet'; // salah; dimulai dari angka
$_4site = 'not yet'; // benar; dimulai dengan underscore
$täyte = 'mansikka'; // benar; karakter 'ä' adalah ASCII 228.
?>
Selain dapat didefinisikan, PHP menyediakan variabel yang telah tersedia (built-in) dan biasa disebut PHP superglobal, variabel-variabel tersebut yaitu:
$GLOBALS
Berisi semua variabel yang tersedia pada skrip
$_SERVER
Variable-variabel yang diset oleh web server sama dengan array $HTTP_SERVER_VARS (tetap ada namun akan ditinggalkan).
$_GET
Variable-variabel yang disediakan oleh skrip melalui HTTP GET sama dengan array $HTTP_GET_VARS (tetap ada namun akan ditinggalkan)
$_POST
Variable-variabel yang disediakan oleh skrip melalui HTTP POST sama dengan array $HTTP_POST_VARS (tetap ada namun akan ditinggalkan)
$_COOKIE
Variable-variabel yang disediakan oleh skrip melalui HTTP cookies sama dengan array $HTTP_COOKIE_VARS (tetap ada namun akan ditinggalkan).
$_FILES
Variable-variabel yang disediakan oleh skrip melalui HTTP post file uploads. Sama dengan array $HTTP_POST_FILES
$_ENV
Variable-variabel yang disediakan oleh skrip melalui environment. Sama dengan array $HTTP_ENV_VARS
$_REQUEST
Variable-variabel yang disediakan skrip melalui input user.
$_SESSION
Variable-variabel yang sedang terdaftar pada session skrip, sama dengan array $HTTP_SESSION_VARS.
4.2 Konstanta
Konstanta adalah identifier (nama) untuk nilai sederhana. Konstanta berbeda dengan variabel dimana nilai-nilainya dapat berubah saat eksekusi skrip
Contoh 2: Mendefinisikan konstanta
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // menghasilkan "Hello world."
echo Constant; // menghasilkan "Constant" dan memunculkan pesan peringatan.
?>
Beberapa konstanta yang sudah ada dalam PHP (predefined contants):
Nama
Deskripsi
__LINE__
Baris dalam file yang sedang dieksekusi
__FILE__
Path lengkap serta nama file
__FUNCTION__
Nama fungsi. Konstanta ini ditambahkan sejak PHP 4.3.0
__CLASS__
Nama class. Konstanta ini ditambahkan sejak PHP 4.3.0
4.3 Array
Array merupakan variabel majemuk dimana satu variabel dapat berisi beberapa nilai. Nilai-nilai dalam array ditandai dengan indeks. Indeks dimulai dengan angka 0 (nol).
Contoh 3: mendefinisikan array buah_buahan lalu memprint salah satunya
<?php
$buah_buahan = array (“mangga”, “pisang”, “jambu”, “duku”, “durian”);
// mencetak hanya pisang saja
echo $buah_buahan[1];
// memprint semua isi variabel dengan fungsi foreach
foreach ($buah_buahan as $buah) {
echo $buah . “<br>”;
}
?>
4. Contoh sederhana skrip PHP
Contoh 4: mencek browser yang digunakan user
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
Contoh hasil output skrip di atas
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20040413 Epiphany/1.2.4
Contoh 5: Menampilkan variabel-variabel yang didefinisikan oleh PHP
<?php phpinfo(); ?>
Contoh 6: Menggunakan fungsi dan struktur kontrol
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
echo "Kamu menggunakan Internet Explorer";
}
?>
Output:
Kamu menggunakan Internet Explorer
Contoh 7: Menggunakan fungsi perulangan
Memakai fungsi for
<?php
for ($i = 0; $i < 7; $i++) {
echo “Aku belajar PHP!<br>”;
echo “Ini pakai fungsi for”;
}
?>
Memakai fungsi while
<?php
$i = 0;
for (while $i < 7) {
echo “Aku belajar PHP!<br>”;
echo “Ini pakai fungsi while”;
$i++;
}
?>
Contoh 8: Menggabung HTML dan mode PHP
<?php
if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) {
?>
<h3>strstr mengembalikan nilai true</h3>
<center><b>Anda menggunakan Internet Explorer</b></center>
<?php
} else {
?>
<h3>strstr mengembalikan nilai false</h3>
<center><b>Anda tidak menggunakan Internet Explorer</b></center>
<?php
}
?>
Output:
strstr mengembalikan nilai false
Anda tidak menggunakan Internet Explorer
5. Fungsi-fungsi PHP yang Sering Digunakan
5.1 Fungsi String
Fungsi string adalah fungsi yang mengolah kata atau huruf. Fungsi-fungsi tersebut sebagai berikut:
1.
addslashes(string) : menambahkan tanda slash (/) jika mengandung karakter tanda petik satu ('), tanda petik dua (“) dan backslash (\).
Contoh:
<?php
$str = "Is your name O'reilly?";
// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>
2.
explode(separator, string): menampilkan array dari sebuah string dengan cara memilah kalimat berdasarkan separator yang diberikan.
Contoh:
<?php
// Contoh 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
// Contoh 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
3.
htmlentities(string): mengkonversi bentuk html ke dalam bentuk entiti html.
Contoh:
<?php
$str = "A 'quote' is <b>bold</b>";
// Outputs: A 'quote' is <b>bold</b>
echo htmlentities($str);
?>
4.
ltrim(string), rtrim(string), trim(string): masing-masing menghapus karakter kosong di sebelah kiri, disebelah kanan dan di sebelah kiri dan kanan.
Contoh:
<?php
$text = "\t\tThese are a few words :) ... ";
$trimmed = ltrim($text);
// $trimmed = "These are a few words :) ... "
$trimmed = ltrim($text, " \t.");
$trimmed = rtrim($text);
// $trimmed = "\t\tThese are a few words :) ..."
echo trim($text); // "These are a few words :) ..."
echo trim($text, " \t."); // "These are a few words :)"
?>
5.
md5(string): menghitung hasil md5 dari sebuah karakter
Contoh:
<?php
$str = 'apple';
if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Would you like a green or red apple?";
exit;
}
?>
6.
nl2br(string): mengkonversi baris baru menjadi kode html <br>
Contoh:
<?php
echo nl2br("foo isn't\n bar");
?>
Outputnya akan menjadi:
foo isn't<br />
bar
7.
print(string), echo(string): sama-sama berfungsi mencetak teks ke browser
8.
str_str(string_kalimat, string_kata_yang_dicari): mencocokkan kata yang dicari dengan yang ada dalam kalimat
Contoh:
<?php
$email = 'user@Contoh.com';
$domain = strstr($email, '@');
echo $domain; // prints @Contoh.com
?>
9.
str_replace(string_kata_yang_dicari, string_pengganti, kalimat): mengganti kata yang cocok dengan yang dicari dalam kalimat
Contoh:
<?php
// Provides: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
?>
10.
strip_tags(string, tag_yang_dibolehkan): menghapus semua tag html dalam sebuah kalimat.
Contoh
<?php
$text = '
<p>Test paragraph.</p>
<!-- Comment -->
Other text';
echo strip_tags($text);
echo "\n\n-------\n";
// allow <p>
echo strip_tags($text, '<p>');
?>
Outputnya:
Test paragraph.
Other text
-------
<p>Test paragraph.</p>
Other text
11.
stripslashes(string): menghapus tanda backslash (\) dalam sebuah kalimat
Contoh:
<?php
$str = "Is your name O\'reilly?";
// Outputs: Is your name O'reilly?
echo stripslashes($str);
?>
12.
strlen(string): menghitung panjang kalimat
Contoh:
<?php
$str = 'abcdef';
echo strlen($str); // 6
$str = ' ab cd ';
echo strlen($str); // 7
?>
13.
strtolower(string): membuat kalimat menjadi huruf kecil semua
Contoh:
<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // Prints mary had a little lamb and she loved it so
?>
14.
strtoupper(string): membuat kalimat menjadi huruf besar semua
Contoh:
<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>
15.
ucfirst(string): membuat awalan kalimat menjadi huruf kapital
Contoh:
<?php
$foo = 'hello world!';
$foo = ucfirst($foo); // Hello world!
$bar = 'HELLO WORLD!';
$bar = ucfirst($bar); // HELLO WORLD!
$bar = ucfirst(strtolower($bar)); // Hello world!
?>
16.
ucwords(string): membuat semua awalan kata dalam kalimat menjadi huruf kapital
Contoh:
<?php
$foo = 'hello world!';
$foo = ucwords($foo); // Hello World!
$bar = 'HELLO WORLD!';
$bar = ucwords($bar); // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
?>
17.
wordwrap(string): menggulung kalimat sesuai dengan banyak karakter maksimum yang diperbolehkan dalam satu baris
Contoh:
<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");
echo $newtext;
?>
Outputnya:
The quick brown fox<br />
jumped over the lazy<br />
dog.
5.2 Fungsi Array
Fungsi ini berguna untuk memanipulasi atau menampilkan elemen array. Berikut fungsi-fungsi yang sering digunakan:
1.
array_key_exists(kata_kunci, array): mengembalikan nilai TRUE jika kata_kunci ada dalam array
Contoh:
<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
echo "The 'first' element is in the array";
}
?>
2.
array (string): membuat array baru
3.
count(array): menghitung jumlah elemen yang ada dalam array
Contoh:
<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$result = count($a);
// $result == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$result = count($b);
// $result == 3;
?>
4.
in_array(kata_yang_dicari, array): mencari kata_yang_dicari dalam array, jika ditemukan dikembalikan nilai TRUE
Contoh:
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>
5.
sizeof(array): sama dengan count()
6.
sort(array): mengurutkan array
Contoh:
<?php
$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
reset($fruits);
while (list($key, $val) = each($fruits)) {
echo "fruits[" . $key . "] = " . $val . "\n";
}
?>
Output:
fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange
5.3 Fungsi Variabel
Fungsi variabel adalah fungsi yang mencek atau memanipulasi variabel. Berikut fungsi yang sering digunakan:
1.
empty(variabel): mencek apakah variabel kosong atau tidak. Mengembalikan nilai TRUE jika kosong dan FALSE jika sebaliknya.
Contoh:
<?php
$var = 0;
// evaluasi menjadi benar karena $var kosong
if (empty($var)) {
echo '$var adalah 0, kosong, atau tidak terset sama sekali';
}
?>
2.
isset(variabel): mencek apakah variabel terset atau tidak.
Contoh:
<?php
$var = '';
if (isset($var)) {
echo "Variabel ini terset, jadi saya cetak.";
}
3.
unset(variabel): menghapus variabel.
Contoh:
<?php
// menghapus satu variabel
unset($foo);
// menghapus satu elemen dari array
unset($bar['quux']);
// menghapus lebih dari satu variabel
unset($foo1, $foo2, $foo3);
?>
5.3 Fungsi Tanggal dan Waktu
Sesuai dengan namanya, fungsi ini digunakan untuk memanipulasi tampilan tanggal dan jam. Berikut fungsi yang sering digunakan:
1.
date(format_tanggal): menampilkan tanggal sesuai dengan format yang diberikan. Format tanggal yang dipakai adalah sebagai berikut:
Format karakter
Penjelasan
Contoh hasil
a
Huruf kecil Ante meridiem dan Post meridiem
am atau pm
A
Huruf besar Ante meridiem dan Post meridiem
AM atau PM
B
Waktu Internet
000 sampai 999
c
ISO 8601 date (ditambahkan dalam PHP 5)
2004-02-12T15:19:21+00:00
d
Hari sebulan, 2 digit dengan tambahan nol di depan
01 ke 31
D
Nama hari, tiga karakter
Mon sampai Sun
F
Nama bulan penuh
January sampai December
g
Format 12-jam tanpa tambahan nol di depan
1 sampai 12
G
Format 24-jam tanpa tambahan nol di depan
0 sampai 23
h
Format 12-jam dengan tambahan nol di depan
01 sampai 12
H
Format 24-jam dengan tambahan nol di depan
00 sampai 23
i
Menit dengan tambahan nol di depan
00 to 59
I (kapital i)
Menentukan apakah tanggal berada dalam waktu daylights savings
1 jika Daylight Savings Time, 0 sebaliknya.
j
Hari tanpa tambahan nol di depan
1 to 31
l (huruf kecil 'L')
Nama hari seminggu penuh
Sunday sampai Saturday
L
Menentukan apakah tahun kabisat atau bukan
1 jika tahun kabisat, 0 sebaliknya.
m
Nama bulan dengan tambahan nol di depan
01 sampai 12
M
Nama bulan pendek, tiga karakter
Jan sampai Dec
n
Nama bulan tanpa tambahan nol di depan
1 sampai 12
O
Perbedaan dengan Greenwich time (GMT) dalam jam
Contoh: +0200
r
Format tanggal sesuai RFC 2822
Contoh: Thu, 21 Dec 2000 16:01:07 +0200
s
Detik dengan tambahan nol di depan
00 sampai 59
t
Jumlah hari yang diberikan dalam satu bulan
28 sampai 31
T
Zona waktu yang diberikan oleh mesin komputer
Contoh: EST, MDT ...
U
Detik sejak waktu Unix Epoch (January 1 1970 00:00:00 GMT)
Lihat juga time()
w
Tampilan angkan dari hari seminggu
0 (untuk Sunday) sampai 6 (untuk Saturday)
Y
Tampilan tahun penuh, 4 digit
Contoh: 1999 atau 2003
y
Dua angka dari tahun
Contoh: 99 or 03
z
Hari selama sebulan (mulai dari 0)
0 sampai 365
Contoh:
2.
<?php
// Anggap hari ini: March 10th, 2004, 5:16:18 pm
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
3.
microtime(): Menampilkan waktu UNIX dalam mikrodetik sejak Unix Epoch (January 1 1970 00:00:00 GMT)
4.
time(): Menampilkan waktu UNIX dalam detik sejak Unix Epoch (January 1 1970 00:00:00 GMT)
5.4 Fungsi HTTP
Fungsi ini digunakan untuk memanipulasi output yang terkirim lewat HTTP (Hypertext Transfer Protocol). Berikut fungsi yang sering digunakan:
1.
header (string): mengirim header HTTP.
Contoh:
Menampilkan error karena halaman tidak ditemukan:
<?php
header("HTTP/1.0 404 Not Found");
?>
Meredirect atau mengarahkan ke halaman lain:
<?php
header("Location: http://www.example.com/"); /* Redirect browser */
exit;
?>
Skrip PHP biasanya mengeluarkan output berupa halaman dinamis dan terkadang disimpan oleh proxy server. Untuk memaksa agar halaman output skrip PHP tidak disimpan, gunakan skrip berikut:
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>
2.
Setcookie (string): mendefinisikan cookie yang akan dikirim bersama-sama dengan header HTTP. Tidak seperti header lainnya, cookie harus diset paling atas (keterbatasan protokol) skrip.
Contoh:
<?php
$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>
5.5 Fungsi Mail
Fungsi mail() digunakan untuk mengirim email. Contoh:
<?php
mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3");
?>
atau yang lebih lengkap:
<?php
mail("nobody@example.com", "the subject", $message,
"From: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n" .
"X-Mailer: PHP/" . phpversion());
?>
5.6 Fungsi Direktori
Fungsi ini digunakan untuk memanipulasi direktori. Berikut fungsi-fungsi yang sering digunakan:
1.
opendir (nama_direktori): membuka direktori.
2.
readdir (resource_dir): membaca isi direktori
3.
closedir (resource_dir): menutup pembukaan direktori
Contoh:
<?php
$dir = "/tmp/";
// Buka direktori
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>
4.
chdir (nama_direktori): pindah ke direktori tertentu
5.
getcwd (): mengambil nama direktori.
Contoh:
<?php
// current directory
echo getcwd() . "\n";
chdir('cvs');
// current directory
echo getcwd() . "\n";
?>
5.7 Fungsi Filesystem
Fungsi ini digunakan untuk memanipulasi file sistem. Berikut fungsi yang sering digunakan:
1.
basename (path): menampilkan nama file dari path yang diberikan.
Contoh:
<?php
$path = "/home/httpd/html/index.php";
$file = basename($path); // $file is set to "index.php"
$file = basename($path, ".php"); // $file is set to "index"
?>
2.
copy (asal, tujuan): menyalin file.
Contoh:
<?php
if (!copy($file, $file.'.bak')) {
echo "failed to copy $file...<br />\n";
}
?>
3.
fopen (nama_file): membuka file
4.
fgets (file_handler, panjang karakter): mengambil karakter dari file
5.
fclose (file_handler): menutup pembukaan file
Contoh:
<?php
$handle = fopen("/tmp/inputfile.txt", "r");
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
?>
6.
fwrite (file_handler, string, panjang_karakter): menulis string ke dalam file.
Contoh:
<?php
$filename = 'test.txt';
$somecontent = "Add this to the file\n";
// Cek file ada atau tidak dan dapat ditulisi
if (is_writable($filename)) {
// pada contoh berikut file dibuka dengan mode append (ditambahkan)
if (!$handle = fopen($filename, 'a')) {
echo "Tidak dapat membuka file ($filename)";
exit;
}
// Menulis $somecontent ke file.
If (!fwrite($handle, $somecontent)) {
echo "Tidak dapat menulis file ($filename)";
exit;
}
echo "Sukses penulisan ($somecontent) ke file ($filename)";
fclose($handle);
} else {
echo "File $filename tidak dapat ditulisi";
}
?>
7.
filesize (nama_file): menampilkan ukuran file.
Contoh:
<?php
// outputs e.g. somefile.txt: 1024 bytes
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';
?>
8.
filetype (nama_file): menentukan tipe file. Nilai keluaran yang mungkin adalah fifo, char, dir, block, link, file, dan unknown.
9.
is_uploaded_file (nama_file): menentukan apakah file merupakan file upload atau bukan.
10.
mkdir (nama_direktori): membuat direktori baru
11.
move_uploaded_file (nama_file, direktori_tujuan): memindahkan file hasil upload ke tempat lain.
12.
rename (file atau direktori): mengubah nama direktori atau file
13.
rmdir (direktori): menghapus direktori
14.
touch (file): membuat file kosong atau menset waktu akses file
15.
unlink (file): menghapus file
5.4 Fungsi Eksekusi Program
Fungsi ini digunakan untuk menjalankan program yang biasa dijalnkan melalui shell. Berikut fungsi yang sering digunakan:
1.
exec (perintah): menjalankan perintah.
Contoh:
<?php
// menampilkan nama user
echo exec('whoami');
?>
2.
system (perintah, nilai_keluaran): menjalankan program dan memasukkan hasil keluaran pada variabel nilai_keluaran. Mengembalikan nilai keluaran jika sukses dan FALSE jika gagal.
Contoh:
<?php
echo '<pre>';
// menampilkan semua hasil perintah "ls", dan menyimpan hasilnya
// ke dalam variabel $retval.
$last_line = system('ls', $retval);
// Cetak hasilnya
echo '
</pre>
<hr />Baris terakhir output: ' . $last_line . '
<hr />Nilai keluaran: ' . $retval;
?>
6. Bekerja dengan Form
Contoh 9: Form sederhana
<form action="action.php" method="POST">
Nama Anda: <input type="text" name="name" />
Umur Anda: <input type="text" name="age" />
<input type="submit">
</form>
Contoh 10: Menampilkan data dari form contoh 9
Hai <?php echo $_POST["name"]; ?>.
Umur kamu <?php echo $_POST["age"]; ?> tahun.
Contoh hasil output:
Hai zayn. Umur kamu 26 tahun
7. Bekerja dengan Database MySQL
7.1 Koneksi ke Database MySQL
Untuk koneksi ke database, menggunakan fungsi-fungsi built-in PHP sebagai berikut:
*
mysql_connect (nama_host, nama_user, password_user) : melakukan koneksi ke server MySQL
*
mysql_pconnect (nama_host, nama_user, password_user) : melakukan koneksi tidak terputus ke server MySQL (persistent connection)
*
mysql_select_db (nama_database) : memilih database
*
mysql_query (perintah_SQL) : melakukan query ke server MySQL
*
mysql_fetch_rows (result_id) : mengambil baris per baris hasil query
*
mysql_fetch_array (result_id) : mengambil baris per baris hasil query dan menjadikannya sebagai array
*
mysql_fetch_object (result_id) : mengambil baris per baris hasil query sebagai object
*
mysql_free_result (result_id) : membersihkan hasil query dari memory server
*
mysql_close (link_id) : menutup koneksi
7.2 Membuat Aplikasi Buku Alamat Sederhana
Aplikasi buku alamat adalah contoh sederhana dari beberapa aplikasi web (web application). Contoh skrip berikut dapat dikembangkan atau dipakai untuk membuat aplikasi lain, seperti web log (atau disingkat blog), shoutbox!(semacam buku tamu), daftar koleksi barang, atau manajemen data pegawai dan sebagainya.
Contoh 11: Melakukan koneksi ke server kemudian menampilkan output data
Buat database latihan dan tabel alamat dengan perintah berikut:
mysql> CREATE DATABASE latihan
mysql> USE latihan
mysql> CREATE TABLE alamat (item_id INT NOT NULL AUTO_INCREMENT, nama VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, alamat VARCHAR(100) NOT NULL, telepon VARCHAR(20), PRIMARY KEY (item_id));
mysql> INSERT INTO alamat VALUES (0, 'budi raharjo', 'budi@plasa.com','singa 21', '55667788');
mysql> INSERT INTO alamat VALUES (0, 'm. zayn hamdan', 'zaynhamdan@yahoo.com','perintis kemerdekaan VII', '587911');
mysql> INSERT INTO alamat VALUES (0, 'onno w purbo', 'onno@indo.net.id','batu 12', '(021) 11223344');
Buat skrip berikut dengan nama koneksi.php
<?php
$link = mysql_connect ("localhost", "root", "passwdKU");
mysql_select_db ("latihan");
$result = mysql_query (“SELECT * FROM alamat”);
// mengambil baris menggunakan mysql_fetch_row
while ($row = mysql_fetch_row ($result)) {
echo $row[1] . “ “ . $row[2] . “ “ . $row[3] . “ “ . $row[4];
}
// mengambil baris menggunakan mysql_fetch_array
while ($row = mysql_fetch_array ($result)) {
echo $row['nama'] . “ “ . $row['email'] . “ “ . $row['alamat'] . “ “ . $row['telepon'];
}
// mengambil baris menggunakan mysql_fetch_object
while ($row = mysql_fetch_object ($result)) {
echo $row->nama . “ “ . $row->email . “ “ . $row->alamat . “ “ . $row->telepon;
}
mysql_free_result ($result);
mysql_close ()
?>
Bila ingin tampilan lebih rapi, buatkan tabel untuk menampilkan data
// awal sisipan
// mengambil baris menggunakan mysql_fetch_row
// buat header/judul tabel terlebih dahulu
echo “<table>
<tr>
<td align=center><b>Nama</b></td>
<td align=center><b>Alamat</b></td>
<td align=center><b>Email</b></td>
<td align=center><b>Telepon</b></td>
<td align=center colspan=2><b>Perintah</b></td>
</tr>”;
while ($row = mysql_fetch_row ($result)) {
echo “<tr>
<td>${row[1]}</td>
<td>${row[2]}</td>
<td>${row[3]}</td>
<td>${row[4]}</td>
<td><a href=edit.php?id=${row[0]}>Edit</a></td>
<td><a href=hapus.php?id=${row[0]}>Hapus</a></td>
</tr>”;
}
echo “</table>”;
// akhir sisipan
Contoh 12. Form sisip data
// sisip tag html, head dan body
<form action=sisip_data.php method=post>
<pre>
Nama : <input type=text name=nama size=40>
Email : <input type=text name=email size=40>
Alamat : <input type=text name=alamat size=40>
Telepon : <input type=text name=telepon>
<input type=submit name=Submit value=”Sisip data”> <input type=reset>
</pre>
</form>
// sisip tag penutup body dan html
Simpan dokumen html di atas dengan nama sisip_data.html, kemudian buat skrip untuk memproses data dari dokumen sisip_data.html, beri nama sisip_data.php
Contoh 13. Skrip untuk memproses data dari form lalu disisipkan ke dalam database
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die (“Tidak bisa konek ke server MySQL!”);
mysql_select_db ("latihan");
$data_nama = $_POST['nama'];
$data_email = $_POST['email'];
$data_alamat = $_POST['alamat'];
$data_telepon = $_POST['telepon'];
mysql_query (“INSERT INTO alamat VALUES (0, '$data_nama', '$data_email', '$data_alamat', '$data_telepon');
echo “Data dengan nama $data_nama sudah tersisip ke dalam database. Klik <a href=sisip_data.html>di sini</a> untuk menyisip data kembali”;
?>
Contoh 14. Skrip untuk mengedit data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die (“Tidak bisa konek ke server MySQL!”);
mysql_select_db ("latihan");
$item_id = $_GET['id'];
$result = mysql_query (“SELECT * FROM alamat WHERE item_id = '$item_id'”);
$row = mysql_fetch_array ($result);
echo “<form action=ubah_data.php method=post>
<input type=hidden name=item_id value=${row['item_id']}>
<pre>
Nama : <input type=text name=nama size=40 value=\”${row['nama']}\”>
Email : <input type=text name=email size=40 value=\”${row['email']}\”>
Alamat : <input type=text name=alamat size=40 value=\”${row['alamat']}\”>
Telepon : <input type=text name=telepon value=\”${row['telepon']}\”>
<input type=submit name=Edit value=”Simpan perubahan”> <input type=reset>
</pre>”;
?>
Bila diklik tombol “Simpan Perubahan” maka akan dijalankan skrip dibawah ini.
Contoh 15. Skrip simpan perubahan data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die (“Tidak bisa konek ke server MySQL!”);
mysql_select_db ("latihan");
$item_id = $_POST['item_id'];
$data_nama = $_POST['nama'];
$data_email = $_POST['email'];
$data_alamat = $_POST['alamat'];
$data_telepon = $_POST['telepon'];
mysql_query (“UPDATE alamat SET nama = '$data_nama', email = '$data_email', alamat = '$data_alamat', telepon = '$data_telepon' WHERE item_id = '$item_id'”);
echo “Perubahan telah disimpan. Klik <a href=index.php>di sini</a> untuk kembali ke indeks halaman”;
?>
Contoh 15. Skrip menghapus data
<?php
$link = mysql_connect ("localhost", "root", "passwdKU")
or die (“Tidak bisa konek ke server MySQL!”);
mysql_select_db ("latihan");
$item_id = $_GET['id'];
mysql_query (“DELETE FROM alamat WHERE item_id = '$item_id'”);
echo “Data sudah dihapus. Klik <a href=index.php>di sini</a> untuk kembali ke indeks halaman”;
?>
8. Session Management
Session digunakan untuk memudahkan variabel ditransfer dari satu skrip ke skrip lain. Session hanya berlaku sampai waktu tertentu. Jika user menutup browser, session akan berakhir pula atau jika session dihapus.
Contoh nyata dari session adalah membuat halaman yang diproteksi menggunakan password. Orang-orang tertentu saja yang diperbolehkan untuk masuk ke dalam halaman tertentu. Untuk itu, masing-masing halaman mengidentifikasi apakah user tersebut telah berhasil login atau terotentikasi (authenticated) dengan benar atau tidak.
Contoh 16: Mendefinisikan session
<?php
session_start (); // fungsi ini wajib dijalankan untuk memulai session
// membuat session “logged” dan “nama_user”
$_SESSION[“logged”] = “yes”;
$_SESSION[“nama_user”] = “zayn”;
echo “Ini adalah halaman didefinisikannya session, berikut isi session:<br>”;
echo “\$_SESSION[\”logged\”] = “ . $_SESSION[“logged”];
echo “<br>”;
echo “\$_SESSION[\”nama_user\”] = “ . $_SESSION[“nama_user”];
echo “<p><a href=session2.php>Ke halaman berikutnya</a></p>”;
?>
Beri nama session1.php setelah itu buat skrip dengan nama session2.php
<?php
session_start ();
if (isset ($_SESSION[“logged”]) && isset ($_SESSION[“nama_user”])) {
echo “Anda diperbolehkan mengakses halaman ini”;
echo “<p><a href=logout.php>Logout</a></p>”;
} else {
echo “Anda tidak diperbolehkan mengakses halaman ini”;
}
?>
Buat skrip logout.php untuk menghapus session.
<?php
session_start ();
unset ($_SESSION[“logged”]);
unset ($_SESSION[“nama_user”]);
echo “Anda berhasil logout”;
?>
ANDA INGIN Info????, silahkan Klik :
Info Hotel di Bali
Blajar PHP
Mau Buat Aplikasi WEB
Bola
Bola Mania
Info Bola
Donload MP3 Free
Check Kesehatan anda
Berita Hari Ini
Daftar Nama-nama Hotel
Musik Jadul
Tentang Alam
Harga HP
MOTO GP
NETWORK
Desa'ku
NETWORK Bali
Cinta KU
Motor Plus
Ngopi
Kelamin anda
Donload Tragedi Dunia
Bibirnya Gosip
Laptop Ku
Tanamanku
Virus MU