You are on page 1of 38

2011

Sekolah Tinggi Informatika & Komputer Indonesia Sugeng Widodo, S.Kom

[MODUL PEMROGRAMAN WEB (LANJUT)]


Berisi tentang pengembangan aplikasi menggunakan bahasa pemrograman PHP, yang digabung dengan database MySQL

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Contents
Contents......................................................................................................2 Pengenalan..................................................................................................3 Cara kerja web.........................................................................................3 Program Pertama.....................................................................................4 Membuat halaman HTML biasa..............................................................4 Menampilkan tulisan menggunakan PHP...............................................4 Menggabungkan STRING.......................................................................6 Menampilkan karakter khusus...............................................................7 Menggunakan variable..........................................................................7 Tanggal dan Waktu....................................................................................10 Latihan................................................................................................12 Latihan 2 ............................................................................................12 Penggunaan karakter S pada perintah date............................................13 Menampilkan waktu sesuai lokasi klien................................................13 Form.......................................................................................................... 15 GET dan POST.........................................................................................15 POST method..........................................................................................15 Membuat tampilan isian data..............................................................16 Membuat file pengolah data................................................................16 GET Method...........................................................................................16 Membuat tampilan isian data..............................................................16 Membuat file pengolah data................................................................17 Latihan .................................................................................................. 17 Latihan pencarian data sederhana.......................................................24 Session...................................................................................................... 27 Latihan ...............................................................................................28 Latihan 2.............................................................................................28

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Database...................................................................................................34

Pengenalan
PHP adalah sebuah bahasa scripting yang merupakan HTML-embedded, yang artinya perintah yang dapat digabungkan dengan script HTML. (berdasar dari website PHP.net). Tata cara penulisan PHP mirip dengan bahasa C, Java dan Perl. Tujuan dari bahasa PHP ini adalah agar dapat membuat sebuah web site yang dinamis dengan cepat.

Cara kerja web

Dimulai dari client memasukkan URL (alamat web site) di browser, yang artinya meminta sebuah file. File tersebut kemudian dicari pada Web Server (Server yang melayani permintaan file web). Web Server yang akan digunakan pada pelatihan ini bernama Apache. Selain Apache masih banyak aplikasi web server lainnya. File yang diminta kemudian akan dicari oleh web server. Apabila ditemukan script PHP maka akan dilakukan kompilasi sehingga menjadi script HTML. Apabila PHP membutuhkan file gambar ataupun data maka akan digabungkan menjadi sebuah script HTML. PHP adalah sebuah bahasa pemrograman server side, yang artinya program (script) akan dijalankan di sisi web server (apache). Sedangkan disisi client (browser) hanya melihat hasil dari kompilasi PHP yang berupa script HTML.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Note: Web Server yang digunakan harus mendukung PHP Script HTML yang dihasilkan oleh web server akan diberikan pada browser (client) untuk ditampilkan. Perlu diperhatikan bahwa data atau script yang ditampilkan pada web server tidak akan menampilkan script PHP.

Program Pertama
Pada program pertama ini yang akan dilakukan adalah : Menambahkan PHP pada script HTML biasa Menampilkan tulisan menggunakan PHP Menggabungkan tulisan Menampilkan karakter khusus Menggunakan variabel

Membuat halaman HTML biasa

Nama file : mypage.html <html> <head> <title>This is my page</title> </head> <body> This is the content of my page. </body> </html> Langkah pertama yang harus dilakukan untuk membuat program PHP adalah mengubah nama file menjadi berekstensi ".php", sehingga menjadi "mypage.php". Langkah kedua, letakkan file tersebut pada server. Pada pelatihan kali ini folder yang digunakan adalah folder "htdocs". Semua file yang ada pada "htdocs" akan dapat diakses oleh client dengan cara : tuliskan "localhost/mypage.php". Selanjutnya semua script php akan dikompilasi terlebih dahulu untuk dijadikan script HTML sebelum dikirim ke client. Langkah ketiga, menuliskan script php sebagai berikut : Menampilkan tulisan menggunakan PHP

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Nama file : myfile.php <html> <head> <title>This is my page</title> </head> <body> This is the content of my page. <?php print "Do you like it?"; ?> </body> </html> Sewaktu diketikkan alamat "localhost/myfile.php" di browser, maka server akan menjalankan semua perintah PHP yang ada di dalam tag php <?php dan ?> . Pada file diatas perintah yang akan jalankan adalah "print", yang akan menuliskan tulisan yang ada didalam tanda petik, yaitu "Do you like it?". Selain perintah "print", perintah "echo" juga dapat digunakan untuk menampilkan tulisan, dan hasilnya tidak akan berbeda. Jangan lupa untuk menambahkan ";" diakhir setiap perintah. Jika tidak maka akan ditampilkan pesan kesalahan. Penulisan script PHP juga dapat ditulis dalam satu baris, misalnya : <?php print "Do you like it?";?>

Antara tag PHP buka dan tag PHP tutup, dapat dituliskan beberapa baris perintah, dan jangan lupa menambahkan ";" diakhir setiap perintah. <html> <head> <title>This is my page</title> </head> <body> This is the content of my page. <?php print "Do you like it?"; print "<br>";

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

print "<b>If not, please visit a different page.</b>"; print "<br>"; print "<h1>Goodbay</h1>"; ?> </body> </html> Dalam sebuah file PHP, dapat berisi beberapa script PHP (tag PHP buka "<?php", dan tag PHP tutup "?>"), sebagai berikut : <html> <head> <title>This is my page</title> </head> <body <?php print "bgcolor=#FFFFFF"; ?>> <?php print "Hello!<br>"; ?> This is the content of my page. <?php print "Do you like it?"; print "<br>"; print "<b>If not, please visit a different page.</b>"; print "<br>"; print "<h1>Goodbay</h1>"; ?> </body> </html> Pada contoh diatas juga terlihat bahwa script PHP juga dapat dituliskan didalam tag HTML, seperti : <body <?php print "bgcolor=#FFFFFF"; ?>> Menggabungkan STRING Cobalah script PHP berikut : Code 1 <?php print "Hello!<br>"; print "I am Joe"; ?>

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Code 2 <?php print "Hello!<br>"."I am Joe"; ?> Hasil dari kedua program diatas sama. Bedanya pada program kedua hanya terdapat sebuah perintah "print", dan menggunakan titik "." untuk menggabungkan kedua tulisan. Menampilkan karakter khusus Kerjakan perintah berikut : Perintah Gunakan simbol "\n" untuk menampilkan line break <pre> <?php print "AA\nBB\nCC\nDD\nEE"; ?> </pre> Hasil Gunakan simbol "\n" untuk menampilkan line break
AA BB CC DD EE

Gunakan simbol "\"" untuk to menuliskan tanda petik <br> <?php print "He said \"Hello\" to John"; ?>

Use "\"" to add brakets He said "Hello" to John

Menggunakan variable Setiap variable dalam PHP selalu ditulis dengan diawali dengan "$", misalnya $i, $a, $nama, $alamat. Untuk memisahkan nama variable agar memudahkan untuk dipahami dapat dipisahkan dengan tanda garis bawah, seperti : $nama_lengkap, $my_data. Contoh program PHP :

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<?php $my_name="Joe"; $my_hello_text="Hello everybody!"; $year_create=2002; ?> <html> <head> <title>This is <?php print </head> <body> <?php print $my_hello_text; ?> This page was written in <?php print </body> </html> Pada contoh diatas terdapat tiga buah variable (baris 2,3, dan 4), dan telah digunakan pada script HTML. Perhatikan ketiga variable tersebut : $my_name dan $my_hello_text adalah variable yang diisi data STRING (tulisan) Sedangkan $year_create adalah variable yang diisi data angka $year_create; ?>.

$my_name; ?>spage</title>

Selain cara diatas variable juga dapat digunakan dengan cara sebagai berikut : The code <?php $year_create=2002; print "This page was written in " . $year_create; ?> The output This page was written in 2002

This page was written in 2002

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

The code <?php $year_create=2002; print "This page was written in $year_create"; ?> <?php $the_text="This page was written in "; $year_create=2002; print $the_text.$year_create; ?> <?php $the_text="This page was written in "; $year_create=2002; print "$the_text$year_create"; ?>

The output

This page was written in 2002

This page was written in 2002

Sekolah Tinggi Informatika & Komputer Indonesia | Session

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Tanggal dan Waktu


Data tanggal dan waktu yang akan ditampilkan adalah tanggal dan waktu dimana server berada. Selain itu juga akan dibahas cara menampilkan tanggal dan waktu yang disesuaikan dengan posisi client. Pada tabel dibawah ini diperlihatkan cara menampilkan informasi waktu. Pada kolom ketiga adalah hasil dari perintah dikolom pertama. Sedangkan kolom kedua adalah hasil yang akan ditampilkan pada 15 November 2011. Code <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print <?php print Output date("a"); ?> pm date("A"); ?> PM date("d"); ?> 15 date("D"); ?> Wed

"am" or "pm" "AM" or "PM" Day of the month: 01 to 31 Day of the week: Sun, Mon, Tue, Wed, Thu, Fri, Sat

date("F"); ?> November Month: January, February, March... date("h"); ?> 03 date("H"); ?> 15 date("g"); ?> 3 date("G"); ?> 15 date("i"); ?> 26 date("j"); ?> 15 date("l"); ?> Tuesday date("L"); ?> 0 date("m"); ?> 10 date("n"); ?> 10 date("M"); ?> Oct date("s"); ?> 03 Hour: 01 to 12 Hour: 00 to 23 Hour: 1 to 12 Hour: 0 to 23 Minutes: 00 to 59 Day of the month: 1 to 31 Day of the week: Sunday, Monday, Tuesday... Is it a leap year? 1 (yes) or 0 (no) Month: 01 to 12 Month: 1 to 12 Month: Jan, Feb, Mar, Apr, May... Seconds: 00 to 59

Sekolah Tinggi Informatika & Komputer Indonesia | Session

10

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<?php print

date("S"); ?> Th

Ordinal: 1st, 2st, 3st, 4st... Need to be used with a numeric time/date value. See latter. Number of days in the month: 28 to 31

<?php print <?php print

date("t"); ?> 31 date("U"); ?>

10346919 Seconds since 1970/01/01 00:00:00 63 Day of the week: 0 (Sunday) to 6 (Saturday) Year (four digits) Year (two digits) Day of the year: 0 to 365 Difference in seconds from Greenwhich meridian

<?php print <?php print <?php print <?php print <?php print

date("w"); ?> 2 date("Y"); ?> 2002 date("y"); ?> 02 date("z"); ?> 287 date("Z"); ?> -21600

Pada tabel diatas terlihat penggunaan perintah "print" untuk menampilkan data, dan perintah "date" digunakan untuk mengambil data yang sesuai dengan kode yang terdapat didalam kurung. Untuk menampilkan tanggal secara bersamaan (tanggal, bulan, dan tahun) dapat dilakukan dengan cara sebagai berikut : The code <?php print date("Y"); ?>:<?php print php print date("d"); ?> <?php print Output date("m"); ?>: <? 2002:10: 15 2002:10: 15 2002:10: 15

date("Y").":".date("m").":".date("d"); ?>

<?php print

date("Y:m:d"); ?>

Cara pertama sangat mudah dipahami, karena hanya menggunakan perintah yang ada ditabel sebelumnya, dan ditulis satu persatu satu. Cara kedua menggunakan "." concatenate (penggabungan) untuk menampilkan Tahun digabung dengan karakter titik dua ":", kemudian digabung dengan bulan dan seterusnya. Dan cara terakhir dan sering digunakan adalah dengan menuliskan urutan karakter yang akan ditampilkan dalam satu kesatuan.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

11

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Perintah "date" digunakan untuk mengambil tanggal dari system. Dan masingmasing karakter dalam tanda petik (parameter) akan mewakili sebuah data tergantung pada karakter yang ditulis. Y : M : D : mewakili tahun dengan 4 digit. : tidak berarti apa-apa : bulan 1: 12 : tidak berarti apa-apa : tanggal dalam sebulan : 01 sampai 31

Latihan

The code <?php print <?php print

date("Y:m:d H:i") ?> date("l dS of F Y h:i:s A"); ?>

The time is <?php print date("H:i") ?>. That means it's <?php print date("i") ?> minutes past <?php print date("H") ?> o'clock.

Output 2002:10:15 15:26 Tuesday 15th of October 2002 15:26:03 PM The time is 15:26. That means it's 26 minutes past 15 o'clock.

Hati hati saat menggunakan perintah date, karena mungkin akan menghasilkan data yang tidak diinginkan seperti berikut :

The code <?php print l"); ?> date("Today is

Output

Character meaning

with

WETo15pm02 2603 Tuesday Today is Tuesday

<?php print

"Today is " .date("l"); ?>

The following characters have a meaning: T, d, a, y, i, s, l Only data asociated to "l" (day of the week) is requested

Latihan 2 Bagaimana seandainya ingin dibuat sebuah link yang disesuaikan dengan hari saat halaman diakses. Maka yang pertama harus dilakukan adalah membuat atau mempersiapkan halaman dengan nama hari (dalam bahasa inggris), seperti "Sunday.html", "Monday.html", dan seterusnya. Kemudian tulisakan perintah berikut pada file php utama.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

12

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<a href= <?php print

date("l"); ?>.htm>Link of the Day</a>

Penggunaan karakter S pada perintah date


Dengan menggunakan karakter S maka akan ada penambahan "st", "nd", "rd", atau "th" tergantung pada angka sebelum S. Sebagai berikut : Day 2002/01/ 01 2002/01/ 02 2002/01/ 03 2002/01/ 04 Code <? php print <? php print <? php print <? php print Output 1st January 2nd January 3rd January 4th January

date("nS of F"); ?> date("nS of F"); ?> date("nS of F"); ?> date("nS of F"); ?>

of of of of

Menampilkan waktu sesuai lokasi klien Seandainya server terletak di lokasi yang berbeda dengan lokasi klien, maka yang harus dilakukan adalah :

Mengetahui waktu di lokasi server Buat program php dengan program sebagai berikut : Time in server: <?php print date("H:i") ?>

Dan bila program dijalankan maka akan ditampilkan waktu sesuai dengan lokasi server, misalnya waktu di server adalah 16:00 Selanjutnya untuk menampilkan waktu di lokasi klien, dilakukan penghitungan selisih waktu antara waktu di lokasi dan waktu server. Misalnya saja waktu di Rusia adalah pukul 20:00, maka selisihnya adalah 4 jam, maka dibuat program sebagai berikut : <?php $differencetolocaltime=4; $new_U=date("U")-$differencetolocaltime*3600; print date("H:i", $new_U); ?> Penjelasan program : Dibuat variable dengan nama $differencetolocaltime, dan diisi dengan nilai 4

Sekolah Tinggi Informatika & Komputer Indonesia | Session

13

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Di baris ketiga dibuat variable $new_U, dan nilai dari variable ini adalah date('U') yang artinya nilai detik sejak 1970/01/01 00:00:00, yang kemudian dikurangi dengan selisih waktu (dalam hal ini adalah 4) yang dikalikan 3600 Langkah terakhir adalah menampilkan tanggal dengan memberikan waktu yang ada di $new_U

Sekolah Tinggi Informatika & Komputer Indonesia | Session

14

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Form
Untuk memulai pelajaran kali ini, yang perlu diperhatikan adalah akan terdapat dua file. Pertama file HTML yang berisi tag HTML Form, dan kedua file yang menjadi tujuan pengiriman data. Cara ini hanya untuk memudahkan pemahaman konsep form, yang kemudian dalam proses selanjutnya dapat menggunakan cara satu file. Form adalah salah satu tag HTML yang digunakan untuk mengirimkan data ke server. Dalam sebuah form dapat berisi beberapa tag input seperti :

text field (kontak input, satu baris tulisan), checkbox (input yang berupa kotak pilihan lebih dari satu), radio button (input yang berupa pilihan berbentuk lingkaran yang hanya dapat dipilih satu) submit button (tombol) dan lain lain

Dapat juga berupa :

select lists (daftar pilihan dalam kotak), textarea (kotak input, yang dapat diisi beberapa baris tulisan), fieldset (kotak yang didalamnya dapat terdiri beberapa element yang dikelompokkan) legend (keterangan untuk fieldset) label (hanya untuk tulisan saja)

GET dan POST


Terdapat dua cara untuk mengirimkan data menggunakan tag HTML FORM, yaitu method GET dan POST. Sebagai catatan GET juga dapat digunakan untuk mengirimkan data dalam link.

POST method
Untuk mengirimkan data menggunakan cara POST maka dalam tag HTML FORM dituliskan sebagai berikut (perhatikan bagian method) :

Sekolah Tinggi Informatika & Komputer Indonesia | Session

15

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Membuat tampilan isian data File Pertama : form.html <form method="POST" action="GetandPost.php"> Your name<BR> <input type=text name=thename size=15><BR> Your age<BR> <input type=text name=theage size=15><BR> <input type=submit value="Send info"> </form> File diatas menunjukkan bahwa cara yang digunakan untuk mengirimkan data adalah menggunakan POST, tujuan pengiriman data adalah file GetandPost.php. Adapun data yang dikirim adalah "thename" dan "theage". Cobalah untuk memahami konsep tersebut dengan memperhatikan script HTML diatas. Sewaktu tombol "Send info" ditekan, akan diarahkan ke file GetandPost.php. Perhatikan bagian URL, tertulis : http://localhost/GetandPost.php hasil ini akan berbeda jika menggunakan method GET. Membuat file pengolah data File kedua : GetandPost.php Untuk mengambil dan mengolah data yang telah dikirim dari file pertama, digunakan $_POST. Code <?php print $_POST["thename"]; ?> <?php print $_POST["theage"]; ?> <?php $thename=$_POST["thename"]; $theage=$_POST["theage"]; print "Hi ".$thename.", I know you are ". $theage." years old"; ?> Output John 30 Hi John, I know you are 30 years old

GET Method
Langkah yang dilakukan untuk menggunakan cara ini sama dengan cara pada POST Method diatas. Perbedaannya hanya terdapat pada bagian URL yang terlihat setelah tombol "Send info" ditekan. Membuat tampilan isian data File Pertama : form.html

Sekolah Tinggi Informatika & Komputer Indonesia | Session

16

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<form method="GET" action="GetandPost.php"> Your name<BR> <input type=text name=thename size=15><BR> Your age<BR> <input type=text name=theage size=15><BR> <input type=submit value="Send info"> </form> File diatas menunjukkan bahwa cara yang digunakan untuk mengirimkan data adalah menggunakan GET, tujuan pengiriman data tetap pada file GetandPost.php. Begitu pula data yang dikirimkan, yaitu "thename" dan "theage". Sewaktu tombol "Send info" ditekan, akan diarahkan ke file GetandPost.php. Perhatikan bagian URL, tertulis : http://localhost/GetandPost.php?thename=John&theage=30

Membuat file pengolah data File kedua : GetandPost.php Untuk mengambil dan mengolah data yang telah dikirim dari file pertama, digunakan $_GET. Code <?php print $_GET["thename"]; ?> <?php print $_GET["theage"]; ?> <?php $thename=$_GET["thename"]; $theage=$_GET["theage"]; print "Hi ".$thename.", I know you are ". $theage." years old"; ?> Output John 30 Hi John, I know you are 30 years old

Latihan
Pada latihan ini akan dipelajari cara lain penggunaan method Get dan $QUERY_STRING. Untuk latihan kali ini akan dibuat tiga program dengan hasil yang sama tetapi cara berbeda. Program yang akan dibuat adalah program untuk menampilkan data sesuai url yang diinputkan. Nama file : Getandpostexample.php

Sekolah Tinggi Informatika & Komputer Indonesia | Session

17

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<html> <body bgcolor=FFFFFF> <pre> <b>Information about my friends</b> <?php if ($QUERY_STRING=="showall") { ?> Anna From London. Student Paolo From Roma. Student Andoni From Donosti. Student <a href=Getandpostexample.php>Hide data</a> <?php }else{ ?> <?php if ($_GET["name"]=="Anna") { ?> Anna From London. Student <?php }else{ ?> <a href=Getandpostexample.php?name=Anna>Anna</a> <?php } ?> <?php if ($_GET["name"]=="Paolo") { ?> Paolo From Roma. Student <?php }else{ ?> <a href=Getandpostexample.php?name=Paolo>Paolo</a> <?php } ?> <?php if ($_GET["name"]=="Andoni") { ?> Andoni From Euskadi. Student <?php }else{ ?> <a href=Getandpostexample.php?name=Andoni>Andoni</a> <?php } ?> <p> <a href=Getandpostexample.php?showall>Show all data</a> <?php } ?> </pre> </body> </html> Program diatas dan program dibawah akan menghasilkan hal yang sama. Bandingkan kedua program tersebut (perhatikan penggunaan "<?php" dan "?>" dan perintah "print"). Simbol Line breaks ("\n") dituliskan dalam tulisan yang akan ditampilkan.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

18

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Catatan : Pada script diatas terdapat perintah "if", seperti :

if ($QUERY_STRING=="showall") perintah-perintah }
artinya adalah jika isi dari $QUERY_STRING adalah "showall" maka perintahperintah akan dijalankan, tetapi jika tidak berisi "showall" maka perintahperintah tidak dijalankan.

Nama file : Getandpostexample2.php

<?php // this code is always shown print "<html>\n<body bgcolor=FFFFFF>\n"; print "<pre>\n<b>Information about my friends</b>\n"; if ($QUERY_STRING=="showall") { print "\nAnna\n From London. Student"; print "\nPaolo\n From Roma. Student"; print "\nAndoni\n From Euskadi. Student"; print "\n<a href=Getandpostexample.php>Hide data</a>"; }else{ if ($_GET["name"]=="Anna") { print "\nAnna\n From London. Student"; }else{ print "\n<a href=Getandpostexample.php? name=Anna>Anna</a>"; } if ($_GET["name"]=="Paolo") { print "\nPaolo\n From Roma. Student"; }else{ print "\n<a href=Getandpostexample.php? name=Paolo>Paolo</a>"; }

Sekolah Tinggi Informatika & Komputer Indonesia | Session

19

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

if ($_GET["name"]=="Andoni") { print "\nAndoni\n From Euskadi. Student"; }else{ print "\n<a href=Getandpostexample.php? name=Andoni>Andoni</a>"; } print "\n<a href=Getandpostexample.php?showall>Show all data</a>"; } ?> </pre> </body> </html> Program ketiga menggunakan tiga variable dengan nama $Anna, $Paolo dan $Andoni, yang kemudian diisi dengan tulisan di tiga baris pertama program dibawah ini. Penggunaan variable akan menjadi lebih mudah, apalagi pada kasus seperti ini. Nama file : Getandpostexample3.php

<?php // Variables are defined for each person $Anna = "\nAnna\n From London. Student"; $Paolo = "\nPaolo\n From Roma. Student"; $Andoni = "\nAndoni\n From Euskadi. Student"; // this code is always shown print "<html>\n<body bgcolor=FFFFFF>\n"; print "<pre>\n<b>Information about my friends</b>\n"; if ($QUERY_STRING=="showall") { print $Anna.$Paolo.$Andoni; print "\n<a href=Getandpostexample.php>Hide data</a>"; }else{ if ($_GET["name"]=="Anna") { print $Anna; }else{ print "\n<a href=Getandpostexample.php? name=Anna>Anna</a>"; }

Sekolah Tinggi Informatika & Komputer Indonesia | Session

20

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

if ($_GET["name"]=="Paolo") { print $Paolo; }else{ print "\n<a href=Getandpostexample.php? name=Paolo>Paolo</a>"; }

if ($_GET["name"]=="Andoni") { print $Andoni; }else{ print "\n<a href=Getandpostexample.php? name=Andoni>Andoni</a>"; } print "\n<a href=Getandpostexample.php?showall>Show all data</a>"; } ?> </pre> </body> </html>

Sekolah Tinggi Informatika & Komputer Indonesia | Session

21

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Array
Array adalah salah satu jenis variable. Variable digunakan untuk menyimpan data. Tetapi yang penting untuk dipahami adalah setiap variable hanya dapat digunakan untuk menyimpan sebuah data. Apabila sebuah variable $nama diisi dengan data "Budi", dan kemudian diisi dengan data "Wati", maka isi dari variable $nama adalah "Wati". $nama = "Budi"; $nama = "Wati"; echo "Selamat datang $nama"; // yang akan ditampilkan adalah // Selamat datang Wati Seandainya kedua nama tersebut ("Budi" dan "Wati") akan disimpan pada variable maka yang harus dilakukan adalah membuat dua variable, sebagai berikut : $nama1 = "Budi"; $nama2 = "Wati"; echo "Selamat datang $nama1 dan $nama2"; // yang akan ditampilkan adalah // Selamat datang Budi dan Wati Cara diatas tentu tidak dapat dilakukan jika data yang akan disimpan sangat banyak. Dengan menggunakan array, kedua nama "Budi" dan "Wati" akan dapat disimpan dalam satu nama variable. array.php <html> <title>My Array</title> <body> <?php $MyData [0] = "0" $MyData [1] = "1" $MyData [2] = "2" $MyData [3] = "3" $MyData [4] = "4" $MyData [5] = "5" $MyData [6] = "6" $MyData [7] = "7" $MyData [8] = "8" $MyData [9] = "9" print $MyData [5]; ?> </body>

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Berikut bentuk data yang tersimpan dalam variable Array MyData MyDat a 0 1 2 3 4 5 1 4 7 3 4 5

Sekolah Tinggi Informatika & Komputer Indonesia | Session

22

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

</html>

18 19 20 21

6 7 8 9

6 7 8 9

Program ini akan menampilkan data yang ada pada variable array yang ke 5 ($MyData [5]). Sehingga di halaman web akan ditampilkan 5.

Berikut script untuk membuat Array dua dimensi array2.php <html> <title>My Array</title> <body> <?php $MyData $MyData $MyData $MyData $MyData $MyData $MyData $MyData $MyData [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][1] = = = = = = = = = "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9";

Berikut adalah isi dari array $Mydata. MyDat 0 1 2 a 0 1 2 1 2 3 4 5 6 7 8 9

Baris 5-13. Mengisi data ke array. Line 14. Dihalaman web akan ditampilkan data yang ada di array $MyData [1][2] . Angka pertama "1" menunjukkan baris, dan angka kedua "2" mewakili kolom, sehingga akan ditampilkan angka "6"

print $MyData [1][2]; ?> </body> </html>

Untuk mengisi data pada variable array dapat dilakukan dengan cara lain selain dari cara diatas. Berikut dua cara yang mungkin dilakukan : 1. Memanfaatkan perintah array $Thearray= array ("Zero","one","two","three","four","five","six","se ven","eight","nine")

Sekolah Tinggi Informatika & Komputer Indonesia | Session

23

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Dengan cara ini akan menghasilkan array satu dimensi, dengan elemen pertama adalah elemen 0. 2. Menggunakan perintah split <?php $TheText="zero one two three four five six seven eight nine"; $Thearray=split (" ",$TheText) ; print_r ($Thearray); ?> Perintah split akan memisahkan data yang ada di variable $TheText berdasarkan spasi kemudian menghasilkan array satu dimensi. Perintah Print_r akan menampilkan isi data dari variable array $Thearray. Array ( [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] )

=> => => => => => => => => =>

zero one two three four five six seven eight nine

Latihan pencarian data sederhana Berikut akan dibuat sebuah program untuk pencarian data. Pertama kali web page ditampilkan akan diperlihatkan sebuah isian kata yang akan dicari. Setelah tombol "Search" ditekan maka inputan akan dicari di data array, kemudian akan diarahkan ke website yang dituju. search.php

Sekolah Tinggi Informatika & Komputer Indonesia | Session

24

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

<? if ($_POST){ // check whether info has been posted $query=$_POST["query"]; Redirect($query); }else{ // if no info has been posted, print the form print "<form method=post action=search.php>"; print "<input type=text name=query>"; print "<input type=Submit value=Search>"; print "</form>";

function Redirect($query){ // Array containing containing URLs and descriptions $Websites[0]["url"]="http://www.phptutorial.info"; $Websites[0]["description"]=Main page of PHPTutorial.info"; $Websites[1]["url"]= "http://www.phptutorial.info/scripts/Contact_form.html"; $Websites[1]["description"]="Contact form script"; $Websites[2]["url"]= "http://www.phptutorial.info/scripts/Hit_counter.html"; $Websites[2]["description"]="Simple hit counter script"; $Websites[3]["url"]="http://www.phptutorial.info/iptocountry/"; $Websites[3]["description"]= "Free script and databse for country identification based on IP address"; // find query string within description of websites foreach ($Website as $key=> $val){ if (substr_count($Website [$key]["description"],$query)>0){ //next line will redirect the user to the corresponding url header ("Location: ".$Website [$key]["url"]); exit; } } }

?>

Catatan : Pada contoh diatas terdapat (pada baris 13)

function Redirect($query){ Sekolah Tinggi Informatika & Komputer Indonesia | Session 25

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Perintah diatas digunakan untuk memudahkan pembuatan program. Maksud dari perintah tersebut adalah membuat perintah baru dengan nama Redirect. Dengan demikian seluruh perintah dalam block function terebut akan dapat dijalankan hanya dengan menulis Redirect, seperti pada baris 4. Pada baris 28 terdapat perintah
foreach

($Website as $key=> $val){ perintah-perintah yang diulang

}
Maksud dari perintah tersebut adalah melakukan perulangan (untuk perintah-perintah yang diulang) sebanyak data yang ada di dalam $website. Dan data yang ada di dalam $website akan dijadikan dua data yaitu $key untuk index datanya dan $val untuk data pada array.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

26

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Session
Salah satu kondisi yang cukup sulit dilakukan pada pemrograman web adalah sebuah data dalam variable hanya ada pada sebuah halaman web. Sewaktu user melakukan perpindahan halaman, yang dikarenakan penekanan tombol submit atau menekan link, maka data pada sebuah variable akan hilang. Contohnya sebagai berikut :
File Pertama : form.php

<?php $mydata = "my first data"; echo $mydata; ?>


<form method="POST" action="GetandPost.php"> Your name<BR> <input type=text name=thename size=15><BR> Your age<BR> <input type=text name=theage size=15><BR> <input type=submit value="Send info"> </form>

File Kedua : GetandPost.php <?php $thename=$_POST["thename"]; $theage=$_POST["theage"]; print "Hi ".$thename.", I know you are ".$theage." years old"; echo "isi dari variable mydata adalah $mydata"; ?> Pada contoh diatas, variable $mydata tidak berisi data. Disini terlihat bahwa tidak dapat menggunakan variable dari halaman sebelumnya untuk diproses pada halaman lainnya. Dengan keterbatasan ini maka diperlukan sebuah cara untuk mengirimkan data dari suatu halaman ke halaman lainnya, dan caranya adalah dengan menggunakan session.

Sekolah Tinggi Informatika & Komputer Indonesia | Session

27

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Session adalah sebuah cara untuk menyimpan data di server, dan sifatnya sementara, karena pada suatu saat data yang tersimpan di session akan hilang. Sebuah variable yang disimpan di session oleh sebuah halaman akan dapat digunakan oleh halaman lainnya.

Latihan
Membuat halaman counter

counter.php <? 1 session_start(); 2 $counter++; 3 print "You have visited this page $counter times during this 4 session"; 5 session_register("counter"); 6 ?>

Apabila tulisan session_start() dihilangkan maka nilai dari variable $counter tidak akan bertambah. Dengan menggunakan session maka setiap kali halaman ini di akses maka akan ditampilkan jumlah pengunjung halaman ini. Pada baris 2, adalah cara untuk memulai session. Pada baris 3, perintah untuk menambah satu isi dari variable $counter Pada baris 4, menampilkan tulisan (didalamnya ada variable $counter) Pada baris 6, mendaftarkan variable counter, tanpa tanda "$"

Latihan 2 Akan dibuat sebuah halaman yang hanya diakses oleh user yang proses loginnya sukses. Pertama kali akan dibuat sebuah halaman web dengan nama "index.php" yang berisi form login. Dan kemudian akan dibuat beberapa halaman lain seperti : page1.php, page2.php, dan seterusnya yang hanya dapat diakses jika telah login. Untuk percobaan ini akan dibuatkan dua user, yaitu : Sekolah Tinggi Informatika & Komputer Indonesia | Session 28

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

User : Joe, dan passwordnya adalah "hi" User : Peter dan passowrdnya adalah "hallo"

Sekolah Tinggi Informatika & Komputer Indonesia | Session

29

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

sessiontest.php
<?php 1 2 Session_start(); 3 4 if ($_POST["username"]=="" && $_SESSION["permission"] != "yes") { 5 ?> 6 7 <html> 8 <title>Our private pages</title> 9 <body> 10 In order to access this pages fill the form below:<BR> 11 <form method="post" action="sessiontest.php"> 12 Username: <input type="text" name="username" size="20"><BR> 13 Password: <input type="password" name="password" 14 size="15"><BR> 15 <input type="Submit" value="Submit"> 16 </form> 17 </body> 18 </html> 19 20 <?php }else{ 21 $username=$_POST["username"]; 22 $password=$_POST["password"]; 23 if ($username=="Joe" AND $password=="hi"){ 24 $_SESSION["permission"]="yes"; 25 26 } 27 if ($username=="Peter" AND $password=="hello"){ 28 29 $_SESSION["permission"]="yes"; 30 31 } 32 33 $_SESSION["username"]=$_POST["username"]; 34 35 if ($_SESSION["permission"]=="yes"){ 36 ?> 37 <html> 38 <title>Our private pages</title> 39 <body> Hi, you are allow to see these pages: <BR> 40 <A HREF="page1.php">Page 1</A><BR> <A HREF="Logout.php">Log out</A>

Sekolah Tinggi Informatika & Komputer Indonesia | Session

30

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

</body> </html> <?php }else{ ?> Error in username or password <?php } ?> <?php } ?>

41 42 43

Penjelasan : Pada baris pertama diawali dengan perintah session_start() untuk memulai penggunaan session, kemudian dilanjutkan baris kedua digunakan untuk memeriksa apakah user telah mengisikan username. Jika isi dari $_POST["username"] == "" (username belum diisi) dan tidak memiliki hak akses maka akan ditampilkan isian username dan password. Bila form username dan password telah diisi, kemudian akan dilakukan pemeriksaan isi dari username dan password (baris 18 sampai 25). Jika username dan password benar, maka variable session "permission" diisi "yes" (baris 21 dan 24), dan ditampilkan sebuah halaman (baris 31 s.d 38). Seandainya kemudian dipilih link "Page 1" (page1.php). page1.php <?php session_start(); if ($_SESSION["permission"]=="yes") { ?> <html> <title>Page 1</title> <body> Hi <?php echo $_SESSION["username"];?>, welcome to Page 1 <BR> This page is empty at the moment, but it will be very interesting in the next future </body> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Sekolah Tinggi Informatika & Komputer Indonesia | Session

31

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

</html> <?php }else{ ?> You are not allowed to access this page <?php } ?>

17 18 19

Perhatikan bahwa perintah session_start() ditulis pada bagian awal dari setiap file. Jika perintah ini tidak dicantumkan maka semua variable session tidak dapat digunakan. Pada baris 3 dilakukan pemeriksaan terhadap isi dari variable session permission, jika berisi "yes", maka akan ditampilkan halaman welcome, tetapi jika tidak maka akan ditampilkan halaman peringatan (baris 15). Pada baris 9 ditampilkan isi dari variable session username.

Logout.php <?php session_start(); unset($_SESSION["permission"]); header('Location:sessiontest.php'); ?> 1 2 3 4 5

Pada file Logout.php terdapat perintah unset($_SESSION["permission"]); yang digunakan untuk menghapus variable session yang bernama permission. Setelah variable session permission dihapus maka page1.php tidak dapat diakses, karena dianggap tidak berhak. Pada baris 4 dilakukan pemanggilan file sessiontest.php, yang hasilnya adalah menampilkan isian username dan password. Cara mencoba : Sekolah Tinggi Informatika & Komputer Indonesia | Session 32

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

1. Jalankan page1.php terlebih dahulu, dengan mengisi alamat berikut di browser http://localhost/page1.php 2. Jalankan sessiontest.php http://localhost/sessiontest.php

3. Isikan username dan password a. Username : Joe Password : hi b. Username : Peter Password : hello 4. Pilih Page 1, perhatikan perbedaan yang terjadi saat pemanggilan pada langkah pertama 5. Jalankan sessiontest.php, perhatikan perbedaan yang terjadi saat pemanggilan pada langkah ke dua. 6. Pilih Log out 7. Lakukan langkah pertama

Sekolah Tinggi Informatika & Komputer Indonesia | Session

33

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

8.

Database

Sekolah Tinggi Informatika & Komputer Indonesia | Session

34

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Sekolah Tinggi Informatika & Komputer Indonesia | Session

35

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Sekolah Tinggi Informatika & Komputer Indonesia | Session

36

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Sekolah Tinggi Informatika & Komputer Indonesia | Session

37

[MODUL PEMROGRAMAN WEB (LANJUT)] November 14, 2011

Sekolah Tinggi Informatika & Komputer Indonesia | Session

38

You might also like