Catatan Programming Web 2
Catatan Programming Web 2
PENDAHULUAN
PHP singkatan dari Hypertext Preprocessor, merupakan bahasa berbentuk skrip yang
ditempatkan dalam server dan diproses di server. PHP merupakan salah satu pemrograman
Server Side, dimana semua skrip dan perintah program diproses/dijalankan di web server dan
hasilnya dikirim ke klien tempat pemakai menggunakan browser dalam bentuk HTML biasa.
Ketika seseorang mengunjungi web berbasis PHP, web server akan memproses code-code
PHP. Beberapa perintah atau code dari PHP tersebut selanjutnya ada yang diterjemahkan ke
dalam HTML dan beberapa ada yang disembunyikan (misalnya proses kalkulasi dan operasi).
Setelah diterjemahkan ke dalam HTML, web server akan mengirim kembali ke web browser
pengunjung tersebut. Secara khusus, PHP dirancang untuk membentuk web dinamis, artinya
ia dapat membentuk suatu tampilan berdasarkan permintaan terkini.
Penulisan Komentar
Komentar merupakan bagian program yang tidak akan dieksekusi. Fungsi dari komentar ini
adalah sebagai dokumentasi program atau berupa penjelasan dari program.
Penulisan komentar dalam PHP ada dua macam :
1. Komentar satu baris diawali dengan tanda //
2. Komentar lebih dari satu baris diawali dengan /* dan diakhiri dengan */
Variabel
Variabel dalam PHP dituliskan dengan diawali tanda $. Aturan penamaan variabel dalam PHP
pada umumnya serupa dengan variabel pada umumnya, yaitu dengan aturan sbb :
Nama variable bisa terdiri dari angka, huruf, dan underscore. Selain itu tidak boleh
digunakan.
Huruf pertama nama variable tidak boleh berupa angka.
Tidak boleh ada spasi
Bersifat case-sensitive
Tidak boleh menggunakan symbol operator dan karakter khusus
Contoh : tentukan nama variable yang benar/salah
$nama = "Jerry";
$test123 = "Test";
$1Huruf = "a saja";
$_TEST = "Test";
$Test_123 = "Test";
$sw3ar-it = "Again";
$Tom&Jerry = "Kucing";
Konstanta
Konstanta mirip dengan variable. Bedanya nilai konstanta tidak pernah berubah sejak
dideklarasikan.
Untuk mendeklarasikan konstanta digunakan fungsi define().
Sintak :
define("nama_konstanta",nilai);
contoh:
define("phi",3.14) ;
Operator
Operators digunakan untuk melakukan oprasi pada suatu nilai.
Tipe Data
Tipe data pada PHP tidak dideklarasikan. Tipe data pada PHP digunakan untuk menentukan
jenis data yang akan disimpan dalam suatu variabel.
PHP mempunyai 4 tipe data dasar yaitu:.
1. Integer merupakan tipe data yang mencakup semua bilangan bulat.
Range bilangan integer adalah antara -2.147.483.647 sampai dengan 2.147.483.647.
Contoh :
$biaya = 1000;
$a = 1234;
$a = -123;
2. Floating point merupakan tipe data yang mencakup semua bilangan desimal (bilangan
yang memiliki angka di belakang koma).
Range bilangan floating point antara 1e-308 sampai dengan 1e308 ( 10-308 s.d. 10308).
Contoh:
$a = 2.345;
$a = 3.2e4; 3.2 X 104
3. Character merupakan tipe yang digunakan untuk menyimpan data-data yang berupa
karakter (satu huruf).
Penulisannya biasanya diapit dengan tanda kutip satu (‘…’)
Contoh:
$abjad = ‘e’;
$abjad = ‘n’;
String merupakan tipe data tersendiri dan tidak dapat dikelompokkan menjadi tipe data
dasar.
Penulisannya biasa diapit dengan tanda kutip dua (“…”).
Contoh:
$nama = “Karina”;
$alamat = ”Rasamala Raya”;
4. Boolean. Boleean menyimpan data –data yang bernilai logika, benar atau salah, 0
atau 1, ya atau tidak
namaVar1 . namaVar2
namaVarhasil = namaVar1 . namaVar2;
contoh:
$data1= 23;
$data2= 5;
.
$hasil = $data1 $data2;
Perintah Output
Perintah untuk menampilkan hasil adalah: echo, print, printf
a. echo
sintaks:
echo “ teks/nama variable”; <?php
$data1 = 56;
contoh:
$data1 = 56; echo “ hasil = $data1”;
echo “ hasil = $data1”; hasil = 56 ?>
b. print
sintaks:
print (“ teks/nama variable”); hasil = 56
contoh:
$data1 = 56;
print (“ hasil = $data1”);
c. printf
sintaks:
printf (“ teks/nama variable [format data]”, namaVar);
contoh:
$data1 = 56;
printf (" hasil = %s", $data1); hasil = 56
Diantara keempat ini tag pertama merupakan tag yang paling aman karena memberikan tanda
yang lebih jelas dan pada umumnya dimengerti oleh web server.
Beberapa cara penulisan script:
I. Menuliskan tag HTML pada PHP
Untuk menuliskan tag HTML pada PHP dapat menggunakan perintah output PHP
Sintaks:
Echo “ <tag HTML>”;
<BODY>
<B>File PHP Pertama saya <BR> Ini PHP didalam HTML </B>
<?php
Echo “$data1”;
?>
……………….
………………..
</BODY>
</HTML>
Simpan dengan ekstensi .php
atau
enuliskan skrip PHP dan HTML dalam 1 File (memanggil/menggunakan pada
HTM<?php
…………………… ….
…………………… Main(){
?>
Int nil1, nil2, jml;
<HTML>
<HEAD> nil1=4;
<TITLE>PHP Embeded </TITLE> nil2=7;
</HEAD>
jml=nil1+nil2;
<BODY> cout<<jml;
<?php
Echo “……”; }
?>
</BODY>
</HTML>
Output:
Simpan di: C:\xampp\htdoc buat folder
Data Mahasiswa Ekstensi: .php
==================
NIM : ………. Menampilkan hasil di browser:
NAMA : …….. localhost/namafolder/namafile.php
KELAS : ……..
==================
Output:
LATIHAN PENJUMLAHAN
==================== LATIHAN PENJUMLAHAN
Nilai 1 = Nilai 1 Nilai 2 Hasil Jumlah
Nilai 2 =
Hasil Jumlah=
====================
Latihan:
Struktur Kondisi
IF
Sintaks:
if (kondisi/syarat)
{
Pernyataaan;
…………….
}
else if (kondisi/syarat)
{
Pernyataaan;
…………….
}
else
{
Pernyataaan;
…………….
}
Latihan:
Tentukan besar diskon berdasarkan ttal harga:
Jika total harga min 200 rb, disk=5% x total harga
Total harga min 500 rb, disk=10% x total harga
Selain itu disk=0
III. Membaca data/input dari Form HTML
</body>
</html>
SWITCH CASE
switch(variable) {
case nilai 1 :
perintah yang dijalankan ;
break;
case nilai 2 :
perintah yang dijalankan ;
break; ...
default :
perintah yang dijalankan ;
break;
}
Struktur Perulangan
WHILE
while(kondisi) {
operasi program ;
………………….
}
Do - While
do {
proses program ;
……………
}while($syarat);
For
for( nilai awal loop; kondisi ; step (inc/dec) ) {
operasi program ;
……………
}
Input1: 6
Input2:15
For ($i=1; $i<=5; $i++){
Print $i;
}
Foreach
Pengulangan yang dapat langsung memberi nilai array ke variable untuk ditampilkan
foreach ($array as $value) {
operasi program;
………………….
}
Latihan loop:
Array merupakan kumpulan beberapa data yang disimpan dalam satu variabel. Jadi, berbeda
dengan variabel sebelumnya yang hanya menyimpan satu nilai saja, array dapat menampung
lebih dari satu nilai.
Inisialisasi Array
I. nmVar = array (data1, data2 , ….);
$kota[0]=”Yogya”;
$kota[1]=”Solo”;
$kota[2]=”Bandung”;
$kota[3]=”Bogor”;
Contoh:
<?php
$arr=array("senin", "selasa", "rabu", "kamis");
foreach ($arr as $har){
echo "Hari: " . $har . "<br>";
}
For ($a=0;$a<4;$a++)
echo "Hari: " . $arr[$a] . "<br>";
?>
ARRAY Multidimensi
Array multidimensi merupakan array yang mengandung array.
Peserta 0 1 2 3
PHP Dian Edi Shinta
Web2 Andi Rita
C++ Nina Dita Kiki Septia
MySQL Ika Ari Sari
PAK Nani Irma
$Peserta =array(
“PHP” => array (“Dian”,”Edi”, “Shinta”),
“Web2 => array (…………………………………………………..),
……………..
);
$Peserta[“PHP”][0] = “Dian”;
Fungsi-fungsi pada Array, a.l:
Sintaks:
count($array)
Sizeof($array)
Contoh:
<?php
$a[0] =1;
$a[1] =3;
$a[2] =5;
$jumlah =count($a);
print "Jumlah array a = $jumlah <br>";
// variabel $jumlah akan bernilai 3
$b["buah"] = "semangka";
$b["sayur"] ="wortel";
$b["daging"] ="ayam";
$b["utama"] ="nasi";
$jumlah = sizeof($b);
print "Jumlah array b = $jumlah <br>";
// variabel $jumlah akan bernilai 4
?>
b. is_array()
Fungsi is_array() digunakan untuk memeriksa apakah sebuah variabel merupakan array atau
bukan. Jika sebuah variabel merupakan array, fungsi ini akan menghasilkan nilai true dan jika
bukan array akan menghasilkan nilai false.
Sintaks:
Is_array(variabel)
Contoh:
<HTML>
<HEAD> <TITLE> Penggunaan Is Array </TITLE> </HEAD>
<BODY>
<?php
$var = array(1,2,3,4,5,6,7);
$scan = is_array($var);
if ($scan == false) {
$status = "bukan";
}
else { $status = "";
}
echo "\$var = array(1,2,3,4,5,6,7)";
echo "<br>";
echo "Variabel \$var $status merupakan array"; ?>
</BODY>
</HTML>
c. list()
Fungsi list() digunakan untuk mengambil komponen-komponen array sebagai variabel-variabel
yang terpisah.
Sintaksnya:
List($item1, $item2, ... , $itemn) =nmVar_ array
Jumlah variabel $item harus sama dengan atau kurang dari jumlah komponen yang dimiliki array.
Contoh:
<HTML>
<HEAD> <TITLE> Penggunaan List </TITLE>
</HEAD>
<BODY>
<?php
$program = array('Bobo','Doraemon','Spiderman');
list($Majalah, $Komik, $Film) = $program;
echo "Jenis Buku & Hiburan :"; echo "<br />";
echo "Cerpen : $Majalah"; echo "<br />";
echo "Cerita Bergambar : $Komik";
echo "<br />";
echo "Bioskop : $Film"; ?>
</BODY>
</HTML>
d. split()
Fungsi split digunakan untuk memecah suatu string menjadi array berdasarkan karakter
pemisah tertentu. Sintaksnya adalah sebagai berikut:
Karakter adalah karakter yang digunakan untuk memisahkan array. Teks adalah string yang akan
dipecah menjadi array. Batas adalah jumlah komponen yang akan dihasilkan.
join(karakter, array)
in_array()
Fungsi in_array() digunakan untuk memeriksa apakah suatu nilai tertentu terdapat sebagai
komponen di dalam sebuah array. Sintaksnya adalah sebagai berikut:
Cari adalah nilai yang akan dicari apakah terdapat pada sebuah array. Tipe adalah boolean
yang mengindikasikan apakah tipe data akan disertakan dalam pencarian. Jika suatu nilai
ditemukan tapi tipe datanya tidak sama, maka fungsi in_array() dianggap gagal. Fungsi ini
bersifat case-sensitive.
<?php } ?>
Latihan:
Penggunaan File Teks (Manipulasi file)
Mode Keterangan
r Berkas hanya bisa dibaca. Penunjuk berkas
akan diletakkan di awal berkas
r+ Berkas dibuka dengan mode baca dan tulis.
Penunjuk berkas diletakkan diawal berkas
w Mode perekaman data. Berkas akan
diciptakan kalau belum ada, kalau sudah ada
isinya akan dihapus
w+ Berkas dibuka dengan mode baca dan tulis.
Berkas akan diciptakan kalau belum ada,
kalau sudah ada isinya akan dihapus
A Mode ini untuk penambahan data. Pada saat
berkas dibuka, penunjuk berkas diletakkan
pada akhir berkas. Apabila berkas belum ada
akan diciptakan
a+ Berkas dibuka dengan mode baca dan tulis,
penunjuk berkas diletakkan pada akhir
berkas. Apabila berkas belum ada akan
diciptakan
Fungsi penggunaan file Teks
Fungsi: fopen
Dapat digunakan untuk membuka file teks dan file pada suatu server.
Sintaks:
fopen(nama_file, mode)
contoh:
file = fopen (http://www.google.com, “r”);
file= fopen (“contoh.dat”, “w”);
fclose
untuk menutup file
sintaks:
fclose (file);
fputs
untuk merekam/menyimpan data ke file
sintaks:
fputs (file, data);
fgets
membaca data yang terdapat pada file
sintaks:
fgets (file, jml_char);
fgetss
membaca dari file dengan membuang tag HTML dan PHP
sintaks:
fgetss (file, jml_char, [tag]);
feof
memeriksa apakah penunjuk file sedang menunjuk akhir file
sintaks:
feof (file);
fseek
memindahkan penunjuk file ke suatu posisi dalam file
sintaks:
fseek (file, posisi, opsi);
jenis opsi:
SEEK_SET : argmen ke-3 tidak disertakan
SEEK_CUR : posisi penunjuk file adalah posisi saat ini + dengan posisi
SEEK_END : posisi penunjuk file berada akhir file – posisi
LATIHAN:
FUNCTION
Fungsi adalah blok kode yang ditujukan untuk melaksanakan suatu tugas tertentu.
Fungsi pada dasarnya terdiri dari blok-blok program yang dapat dipanggil, kemudian
memasukkannya langsung ke dalam kode program utama, dan memanggil nama fungsinya. Hal
penting dari fungsi adalah fungsi dapat menerima value dari luar, atau dikenal dengan
parameter, value ini kemudian dapat diolah dan hasilnya dapat digunakan di luar fungsi.
Manfaat yang dapat diambil ketika menggunakan fungsi adalah :
1. Kode program lebih mudah dibaca
2. Jika terdapat kesalahan mudah dikoreksi
3. Perintah atau prosedur dalam program dapat langsung diubah dari fungsinya, tanpa harus
mengubah program utama, dengan demikian akan meningkatkan efisiensi dalam membuat
program
Fungsi Built-In adalah fungsi yang sudah disediakan oleh PHP dan pemrogram dapat
langsung menggunakannya (fungsi siap pakai).
Tabel di bawah ini memperlihatkan bagaimana format waktu yang akan dihasilkan jika nilai
argumen yang dimasukkan sebagai berikut :
argumen hasil
a “am” atau “pm”
A “AM” atau “PM”
d Tanggal sekarang dari “01″ sampai dengan “31″
D Nama hari dari “Sun” sampai dengan “Sat”
F Nama bulan dari “January” sampai dengan
“December”
g Jam sekarang dari “1″ sampai dengan “12″
G Jam sekarang dari “0″ sampai dengan “23″
h Jam sekarang dari “01″ sampai dengan “12″
H Jam sekarang dari “00″ sampai dengan “23″
i Menit sekarang dari “00″ sampai dengan “59″
I Daylight saving time : “1″ jika True, “0″ jika false
J Tanggal sekarang dari “1″ sampai dengan “31″
l Nama hari dari “Sunday” sampai dengan
“Saturday”
L Tahun kabisat : “1″ jika True, “0″ jika false
m Kode bulan dari “01″ sampai dengan “12″
M Nama bulan dari “Jan” sampai dengan “Dec”
N Kode bulan dari “1″ sampai dengan “12″
R Format tanggal RFC 822
s Detik sekarang dari “00″ sampai dengan “59″
S Akhiran “th” atau “nd”
t Jumlah hari pada bulan sekarang
T Format timezone pada komputer, misalnya “Pacific
Standard Time”
w Kode hari dari “0″ (Minggu) sampai dengan “7″
(Sabtu)
y Tahun sekarang dalam 2 digit
Y Tahun sekarang dalam 4 digit
z Tanggal dalam tahun dari “1″ sampai dengan “365″
Fungsi getdate()
Fungsi getdate() digunakan untuk mengambil nilai waktu lokal sekarang atau waktu timestamp
dan waktu memasukkannya ke dalam array asosiatif. Sintaksnya adalah sebagai berikut:
getdate([timestamp])
Elemen array yang dapat dipergunakan adalah sebagai berikut:
1. "minutes" = menit
2. "seconds" = detik
3. "mday" = hari dalam satu bulan
4. "hours" = jam, dalam format 24 jam.
5. "wday" = hari dalam satu minggu, numeris, 0 untuk minggu hingga 6 untuk sabtu
6. "mon" = bulan, numeris.
7. "year" = tahun, numeris.
8. "day" = hari dalam satu tahun, misalnya "299"
9. "weekday" = hari dalam satu minggu, tekstual penuh, misalnya "Friday"
10. "month" = bulan, tekstual penuh, misalnya "January"
c. Fungsi String
Fungsi yang digunakan untuk mengelola data string
Fungsi UDF (User Defined Functiont) merupakan fungsi yang dibuat sendiri oleh pemrogram.
Fungsi ini dapat diletakkan dimana saja dalam script PHP, tapi sebaiknya diletakkan paling atas
agar memudahkan dalam proses debugging dalam tahap pembuatan dan pengembangan
program
Sintaks:
Pembuatan fungsi:
function namafungsi ($parameter1, $parameter2) {
body fungsi;
}
Pemanggilan fungsi:
Namafungsi (nilai/var_par1, nilai/var_par1);
Contoh1:
Fungsi tanpa argument
<?php
function basic()
{
echo "hello world";
}
basic(); // memanggil function
?>
Fungsi dengan argument
<?php
function basic($argument)
{
echo $argument;
}
basic('hello world!'); // output 'hello world!'
?>
Contoh2:
<?php
function latfunct ($jml,$data){
for ($a=1;$a<=$jml;$a++)
{
echo ($data);
}
}
?>
Contoh:
<?php
function balik($bil)
{
$hasil=pow($bil,2);
return($hasil);
}
$nil=5;
$proses=balik($nil)*2; // memanggil function
echo (balik($nil))."<br>";
echo "$proses";
?>
• Fungsi include()
Include(“nama file.php”)
• Fungsi include_once()
Include_once(“nama file.php”)
DATABASE
Operasi Database
Operasi data dalam database umumnya terdiri dari :
Membuka koneksi dengan database server
Memilih dan membuka database yang diinginkan
Mengirim perintah untuk mengambil/menampilkan/mengubah/menghapus data.
Mengakses hasil pengambilan data
Mengakhiri koneksi
Membuat database
CREATE DATABASE <nama database>
Menghapus database
MYSQL_CONNECT()
Digunakan untuk menghubungkan ke server MySQL. Fungsi ini merupakan fungsi awal yang
akan dijalankan sebelum melakukan fungsi-fungsi lain. Selain mysql_connect() terdapat juga
fungsi penghubung ke server mysql lain , yaitu mysql_pconnect().
Bentuk umum :
mysql_connect(host,user,password);
atau Memanggil file lain:
mysql_pconnect(host,user,password); • Fungsi require()
atau Require(“nama file.php”)
mysqli_connect(host,user,password);
• Fungsi include()
Include(“nama file.php”)
KONEKSI MYSQL
Latih 1.
<?php • Fungsi include_once()
// hostname or ip of server Include_once(“nama file.php”)
$servername='localhost';
// username and password
$dbusername='root';
$dbpassword='';
$link=mysql_connect ("$servername","$dbusername","$dbpassword")
or die ( " tidak bisa koneksi ");
if ($link)
{
echo "ok....koneksi berhasil";
}
?>
MYSQL_QUERY()
Berfungsi untuk memasukkan perintah-perintah SQL, baik yang bersifat DDL atau DML.
Dengan demikian perintah-perintah SQL tersebut dapat dijalankan pada browser.
Bentuk umum :
mysql_query(perintah-perintah SQL);
atau
mysqli_query(nmVar_koneksi, perintah SQL);
Membuat Database
Latih 2.
<?
mysql_connect("localhost","root","");
$dbname="lat_dbase";
$cek=mysql_query("CREATE DATABASE $dbname") or die("Couldn't
Create Database: $dbname");
if($cek){
echo "Database $dbname berhasil dibuat";
}
?>
MYSQL_SELECT_DB()
Mysql_select_db() berfungsi untuk mengaktifkan database yang telah tersedia pada mysql server.
Bentuk umum :
mysql_select_db(nama_database);
atau
mysqli_select_db(nmVar_koneksi, nama_database);
Membuat Tabel
Latih 3.
<?
mysql_connect("localhost","root",""); //koneksi
mysql_select_db("lat_dbase"); // mengaktifkan database
//membuat tabel
$sql = "CREATE TABLE tbl_mhs
(
mhsID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(mhsID),
FirstName varchar(15),
LastName varchar(15),
Age int
)";
mysql_query($sql);
// input data
$input=mysql_query("insert into tbl_mhs(FirstName,LastName,Age)
values('Anjar','Prabowo',25)");
?>
Menyisipkan Data (Simpan)
Latih 4.
<?php
$con = mysql_connect("localhost","root",""); NIM
if (!$con)
{ Nama
die('Could not connect: ' . mysql_error());
} Nilai
mysql_select_db("lat_dbase", $con);
mysql_query("INSERT INTO tbl_mhs (nim, nama, nilai) SIMAPN
VALUES ('013477', 'Suwandi', '83')");
//mysql_query("INSERT INTO tbl_mhs (nim, nama, nilai)
//VALUES ('Glenn', 'Gandari', '32')");
mysql_close($con);
?>
MYSQL_DB_QUERY()
Jika pada mysql_query() hanya berfungsi untuk memasukkan perintah-perintah SQL saja, beda
halnya dengan mysql_db_query() yang dapat menyatukan dua fungsi, yaitu mysql_select_db()
dan mysql_query(). Jika telah menggunakan fungsi mysql_db_query() tidak perlu lagi
menggunakan fungsi mysql_select_db().
MYSQL_FETCH_ROW()
Berfungsi untuk mengambil data per record atau per baris dalam suatu table. Yang perlu
diperhatikan sifat pengambilan record pada fungsi myself_fetch_row() adalah dengan system
urutan nomor index field.
Menampilkan Data
Latih 5.
<?php
mysql_connect("localhost","root","");
//mysql_select_db("lat_dbase");
$hasil=mysql_db_query("lat_dbase”,"select * from tbl_mhs");
While($data=mysql_fetch_row($hasil))
{
echo "$data[0] $data[1] $data[2]<br>";
}
?>
MYSQL_FETCH_ARRAY()
Mysql_fetch_array() mempunyai fungsi yang sama dengan mysql_fetch_row(), yaitu untuk
mengambil data per-record. Yang membedakan adalah jika pada fungsi mysql_fetch_row()
menggunakan nomor urut index, tetapi pada fungsi mysql_fetch_array() yang digunakan adalah
nama fieldnya.
Latih 6.
<?php
mysql_connect("localhost","root","");
mysql_select_db("lat_dbase");
$hasil=mysql_query("select * from tbl_mhs");
While($data=mysql_fetch_array($hasil))
{
echo "$data[nim] $data[nama] $data[nilai]<br>";
}
?>
MYSQL_NUM_ROWS()
Digunakan untuk mengetahui berapa jumlah record terkini.
Bentuk umum :
Mysql_num_rows(variable);
Latih 7.
<?
mysql_connect("localhost","root","");
mysql_select_db("lat_dbase");
$hasil=mysql_query("select * from tbl_mhs");
$hit=mysql_num_rows($hasil);
echo "jumlah record $hit";
?>
MYSQL_CLOSE()
<?php
$con = mysql_connect("localhost","root","");
NIM
if (!$con)
{ NAMA
die('Could not connect: ' . mysql_error());
} NILAI
mysql_select_db("lat_dbase", $con);
$sql="INSERT INTO tbl_mhs (nim, nama, nilai) SIMPAN
VALUES
('$_POST[nim]','$_POST[nama]','$_POST[nilai]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
MANIPULASI DATABASE
UPDATE
Digunakan untuk mengupdate record pada tabel.
Bentuk Umum :
UPDATE table_name SET column1=value, column2=value2,... WHERE
some_column=some_value
Latih 1.
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("lat_dbase", $con);
mysql_query("UPDATE tbl_mhs SET Age = '36'
WHERE FirstName = 'Karina' AND LastName = 'Suwandi'");
mysql_close($con);
?>
DELETE
Digunakan untuk menghapus record dengan kriteria tertentu.
Bentuk Umum :
DELETE FROM table_name WHERE some_column = some_value
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("lat_dbase",$con);
mysql_query("DELETE FROM tbl_mhs WHERE LastName='Prabowo'");
?>
Session
Session merupakan hal yang cukup penting dalam aplikasi berbasis web. Dengan session
memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama
masa tertentu informasi akan tersimpan. Penyimpanan isi variabel session berada di server, jadi
tidak bisa diakses secara langsung oleh client.
Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan
session memungkinkan programmer mengatur siapa saja yang bisa mengakses suatu halaman.
Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu.
Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user
di setiap halaman. Di halaman kotak surat, session tersebut akan diperiksa. Jika session benar
maka user dipersilahkan membuka halaman kotak surat, namun jika salah maka user tidak bisa
membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah
sebabnya, user tidak bisa mengakses halaman kotak surat secara langsung tanpa melakukan login.
Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan :
Proses pembuatan session
Proses pemeriksaan session
Proses penghapusan session
Cookies
Seperti halnya session, cookies juga merupakan sebuah konsep penyimpanan informasi user.
Hanya saja, jika session tempat penyimpanan berada di server, cookies berada di client. Oleh
karena itu, konsep cookies sebaiknya jangan digunakan untuk menyimpan informasi login user
seperti username, password dsb. Selain user bisa melihat informasi yang disimpan, user juga
bisa men-disable
cookies itu sendiri. Jika cookies di-disable, maka program yang memanfaatkan cookies tentunya
tidak akan berjalan dengan baik.
Cookies sendiri biasanya dipakai dalam aplikasi shooping cart. Biasa digunakan untuk
menyimpan sementara, produk-produk yang dipilih oleh pengunjung pada saat berbelanja. Dalam
penanganan cookies juga terdapat beberapa proses yang perlu diperhatikan :
Proses pembuatan cookies
Proses pemeriksaan cookies
Proses penghapusan cookies
HANDLING ERRORS
Beberapa pesan kesalahan yang terjadi :
Pesan Error:
view sourceprint?
1.Warning: mysql_fetch_array(): supplied argument is not
2.a valid MySQL result resource in ....
atau
view sourceprint?
1.Warning: mysql_num_rows(): supplied argument is not
2.a valid MySQL result resource in ...
Penyebab: Error di atas disebabkan ada query SQL yang salah. Bisa jadi karena sintaks perintah
query SQL nya salah, misalnya kurang tanda petik untuk menyatakan string. Selain itu bisa juga
terjadi karena nama field dan tabel yang salah penulisannya.
Solusi: Coba cek kembali statement query SQL. Pastikan tidak ada lagi kesalahan dalam
penulisannya. Untuk proses debugging query SQL (mengetahui letak kesalahannya), bisa
menambahkan statement die(mysql_error()) pada perintah mysql_query() nya. Contoh:
view sourceprint?
1.$query = ".....";
2.mysql_query($query) or die(mysql_error());
3..
4..
Pesan Error:
view sourceprint?
1.Warning: session_start() [function.session-start]:
2.Cannot send session cookie - headers already sent by
3.(output started at ... ) in ... on line ...
atau
view sourceprint?
1.Warning: session_start() [function.session-start]:
2.Cannot send session cache limiter - headers already sent
3.(output started at ...) in ... on line ...
Penyebab: Error di atas biasanya terjadi pada penggunaan session. Sewaktu memberikan
perintah session_start(), terdapat baris perintah di atasnya yang menampilkan string atau
kode html ke browser. Sebagai contoh, perhatikan script berikut ini:
view sourceprint?
1.<?php
2.echo "Hallo...";
3.session_start();
4.?>
atau
view sourceprint?
1.<html>
2.<head>
3. <title>....</title>
4.</head>
5.<?php
6.session_start();
7.?>
Perhatikan script di atas, maka terdapat string yang di-echo-kan atau terdapat kode html yang
diletakkan sebelum session_start(). Nah… inilah yang menyebabkan error. Selain contoh di
atas, error juga bisa muncul dari script yang berbentuk seperti ini
view sourceprint?
1.<?php
2.include "header.php";
3.session_start();
4.?>
Meskipun sebelum session_start() tidak ada echo atau kode html, namun error akan tetap
muncul apabila isi dari script header.php terdapat echo atau kode html juga, misalnya
header.php
view sourceprint?
1.<?php
2.echo "hallo";
3.?>
Solusi: Pastikan sebelum perintah session_start() tidak terdapat perintah echo atau kode
html apapun.
Pesan Error:
view sourceprint?
1.Warning: Cannot modify header information – headers already sent by
2.(output started at ...) in ...
Penyebab: Peringatan di atas biasanya muncul ketika melakukan redirecting menggunakan
perintah
view sourceprint?
1.header("Location: ...");
Seharusnya, sebelum perintah header("Location: ...") tidak boleh ada string apapun yang
ditampilkan di browser, meskipun itu kode HTML (sama seperti penyebab error di
session_start() sebelumnya). Sebagai contoh perhatikan script berikut ini:
view sourceprint?
1.<?php
2.echo "<p>Hallo Apa kabar?</p>";
3.header("Location: test.php");
4.?>
Pada script di atas, sebelum perintah header() terdapat string yang ditampilkan ke browser.
Inilah yang mengakibatkan muncul peringatan tersebut. Bagaimana dengan script berikut ini?
view sourceprint?
1.<?php
2.$a = 10;
3.if ($a < 0) echo "Nilai A negatif";
4.else header("Location: test.php");
5.?>
Apakah muncul Warning atau tidak? Jika di coba, maka tidak muncul Warning nya meskipun
sebelum header() terdapat string yang ditampilkan ke browser. Mengapa demikian? meskipun
di situ terdapat perintah untuk menampilkan string ke browser, namun perintah tersebut tidak
pernah dijalankan karena nilai $a nya positif.
Solusi: Pastikan sebelum perintah header("Location: ...") tidak ada kode HTML atau
perintah echo apapun. Jika meng-include-kan suatu script di atas header("Location: ...")
pastikan dalam script yang di-include-kan tersebut tidak ada kode HTML atau echo.
Pesan Error:
view sourceprint?
1.Warning: mysql_connect() [function.mysql-connect]:
2.Access denied for user ‘root’@'localhost’ (using password: YES) in ...
Penyebab: Error di atas disebabkan karena koneksi yang gagal ke MySQL. Penyebab gagalnya
bisa jadi disebabkan nama user atau password yang salah.
Solusi: Pastikan username dan password koneksi ke MySQL sudah benar ketika menggunakan
perintah koneksi mysql_connect("namahost", "namauser", "passworduser");
Pesan Error:
view sourceprint?
1.Parse error: syntax error, unexpected T_STRING,
2.expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or ‘}’ in ...
Penyebab: Penyebab pastinya, saya kurang mengetahuinya. Namun biasanya ini terjadi karena
penggunaan versi PHP yang rendah (versi di bawah PHP 5) untuk menjalankan script PHP yang
menggunakan OOP.
Solusi: Coba upgrade versi PHP, atau gunakan PHP dengan versi yang lebih tinggi.
Pesan Error:
view sourceprint?
1.Parse error: syntax error, unexpected T_ELSE in ...
Penyebab: Error tersebut muncul sebagai akibat penulisan sintaks IF … ELSE yang tidak sesuai
aturan. Perhatikan contoh penggunaan IF ELSE yang salah di bawah ini
view sourceprint?
1.<?php
2.$a = 5;
3.if ($a > 0) $status = "A lebih besar dari 0"
4.else ($a < 0) $status = "A lebih kecil dari 0"
5.else $status = "A sama dengan 0"
6.?>
Contoh di atas terdapat kesalahan yaitu setiap akhir statement tidak diberikan tanda titik koma (;),
dan pada bagian else ($a < 0) kurang IF, seharusnya
view sourceprint?
1.<?php
2.$a = 5;
3.if ($a > 0) $status = "A lebih besar dari 0";
4.else if ($a < 0) $status = "A lebih kecil dari 0";
5.else $status = "A sama dengan 0";
6.?>
atau
view sourceprint?
01.<?php
02.if (syarat1)
03.{
04. statement;
05. statement;
06. .
07. .
08.}
09.else if (syarat2)
10.{
11. statement;
12. statement;
13. .
14. .
15.}
16..
17..
18.else
19.{
20. statement;
21. statement;
22. .
23. .
24.}
25.?>
Pesan Error:
view sourceprint?
1.Fatal error: Call to undefined function: ...
Penyebab: Error tersebut disebabkan karena nama function yang digunakan tidak ada atau tidak
dikenal oleh PHP. Jika function tersebut adalah built in function, misalnya str_split() bisa
jadi hal ini disebabkan pada versi PHP yang digunakan belum ada function tersebut. Jika function
tersebut adalah function buatan sendiri, bisa jadi lupa menyisipkan ke dalam script atau meng-
include-kannya.
Solusi: Jika function yang tidak dikenal adalah built in function, maka lakukan upgrade versi
PHP yang lebih tinggi. Sedangkan jika function yang tidak dikenal adalah buatan sendiri,
pastikan sudah meng-includekan di dalam scriptnya sehingga bisa dikenal. Contohnya:
function.php
view sourceprint?
1.<?php
2.function jumlah($a, $b)
3.{
4. return $a + $b;
5.}
6.?>
script.php
view sourceprint?
1.<?php
2.include "function.php";
3.echo jumlah(9, 10); // akan menghasilkan 19
4.?>
atau
script.php
view sourceprint?
1.<?php
2.function jumlah($a, $b)
3.{
4. return $a + $b;
5.}
6.
7.echo jumlah(9, 10); // akan menghasilkan 19
8.?>
Pesan Error:
view sourceprint?
1.Parse error: parse error, unexpected $end
Penyebab: Error di atas disebabkan karena kurangnya tanda penutup kurung kurawal.
Contohnya:
view sourceprint?
1.<?php
2.if ($a > 1)
3.{
4. echo "Nilai A lebih dari 1";
5.?>
atau
view sourceprint?
1.<?php
2.while ($a > 1)
3.{
4. .
5. .
6. .
7.?>
Selain itu, bisa pula error tersebut disebabkan karena efek perbedaan penggunaan tanda pembuka
PHP <?php dan <?. Contohnya :
view sourceprint?
01.<?php
02.if (syarat)
03.{
04. statement1;
05. statement2;
06.?>
07.
08.<?
09. statement3;
10. statement4;
11.}
12.?>
Perhatikan contoh script di atas, bahwa pada blok statement IF dipecah menjadi 2 blok, namun
perhatikan bahwa untuk blok kedua, tanda pembukanya menggunakan <? Saja, terkadang
suatu server hanya membolehkan tanda
pembuka script PHP menggunakan <?php, sehingga untuk blok kedua tidak dianggap sebagai
script, dan.. akibatnya statement IF nya dianggap tidak ada tanda } penutup.
Solusi: Pastikan tanda kurung kurawal penutup tidak lupa menuliskannya. Jika ternyata kasus
yang di hadapi sama seperti contoh kasus terakhir (perbedaan tanda pembuka script PHP),
konsistenkan penulisan tanda pembukanya menggunakan <?php supaya aman.
Pesan Error:
view sourceprint?
1.Notice: Undefined index: ...
atau
view sourceprint?
1.Notice: Undefined variable: ...
Penyebab: Sebenarnya itu bukan error, namun sekedar peringatan saja bahwa ada variabel atau
index array yang belum terdefinisi sebelumnya. Di beberapa versi PHP peringatan tersebut
muncul, namun di versi yang lain tidak muncul. Berikut ini contohnya:
view sourceprint?
1.<?php
2.if ($a > 0)
3.{
4. ....
5.}
6.?>
Perhatikan script di atas, variabel $a langsung diberikan statement pengecekan IF, padahal nilai
$a ini tidak ada sebelumnya, dibeberapa versi PHP, akan muncul peringatan
view sourceprint?
1.Notice: Undefined variable: a
view sourceprint?
1.<?php
2.$a = 10;
3.if ($a > 0)
4.{
5. ....
6.}
7.?>
maka peringatan di atas tidak akan muncul lagi. Peringatan yang hampir sama juga bisa muncul
untuk contoh berikut ini
view sourceprint?
1.<?php
2.if ($_GET['test'] == 0)
3.{
4. ....
5.}
6.?>
yang dikarenakan nilai $_GET['test'] belum terdefinisi sebelumnya atau belum ada nilainya
(belum ada request GET untuk parameter 'test').
Solusi: Sebenarnya peringatan di atas bisa saja diabaikan karena tidak berpengaruh pada kinerja
script atau proses yang terjadi di dalamnya. Namun, jika ingin menghilangkan peringatan tersebut
caranya adalah dengan memodifikasi parameter
view sourceprint?
1.error_reporting = ...
view sourceprint?
1.error_reporting = E_ALL & ~E_NOTICE
Maksud dari parameter di atas adalah, PHP akan menampilkan Pesan error kecuali NOTICE. Jika
sudah, silakan merestart Apache nya.
Pesan Error:
view sourceprint?
1.Fatal error: Maximum execution time of ... seconds exceeded in ...
Penyebab: Error di atas disebabkan karena lama eksekusi sebuah script PHP telah mencapai
batas maksimumnya. Jika menggunakan AppServ atau XAMPP, default maximum execution time
nya diset 30 detik. Jika lama eksekusi script yang dibuat melebihi 30 detik, maka akan muncul
error di atas.
Solusi: Untuk meningkatkan atau menambah max execution time pada file php.ini, dengan cara
carilah parameter
view sourceprint?
1.max_execution_time = ...
Tambahlah nilainya, misalnya menjadi 9999 detik, sehingga nilai parameternya menjadi
view sourceprint?
1.max_execution_time = 9999
Selanjutnya, simpan kembali php.ini nya, lalu restart Apachenya. Kalau perlu, lakukan analisis
algoritma pada script apabila dirasa tidak efisien sehingga mengakibatkan running time yang
lama.
Pesan Error: Bukan Error , tapi kegagalan dalam proses upload file ketika membuat script
upload file.
Penyebab: Kegagalan dalam proses upload file itu disebabkan oleh ukuran file yang terlalu besar
melebihi batas maksimum yang diperbolehkan oleh PHP sesuai di file php.ini.
Solusi: Ubah batas maksimum file size untuk upload ini dengan mengubah parameter
view sourceprint?
1.upload_max_filesize = ...
dan
view sourceprint?
1.post_max_size = ...
pada file php.ini
Berikut ini contoh pengubahan batas maksimum upload file hingga 80 Mb.
view sourceprint?
1.upload_max_filesize = 80M
dan
view sourceprint?
1.post_max_size = 80M
Jika sudah melakukan pengubahan, lakukan restart Apache nya, jangan lupa pula untuk
menambah komponen input
view sourceprint?
1.<input type="hidden" name="MAX_FILE_SIZE" value="80000000" >
pada form upload nya.
Solusi di atas hanya akan bisa menyelesaikan permasalahan upload jika file diupload ke folder
atau direktori tertentu yang ada di server. Namun, jika file diupload ke database server, maka
solusi di atas tidak menyelesaikan masalah karena adanya batasan limit file size pada tipe data
yang memungkinkan untuk menyimpan data file, misalnya tipe data blob, medium blob, atau
long blob.
DAFTAR PUSTAKA
1. http://www.w3schools.com/php/default.asp
2. http://www.freewebmasterhelp.com/tutorials/phpmysql/
3. http://php.about.com/
4. http://www.howstuffworks.com/dns.htm
5. http://www.co.cc/
6. http://www.w3c.org
7. Dasar Pemrograman Web Dinamis Menggunakan PHP, Abdul Kadir, Andi Yogyakarta, 2002
$kode=$_POST[ ];
$kd=substr($kode,0,2);