Tampilkan postingan dengan label PHP. Tampilkan semua postingan
Tampilkan postingan dengan label PHP. Tampilkan semua postingan

Rabu, 14 Maret 2012

Keamanan Login WEB PHP

Tulisan ini diperuntukan bagi para newbie yang ingin membuat system login pada webnya dengan php. Saya akan melampirkan beberapa hal dasar yang harus kita perhatikan ketika membuat system login beserta contoh script sederhana. Apa yg akan saya paparkan berikut ini sebenarnya sangat umum dan dapat diperoleh dari berbagai sumber yang berhub dgn php. Semoga dapat memberi sedikit info tambahan untuk newbie-newbie baru.Ok langsung kita mulai.

Berikut ini hal-hal yg harus kita pertimbangkan ketika membuat login:
1.Pastikan form login adalah form dari server kita.
2.Amankan input text untuk user dan password,metoda dan format data.
3.Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable).
4.Expired time dari login yang dilakukan.
5.Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.

Sekarang contoh dari script untuk hal-hal tersebut.Saya hanya melampirkan satu logika dari banyak kemungkinan lain dalam membuatnya.Logika ini akan sangat beragam jadi bukanlah satu-satunya cara ataupun cara yang paling baik,silahkan buat sendiri untuk yg lebih baik atau lihat referensi lain.

1.Pastikan form login berasal dari server kita:

//file ini bernama index.php



login


Username :
Password :

”>






//akhir script index.php

-saat membuat form login(ex: index.php)sebagai default kita mulai dengan membuat session baru.
-session_name disini sebagai refrensi untuk session id di cookies dan URL.
-lalu daftarkan suatu variabel session baru SES_TOKEN dgn memakai fungsi session_register.
-Buat token berupa kata acak yg akan kita gunakan utk memastikan form-adalah dari kita.
-Lalu Encript token agar lebih rumit.(Pada dasarnya token ini mirip dgn session id)
-Tambahkan variabel enkript token tsb dalam form melalui hidden.
-Lalu pada file “cekmasuk.php” kita lakukan pemeriksaan apakah data yg kita terima dari form yg kita buat sebelumnya, akan saya jelaskan pada script cekmasuk.php.

2.Amankan input text untuk user dan password,metoda dan format data.
Pada saat kita menerima data maka sebelum kita olah data tersebut(utk kasus ini adalah user dan password),maka harus kita pastikan data tersebut tidak disisipi niat jahat. Untuk itu maka kita buat suatu fungsi filter,fungsi ini akan kita gunakan pada script
cekmasuk.php yang akan saya lampirkan diakhir.
//fungsi filter

function filter($word) {
$word = stripslashes(trim($word));
$word = nl2br($word);
$word = htmlentities($word);
return $word ;
}

Ini hanya contoh simple dengan memanfaatkan fungsi yg ada di php.Kita dapat tambahkan dengan membuat fungsi sendiri, misalkan filter kata-kata kotor(dijasakom sudah ada yg melampirkan),atau memanfaatkan regex untuk validasi yg lain.Silahkan berkreasi.

3.Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable/off).
Untuk hal ini maka kita dapat memperoleh data yg dikirim melalui predefine variabel milik php,yaitu:
$HTTP_GET_VARS(untuk metoda get).
$HTTP_POST_VARS(untuk metoda post).dan masih ada lagi yg lainnya.

4.Expired Time dari login yang dilakukan.
Setiap login yg dilakukan user sering kali mereka tidak melakukan logout,hanya mendiamkan atau malah meninggalkan ketika masih login.Oleh karena itu expired time ini adalah wajib dalam sistem login.
Script secara lengkap akan ada pada script “cekmasuk.php”.

$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun

//waktu saat ini ketika mengakses
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);

//penambahan waktu mengakses akan digunakan untuk expired time
$ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);

5.Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.
Berikan fungsi berikut disetiap awal script yg tdk anda inginkan dapat diakses langsung

if(ereg(‘cekmasuk.php’, $SCRIPT_NAME))
{
header(“Location: http://domainanda.com/index.php”);
die;
}

/********************************************************************/
//
//script akan menerima metoda post dari index.php
//file ini bernama cekmasuk.php
”" and $password<>”")
{
session_name(“secretsession”);
session_start();
switch ($_POST['form'])
{
case ‘login’:
$allowed = array();
$allowed[] = ‘form’;
$allowed[] = ‘user’;
$allowed[] = ‘password’;
$allowed[] = ‘enctoken’;
$allowed[] = ‘submit’;
$sent = array_keys($_POST);
if ($allowed == $sent)
{
if($_POST['enctoken']<>$SES_TOKEN)//periksa apakah form berasal dari kita atau session yg sama
{

//jika tidak maka kembali ke form
session_destroy();
header(“Location: http://domainanda.com/index.php”);
exit;
}

else
{
$clean_user=filter($_POST['username']);//bersihkan inputan
$clean_password=filter($_POST['password']);

//definisi waktu untuk expired time
if (authentication($clean_user,$clean_password))//cek user dalam database
{
$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);
$ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);
session_register(“SES_PASSWORD”);//daftarkan session variabel baru
session_register(“SES_USERNAME”);
session_register(“SES_HASH”);
session_register(“T_TIMESTAMP”);
$T_TIMESTAMP=$ttimestamp;
$hashtoken=createRandomtoken();//buat token baru untuk disisipkan dalam setiap page system login

$enchash=enc_token($hashtoken);//token ini akan memastikan page hanya yg dari server dengan session yg sama
$SES_HASH=$enchash;
$SES_USERNAME=$clean_user;
$SES_PASSWORD = $clean_password;
}
else
{
unset ($submit);
unset ($user);
unset ($password);
}
}
}
break;
}
}
else
{
session_name(“secretsession”);
session_start();
opendb();
$query= “select * from $table_admin where nama=’$SES_USERNAME’”;//misalkan
database user ada pd table admin
$hasil= querydb($query);
$data= mysql_fetch_array($hasil);
closedb();
$USERNAME = $data["nama"];
$PASSWORD = $data["password"];
$HASH_TOKEN=$hash_token;

//untuk exired timed
$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);
$ttimestamp=$T_TIMESTAMP;

if ($ttimestamp < $ctimestamp) { session_unregister(“SES_PASSWORD”); session_unregister(“SES_USERNAME”); session_unregister(“SES_HASH”); session_unregister(“T_TIMESTAMP”); session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); $T_TIMESTAMP=$ttimestamp; } /********************************************************************/ //mulai fungsi pendukung function authentication($user, $pass) { global $table_admin; opendb(); $query=”select * from $table_admin where nama=’$user’”; opendb(); $hasil=querydb($query); closedb(); $data = mysql_fetch_array($hasil); $pass_inDB=$data["password"]; $enc_pass = md5($pass); if($pass_inDB == $enc_pass) { return TRUE; } else { return FALSE; } closedb(); } ?>

/********************************************************************/

Script tersebut dapat kita gunakan pada page yg berada dalam system login,ex: udahmasuk.php Maka dapat kita memanfaatkan dengan cara berikut:

//File ini bernama udahmasuk.php


-Fungsi opendb(),querydb(),closedb() adalah fungsi yg sy buat utk akses database,silahkan anda buat sendiri.
-Dengan menggunakan script tersebut bukan berarti kita telah membuat system login yg aman.Ingat ini hanya”Beberapa Hal Dasar”.
-Penambahan kata rahasia pada pembentukan token bisa menambah tingkat kesukaran untuk di tebak.
-Akhir kata seluruh hasil script tersebut bukanlah murni pemikiran saya tetapi merupakan penggabungan dari berbagai script yg sudah ada baik dari contoh help php,dan beberapa tulisan lain diantaranya adalah milik Chris Shiflett dan Jeff Johns.
-Untuk lebih jelas bagaimana memakai fungsi yg ada silahkan “RTFM”.
-Agar lebih mendalami masalah keamanan php silahkan kunjungi Chris Shiflett artikel di http://shiflett.org
-Tulisan Jeff Johns dapat anda lihat di http://www.phpfreaks.com

Source: ”") { session_name(“secretsession”); session_start(); switch ($_POST['form']) { case ‘login’: $allowed = array(); $allowed[] = ‘form’; $allowed[] = ‘user’; $allowed[] = ‘password’; $allowed[] = ‘enctoken’; $allowed[] = ‘submit’; $sent = array_keys($_POST); if ($allowed == $sent) { if($_POST['enctoken']<>$SES_TOKEN)//periksa apakah form berasal dari kita atau session yg sama { //jika tidak maka kembali ke form session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } else { $clean_user=filter($_POST['username']);//bersihkan inputan $clean_password=filter($_POST['password']); //definisi waktu untuk expired time if (authentication($clean_user,$clean_password))//cek user dalam database { $refresh_time=10; //dalam menit $chour = date(“H”); //jam $cmin = date(“i”); //menit $csec = date(“s”); //detik $cmon = date(“m”); //bulan $cday = date(“d”); //tanggal $cyear = date(“Y”); //tahun $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear); $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); session_register(“SES_PASSWORD”);//daftarkan session variabel baru session_register(“SES_USERNAME”); session_register(“SES_HASH”); session_register(“T_TIMESTAMP”); $T_TIMESTAMP=$ttimestamp; $hashtoken=createRandomtoken();//buat token baru untuk disisipkan dalam setiap page system login $enchash=enc_token($hashtoken);//token ini akan memastikan page hanya yg dari server dengan session yg sama $SES_HASH=$enchash; $SES_USERNAME=$clean_user; $SES_PASSWORD = $clean_password; } else { unset ($submit); unset ($user); unset ($password); } } } break; } } else { session_name(“secretsession”); session_start(); opendb(); $query= “select * from $table_admin where nama=’$SES_USERNAME’”;//misalkan database user ada pd table admin $hasil= querydb($query); $data= mysql_fetch_array($hasil); closedb(); $USERNAME = $data["nama"]; $PASSWORD = $data["password"]; $HASH_TOKEN=$hash_token; //untuk exired timed $refresh_time=10; //dalam menit $chour = date(“H”); //jam $cmin = date(“i”); //menit $csec = date(“s”); //detik $cmon = date(“m”); //bulan $cday = date(“d”); //tanggal $cyear = date(“Y”); //tahun $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear); $ttimestamp=$T_TIMESTAMP; if ($ttimestamp < $ctimestamp) { session_unregister(“SES_PASSWORD”); session_unregister(“SES_USERNAME”); session_unregister(“SES_HASH”); session_unregister(“T_TIMESTAMP”); session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); $T_TIMESTAMP=$ttimestamp; } /********************************************************************/ //mulai fungsi pendukung function authentication($user, $pass) { global $table_admin; opendb(); $query=”select * from $table_admin where nama=’$user’”; opendb(); $hasil=querydb($query); closedb(); $data = mysql_fetch_array($hasil); $pass_inDB=$data["password"]; $enc_pass = md5($pass); if($pass_inDB == $enc_pass) { return TRUE; } else { return FALSE; } closedb(); } ?> /********************************************************************/ Script tersebut dapat kita gunakan pada page yg berada dalam system login,ex: udahmasuk.php Maka dapat kita memanfaatkan dengan cara berikut: //File ini bernama udahmasuk.php -Fungsi opendb(),querydb(),closedb() adalah fungsi yg sy buat utk akses database,silahkan anda buat sendiri. -Dengan menggunakan script tersebut bukan berarti kita telah membuat system login yg aman.Ingat ini hanya”Beberapa Hal Dasar”. -Penambahan kata rahasia pada pembentukan token bisa menambah tingkat kesukaran untuk di tebak. -Akhir kata seluruh hasil script tersebut bukanlah murni pemikiran saya tetapi merupakan penggabungan dari berbagai script yg sudah ada baik dari contoh help php,dan beberapa tulisan lain diantaranya adalah milik Chris Shiflett dan Jeff Johns. -Untuk lebih jelas bagaimana memakai fungsi yg ada silahkan “RTFM”. -Agar lebih mendalami masalah keamanan php silahkan kunjungi Chris Shiflett artikel di http://shiflett.org -Tulisan Jeff Johns dapat anda lihat di http://www.phpfreaks.com">

Selasa, 04 Oktober 2011

PHP


PHP adalah bahasa pemorgraman yang memungkinkan para web developer untuk
membuat aplikasi web yang dinamis dengan cepat.  PHP merupakan singkatan
dari “PHP: Hypertext Preprocessor”.  PHP ditulis dan diperkenalkan pertama kali
sekitar tahun 1994 oleh Rasmus Lerdorf melalui situsnya untuk mengetahui siapa
saja yang telah mengakses ringkasan online-nya.
PHP merupakan salah satu bahasa script yang terbilang baru dan tersedia secara
bebas dan masih memungkinkan untuk dikembangkan lebih lanjut.  PHP dapat
diintegrasikan (embedded) ke dalam web server, atau dapat berperan sebagai
program CGI yang terpisah.
Karakteristik yang paling unggul dan paling kuat dalam PHP adalah lapisan
integrasi database (database integration layer).  Database yang didukung PHP
adalah: Oracle, Adabas-D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix,
Solid, dBase, ODBC, Unix dbm, dan PostgreSQL.  Contoh script PHP sederhana
terdapat pada Listing 1.

Listing 1 : Contoh Script PHP



 Belajar PHP


     echo “Halo dari PHP!”;
 ?>




2  Informasi Sintaks Umum

2.1  Keluar dari HTML

Listing 2 : Cara untuk Memisahkan Blok Kode PHP di dalam HTML

"; ?>
"; ?>

<% echo "Anda mungkin menyukai style ASP" %>

2.2 Komentar Program

Ada tiga macam style penulisan komentar program yang dapat digunakan, yaitu :
-   C  style, komentar diawali dengan tag /*  dan diakhiri dengan */, style ini
digunakan untuk komentar yang lebih dari satu baris.
- C++ style, komentar diawali dengan tag // dan hanya berlaku untuk satu baris
komentar, untuk baris berikutnya harus diawali tag // lagi.
- Bourne Shell style, diawali dengan tag # untuk satu baris komentar.

Listing 3 : Komentar Program

  echo "Halo semua!
"; // Ini komentar C style;
 /*
 Ini komentar
  yang lebih dari satu baris
 */
  echo "Halo lagi!
"; # Ini komentar shell-style
?>


3 Tipe Data

PHP mendukung tipe-tipe berikut : angka  floating-point,  integer,  string,  array,
dan  object.  Tipe variabel ditentukan oleh  konteks variabel tersebut dan tidak
ditentukan secara eksplisit oleh programmer.

3.1  Angka : Integer dan Floating Point

Integer dapat dituliskan dengan notasi desimal, oktal, atau heksadesimal.  Angka
floating-point dapat dituliskan dalam notasi standar atau scientific.

Listing 4 :  Representasi Angka

  $int1 = 523; // desimal
  $int2 = -523; // desimal negatif
  $int3 = 01013; // representasi oktal dari 523
  $int4 = 0x20B; // representasi heksa dari 523
  $float1 = 523.197; // notasi float standar
  $float2 = 5.23197e2; // notasi float scientific
  // Cetak semua angka
 echo "$int1
$int2
$int3
$int4
$float1
$float2";
?>

 3.2 String

String dalam PHP dibatasi oleh kutip ganda (“) atau kutip tunggal (‘). 
Perbedaannya adalah bagaimana  string tersebut diinterpretasikan.  Jika string
dibatasi oleh kutip ganda, variabel di dalam string akan ditampilkan.

Listing 5 : Contoh String

  $makanan = “eskrim”;
  echo “Saya suka $makanan
”;
  echo ‘Saya suka $makanan’;
?>

Karakter backslash (\) di dalam string dengan kutip ganda dapat digunakan untuk
menuliskan karakter khusus (escape sequences) yang terdapat pada Tabel 1.

Tabel 1.  Escape Sequences di dalam String dengan Petik Ganda

Sequence  Arti
\n Baris baru
\r  Carriage return
\t Tab horizontal
\\ Backslash
\” Tanda kutip ganda
\$ Tanda dollar

3.3 Array

Array dalam PHP dapat berupa  indexed array (vektor) dan  hash tables
(associative arrays).  PHP juga mendukung array multidimensi.

Listing 6 : Inisialisasi dan Penggunaan Array

  // Membuat array sederhana secara eksplisit
  $a[0] = "Buku";
  $a[1] = "Pinsil";
  $a[] = "Bolpen";    // secara implisit ditempatkan pada indeks
             // (key) 3
  $a[] = "Penghapus"; // secara implisit ditempatkan pada indeks
                       // (key) 4
  echo "$a[0], $a[1], $a[2], $a[3]
";

  // Membuat array asosiatif
  $tanaman["pangan"] = "padi";
  $tanaman["hias"] = "anggrek";
  $tanaman["sayuran"] = "wortel";
  echo "Contoh tanaman hias adalah {$tanaman["hias"]}
";

  // Membuat array asosiatif spt di atas, namun caranya lebih
 // sederhana
  $tanaman = array("pangan" => "padi", "hias" => "anggrek",
  "sayuran" => "wortel");
  echo "Contoh tanaman sayuran adalah {$tanaman["sayuran"]}
";

  // Membuat array multidimensi
  $b[0][0] = "Nol Nol";
  $b[0][1] = "Nol Satu";
  echo "Nilai \$b[0][1] adalah {$b[0][1]}
";

  // Membuat array asosiatif multidimensi
  $kota["Jabar"][0] = "Bogor";
  $kota["Jabar"][1] = "Bandung";
  $kota["Jateng"][0] = "Semarang";
  $kota["Jateng"][1] = "Solo";
  echo "\$kota['Jabar'][1] = {$kota['Jabar'][1]}
";
?>

3.4 Object

Object adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel, atau
bahkan sebuah fungsi.

Listing 7 : Penggunaan Tipe Data Object

 class tanaman
 {
  function tanaman()
  {
   $this->komoditas = "apel";
  }

  function set_var($komoditas)
  {
   $this-> komoditas = $komoditas;
  }
 }

  $buah = new tanaman();
  echo $buah -> komoditas;
  $buah -> set_var("mangga");
  echo "
".$buah -> komoditas;
?>

 4  Variabel dan Konstanta

Variabel PHP diawali dengan tanda dolar ($) kemudian diikuti dengan nama
variabel.  Semua nama variabel bersifat case-sensitive.  Nama variabel yang valid
harus diawali oleh huruf atau garis bawah yang diikuti oleh sejumlah huruf,
angka, atau garis bawah.

Listing 8 : Contoh Nama Variabel

  $variabel1 = "Printer";
  $variabel2 = "Epson";
  echo "$variabel1, $variabel2";
  $1variabel = 123;  // nama variabel yang salah
  $_tes = "tes"; // benar, diawali oleh garis bawah
  $test_Ç = "tes2";  // benar, Ç adalah ASCII 128
?>

Variabel dapat diisi nilai maupun referensi.  Ketika variabel diisi nilai, seluruh
nilai dari ekspresi asli diisikan ke variabel tujuan.  Setelah diisi, variabel asli
bersifat independen, sehingga perubahan pada satu variabel tidak mempengaruhi
yang lain.
Ketika variabel diisi referensi, variabel baru merefer pada variabel asli. 
Perubahan yang dibuat pada salah satu variabel akan berpengaruh pada variabel
satunya.  Untuk mengisi dengan referensi, tambahkan tanda & pada nama
variabel. 

Listing 9 : Pengisian Variabel

  $variabel1 = “Printer”;
  $variabel2 = $variabel1;  // diisi nilai
  echo “$variabel1, $variabel2
”;
  $variabel2 = “Epson”;
  echo “$variabel1, $variabel2
”;
  $variabel3 = &$variabel1;  // diisi referensi
  echo “$variabel1, $variabel3
”;
  $variabel3 = “HP”;
  echo “$variabel1, $variabel3
”;
?>

4.1 Predefined Variable

PHP memiliki variabel-variabel yang telah didefinisikan sebelumnya (predefined
variable).  Nilai variabel-variabel tersebut bergantung pada sejumlah faktor,
diantaranya jenis server, setting server, dan lain-lain.   Predefined variable
selengkapnya dapat dilihat dengan fungsi phpinfo()


4.2 Operator

4.2.1 Operator Aritmatika

Operator Nama  Contoh  Hasil
+  Penjumlahan  $a + $b  Jumlah $a dan $b
-  Pengurangan  $a - $b  Selisih $a dan $b
*  Perkalian  $a * $b  Hasil kali $a dan $b
/  Pembagian  $a / $b  Hasil bagi $a dan $b
%  Modulus  $a % $b  Sisa dari $a dibagi $b

4.2.2 Operator Bitwise

Operator Nama  Contoh  Hasil
&  And  $a & $b
11 (1011 biner) &13 (1101 biner)

9 (1001 biner)
|  Or  $a | $b
11 (1011 biner) | 13 (1011 biner)

15 (1111 biner)
^  Xor  $a ^ $b
11 (1011 biner) ^13 (1101 biner)

6 (0110 biner)
- Not -$a
-11

12 (desimal)
<<  Shift Left  $a << $b
11 (1011 biner) << 2

2 (10 biner)
>>  Shift Right  $a >> $b
11 (1011 biner) >> 2

44 (101100 biner)

4.2.3 Operator Increment/Decrement

Operator/Contoh Nama  Hasil
$a++  Post-increment  Operasi dilaksanakan, kemudian $a
ditambah satu.
++$a  Pre-increment  $a ditambah satu, kemudian operasi
dilaksanakan.
$a--  Post-decrement  Operasi dilaksanakan, kemudian $a
dikurangi satu.
--$a  Pre-decrement  $a dikurangi satu, kemudian operasi
dilaksanakan.



4.4 Skup Variabel

Secara umum, semua variabel PHP memiliki skup tunggal.  Skup ini mencakup
file yang di-include dan di-require.  Di dalam fungsi yang didefinisikan pengguna
(user-defined functions), yang berlaku adalah skup lokal fungsi.  Variabel global
harus dideklarasikan global di dalam fungsi jika akan digunakan di dalam fungsi. 
PHP juga mendukung variabel statis di dalam fungsi.

 Listing 11 : Skup Variabel

  $global1 = "Ini sebuah contoh";
 include "contoh11_inc.php";
 function cetak()
 { 
  echo "$global1
";
 }
 cetak();
 function cetak2()
 {
  global $global1;
  echo "$global1
";
 }
 cetak2();
 function fungsistatis()
 {
    static $nilai = 0;
  echo "$nilai
";
  $nilai++;
 }
 fungsistatis();
 fungsistatis();
?>

--- Isi file, contoh11_inc.php ---
 echo “$global1
”;
?>

4.5 Konstanta

Untuk mendefinisikan konstanta baru, gunakan fungsi define().

Listing 12 : Konstanta

  define(“konst_string”, “Belajar PHP”);
 define(“konst_angka”, “1”);
  echo “Kita telah mendefinisikan” . konst_angka .
 “konstanta.
”;
  echo “Nilainya adalah ‘” . konst_string . “’
”;
?>


5 Kontrol Aliran Program

5.1  if, else, elseif

 if mengontrol aliran program melalui pencabangan pada ekspresi kondisional.

5.4 for

Pengulangan for adalah  statement pengulangan yang paling kompleks di PHP. 
Sintaksnya adalah sebagai berikut :

for (expr1; expr2; expr3) statement

Ekspresi pertama (expr1) dievaluasi sekali pada awal pengulangan.  Ekspresi
kedua (expr2) dievaluasi pada tiap awal iterasi.  Jika nilainya true, pengulangan
berlanjut, dan  statement(s) dieksekusi.  Pada akhir tiap iterasi, ekspresi ketiga
(expr3) dievaluasi.  Salah satu dari ketiga ekspresi tersebut dapat dikosongkan.

Listing 15 : Contoh Penggunaan for

  // cetak angka dari 0 sampai 9
  for ($indeks = 0; $indeks < 10; $indeks++)
 {
  echo "$indeks
";
 }
 /*
  $indeks sekarang bernilai 10.  Contoh di bawah ini
  menunjukkan bahwa salah satu dari ketiga ekspresi
 dapat dikosongkan.
 */
  for (; $indeks > 0; $indeks--)
 {
  echo "$indeks
";
 }
?> 
5.5 foreach

Statement foreach adalah mekanisme yang baik untuk mengiterasi  array.  PHP
mendukung dua sintaks :
foreach (ekspresi_array as nama_variabel_nilai) statement
foreach (ekspresi_array as nama_variabel_kunci =>  nama_variabel_nilai)
statement
 
 Listing 16 :  Contoh Penggunaan foreach

  $warna = array( "Merah", "Hijau", "Biru" );
  foreach ($warna as $nilai)
 {
    echo "Nilai warna saat ini adalah $nilai
";
 }
  $warna = array ("Merah" => "#FF0000",
  "Hijau" => "#00FF00",
    "Biru" => "#0000FF" );
  foreach ($warna as $kunci => $nilai)
 {
    echo "Nilai heksa dari warna $kunci adalah $nilai
";
 }
?>
 

Selasa, 20 September 2011

Pengertian PHP


     PHP adalah bahasa pemorgraman yang memungkinkan para web developer untuk
membuat aplikasi web yang dinamis dengan cepat.  PHP merupakan singkatan
dari “PHP: Hypertext Preprocessor”.  PHP ditulis dan diperkenalkan pertama kali
sekitar tahun 1994 oleh Rasmus Lerdorf melalui situsnya untuk mengetahui siapa
saja yang telah mengakses ringkasan online-nya.

     PHP merupakan salah satu bahasa script yang terbilang baru dan tersedia secara
bebas dan masih memungkinkan untuk dikembangkan lebih lanjut.  PHP dapat
diintegrasikan (embedded) ke dalam web server, atau dapat berperan sebagai
program CGI yang terpisah. 

     Karakteristik yang paling unggul dan paling kuat dalam PHP adalah lapisan
integrasi database (database integration layer).  Database yang didukung PHP
adalah: Oracle, Adabas-D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix,
Solid, dBase, ODBC, Unix dbm, dan PostgreSQL.  Contoh script PHP sederhana
terdapat pada Listing 1. 

 Contoh Script PHP


    
         Belajar PHP
    
   
       
  

2  Informasi Sintaks Umum

2.1  Keluar dari HTML
 Cara untuk Memisahkan Blok Kode PHP di dalam HTML

     "; ?> 
    "; ?>
   
    <% echo "Anda mungkin menyukai style ASP" %> 

2.2 Komentar Program

Ada tiga macam style penulisan komentar program yang dapat digunakan, yaitu :
-   C  style, komentar diawali dengan tag /*  dan diakhiri dengan */, style ini
digunakan untuk komentar yang lebih dari satu baris.
- C++ style, komentar diawali dengan tag // dan hanya berlaku untuk satu baris
komentar, untuk baris berikutnya harus diawali tag // lagi.
- Bourne Shell style, diawali dengan tag # untuk satu baris komentar.
 
Komentar Program

  echo "Halo semua!
"; // Ini komentar C style;
 /*
 Ini komentar
  yang lebih dari satu baris
 */
  echo "Halo lagi!
"; # Ini komentar shell-style
?>



 

 

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India