PENGENALAN PHP
PHP adalah PHP Hypertext Prepocessor, bahasa scripting yang diciptakan
pertama kali oleh Rasmus Lerdorf. Bahasa ini, paling banyak digunakan di dunia.
PHP sangat powerfull untuk digunakan sebagai aplikasi web, karena dukungan
built-in terhadap database yang menjadikan PHP semakin diminati.
Bentuk Dasar PHP
PHP parser membutuhkan suatu pengenalan yang membedakan dengan element
lain, yang terdapat pada dokumen web kita. Mekanisme yang digunakan dalam
PHP biasa disebut dengan “escaping to PHP”.
Dalam penulisan tag PHP, terdapat empat cara penulisan yang dapat kita
lakukan, yaitu :
1. default tag
2. short tag
3. script tag
4. ASP-style tag
1.1 default tag
Default tag adalah tag yang paling banyak digunakan oleh para programmer
PHP. Bentuk penulisan dari tag tersebut adalah :
<?php
Print “Hello, PHP is Great !”;
?>
1.2 short tag
Short tag adalah tag yang paling pendek dalam penulisan tag PHP. Bentuk
penulisan dari tag tersebut adalah :
1.3 script tag
Bentuk penulisan dari tag ini adalah :
1.4 ASP-style tag
Bentuk penulisan dari tag ini adalah :
Apabila kita akan menggunakan tag ini, maka sebelumnya kita harus
mengaktifkan tag ini di dalam file konfigurasi php.ini (asp tags = ON).
Menyisipkan Kode PHP dalam kode HTML
Kelebihan lain dari PHP adalah kemampuannya dalam output dan input ditulis
secara langsung berdampingan dengan bahasa pemrograman yang lain, seperti
HTML dan Javascript.
<?
Print “Hello, PHP is Great !”;
?>
<script languange=”php”>
Print “Hello, PHP is Great !”;
</script>
<%
Print “Hello, PHP is Great !”;
%>
Sebagai contoh :
Komentar
Bentuk penulisan komentar dalam PHP ada bermacam-macam, antara lain :
Selanjutnya, silahkan anda coba kode di bawah ini dan simpan dengan
ekstension “.php”, misalnya “coba.php” dan simpan di direktori kerja anda.
Untuk menjalankannya, kita dapat mulai membuka browser web menggunakan
Mozilla, Konqueror, Netscape, atau dengan Internet Explorer. Kemudian arahkan
alamat
pada
file
coba.php
yang
telah
kita
buat
tadi,
misal
:
http://localhost/coba.php
, maka Anda akan mendapatkan tampilan browser
yang berisikan parameter-parameter yang di-setting unutuk PHP yang kiata
miliki.
Interpeter PHP dalam mengeksekusi kode PHP pada sisi server (disebut
server-side) dan berbeda dengan mesin maya Java yang mengeksekusi program pada
sisi client (client-side).
// contoh.php
<html>
<head><title>Contoh Program</title></head>
<body>
<?
//tag PHP dimasukkan dalam statement print
Print “<h3>PHP is, PHP Hypertext Prepocessor !</h3>”;
?>
</body></html>
// komentar untuk satu baris
# komentar untuk satu baris (shell-Style)
/* … */ komentar untuk banyak baris (C-Style)
// coba.php
<?php
phpinfo();
?>
Cobalah Anda ketikkan kode di bawah ini, lalu simpan dengan nama
“coba1.php”. Panggil melalui browser, dan amati bagaimana hasilnya !
Pada setiap akhir perintah PHP selalu diakhiri dengan tanda titik-koma (;),
seperti juga Perl dan C. Bagi seorang pemula, keharusan ini seringkali dilupakan
dan menjadi sebuah kesalahan umum terjadi. Programmer PHP dapat
menyisipkan komentar yang tidak akan dieksekusi oleh mesin PHP dengan dua
cara, seperti contoh berikut :
Variabel
Variabel/peubah adalah bagaikan garam dan sayur dalam bahasa pemrograman,
dan kabar baiknya PHP pun memilikinya. Variabel dapat dibayangkan sebagai
sebuah tempat penyimpanan data bagi nilai numerik maupun non numerik, agar
dapat digunakan pada bagian lain dari script program PHP.
PHP mendukung berbagai jenis variabel, yaitu :
o
Integer (bilangan bulat)
o
Bilangan floating point (presisi tunggal, ganda)
// coba1.php
<html>
<head><title>Contoh Program</title></head>
<body>
Hei, kapal asing ! Silahkan Identifikasikan diri Anda !<br>
<?
//berikut ini adalah kode PHP yang disisipkan
echo
“<b>Ini
adalah
Kapal
Federasi
Planet
USS
Enterprise.<br>”;
echo “Saya Kapiten, Kapiten Bandung Junior,
Kapten Kapal !</b>”;
?>
</body></html>
<?php
// ini adalah komentar satu baris
/* kalau yang ini, komentar dalam
banyak baris, yang baru akan selesai
setelah diakhiri dengan */
?>
o
Boolean
o
Null (untuk variabel yang belum di-set)
o
String
o
Array
o
Object
o
Resource
o
Unknown
Jika Anda terbiasa menggunakan bahasa C atau Pascal, maka Anda harus
bersiap-siap kehilangan sebuah kewajiban, karena pada PHP Anda tidak perlu
mendefinisikan/mendeklarasikan terlebih dahulu jenis variabel sebelum
menggunakannya. PHP memiliki kepandaian untuk membedakan jenis variabel
secara otomatis berdasarkan konteks yang sedang berlaku bagi variabel
tersebut.
Setiap variabel dalam PHP selalu dimulai dengan tanda dollar ($) dan harus
dimulai dengan huruf, dan dapat diikuti oleh huruf dan angka. Dengan demikian
$warspeed, $impuls_speed, $LCAR, dan $Dilithium1 adalah contoh variabel yang
valid.
Ingat ! Variabel dalam PHP peka terhadap perbedaan huruf kapital dan non
kapital, yang berarti case-sensitive.
Mari kita coba sedikit penggunaan variabel dalam PHP dengan contoh di bawah
ini !
Berikut ini adalah contoh mengenai betapa luwesnya penggunaan variabel dalam
PHP. Simpan kode ini dalam nama “coba3.php”.
// coba2.php
<html>
<head><title>Contoh Program</title></head>
<body>
Hei, kapal asing ! Silahkan Identifikasikan diri Anda !<br>
<?
// berikut ini adalah inisialisasi variabel
$nama_dpn=”Kapiten”;
$nama_tgh=”Bandung”;
$nama_blk=”Junior”;
?>
<b>Ini adalah Kapal Federasi Planet USS Enterprise.</b><br>
<?
<b>Saya $nama_blk, $nama_dpn $nama_tgh $nama_blk, Kapten Kapal
!</b>
?>
</body></html>
// coba3.php
<?php
// contoh variabel $a
$a = “Testing”;
// kini $a adalah variabel jenis string
echo “Nilai a adalah $a (string)<br>”;
$a=55;
// kini $a adalah variabel jenis integer
echo “Nilai a berubah menjadi $a (integer)<br>”;
$a=7.5;
// kini $a adalah variabel jenis floating point
echo “Nilai a sekarang menjadi $a (floating point)<br>”;
?>
STRUKTUR KONTROL
Pada bab ini, kita akan membahas tentang struktur kontrol dalam
bahasa PHP. Struktur kontrol yang dimiliki PHP, hampir sama dengan
bahasa pemrograman lain. Struktur kontrol yang merupakan pengatur
aliran program, berbentuk rangkaian perintah yang harus ditulis untuk
memenuhi beberapa keadaan yaitu :
Mengulang suatu perintah jika terpenuhi suatu kondisi.
Melanjutkan sebuah pernyataan bila kondisi terpenuhi.
Memilih sebuah pilihan dari beberapa alternatif bila kondisi
terpenuhi.
1. Pencabangan
Operator if, else, dan elsif merupakan operator yang selalu anda temui
dalam bahasa pemrograman apapun.
Secara umum penggunaan operator ini adalah sebagai berikut :
Sebagai contoh, silahkan anda ketikkan beberapa script berikut ini !
contoh_1.php
If (kondisi_pertama) {
//maka, apabila kondisi_pertama terpenuhi semua yang //berada di sini akan dijalankan.
}
Elseif (kondisi_kedua) {
//maka, apabila kondisi_kedua terpenuhi semua yang //berada di sini akan dijalankan.
}
Else (kondisi_ketiga) {
//Jika kondisi_pertama dan kondisi_kedua tidak terpenuhi //maka perintah yang berada di sini yang akan dijalankan. }
<?php
$a = 5; $b = 7; if ($a > $b) {
echo "<b>Nilai a lebih besar dari b !</b>"; }
else {
echo "<b>Nilai b lebih besar dari a !</b>"; }
?>
contoh_2.php
contoh_3.php
2. Pengulangan
Operator berikutnya yang akan banyak anda pakai adalah “for” dan
“while”. Operator while akan berbentuk seperti berikut :
<?php
$suhu = -10; if ($suhu <= 0) {
echo "<b>Air dalam bentuk beku !</b>"; }
elseif ($suhu < 100) {
echo "<b>Air dalam bentuk cair !</b>"; }
else {
echo "<b>Air dalam bentuk gas !</b>"; }
?>
?php
$waktu = getdate();
if ($waktu[hours] <= 10) {
echo "<b>Selamat Pagi !</b>"; }
elseif ($waktu[hours] <= 14) {
echo "<b>Selamat Siang !</b>"; }
elseif ($waktu[hours] <= 17) {
echo "<b>Selamat Sore !</b>"; }
else {
echo "<b>Selamat Malam !</b>"; }
?>
while (kondisi) {
//maka, apabila “kondisi” tetap dipenuhi, semua yang //berada di sini akan TERUS dijalankan.
}
Contoh klasik penggunaan while adalah untuk menampilkan angka
terus menerus hingga kondisi dalam perintah while tidak dipenuhi.
Sebagai contoh, ketikkan script berikut ini !
Pada contoh di atas, perintah echo akan terus dijalankan selama
kondisi dalam while terpenuhi, yaitu selama $angka belum melebihi
harga “10”. Sementara itu nilai $angka terus bertambah dengan
perintah “$angka++;”, yang memiliki makna sama dengan perintah
“$angka = $angka + 1;”.
Perintah for digunakan untuk mengulangi perintah dengan jumlah
pengulangan yang sudah diketahui. Untuk perintah for, bentuk
umumnya adalah sebagai berikut :
Operator for akan terus menjalankan perintah yang berada dalam
tanda { … } selama “expr2” terpenuhi. Sementara itu, “expr1”
dijalankan hanya saat pertama operasi for berjalan, setelah itu sama
sekali dilupakan. Sedang “expr3” akan selalu dijalankan pada setiap
akhir loop.
Ketiklah script berikut ini !
<?php$angka = 1;
while ($angka <= 10) {
echo "<b>$angka  </b>"; $angka++;
} ?>
for (expr1,expr2,expr3) {
//perintah dalam blok for; }
<?php
for ($i=3;$i<=7;$i++) {
echo "<font size=$i> PERSIB Maung Bandung</font><br>"; }
?>
OPERATOR
Operator adalah simbol yang digunakan untuk memanipulasi data,
seperti
penjumlahan
dan
pengurangan.
Ada
operator
yang
menggunakan satu operan dan ada pula yang menggunakan dua
operan.
Pada modul ini, operator dikelompokkan menjadi beberapa kategori,
yaitu :
1. Operator Aritmatika
Adalah operator yang berhubungan dengan fungsi matematika.
Contoh
Operasi
Hasil
$a + $b
Penjumlahan
Jumlah dari $a dan $b
$a - $b
Pengurangan
$a dikurangi $b
$a * $b
Perkalian
Hasil kali $a dan $b
$a / $b
Pembagian
$a dibagi $b
$a % $b
Modulus (sisa pembagian)
Sisa dari $a dibagi $b
Program berikut akan memberikan contoh penggunaan operator
aritmatika !
Contoh_6.php
<?php
$x = 2;
$x++; echo "$x <br>"; // x bernilai 3 $x--; echo "$x <br>"; // x bernilai 2 $x +=5; echo "$x <br>”; // x bernilai 7 $x -=3; echo "$x <br>”; // x bernilai 4 $x *=6; echo "$x <br>”; // x bernilai 24 $x /=4; echo "$x <br>”; // x bernilai 6 ?>
2. Operator String
Hanya ada satu operator string dalam PHP, yaitu penggabungan (“.”).
Perhatikan contoh berikut !
Contoh_7.php
3. Operator Penugasan (Assignment)
Operator penugasan dalam PHP adalah “=”. Artinya operan di sebelah
kiri diisi dengan operan di sebelah kanan.
4. Operator Logika
Operator logika akan membandingkan true dan false. Seperti bahasa
C, PHP telah mendefinisikan FALSE dengan 0 dan TRUE dengan 1.
Operator
Operasi
==
Sama dengan
!=
Tidak sama dengan
<
Lebih kecil
>
Lebih besar
<=
Lebih kecil sama dengan
>=
Lebih besar sama dengan
AND &&
Logika And
OR ||
Logika Or
XOR
Logika XOR
!
Logika Not
<?php
$a = "Hallo... "; //sekarang kita punya variabel a bertipe string $b = "Apa kabar ?";
$c = $a.$b; //ini cara menyambung string $d = "Selamat Pagi !!!";
echo $c.$d; ?>
AKSES FILE
Pada modul ini akan dibahas beberapa fungsi yang akan digunakan
untuk menyimpan data ke dalam suatu file (berkas) dan membaca
data yang tersimpan dalam file (berkas) serta fungsi-fungsi yang
berkaitan dengan pengelolaan file.
Karena keterbatasan waktu dan ruang, dalam modul ini hanya dibahas
fungsi-fungsi yang dianggap perlu jika anda ingin lebih jauh tentang
pengelolaan file, anda dapt membaca manula PHP atau referensi lain
yang bisa dijadikan pegangan.
Tabel Mode Akses File
No
Mode
Operasi
1.
R
Membaca file
2.
r+
Membaca dan menulis ke dalam file, pointer di awal file
3.
W
Menulis, membuat file jika belum ada dan mengabaikan
isi file sebelumnya.
4.
w+
Menulis, membuat file jika belum ada dan mengabaikan
isi file sebelumnya. Pointer di awal file.
5.
A
Menambah dan menyimpan isi file (append) pada End of
File (eof), membuat file jika belum ada. Pointer di akhir
file.
6.
a+
Membaca dan menulis file, membuat file jika belum ada
dan menambah isi file pada End of File (eof). Pointer di
akhir file.
7.
B
Binary, digunakan agar file yang disimpan tidak
dibedakan sebagai file teks atau biner.
Fungsi-fungsi untuk mengelola file (berkas) adalah sebagai berikut :
fopen(namafile,mode)
Berfungsi untuk membuka file.
Sintaks :
fopen(namafile,mode);
Contoh :
$fp = fopen(“coretan.txt”,“r”);
$fp
: file handle.
fopen
: fungsi untuk membuka file dalam PHP.
data.txt
: nama file, bisa dilengkapi dengan PATH.
r
: mode akses file.
fclose(file handle)
Berfungsi untuk menutup file yang telah dibuka.
Sintaks :
fclose(file handle);
Contoh :
fclose($fp);
fgets(file handle,jumlah data)
Berfungsi untuk membaca data yang terdapat dalam file.
Sintaks :
fgets(file handle,jumlah data);
Contoh :
$data = fgets($fp,100);
fputs(file handle,data)
Berfungsi untuk menulis data ke dalam file.
Sintaks :
fputs(file handle,string output);
Contoh :
fputs($data,“Internet 2”);
Keterangan di atas adalah penjelasan mengenai beberapa fungsi yang
berkaitan dengan file (berkas), agar anda lebih paham mengenai
pengelolaan file, berikut salah satu contoh sederhana.
Silahkan anda kerjakan dan simpan dengan nama file
file_01.php,
tapi sebelum anda membuat file PHP-nya, anda buat terlebih dahulu
file teks sederhana bernama
coretan.txt.
Agar isinya seragam dengan
rekan-rekan yang lain, tuliskan sesuai dengan contoh di bawah ini !
Jika anda telah menyimpan file tersebut ke dalam direktori, anda
lakukan langkah selanjutnya dengan menuliskan sintaks PHP di bawah
ini :
Adalah suatu kenyataan bahwa
manusia itu diciptakan
berpasangan, saling bergantung satu sama lain, tak dapat
dipisahkan. Manusia adalah malaikat bersayap satu, dan untuk
terbang harus berpelukan. Jika anda menemukan hawamu,
cintailah dia sepenuh hati. Tinggalkan semua ke-akuan dan
nikmatilah semua yang ada pada dirinya, karena itu merupakan
bagian dari hatimu.
<html>
<head><title>Akses File Sederhana</title></head> <body>
<h2>Membuka File coretan.txt</h2> <?
$data=fopen(“coretan.txt”,“r”); while($isi=fgets($data,100))
{ echo $isi; } fclose($data);
?>
</body></html>
Kalau anda sudah selesai dengan file di atas, buka file tersebut pada
browser anda ! Jangan lupa nama direktori kerja yang telah anda buat
sebelumnya !
http://localhost/1201XXX/file_01.php
Berikut contoh operasi untuk menuliskan ke dalam sebuah file, simpan
dengan nama
file_02.php
!
Bagaimana hasilnya ? Berhasilkah ?
Baiklah, kita coba lagi satu bentuk contoh yang berkaitan dengan
pengecekan file dan pembacaan file.
<html>
<head><title>Menulis ke dalam file</title></head> <body>
<h2>Tuliskan ke File !</h2> <?
$kata=“Tersenyumlah ketika kamu menjawab telepon, orang yang meneleponmu akan megetahuinya dari suaramu !”;
echo “Ini teks yang akan di simpan ke file”; echo $kata;
$data=fopen(“nasihat.txt”,“w+”); for (i=1;i<=5;i++);
{
fputs($data,$kata); }
echo “<hr>”; ?>
</body></html>
<html>
<head><title>Pengecekan File</title></head> <body>
<?
$nasihat1=“Berilah kepada orang lain lebih dari yang mereka harapkan, dan lakukan secara bijaksana !”;
echo $nasihat1; echo “<br><br>”; $nasihat2=“nasihat.txt”; If (file_exists($nasihat2)) {
$data=fopen($nasihat2,“r”); while(!feof($data))
{ $isi=trim(fgets($data,255)); echo $isi;
} }
else
echo “File tidak ditemukan !”; ?>
</body></html>
Jika sudah selesai, simpan file anda tersebut dengan nama
file_03.php.
Selamat menikmati ! Jadikan sesuatu itu menjadi menyenangkan agar
segalanya dapat dinikmati !!!
Tampilan Contoh Program
1. file_01.php
3. file_03.php
MySQL
Hallo ! Kita bertemu lagi pada pertemuan ke-4. Pada kesempatan ini, kita akan
membahas Structured Query Languange (SQL) dilanjutkan dengan cara instalasi
MySQL dan Koneksi MySQL dengan PHP.
Structured Query Languange adalah suatu bahasa terstruktur yang dapat
digunakan untuk berkomunikasi dengan database dalam mencari data yang
diinginkan. Pada pertemuan kali ini, kita tidak akan terlalu banyak membahas
SQL, karena kami rasa Anda telah mempelajarinya dalam mata kuliah SBD 1 dan
SBD 2. Software SQL yang digunakan dalam praktikum kali ini adalah MySQL.
Anda mungkin bertanya, kenapa harus menggunakan database MySQL ? Ada
beberapa pertimbangan menggunakan database MySQL, yaitu :
1. MySQL mendukung banyak bahasa pemrograman seperti C, C++, Java,
Perl, dan Pyton. Anda dapat menggunakan bahasa pemrograman tersebut
sebagai interface dengan program MySQL.
2. MySQL merupakan metode yang sangat cepat dalam relasi antar tabel
pada databasenya. Dengan menggunakan one-sweep multijoin, MySQL
sangat efisien dalam mengelola informasi yang Anda minta yang berasal
dari banyak tabel sekaligus.
3. MySQL telah sangat luas digunakan di dunia sehingga jika Anda mendapat
masalah dalam menggunakan MySQL, Anda dapat bertanya kepada
banyak orang yang siap membantu menyelesaikan masalah tersebut.
Instalasi MySQL
Dalam memulai MySQL ada beberapa hal yang harus kita perhatikan. MySQL
dapat berjalan di platform apa saja. Jika anda menggunakan platform
Windows
98
, terdapat 2 server berbeda yang dapat Anda gunakan yaitu :
mysqld
Meng-compile perintah dengan debug yang penuh dan
mencek alokasi memori secara otomatis.
mysqld-opt
Optimized untuk Pentium processor.
Untuk memulai server mysqld, kita harus berada dalam mode DOS.
Ketikkan perintah berikut !
Untuk mematikan server MySQL, kita dapat menggunakan perintah :
Nah, jika kita berada dalam platform
Windows NT, 2000, atau XP,
kita dapat
menggunakan server
mysqld-nt
.
C:\apache\mysql\bin\mysqld
Masih di dalam mode DOS, Anda dapat ketikkan perintah berikut !
Anda dapat memulai server MySQL atau menghentikannya dengan dua perintah
berikut !
Apabila semua sukses dilakukan maka kita sudah dapat memulai menggunakan
MySQL, caranya ketikkan perintah berikut !
Maka akan tampilannya akan seperti ini !
Untuk melihat database dalam MySQL, kita dapat menggunakan perintah berikut
ini :
C:\apache\mysql\bin\mysqld-nt --install
NET START mysql
NET STOP mysql
C:\apache\mysql\bin\mysql
C:\apache\mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 3.23.47-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
C:\apache\mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 to server version: 3.23.47-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> show databases;
+---+ | Database | +---+ | Penjualan | | hospital | | identitas | | mahasiswa| | mhs | | mysql | | seminar | | seminar_it| | test | +---+
9 rows in set (0.00 sec) mysql>
Apabila kita akan melakukan koneksi ke suatu database, gunakan perintah
use
<namadatabase>
. Selain itu, agar kita mengetahui tabel-tabel apa saja yang
ada pada database tersebut, kita dapat menggunakan perintah
show tables
.
Untuk keluar dari MySQL, ketikkan perintah
quit
atau
\q
.
Perintah-perintah dasar MySQL
use <namadatabase>;
Melakukan koneksi ke suatu database.
describe <namatabel>;
Menampilkan struktur suatu tabel.
create <namatabel> ( <namafield> <typedata>, …);
Membuat tabel sesuai dengan keinginan kita.
select <field> from <namatabel>;
Melihat isi suatu tabel, untuk field jika anda ingin melihat
keseluruhan field yang ada pada suatu tabel, anda dapat
menggantikannya dengan tanda
* (wildcard),
tanpa harus
menuliskan seluruh nama field yang ada pada tabel.
insert into <namatabel> values (‘<isifield/data>’, …);
insert
into
<namatabel>
(<namafield>,
…)
values
(‘<isifield/data>’, …);
Melakukan proses input data ke dalam sebuah tabel, perlu diingat
untuk proses input data dengan perintah pertama di atas urutan
data yang diisikan harus terurut sesuai dengan field-field yang ada
pada tabel.
mysql> use mysql;
Database changed
mysql> show tables;
+---+ | Tables_in_mysql | +---+ | columns_priv | | db | | func | | host | | tables_priv | | user | +---+ 6 rows in set (0.00 sec) mysql>
update <namatabel> set
<namafield>=<namafield(‘isifiled/data’)> where <kondisi>;
Melakukan proses update suatu data ke dalam suatu tabel sesuai
dengan kondisi yang ditentukan oleh kita.
Koneksi PHP dengan MySQL
Karena pada praktikum ini kita belajar tentang PHP & MySQL, maka kita akan
coba melakukan koneksi dari PHP terhadap MySQL. Sebagai latihan, buat file
PHP dengan nama
koneksi.php
dengan sintak seperti berikut !
Baiklah, kini saatnya untuk latihan membuat database dalam MySQL ! Buatlah
sebuah database dengan nama
startrek
dan buat tabel
peralatan
dengan
struktur tabel sebagai berikut !
No
Nama Field
Type Data
1
NamaPeralatan
Varchar(40)
2
Jumlah
Smallint
3
HargaSatuan
Integer
Setelah Anda membuat tabel di atas, isikan tabel tersebut dengan data-data
berikut ini :
Pada latihan di atas, kita belajar tentang koneksi. Pada kesempatan ini kita juga
bisa mengecek jumlah baris dan kolom suatu tabel. Untuk lebih jelasnya,
ketikkan sintak PHP berikut dan simpan dengan nama
kolomfield.php
:
NamaPeralatan
Jumlah
HargaSatuan
Phaser
2
7500
Tricorder
5
12500
Visor
1
16000
Analyzer Photonik
3
2300
<?
$koneksi=mysql_connect("localhost","root","");
if (!$koneksi)
die("Koneksi ke MySQL tidak dapat dilakukan"); mysql_close($koneksi);
echo "<b>Koneksi berhasil dilakukan !!!</b>"; ?>
<?php
//koneksi ke server MySQl
$koneksi=mysql_connect("localhost","root",""); if (!$koneksi)
die("Koneksi ke MySQL tidak dapat dilakukan !"); //koneksi ke database
$pilih_db=mysql_select_db("startrek",$koneksi); if (!$pilih_db)
die("Database yang anda pilih, tidak dapat terkoneksi !"); echo "Semua koneksi berhasil dilakukan !!!";
//perintah query
$hasil=mysql_query("Select * from peralatan",$koneksi); echo "<h2>Mengecek Jumlah Baris dan Kolom</h2>"; $jml_kolom=mysql_num_fields($hasil);
echo "Jumlah kolom = $jml_kolom<br>"; $jml_baris=mysql_num_rows($hasil); echo "Jumlah baris = $jml_baris<br>"; mysql_close($koneksi);
?>
STUDI KASUS
Keep Smile !! Selamat bergabung kembali pada pertemuan ke-5.
Sedikit mengulas mengenal pertemuan kemarin, pada pertemuan kali
ini kita akan membahas PHP dan MySQL dalam bentuk aplikasi. Oleh
karena itu, saya harapkan anda untuk selalu memperhatikan
langkah-langkah yang telah disusun dalam modul ini.
Studi kasus kali ini, kita akan membuat sebuah pendaftaran seminar
secara online disertai pencariannya, oleh karena itu pertama kali yang
perlu anda siapkan adalah sebuah database dengan nama
seminar
dan sebuah tabel dengan nama
daftar
.
Dalam mode DOS, aktifkan MySQL anda dengan mengetikan :
Buat database dengan tabelnya !
Setelah database dan tabel selesai dibuat, pastikan server apache
anda berjalan !
Jika anda telah melakukan langkah-langkah di atas, maka sekarang
anda buat beberapa file PHP sesuai yang kita butuhkan untuk
membangun situs pendaftaran online seminar. Buatlah file-file berikut
ini !!!
C:\apache\mysql\bin\mysql
C:\apache\mysql\bin>mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 to server version: 3.23.47-nt Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database seminar;
mysql> use seminar; database changed
mysql> create table daftar( -> nama char(30) not null, -> alamat char(50), -> email char(20), -> telepon char(12) );
[index.html]---
[FormDaftar.php]---<html>
<head><title>Index-Pendaftaran Seminar</title></head> <body background="#FFFFFF">
<center>
<h2>Selamat Datang di Situs Seminar IT</h2> <p>
Hallo Teman !<br>
Kita bertemu kembali dalam sebuah seminar Information Technology<br> dengan tema<br>
<h4><b>" Prospek Kerja dunia IT "</b></h4><br> Selama ini kita tidak pernah tahu ?<br>
Seberapa jauh kemampuan kita ? dan dimana prospek kerja kita ?<br> Maka dari itu <big><b>ikutilah !</b></big> seminar IT<br>
Ingat hanya di STMIK BANDUNG <br><br> <a href="FormDaftar.php">Daftar Online</a> | <a href="Lihat.php">Lihat Peserta</a> | <a href="FormCari.php">Pencarian Data</a> <br><br>
</center> </body>
</html>
<html>
<head><title>Form Daftar Seminar</title></head> <body background="white">
<center>
<h3>Input Daftar Peserta Seminar</h3> <form method="post" action="Proses.php"> <table border="0">
<tr><td>Nama</td><td align="center"> :</td>
<td><input type="text" name="nama"></td></tr> <tr><td>Alamat</td><td align="center"> :</td>
<td><input type="text" name="alamat"></td></tr> <tr><td>Email</td><td align="center"> :</td>
<td><input type="text" name="email"></td></tr> <tr><td>Telepon</td><td align="center"> :</td>
<td><input type="text" name="telepon"></td></tr> <tr><td colspan="3">
<marquee><i>harap diisi dengan lengkap dan benar !</i></marquee></td></tr> <tr align="center"><td colspan="3">
<input type="submit" value="Kirim"> <input type="reset" value="Clear"></td></tr> </table>
</form>
<a href="index.html">Kembali</a> </center>
</body></html>
[Proses.php]---
[FormCari.php]---<html>
<head><title>:: Proses Penyimpanan</title></head> <body background="white">
<center>
<h3>::: Penyimpanan Data Peserta Seminar :::</h3> <?php
//koneksi ke server
$mysql_id=mysql_connect("localhost","root",""); //koneksi ke database
$db=mysql_select_db("seminar",$mysql_id);
$sql="insert into daftar values('$nama','$alamat','$email','$telepon')"; $result=mysql_query($sql,$mysql_id);
if($result) {
echo "Data dengan nama ".$nama.", tersimpan ke database"; echo "<br>";
} else {
echo "Data tidak berhasil"; }
?> <br>
<a href="index.html">Kembali</a> </center>
</body></html>
<html>
<head><title>Form Pencarian</title></head> <body background="white">
<center>
<h2>::: Pencarian :::</h2>
<form method="post" action="Cari.php"> <table border="0">
<tr><td>Nama</td>
<td align="center">:</td><td><input type="text" name="nama"></td></tr> <tr><td colspan="3"></td></tr>
<tr><td align="center" colspan="3"> <input type="submit" value="Kirim">
<input type="reset" value="Clear"></td></tr> </table>
</form> <br>
<a href="index.html">Kembali</a> </body></html>
[Lihat.php]---<html>
<head><title>:: Lihat Data</title></head> <body background="white">
<center> <?php
$mysql_id=mysql_connect("localhost","root",""); $db=mysql_select_db("seminar",$mysql_id); $sql="Select * from daftar order by nama"; $result=mysql_query($sql,$mysql_id); if($result)
{
echo "<h2>Daftar Peserta Seminar</h2>";
echo "<table border=1 cellpading=1 cellspacing=1 size=80%>"; echo "<tr align=center>";
echo "<td size=25%><b>Nama</b></td>"; echo "<td size=25%><b>Alamat</b></td>"; echo "<td size=25%><b>Email</b></td>"; echo "<td size=25%><b>Telepon</b></td>"; echo "</tr>";
while ($baris=mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$baris[0]."</td>"; echo "<td>".$baris[1]."</td>"; echo "<td>".$baris[2]."</td>"; echo "<td>".$baris[3]."</td>"; echo "</tr>";
}
echo " </table>"; echo "<br><br>"; }
else {
echo "Data nggak berhasil dilihat !"; }
?> <br>
<a href="index.html">Kembali</a> </center>
</body></html>
[Cari.php]---<html>
<head><title>:: Lihat Data</title></head> <body background="white">
<center> <?php
$mysql_id=mysql_connect("localhost","root",""); $db=mysql_select_db("seminar",$mysql_id);
$sql="Select * from daftar where nama like '$nama%' "; $result=mysql_query($sql,$mysql_id);
if($result) {
echo "<h2>Daftar Peserta Seminar</h2>";
echo "<table border=1 cellpading=1 cellspacing=1 size=80%>"; echo "<tr align=center>";
echo "<td size=25%><b>Nama</b></td>"; echo "<td size=25%><b>Alamat</b></td>"; echo "<td size=25%><b>Email</b></td>"; echo "<td size=25%><b>Telepon</b></td>"; echo "</tr>";
while ($baris=mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>".$baris[0]."</td>"; echo "<td>".$baris[1]."</td>"; echo "<td>".$baris[2]."</td>"; echo "<td>".$baris[3]."</td>"; echo "</tr>";
}
echo " </table>"; echo "<br><br>"; }
else {
echo "Data nggak berhasil ditemukan !"; }
?> <br>
<a href="index.html">Kembali</a> </center>
</body></html>
ARRAY
Kalau anda sering berkecimpung dalam pemrograman, tentu anda
sudah sering mendengar bahkan menggunakan array.
Array merupakan variabel jamak yang memiliki beberapa index
elemen yang dideklarasikan dalam bentuk numerik ataupun string.
Sedangkan isi dari array sering dinamakan dengan elemen array.
Misalnya kita ingin membuat variabel tentang partai politik di
Indonesia. Kita bisa menuliskannya sebagai berikut :
$partai_nasionalis = “pdi-p”;
$partai_islam = “pk-sejahtera”;
$partai_sosialis = “prd”;
Pembuatan variabel di atas adalah variabel biasa, bukan array.
Sedangkan kalau kita ingin memasukkannya ke dalam array, maka
akan berbentuk sebagai berikut :
$partai = array(“pdi-p”, “pk-sejahtera”, “prd”);
atau, anda dapat menuliskannya dengan cara sebagai berikut :
$partai[0] = “pdi-p”;
$partai[1] = “pk-sejahtera”;
$partai[2] = “prd”;
Ingat, dalam PHP (sebagaiman dalam bahasa C) setiap array dimulai
dengan angka 0. Untuk lebih meyakinkan diri, mari kita coba beberapa
contoh berikut ini !
contoh_1.php
<?php
$kota[0] = "Jakarta"; $kota[1] = "Bandung"; $kota[2] = "Semarang"; $kota[3] = "Surabaya"; $kota[4] = "Makassar";
echo "Saat ini saya sedang kuliah di kota $kota[1] !<br>"; echo "Tapi, saya berasal dari $kota[4].";
?>
contoh_2.php
contoh_3.php
<?php$propinsi = array (
"Jatim" => array ( "Surabaya", "Malang", "Jember", "Bondowoso"), "Jabar" => array (
"Bandung", "Bogor", "Bekasi", "Tangerang"), );
print ("Hallo Kabayan !!! Kamu orang "); print ($propinsi["Jabar"] [0]);
print (" ya..??"); ?>
<?php
$partai = array (
array ( nama=>"pdi-p",
deskripsi=>"partai nasionalis", asas=>"pancasila",
peringkat=>"1" ), array ( nama=>"pk-sejahtera", deskripsi=>"partai islam", asas=>"islam",
peringkat=>"7" ), array ( nama=>"prd",
deskripsi=>"sosialis", asas=>"kerakyatan", peringkat=>"30" ), array ( nama=>"pan",
deskripsi=>"partai nasionalis", asas=>"pancasila",
peringkat=>"5" ) );
print ($partai[1][nama]); echo "<br>";
print ($partai[0][nama]); ?>
contoh_4.php
<?php
$biodata[nim]="1201099";
$biodata[nama]="Kapiten Bandung"; $biodata[alamat]="antapani";
echo "<h3>Biodata</h3><br>"; echo "Nim : ".$biodata[nim];
echo "<br>Nama : ".$biodata[nama]; echo "<br>Alamat : ".$biodata[alamat]; ?>
MODUL 7
Form adalah suatu hal yang sangat penting dalam pembuatan web, karena dengan form
inilah user dapat berkomunikasi dengan sistem dan sistem berkomunikasi dengan user.
Dalam pembuatan ini haruslah dibuat dengan sebaik-baiknya jangan terlalu rumit
karena akan membuat user kita malas untuk mengisi form yang kita sediakan.
Untuk praktek kali ini, kita akan menggunakan form yang telah ada pada pertemuan
sebelumnya, yaitu pendaftaran seminar IT online. Seperti yang telah anda buat form
tersebut tidak memiliki apakah form itu benar atau tidak isinya. Form tersebut tidak
perlu ditulis, tinggal anda pakai sekarang mengenai validasi, seperti yang sudah ditulis.
Form tersebut memiliki variabel-variabel, yaitu :
nama
alamat
telepon
Variabel-variabel di atas akan divalidasi dengan script berikut ini :
FormDaftar.php
<html>
<head><title>Form Daftar Seminar</title></head> <body background="white">
<center>
<h3>Input Daftar Peserta Seminar</h3>
<form name=register method="post" action="Proses.php"> <table border=0>
<tr><td>NIM</td><td align="center"> :</td> <td><input type="text" name="nim" size=7></td></tr>
<tr><td>Nama</td><td align="center"> :</td> <td><input type="text" name="nama"></td></tr>
<tr><td>Alamat</td><td align="center"> :</td> <td><input type="text" name="alamat"></td></tr>
<tr><td>Email</td><td align="center"> :</td> <td><input type="text" name="email"></td></tr>
<tr><td>Telepon</td><td align="center"> :</td> <td><input type="text" name="telepon"></td></tr>
<tr><td colspan="3">
<marquee><i><b>harap diisi dengan lengkap dan benar !</b></i></marquee></td></tr> <tr align="center"><td colspan="3">
<input type="submit" value="Kirim" name=submit> <input type="reset" value="Clear"></td></tr> </table>
</form>
<a href="index.html">Kembali</a> </center>
</body></html>
Proses.php :
<html><head><title>:: Proses Penyimpanan</title></head> <body background="white">
<center>
<h3>::: Penyimpanan Data Peserta Seminar :::</h3> <?php
//koneksi ke server
$mysql_id=mysql_connect("localhost","root",""); //koneksi ke database
$db=mysql_select_db("seminar",$mysql_id); if($submit)
{
$errmsg=""; if(empty($nim))
{ echo "NIM Anda tidak boleh kosong <br>"; } if(empty($nama))
{ echo "Nama Anda tidak boleh kosong <br>"; } if(empty($alamat))
{ echo "Alamat Anda tidak boleh kosong <br>"; } if(empty($email))
{ echo "Email Anda tidak boleh kosong <br>"; } if(empty($telepon))
{ echo "Telepon Anda tidak boleh kosong <br>"; }
if(!empty($nim)&& !empty($nama)&& !empty($alamat)&& !empty($email)&& !empty($telepon)) {
if(!is_numeric($nim))
{ echo "<font color=red>NIM harus dengan Angka</font><br"; } if(is_numeric($nama))
{ echo "<font color=red>Nama harus dengan Huruf</font><br"; } /*$polatelp="^\[0-9]{2}-[0-9]+$";
if(!eregi($polatelp,$Telepon))
{ echo "<font color=red>Angka Telepon tidak valid !!</font><br>"; }*/ $polaemail="^.+@.+\..+$";
if(!eregi($polaemail,$email))
{ echo "<font color=red>Email Anda tidak valid !!</font><br"; } if(!$errmsg)
{
$sql="insert into pendaftaran values('$nim','$nama','$alamat','$telepon','$email')"; $result=mysql_query($sql,$mysql_id);
if($result) {
echo "Data dengan nama ".$nama.", tersimpan ke database"; echo "<br>";
} else
{ echo "Data tidak berhasil disimpan"; } }
} } ?>
<br><a href="index.html">Home</a> <a href="Lihat.php">Lihat Peserta</a> </body></html>
Lihat.php
<html><head><title>:: Lihat Data</title></head> <body background="white">
<center> <?php
$mysql_id=mysql_connect("localhost","root",""); $db=mysql_select_db("seminar",$mysql_id);
$sql="Select * from pendaftaran order by nim"; $result=mysql_query($sql,$mysql_id);
if($result) {
echo "<h2>Daftar Peserta Seminar</h2>";
echo "<table border=1 cellpading=1 cellspacing=1 size=80%>"; echo "<tr align=center>";
echo "<td size=25%><b>NIM</b></td>"; echo "<td size=25%><b>Nama</b></td>"; echo "<td size=25%><b>Alamat</b></td>"; echo "<td size=25%><b>Telepon</b></td>"; echo "<td size=25%><b>Email</b></td>"; echo "<td size=25%><b>Action</b></td>"; echo "</tr>";
while ($baris=mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>$baris[nim]</td>"; echo "<td>$baris[nama]</td>"; echo "<td>$baris[alamat]</td>";
echo "<td align=center>$baris[telepon]</td>"; echo "<td>$baris[email]</td>";
echo "<td><a href=View.php?nim=$baris[nim]>[view]</a> "; echo "<a href=Edit.php?nim=$baris[nim]>[edit]</a> "; echo "<a href=Delete.php?nim=$baris[nim]>[delete]</a> "; echo "</td></tr>";
}
echo " </table>"; echo "<br><br>"; }
else {
echo "Data nggak berhasil dilihat !"; }
//tutup koneksi mysql_close(); ?>
<br>
<a href="index.html">Kembali</a> <a href="FormDaftar.php">Daftar Online</a> </center>
</body></html>
View.php
<html><head><title>View Data Peserta</title></head> <body>
<?php
//koneksi ke server
$mysql_id=mysql_connect("localhost","root",""); //koneksi ke database
$db=mysql_select_db("seminar",$mysql_id);
$sql="Select * from pendaftaran where nim = '$nim' "; $hasil=mysql_query($sql,$mysql_id);
$baris=mysql_fetch_array($hasil);
echo "<h3><center>VIEW DATA PESERTA $nim</center></h3>"; echo "<div align=center>";
echo "<table border=1 width=300>"; echo "<tr>";
echo "<b>Data Peserta Seminar</b><hr size=3 color=red>"; echo "<td width=150>NIM</td>";
echo "<td width=150>$baris[nim]</td>"; echo"</tr>";
echo "<tr>";
echo "<td width=150>Nama</td>"; echo "<td width=150>$baris[nama]</td>"; echo"</tr>";
echo "<tr>";
echo "<td width=150>Alamat</td>"; echo "<td width=150>$baris[alamat]</td>"; echo "</tr>";
echo "<tr>";
echo "<td width=150>Telepon</td>"; echo "<td width=150>$baris[telepon]</td>"; echo "</tr>";
echo "<tr>";
echo "<td width=150>Email</td>"; echo "<td width=150>$baris[email]</td>"; echo "</tr>";
echo "</table>";
echo "<br>[<a href=index.html>Home</a>]";
echo "[<a href=Edit.php?nim=$baris[nim]>Edit</a>]"; echo "[<a href=Delete.php?nim=$baris[nim]>Delete</a>]"; ?>
</div> </body> </html>
Edit.php
<html>
<head><title>Edit Data Peserta</title></head> <body>
<?php
//koneksi ke server
$mysql_id=mysql_connect("localhost","root",""); //koneksi ke database
$db=mysql_select_db("seminar",$mysql_id);
$sql="select * from pendaftaran where nim='$nim' "; $hasil=mysql_query($sql,$mysql_id);
//hasil dari $sql disimpan dalam suatu array $row=mysql_fetch_array($hasil);
?>
<br><h3><center>Edit Data Peserta dengan NIM <? echo "$nim"; ?></center></h3> <div align="center">
<table border=0> <tr><td>
<form action="Update.php" method="post"> <table border="0">
<tr>
<td>Nim</td><td>:</td>
<td><input type="text" name="nim" size=7 value="<? echo "$row[nim]" ?>"></td> </tr>
<tr>
<td>Nama</td><td>:</td>
<td><input type="text" name="nama" value="<? echo "$row[nama]" ?>"></td> </tr>
<tr>
<td>Alamat</td><td>:</td>
<td><input type="text" name="alamat" value="<? echo "$row[alamat]" ?>"></td> </tr>
<tr>
<td>Telepon</td><td>:</td>
<td><input type="text" name="telepon" value="<? echo "$row[telepon]" ?>"></td> </tr>
<tr>
<td>Email</td><td>:</td>
<td><input type="text" name="email" value="<? echo "$row[email]" ?>"></td> </tr>
<tr>
<td> </td><td> </td>
<td align="right"><input type="submit" name="update" value="UPDATE"></td> </tr>
</table> </form> </td></tr> </table> </div>
</body></html>
Update.php
<html>
<head><title>:: Proses Update Data</title></head> <body background="white">
<center>
<h3>::: Update Data Peserta Seminar :::</h3> <?php
//koneksi ke server
$mysql_id=mysql_connect("localhost","root","") or die("Gagal Masuk DataBase"); //koneksi ke database
mysql_select_db("seminar"); if($update)
{
$errmsg=""; if(empty($nim))
{ echo "NIM Anda tidak boleh kosong <br>"; } if(empty($nama))
{ echo "Nama Anda tidak boleh kosong <br>"; } if(empty($alamat))
{ echo "Alamat Anda tidak boleh kosong <br>"; } if(empty($email))
{ echo "Email Anda tidak boleh kosong <br>"; } if(empty($telepon))
{ echo "Telepon Anda tidak boleh kosong <br>"; }
echo "<input type=button value=Back onclick=\"self.history.back()\">"; echo "<br>";
if(!empty($nim)&& !empty($nama)&& !empty($alamat)&& !empty($email)&& !empty($telepon)) {
if(!is_numeric($nim))
{ echo "<font color=red>NIM harus dengan Angka</font><br>"; } if(is_numeric($nama))
{ echo "<font color=red>Nama harus dengan Huruf</font><br>"; } /*$polatelp="^\[0-9]{2}-[0-9]+$";
if(!eregi($polatelp,$Telepon))
{ echo "<font color=red>Angka Telepon tidak valid !!</font><br>"; }*/ $polaemail="^.+@.+\..+$";
if(!eregi($polaemail,$email))
{ echo "<font color=red>Email Anda tidak valid !!</font><br>"; } if(!$errmsg)
{
$sql="UPDATE pendaftaran SET
nim='$nim',nama='$nama',alamat='$alamat',telepon='$telepon',email='$email' where nim='$nim' "; mysql_query($sql);
} } }
?> <br>
<a href="Lihat.php">Lihat Data</a> </body></html>
Delete.php
<?php
mysql_connect("localhost","root","") or die("Gagal Masuk DataBase"); mysql_select_db("seminar");
$sql="delete from pendaftaran where nim='$nim' "; mysql_query($sql);
//redirect user ke halaman lihat.php header("location:Lihat.php"); ?>
user authentication
user authentication dalam pemograman web sangat penting! karena dengan user
authentication kita dapat menentukan hak-hak dari user yang mengakses situs kita,
dalam user authentication yang harus diperhatikan adalah
level, level ini berfungsi
untuk menentukan privilege tiap user dalam kasus modul kali ini ada 2 tingkatan user,
ini bisa ditambahkan kemudian oleh anda sesuai dengan kebutuhan. skenario dari
aplikasi yang kita buat.
admin boleh melakukan apapun pada situs kita dalam hal ini menambah,mengurangi
dsb, kemudian user biasa dia hanya punya hak untuk membaca dsb.
untuk itu kita membutuhkan suatu table yang akan memuat user-user:
create table user (
username varchar(16)not null,
password varchar(16)not null,
level tinyint(8)not ull,
primary key(username));
setelah itu masukkan data-data yang dibutuhkan.
insert into user values(“admin”,”nimda”,”1”),(“anu”,”ini”,”2”);
lalu test di MySQL command
mysql>select * from user;
dalam modul kali ini ada dua script yang akan dipakai:
form_login.php
: didalam script ini terdapat form untuk login dan pemproses dari form
itu sendiri jadi dia memproses dirinya sendiri dengan sintak
action=<? echo
$GLOBALS [‘PHP_SELF’]?>.
detail.php: di dalam script ini terdapat penghapusan cookie dari memory dan fungsi
penghapusan cookie ini untuk melakukan logout dari sistem yang kita buat.
form_login.php
pada code snippet dibawah dilakukan suatu koneksi dan query pada database MySQL
kemudian hasil dari query tersebut disimpan di variable handling berupa $result dan
hasilnya di lakukan peng-array-an dengan fungsi
mysql_fetch_array()
hasil dari
array ini disimpan di variabel $row.
if ($submit) {
mysql_connect("localhost", "root", "");
mysql_select_db("mhs");
$sql = "SELECT level FROM user WHERE username = '$username'
AND password = '$password' ";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$level = $row["level"];
}
lakukan pembandingan dengan username dan password yang ada didatabase dengan
username+password yang kita masukkan di form login jika tidak sesuai maka keluar
pesan “anda tidak punya hak”
if (!mysql_num_rows($result)) {
echo "Anda Tidak punya hakkkkk!!.";
jika username+password sesuai PHP akan membuat cookies pada memory dan
menyimpannya dan waktu dari cooki yang kita buat diset 1 jam setelah itu dia
menghapus sendiri
} else {
setcookie('username', $_POST['username'], (time()+2592000), '/', '', 0);
setcookie('level', $_POST['level'], (time()+2592000), '/', '', 0);
}
sekarang kita mulai dengan pengkondisian, jika levelnya = 1 maka anda sebagai admin
elseif level anda 2 maka anda user..
if ($level == "1") {
echo "Anda login sebagai admin<br /> <a href=detail.php'>detail </a> ";
} elseif ($level == "2") {
echo "Anda login sebai user<br /> <a href=’detail.php'>detail </a> ";
}
jika user belum mempunyai cookie maka keluar form untuk login
<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>">
Name:<input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
<input type="submit" name="submit" value="Login">
</form>
detail.php
isi dari detail.php ini adalah penghapusan cookie yang dibuat oleh PHP dari memori
jika tombol logout ini ditekan maka akan menghapus cookie
if ($submit) {
setcookie('username', '', time() - 3600);
setcookie(‘level', '', time() - 3600);
echo "Anda telah logout
} else {
jika seseorang ingin mengakses halaman ini dengan tidak melalui proses login akan
keluar pesan anda tidak berhak
if (!$_COOKIE['username']) {
echo "Anda tidak berhak melihat halaman ini";
exit; }
?>
dan keluar halaman yang menunjukkan jatidiri kita
dan tombol logout pun akan
keluar ! jika tombol logout ini di tekan akan mengacu pada penghaousan cookie diatas
<u>Your User Name</u>: <b><?php echo $_COOKIE['username'];?></b>
<br />
<br /><br />
<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>">
<input type="submit" value="Logout" name="submit">
</form>
kode lengkap
;)
form_login.php
<?php
if ($submit) {
mysql_connect("localhost", "root", ""); mysql_select_db("auth");
$sql = " SELECT level FROM user WHERE username = '$username' AND password = '$password' ";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) { $level = $row["level"];
}
if (!mysql_num_rows($result)) {
echo "Anda Tidak punya hak masuk !!!"; } else {
setcookie('username', $_POST['username'], (time()+2592000), '/', '', 0); setcookie('level', $_POST['level'], (time()+2592000), '/', '', 0);
}
if ($level["level"] == "1") {
echo "Anda Login sebagai Admin.<br /> <a href='detail.php'>Click here for options</a> ";
} elseif ($level["level"] == "2") {
echo "Anda login sebagai member<br /><a href='detail.php'>Click here for options</a> ";
} } else { ?>
<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>"> Name:<input type="text" name="username"><br />
Password: <input type="password" name="password"><br /> <input type="submit" name="submit" value="Login">
</form>
<?php } ?>
detail.php
<?php
//jika tombol logout ditekan cookie dihapus if ($submit) {
setcookie('username', '', time() - 3600); setcookie('level', '', time() - 3600); echo "You've successfully logged out."; } else {
if (!$_COOKIE['username']) { echo "You are not Authorized."; exit;
} ?>
<u>Your User Name</u>: <b><?php echo $_COOKIE['username'];?></b><br /> <u>Your Access Level</u>: <b><?php echo $_COOKIE['level'];?></b>
<br /><br />
<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>"> <input type="submit" value="Logout" name="submit">
</form>
<?php
} ?>
Session & Cookies
Tidak seperti PHP 3.0, PHP 4.x ini memiliki kemampuan untuk menangani session
management, session di PHP 4 mudah digunakan powerful dan gampangan di
kostumasi. Membuat session dapat membuat kita mencatat kelakuan user melalui waktu
yang user gunakan untuk mengakses situs kita.
Untuk mengasosiasikan data dengan user, anda membutuhkan session ID yakni kunci
untuk “mengikat” user dengan data yang digunakan yang menghapusnya jika tidak
digunakan lagi.
Cookies
Cookies adalah sebuah paket informasi kecil yang dikirimkan oleh web server dan
disimpan ke komputer client, hal ini dapat menguntungkan pembuat situs karena data
bergantung dari user session untuk mengakses data yang lain. Hal ini juga dapat
menjaga hubungan antara client dengan server dapat terus terjaga.
Komponen dari cookie :
Name : nama cookie
Value : nilai cookie
Expiration date : lifetime(waktu hidup) dari cookie yang kita buat
Domain : domain yang diakses oleh user dalam melakukan koneksi
dengan server
Path : jalur yang dispesifikasikan di URLs
Security : setting security apakah cookie ini ada di jalur “aman”
[ cookie tidak akan dibahas panjang-lebar, karena sudah di modul sebelumnya ]
Mencek apakah cookie sudah dihidupkan ?
<?php
$status=0;
if(isset($mytestCookies)&&($mytestCookies=="ChocoChip")) $status=1;
if (!isset($cchk)) {
setcookie("mytestCookies","ChocoChip"); header("Location:$PHP_SELF?cchk=1"); exit;
} ?> <html>
<head><title>Test Cookies</title></head> <body>
Cookie Check Status : <?
printf('<font color ="#%s">%s</font><br>', $status?"000000":"FF0000",
Dasar Session
Session management adalah suatu mekanisme untuk menjaga keadaan tentang
request/hit dari user yang sama melalui waktu yang telah ditentukan, di dalam hal ini
session berarti waktu yang digunakan user dalam mengakses website.
Masalahnya HTTP tidak punya mekanisme untuk menjaga kondisi request seseorang
dan request satu dengan request lainnya tidak saling berhubungan. Web server sendiri
tidak dengan mudah dapt membedakan antara single user dan tidak mengetahui
session. Session manajemen mengacu pada bagaimana data dengan user saling terkait
selama user tersebut mengunjungi halaman web.
Memulai Session
Dalam PHP 4, session dimulai dengan menuliskan
session_start(), atau secara tidak
langsung
dengan
mendaftarkan
variabel
untuk
session,
menggunakan
session_register(). Biasanya Anda dapat memanggil session dengan
session_start()
di atas halaman web. Jadi variabel session sudah dibuat dan tinggal melakukan
pemanggilan. Jika Anda melakukan pemanggilan session, ada beberapa kejadian yang
terjadi yaitu :
1. PHP men-cek apakah session ID-nya valid, ada atau tidak.
2. Jika tidak ada session ID, maka PHP akan membuat session ID yang baru.
3. Jika session ID ada, variabel session yang tidak dipanggil akan diaktifkan
kembali.
Meregistrasi
sebuah
session
variabel
dapat
dilakukan
melalui
perintah
session_register(). Fungsi ini membuat (register) variabel yang dapat disimpan melalui
session, dan dapat dipanggil selama masa session user. Jika anda ingin melepaskan
register variabel yang ada pada session, maka dapat dilakukan ‘pelepasan’ dengan
perintah session_unregister().
session.php
session2.php
Implementasi
Karena pada pertemuan sebelumnya telah ada tabel user dalam database mhs yang
berisi username, password, dan level, maka jumlah tabel yang dipakai ada 2 tabel.
Buatlah sebuah tabel dengan nama session. Tabel ini berfungsi untuk menampung
session id dari seluruh user yang ada pada aplikasi yang kita buat susunannya adalah
sebagai berikut :
create table session (
user varchar(16)not null,
session_id varchar(32)not null,
primary key(user,session_id));
Tiap halaman yang diakses akan memeriksa ke database apakah username ini sudah
masuk ke tabel session atau belum. Jika belum tampilkan error !
index.php
<?phpsession_start();
print "session id anda adalah : ".session_id(); session_destroy();
?>
<?php
session_start();
if(!session_is_registered('hits')) {
session_register('hits'); }
$hits++;
print "Anda telah mengakses halaman ini sebanyak $hits kali"; ?>
<html> <head>
<title>WELCOME ::::</title> </head>
<body> <br><br>
<a href="#">sign-up</a><br> <a href="form.php">Login</a><br> </body>
</html>
form.php
index.a.php
index.u.php
<html> <body><form action="login.php" method="post">
User Name : <input type="text" name="username"><br> Password : <input type="password" name="password"><br> <input type="submit" value=Login name=submit>
</form> </body>
</html>
<?php
session_start(); $sess=session_id();
mysql_connect("localhost","root",""); mysql_select_db("mhs");
$result=mysql_query("select count(*) as hasil from session where user='$id' and session_id='$sess'"); $row=mysql_fetch_array($result);
if($row["hasil"]=="0") {
echo "Anda tidak berhak masuk ke halaman ini"; }
elseif ($row["hasil"]!="0") {
echo "Anda user yang berhak !<br>"; echo "ID anda adalah $id <br>";
echo "<a href=logout.php?id=$id>[Logout]</a>"; }
?>
<html> <body>
<h3>INI HALAMAN USER</h3> </body>
</html>
login.php
<?php
mysql_connect("localhost","root",""); mysql_select_db("mhs");
//count 0 or 1
$result=mysql_query("select count(*)as hasil from user where username='$username' and password='$password'"); $baris=mysql_fetch_array($result);
//ambil data
$data=mysql_query("select username,level from user where username='$username' and password='$password'"); $hasil_data=mysql_fetch_array($data);
if($baris["hasil"]=="0") {
//kalo salah, kembali!
header("location:index.php?messsage=salah password euy"); }
elseif($baris["hasil"]!="0") {
//kalo bener
$id=$hasil_data["username"];
//enabled kan session id session_start();
$sess = session_id();
//insert data session untuk id tertentu
mysql_query("insert into session values('$id','$sess')");
//tentukan level user if($hasil_data["level"]==2) {
if($hasil_data["username"]!=$username) {
//kalo gak ada, daftar dulu
header("location:index.php?message=Daftar Heula !"); }
else {
//kalo nama user, tampilkan halaman ini
header("location:index.u.php?id=$id&session_id=$sess"); }
}
elseif($hasil_data["level"]==1) {
//tampilkan halaman admin
header("location:index.a.php?id=$id&sess=$sess"); }
} ?>
logout.php
tanggal_jam.php
<?phpmysql_connect("localhost","root",""); mysql_select_db("mhs");
mysql_query("delete from session where user='$id'"); mysql_close();
header("location:index.php?message=you have succesfully logged out"); exit;
?>
<html> <head>
<title>Contoh Program Menampilkan Tanggal dan Jam</title> </head>
<body>
Sekarang tanggal : <?
echo date("d-F-Y"); ?>
<br><br>
Coba anda bedakan dengan yang ini !<br> <?
echo "<b>";
print (date("D-F-Y")); echo "</b>";
?>
<br><br> Sekarang jam : <?
echo date("H:i:s A"); ?>
</body></html>