Docstoc

Perintah Dasar Pemrograman WEB PHP

Document Sample
Perintah Dasar Pemrograman WEB PHP Powered By Docstoc
					PHP

4.1 Operator
4.1.1 Operator Aritmetik
      Contoh                      Nama               Hasil
      $a + $b                     Penjumlahan        Jumlah $a dan $b
      $a - $b                     Pengurangan        Selisih $a dan $b
      $a * $b                     Perkalian          Hasil kali $a dan $b
      $a / $b                     Pembagian          Bilangan bulat dari $a dibagi $b
      $a % $b                     Modulus            Sisa pembagian dari $a dibagi $b

4.1.2   Operator String
        Contoh               Nama               Hasil
        $a . $b              Concatenation      Gabung srting $a dan $b

4.1.3   Operator Increment/Decrement
        Contoh                Nama              Hasil
        ++$a                 PreIncrement        Tambah $a dengan 1,
                                                hasilnya masukkan ke
                                                dalam $a
        $a++                 PostIncrement      Berikan nilai $a, kemudian
                                                tambahkan 1 kepada $a
        --$a                 PreIncrement       Kurang $a dengan 1,
                                                hasilnya masukkan ke
                                                dalam $a
        $a--                 PosIncrement       Berikan nilai $a, kemudian
                                                kurangkan 1 kepada $a

4.1.4   Operator Bitwise
        Contoh               Nama               Hasil
        $a & $b              And                Setiap bit akan bernilai 1
                                                jika kedua bit pada posisi
                                                yang sama bernilai 1
        $a | $b              Or                 Bit akan bernilai 1 jika
                                                salah satu bit pada posisi
                                                yang sama dalam $a dan $b
                                                bernilai 1

4.1.5   Operator Logika
        Contoh               Nama               Hasil
        $a and $b            And                Benar jika $a dan $b benar
        $a or $b             Or                 Benar jika $a atau $b benar
        $a xor $b            Xor                Benar jika salah satu $a atau
                                                $b benar, tidak keduanya


                                                                  1|Page
       ! $a                    Not True           Lawan dari $a
       $a && $b                And                Benar jika keduanya $a dan
                                                  $b benar
       $a || $b                Or                 Benar jika salah satu $a atau
                                                  $b benar

4.1.6 Operator Ternary
    Menggunakan tanda “?”
    (Ekspresi1) ? (Ekspresi2) : (Ekspresi3);
    Operator ini akan melakukan evaluasi ekspresi1, kemudian berdasarkan
    hasil evaluasi ini apabila bernilai benar (tidak sama dengan 0 atau tidak
    sama dengan null) maka ekspresi2 akan dikerjakan, jika salah maka
    ekspresi3 akan dikerjakan.

4.1.7 Operator Perbandingan
    Contoh                Nama             Hasil
    $a = = $b             Sama dengan      Benar jika $a sama dengan $b
    $a = = = $b           Identik          Benar jika $a sama dengan $b
                                           dan mempunyai tipe yang sama
                                           (hanya PHP4)
   $a != $b                  Tidak sama    Benar jika $a tidak sama dengan
                                           $b
   $a != = $b                Tidak Identik Benar jika $a tidak sama dengan
                                           $b dan mempunyai tipe yang
                                           tidak sama (hanya PHP4)
   $a < $b                   Lebih kecil   Benar jika $a lebih kecil dari $b
   $a > $b                   Lebih besar   Benar jika $a lebih besar dari $b
   $a <= $b                  Z,.,j   Lebih Benar jika $a lebih kecil atau
                             kecil    sama sama dengan $b
                             dengan
   $a >= $b                  Lebih besar Benar jika $a lebih besar atau
                             sama dengan   sama dengan $b

4.1.8 Operator Assignment
    Memiliki lambang “=”
    Contoh:
       o $a=3; => berarti a bernilai 3
       o $b=2;
               $b+=3; => maka b bernilai 5
       o $c=”Hello”;
               $c.=”Rifa”;=> maka c bernilai Hello Rifa

4.1.9 Operator Kontrol Error
    Memiliki lambang “@”


                                                                    2|Page
   Contoh:
   <?
   $res=@mysql_query(“select name, code from namelist”);
   or
   die (“Query failed:error was ‘$php_errormsg’”);
   ?>

4.1.10 Operator Eksekusi
    Memiliki lambang (‘ ‘)
    Feature ini untuk sementara hanya bisa dijalankan untuk aplikasi PHP yang
    digunakan pada sistem operasi LINUX dan UNIX.

4.2 Struktur Kontrol
if
Struktur if digunakan untuk pemeriksaan apakah perintah-perintah yang ada di
dalam blok if dikerjakan atau tidak. Perintah dalam blok if akan dikerjakan
apabila nilai dari ekspresi di dalam if bernilai benar (true).
Sintaks:

   If (ekspresi){
      Perintah 1;
      Perintah 2;
      Perintah 3;
      ….
      ….
   }
else
Kontrol struktur else merupakan pelengkap dari kontrol struktur if, digunakan
untuk memberikan alternatif urutan perintah yang harus dilakukan apabila ada
hal proses yang mempunyai dua alternatif benar atau salah. Else merupakan
bagian seurutan perintah yang harus dikerjakan apabila hasil evaluasi dari
ekspresi pada if bernilai salah.
Sintaks:
   If (ekspresi){
      Perintah 1;
      Perintah 2;
      Perintah 3;
       ….
    }else{
      Perintah a;
      Perintah b;
      Perintah c;
Blok pada bagian else merupakan blok perintah yang harus dikerjakan apabila
      ….
nilai ekspresi dari suatu if bernilai salah (false).
  }


                                                                   3|Page
elseif
Nilai hasil suatu ekspresi bisa jadi bukan merupakan dua nilai, Benar atau
salah, true atau false, tetapi bisa banyak nilai. Bentuk if..else digunakan untuk
memutuskan suatu blok perintah yang harus dikerjakan berdasarkan dua macam
nilai yang dihasilkan, benar atau salah saja. Jika lebih dari dua maka harus
digunakan struktur kontrol yang dapat memenuhi kebutuhan ini.

Struktur kontrol if … elseif menyederhanakan model struktur kontrol if … else.
Sintaks:
 If (ekspresi1){
    Perintah 1;
    Perintah 2;
    Perintah 3;
    ….
    ….
 }elseif (ekspresi2) {
    Perintah a;
    Perintah b;
    Perintah c;
    ….
    ….
 }

Struktur kontrol elseif mengharuskan proses pemeriksaan kembali ekspresi
apabila nilai ekspresi pada if bernilai salah, karena belum tentu nilai salah
dalam if pasti benar nilai ekspresinya untuk bagian else. Untuk itu perlu
diperiksa lagi apakah benar nilai salah pada bagian if adalah benar untuk bagian
else.

Switch
Switch merupakan bentuk struktur kontrol yang dapat lebih menyederhanakan
bentuk dari pada if … else ataupun bentuk elseif. Pada bentuk switch ini
digunakan untuk mengganti seurutan pemeriksaan if pada suatu hasil ekspresi
dengan beberapa nilai.
Kontrol switch digunakan untuk mengevaluasi suatu ekspresi dengan
kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi
berdasarkan ekspresi dan nilainya.

Blok default pada sintaks di atas tidak harus ada, default sama dengan else
dalam bentuk if .. else atau elseif, tempat blok perintah yang harus dilakukan
tanpa harus diperiksa lagi hasil dari suatu ekspresi.




                                                                      4|Page
Sintaks:

     Switch($var) {
       Case nilai 1 :
           Perintah_nilai 1;
           Break;
       Case nilai2:
           Perintah_nilai2;
           Break;
       Case nilai3:
           Perintah_nilai3;
           Break;
     [default:
           Perintah_nilai_default;
     ]
 }

While
While adalah salah satu bentuk pengulangan. Struktur kontrol ini
memungkinkan seurutan perintah untuk dieksekusi berulang-ulang. Jumlah
pengulangan yang harus dilakukan ditentukan oleh nilai dari suatu ekspresi.
Sintaks:
     While (ekspresi) {
          Perintah_1;
          Perintah_2;
          …
     }
Perintah-perintah dalam while akan dikerjakan apabila nilai dari ekspresi dalam
while bernilai benar. Dalam blok perintah ini harus ada proses yang melakukan
perubahan nilai agar ekspresi yang diperiksa oleh while menjadi salah, apabila
tidak ada perubahan nilai pada bagian ekspresi maka akan terjadi pengulangan
tidak henti (never ending loop – atau loop forever). Hati-hati dengan kondisi
ini dapat menyebabkan komputer menjadi tidak dapat dikendalikan hanya
karena satu proses ini.

Do … while
Do … while berfungsi sama yaitu membuat suatu blok perintah di dalamnya
untuk diulang-ulang eksekusi perintahnya.
Perbedaannya adalah pada do … while proses pemeriksaan ekspresi dilakukan
pada bagian akhir dari blok pengulangan. Perintah dalam blok akan dikerjakan
selama kondisinya masih benar.




                                                                    5|Page
Sintaks:
Do {
    Perintah_1;
    Perintah_2;
    ….
 } while(ekspresi)
Perintah-perintah dalam blok do … while akan dikerjakan paling sedikit satu
kali,
karena proses pemeriksaan dari blok do … while ini dilakukan pada akhir blok.

For
For merupakan struktur kontrol pengulangan dengan jumlah pengulangan dapat
ditentukan berapa kali harus dilakukan. Pengulangan dengan menggunakan
bilangan sebagai penghitung.
Sintak:
   for ($c=nilaiawal ; $c<=batasakhir ; $c++) {
        Perintah_1 ;
        Perintah_2 ;
        ….
   }
$c adalah variabel penghitung
nilaiawal adalah bilangan nilai awal hitungan
batasakhir adalah angka hitungan terakhir
$c++ isi variabel penghitung ditambah satu apabila telah sampai akhir blok for,
perintah pada bagian ini tidak harus $c++ yang berarti ditambah satu, tetapi
juga dapat menggunakan $c+=n.
n adalah angka pertambahan yang diinginkan.

Contoh untuk program menggunakan Struktur Kontrol
<?php

$tanggal = $_GET['tgl'];
if (!$tanggal) $tanggal = date("Y-m-d");

$waktu = strtotime($tanggal);
$sekarang = time();

if ($waktu > $sekarang)
{
   $jarak = $waktu - $sekarang;
   $pesan = "kurang";
}
else
{


                                                                    6|Page
    $jarak = $sekarang - $waktu;
    $pesan = "lewat";
}

$arrdata = array("tahun" => 31104000,
           "bulan" => 2592000,
           "hari" => 86400,
           "jam" => 3600,
           "menit" => 60,
           "detik" => 0);

$teksstr = array();

foreach($arrdata as $kata => $constant)
     $teksstr[] = disposisi($constant, $kata);

$hasil = implode(" ", $teksstr);

echo "document.write('$pesan $hasil');";

function disposisi($c, $kata)
{
      global $jarak;
      $r = ($c) ? floor( $jarak / $c) : $jarak;
      if ($r)
      {
         $jarak -= $r * $c;
         return "$r $kata";
      }
      else
         return "";
}

?>

4.3 Fungsi
4.3.1 Pengertian
       Fungsi merupakan serangkaian script/kode yang mempunyai kegunaan
    khusus dan tertentu; merupakan seurutan atau serangkaian kode yang sering
    dipakai. Dengan adanya fungsi maka pemrograman dapat dipermudah
    karena tidak harus menulis berulang-ulang rangkaian kode script yang
    sama.




                                                                   7|Page
4.3.2  Fungsi Bulit-in
       Fungsi built in adalah fungsi yang telah disediakan oleh PHP,
       pemrogram dapat langsung memakainya. Macam-macam fungsi built I-
       in PHP dapat dikelompokan menjadi:
       o Fungsi untuk array
       o Fungsi untuk metematika
       o Fungsi untuk string dan pemrosesan file
       o Fungsi untuk tanggal
       o Fungsi untuk database
       o Fungsi untuk Web dan XML
       o Fungsi untuk file
       o dll
4.3.3 User defined function (UDF)
       UDF dibutuhkan untuk memudahkan proses pengembangan aplikasi.
       UDF dibuat untuk menambah fungsi yang belum disediakan oleh PHP.
4.3.3.1 Deklarasi UDF
       Function namafungsi([parameter])
       {
       statement…;
       statement…;
       }
4.3.3.2 Pemanggilan UDF
       $varHasil=&namafungsi([parameter]); =>Hasil merupakan nilai yang
       dikembalikan

4.3.4   Fungsi External
        Fungsi eksternal merupakan daftar fungsi yang belum diaktifkan(di-
        link) dalam modul PHP, fungsinya diletakkan pada library atau file yang
        terpisah dari modul PHP. Function external ini dapat diaktifkan secara
        otomatis dengan meregristrasi pada file PHP.INI. Pemanggilannya
        dengan menggunakan perintah
        dl(“nama library”);

4.4  Modularisasi
      Modularisasi adalah pemrograman umum dilakukan dan sangat
      diperlukan untuk mempermudah debugging dan pengembangan
      program. Modularisasi berarti melakukan pembuatan program
      berdasarkan modul-modul.
4.4.1 required()
      Bentuk kontruksi yang digunakan untuk menggabungkan suatu script
      PHP atau text dari file lain dengan script PHP yang memanggilnya.
      Sintaks:
      <?required(“namafile.php”)?>




                                                                    8|Page
4.4.2 include()
      Include merupakan kontruksi yang digunakan untuk menggabungkan
      suatu script atau file dengan script pemanggilnya.
      <?include(“namafile.php”)?>
4.4.3 required_once()
      Pada prinsipnya sama dengan required tapi dengan menggunakan
      required_once dapat menghindari duplikasi pemanggilan suatu fungsi.
4.4.4 include_once()
      Kontruksi include_once ini sama dengan required_once akan tetapi pada
      kontruksi include_once() setiap kali selalu ada evaluasi ulang pada saat
      suatu perintah include terjadi pada script yang dispesifikasikan dalam
      include_once().
4.4.5 dl(namamodul)
      namamodul adalah nama modul yang berisi fungsi yang belum
      disediakan dalam PHP, disimpan dalam file library eksternal.
      Konstruksi dl(namamodul) memungkinkan fungsi-fungsi eksternal yang
      belum didukung oleh PHP yang dibuat dan disimpan dalam file library
      tertentu yang dapat dipanggil pada saat dibutuhkan saja.

4.5  Pemrosesan File
      Materi yang akan dibahas mengenai membaca, memroses, dan membuat
      file sebagai tempat penyimpanan data dengan menggunakan format file
      teks.
      Secara umum bekerja dengan file selalu mempunyai pola sebagi berikut:
4.5.1 Buka file
      Sintaks: $fp=fopen(“namafile”,”mode”)
      $fp            = file handle
      namafile       = string nama file.ext dilengkapi dengan path
      Mode akses file
      Mode Akses       Keterangan
      r                Membaca file
      r+               Membaca dan menulis ke dalam file, pointer diawal
                       file
      w                Menulis kedalam file, menghapus data
      w+               Membaca dan menulis ke dalam file, pointer diawal
                       file
      a                Menyimpan file, pointer diletakan diakhir file
      a+               Membaca dan menulis ke dalam file, pointer diakhir
                       file
      b                Binary digunakan agar file yang disimpan tidak
                       dibedakan sebagai teks atau biner




                                                                   9|Page
4.5.2 Proses file
4.5.2.1 Membaca data dari file
                  fgets[]
                      $var=fgets(fp,jumlah data)
                      Membaca data file sebagai baris per baris string,
                      sejumlah jumlah data byte, setiap baris ditandai dengan
                      karakter ganti baris.
                      <?
                      $fp=fopen(“bukutelp.txt”,”r”);
                      while ($isi=fgets($fp,25))
                      {echo $isi.”<br>”;}
                      ?>
                  fread[]
                      $var= fread (fp,jumlahdata)
                      Melakukan pembacaan file dalam mode binary yang
                      aman dengan jumlah data yang dibaca per sekali baca
                      adalah jumlahdata.
                      <?
                      $fp=fopen(“bukutelp.txt”,”r”);
                      while ($isi=fread($fp,25))
                      {echo $isi.”<br>”;}
                      ?>
                      Script dengan menggunakan fread() akan membaca data
                      per 25 byte kemudian ditampilkan ke layar, tidak perduli
                      terdiri dari satu baris atau tidak.
                  fscanf[]
                      list($var1, $var2,…)=fscanf(fp,”format+delimiter”)
                      Hasil dari fscanf() selalu dalam bentuk array yang berisi
                      nilai-nilai untuk setiap field. List adalah fungsi yang
                      digunakan untuk memisahkan setiap elemen array dalam
                      variabel-variabel penampungnya. Membaca data file,
                      langsung memasukan ke dalam variabel-variabel, setiap
                      variabel menyimpan data dari satu field/record yang
                      dibaca. Setiap field dipisahkan dengan menggunakan
                      delimiter yang menggunakan escape character.
                       <?
                      $fp=fopen(“bukutelp.txt”,”r”);
                      while(list($nama,$telpon)=fscanf($fp,”%s\t%s\n”))
                      {echo $nama.”.”.$telpon.”<br>”;}
                      ?>
                  feof[]
                  Sintaks: feof(fp)
                  Digunakan pada pembacaan file, untuk memeriksa apakah
                  sudah habis terbaca atau belum file yang dibaca. Fungsi ini
                  akan menghasilkan nilai False apabila belum membaca


                                                                   10 | P a g e
                 sampai akhir dan True apabila telah selesai dibaca sampai
                 akhir.
                 fgetc[]
                 $var=fgetc(fp)
                 Membaca data file per karakter, fungsi pembacaan file
                 dengan karakter per karakter sering kali diperlukan untuk
                 melakukan pemrosesan data yang khusus.
                 <?
                 $fp=fopen(“bukutelp.txt”,”r”);
                 $huruf=0;
                 $baris=1;
                 while(!feof($fp))
                 {
                 $ch=fgetc($fp);
                 if(($ch!=” “)&&($ch!=”\n”)&& ($ch!=”\t”))
                 $huruf++;
                 if(($ch!=”\n”)) $baris++;
                 }
                 echo “<br>”;
                 echo “Jumlah baris : $baris”;
                 echo “<br>”;
                 echo “Jumla huruf : $huruf”;
                 ?>
                 readfile
                 Membaca dan menuliskan isi file ke standar output. Fungsi
                 ini akan membaca seluruh file dan langsung dituliskan ke
                 standar output.
                 <?
                 $isi=readfile(“bukutelp.txt”);
                 echo $isi;
                 ?>
4.5.2.2 Menulis data ke dalam file
                 fputs[]
                 fputs(fp,data)
                 Menuliskan data file sebagai string data.
                 <?
                 $namafile=”outfile.txt”;
                 mydata=”Budi, Bandung, 40132”;
                 $fp=fopen($namafile,”w”);
                 fputs($fp,$mydata);
                 fclose($fp);
                 echo $mydata;
                 ?>




                                                               11 | P a g e
                   fwrite[]
                   fwrite(fp,string,jumlahdata)
                   Menuliskan data file sejumlah jumlah data dalam model
                   binary, sama dengan fputs() tetapi setelah karakter string
                   harus ditulis parameter jumlah data yang akan ditulis.
                   <?
                   $namafile=”outfile.txt”;
                   mydata=”Budi, Bandung, 40132”;
                   $fp=fopen($namafile,”w”);
                   fwrite($fp,$mydata,30);
                   fclose($fp);
                   echo $mydata;
                   ?>

4.5.2.3 Pemeriksaan file
           Sintaks:
           $hasil=file_exits(namafile);
           $hasil berupa nilai true atau false
           <?
           $namafile=”outfile.txt”;
           if(file exits($namafile))
           {echo “$namafile sudah ada”;}
           else
           { echo “$namafile belum ada”;}
           ?>
4.5.2.4 Tutup file
       Sintaks: fclose($fp)
       $fp              = file handle

4.6  Pengolahan Data dari Form
      Data yang dituliskan oleh user akan dikirimkan ke server jika user
      mengklik tombol submit. Data akan dikirim sebagai bagian dari string
      url atau bisa juga secara terpisah. Atribut method pada tag form
      mempunyai dua pilihan nilai yitu get dan post.
4.6.1 Get
      Method ini menyebabkan data yang dikirimkan ke server disatukan
      dengan string URL. URL yang dituliskan pada address book akan
      menampilkan data isisan pada form. Teknik ini umum digunakan
      sebagai model passing parameter kepada URL yang berfungsi sebagai
      script. Kelebihannya yaitu mudah untuk memasukan nilai untuk
      memlakukan query kepada situs, kekurangannya data yang digunakan
      sebagai method tertampilkan (seharusnya parameter tersembunyi) dan
      tidak dapat digunakan untuk pengiriman ke server web dengan jumlah
      besar.



                                                                  12 | P a g e
4.6.2    Post
         Method post akan memisahkan data yang diisikan oleh pengunjung
         dengan string URL-nya pada saat mengirimkan kepada server dan data
         yang dikirimkan dapat lebih besar jumlahnya dibandingkan dengan get.

4.7     Pembuatan Buku Tamu
         Buku tamu merupakan aplikasi yang umum dalam situs web, disediakan
         untuk mendapatkan masukan dari pengunjung situs. atau sekedar ingin
         mencatat identitas pengunjung agar diketahui bahwa pengunjung
         tersebut pernah mengunjungi suatu situs web.


         formbukutamu.html
         <form action=”simpanbukutamu.php” method=post>
         <pre>
         Nama anda :       <input    type=”text”   name=”nama”   size=25
         maxlength=50>
         Email addres : < input type=”text” name=”email” size=25
         maxlength=50 >
         Komentar      :     <textarea      name=”komentar”    cols=”40”
         rows=”5”></textarea>
         </form>

         simpanbukutamu.php
         <?
         $fp=fopen(“bukutamu.dat”,”a+”);
         fputs($fp,$nama.”|”.$email.”|”.$kometar.”\n”);
         fclose($fp);
         ?>

         bacabukutamu.php
         <?
         $fp=fopen(“bukutamu.dat”,”r”);
         while(!feof($fp))
         {
         $baris=fgets($fp,80)
         echo $baris;
         }
         fclose($fp);
         ?>




                                                                  13 | P a g e
4.7.1   Upload file ke server dengan menggunakan PHP

PHP membuat semuanya menjadi lebih mudah dalam menangani upload file.
Untuk membuat form upload pastikan kita menyertakan atribut
enctype="multipart/form-data" dan pastikan methodnya adlaha post. Oke
langsung saja kita lihat kode HTML berikut ini:

<form method="post" action="<?=$PHP_SELF?>" enctype="multipart/form-
data">
<input type="file" name="myfile">
<input type="submit" name="Submit" value="Submit">
</form>

Seperti yang kita lihat, kita me,mberi nama pada field upload kita "myfile".
Nama ini sangat penting, karena ketika file telah diupload maka file tersebut
otomatis diberi nama yang unik dan disimpan di temporary direktori. Tentu saja
url path ke filenya bisa diakses, karena otomatis akan muncul variabel global
yang memiliki nama yang sama dengan field upload kita, dalam hal ini myfile.
Akan ada 4 variabel baru yang semuanya diawali dengan myfile dan diikuti
dengan garis bawah (underscore), yaitu:

   •    $myfile. Variabel ini berisi informasi lokasi file di server.
   •    $myfile_name. Nama file asli ketika masih dikomputer klien.
   •    $myfile_size. Ukuran dari file (dalam satuan bytes).
   •    $myfile_type. Tipe file.

4.7.1.1 Upload sederhana

Langsung saja kita coba contoh upload berikut ini, simpan dengan nama
upload.php:

<html>
<head>
<title>Upload file</title>
</head>
<body>
<?
if ( isset( $upload ) ) {
   echo "Lokasi File: $myfile<br>";
   echo "Nama File: $myfile_name<br>";
   echo "Ukuran: $myfile_size bytes<br>";
   echo "Tipe File: $myfile_type<br>";
   copy ( $myfile, "$myfile_name") or die ("Gagal mengupload");
}



                                                                    14 | P a g e
?>
<form       enctype="multipart/form-data"     action="<?=$PHP_SELF?>"
method="post">
<input type="file" name="myfile"><br>
<input type="submit" value="upload" name="upload">
</form>
</body>
</html>

Ketika tombol upload ditekan, maka url path file tersebut akan disimpan di
variabel $myfile dan kita tampilkan dibrowser. Kita juga menampilkan nama
file yang tersimpan pada variabel $myfile_name, ukuran file di variabel
$myfile_size dan tipe file di variabel $myfile_type.

Kita menggunakan fungsi copy() untuk memindahkan file dari komputer kita
direktori sementara di server kita. Fungsi copy() membutuhkan dua argumen
yaitu lokasi awal file dan lokasi baru diserver. Jika kita ingin mengupload nya
ke suatu folder diserver (katakanlah kita simpan difolder images) maka kita
perlu mengubahnya menjadi: copy ( $myfile, "images/$myfile_name")

4.7.1.2 Upload yang lebih kompleks

Sekarang mari kita coba membuat fungsi upload yang jauh lebih rumit.
Misalkan kita ingin membuat fungsi upload dimana file yang diupload harus
file jpg, dan ukurannya tidak boleh lebih besar dari 100Kb serta panjang dan
lebar gambar tidak boleh lebih dari 100 piksel. Kelihatannya rumit kan? Mari
kita coba kode berikut dan simpan dengan nama upload2.php:

<html>
<head>
<title>Upload file</title>
</head>
<body>
<?
if ( isset( $upload ) ) {
echo "Lokasi File: $myfile<br>";
echo "Nama File: $myfile_name<br>";
echo "Ukuran: $myfile_size bytes<br>";
echo "Tipe File: $myfile_type<br>";
if ( $myfile_type == "image/pjpeg" ) {
   if ($myfile_size <= 102400 ) {
       list($width, $height) = @getimagesize("$myfile");
       if ( $width <= 100 && $height <= 100
){



                                                                   15 | P a g e
         copy ( $myfile,
"$myfile_name") or die ("Couldn't copy");
         echo "File anda telah sukses diupload";
      } else {
         echo "Ukuran panjang dan lebar gambar terlalu besar";
      }
   } else {
      echo "Ukuran file tidak boleh lebih dari 100Kb";
   }
} else {
   echo "File harus JPG!!";
}
}
?>
<form          enctype="multipart/form-data"       action="<?=$PHP_SELF?>"
method="post">
<input type="file" name="myfile"><br>
<input type="submit" value="upload" name="upload">
</form>
</body>
</html>
PHP tidak memiliki kemampuan untuk membuat progress bar ketika file
diupload. Karena PHP tidak dapat mengetahui berapa bagian yang telah
diupload dan berapa yang belum. Kita perlu menggunakan CGI. Tetapi entah
dengan PHP terbaru, siapa tau sudah memiliki class atau fungsi untuk membuat
progress bar.

Pertama-tama yang kita lakukan adalah mengecek apakah file kita jpg dengan
cara mengecek $myfile_type. Jika hasil dari variabel $myfile_type adalah
"image/pjpeg", maka bisa dipastikan bahwa file kita adalah jpg. Berikutnya kita
melakukan pengecekan apakah ukuran filenya tidak lebih besar dari 100Kb
dengan mengecek variabel $myfile_size. Ingat bahwa 100Kb =
102400Bytes(Rumusnya 1Kb=1024Bytes). Kemudian kita menggunakan fungsi
getimagesize() untuk menemukan panjang dan lebar dari gambar yang kita
simpan dengan array menggunakan fungsi list(). Kemudian kita cek panjang
dan lebar dari gambar apakah tidak lebih dari 100 piksel.




                                                                   16 | P a g e
PHP dengan Mysql

Koneksi
    Sintak:
    mysql_connect($hostname,$username,$password)        digunakan     untuk
    membuat koneksi antara program dengan database
Query
    Sintak:
    mysql_query($query) + digunakan untuk menjalankan query yang telah
      dibuat.
    Perintah-perintah SQL dasar:
    o Create
      - create database nama_database; = membuat database
      - create table nama_tabel
        (nama_filed type(length) not null/null,
        nama_filed type(length) not null/null); = membuat table serta
        atributnya
    o Select
      - select * from nama_tabel = menampilkan seluruh field yang ada pada
           table.
      - Select nama_field from nama table = menampilkan data field yang
        diinginkan secara keseluruhan.
      - Select nama_field from nama table where nama_field=’kondisi’; =
        menampilkan data field yang diinginkan secara keseluruhan dengan
        syarat yang telah ditentukan.
    o Insert
      - insert into nama_tabel (field1,…) values (‘nilai1’); =
        menambahkan/memasukan data ke dalam table.
    o Update
      - update nama_table set field1 = ‘nilai1’,…. Where field=’kondisi’; =
        meng-update data suatu field dalam suatu table.
    o Delete
      - delete from nama_tabel where kriteria; = menghapus data/ record dari
           suatu table.

   Counter dengan Mysql
    - mysql_error() = digunakan untuk memeriksa apabila kondisi error.
    - mysql_num_rows() = digunakan untuk memeriksa kondisi hasil query
      secara baris perbaris pada tabel.
    - mysql_fetch_array() = digunakan untuk membaca hasil query secara
      baris perbaris dengan konsep array, jadi peletakannya harus berurutan
      dengan field yang ada pada tabel.
    - mysql_fetch_object() = digunakan untuk membaca hasil query secara
      baris perbaris dengan berpatokan pada object yang digunakan pada
      tabel.


                                                                17 | P a g e
Guest book and Mysql
 Membuat buku tamu dengan database mysql.
Formbukutamu.php
 <form action=”simpanbukutamu.php”method=post>
 <pre>
 Nama anda       : < input type=”text” name=”nama” size=25
     maxlength=50>
 Email addres    : < input type=”text” name=”email” size=25
     maxlength=50>
 Komentar           : < textarea name=”komentara” cols=”40”
     rows=”5”></textarea>
 </form>

Simpanbukutamu.php
  <?
  $conn=mysql_connect(“localhost”,”,”,”,”);
  If ($conn)
  {
  mysql_select_db(“bk_tamu”);
  $sql = ”insert into bukutamu (‘ “.$nama.”’,’ “.$email.” ‘,’ “.$ komentar.”
      ’ )”;
  $hsl = mysql_query($sql,$conn);
  mysql _close($conn);
  }

 Else
 {
 Echo “server not connected”;
 }
 ?>

Bacabukutamu.php

 <?
 $conn = mysql_connect(“localhost”,” “,” “);
 If ($conn)
 {
 mysql_select_db(“bk_tamu”);
 $sql =”select * from bukutamu ;
 $hsl = mysql_query($sql,$conn);
 $row = mysql_fetch row($hsl);

 If ($row)
 { do
      {


                                                                18 | P a g e
          List ($nama,$email,$komentar)=$row;
          Echo “nama : $nama”.”<br>”;
          Echo “e-mail : $email”.”<br>”;
          Echo “komentar : $komentar”;
          }
     While ( $row = mysql_fetch row($hsl));
     }
     Else
     {
     Echo “data masih kosong”;
     }
     mysql_close($conn);
     }
     Else
     {
     Echo “server not connected”
     }
     ?>

4.8 Session dan cookies
4.8.1 Session
    PHP mempunyai session (catatan aktivitas) yang digunakan untuk menjaga/
    memelihara informasi akses dari seseorang pengakses/ pemakai aplikasi
    web. Session memungkinkan pelacakan akses pemakaian, pengaturan
    pemakaian aplikasi oleh pemakai, dan meningkatkan layanan situs
    web.Fasilitas session ini ada sejak PHP versi 4.0
    Setiap pengunjung akan diberi sebuah id yang unik, yang disebut dengan id
    session (session_id). Id ini dapat disimpan dalam suatu cookies pada sisi
    user atau disertakan pada URL.
    Dukungan session memungkinkan kita untuk mencatat sejumlah variable
    untuk digunakan antar permintaan (request). Pada saat seorang pengunjung
    mengakses situs web kita, PHP akan melakukan pemeriksaan secara
    otomatis (jika session.auto_start bernilai 1 ) atau pada request (secara
    eksplisit melalui session_start) atau( implisit melalui session_register),
    apakah id session telah dikirim atau belum bersamaan dengan request.
    Session koneksi antara klien dan server akan hilang atau putus apabila
    browser ditutup (selesai menggunakan browser). Apabila browser
    dijalankan kembali dan koneksi kepada server dilakukan maka dianggap
    sebagai koneksi baru.
    Perintah session selalu paling atas dari script, tidak boleh ada perintah yang
    melakukan penulisan apapun sebelum perintah session selesai dijalankan.
    Session_destroy()
    session_destroy() merupakan fungsi yang digunakan untuk melakukan reset
    terhadap semua nilai variabel yang ada dalam suatu session. id session



                                                                      19 | P a g e
   untuk koneksi suatu klien (komputer) akan tetap sampai dengan browser
   diclose.
   Contoh:

4.8.2   Cookies
        Cookies merupakan fasilitas seperti halnya session, cookies merupakan
    teknik pertama kali yang dikenalkan oleh Netscape untuk membuat adanya
    suatu state koneksi antara klien dan server web (session). hanya saja
    mekanisme pencatatan dilakukan pada setiap klien (dalam hal ini browser
    web). Cookies merupakan data yang disimpan dalam browser web, yang
    menjadi identitas yang selalu akan dikirim kepada server, apabila diminta.
    Data ini pertama kali dikirim oleh server, kemudian disimpan dalam
    browser web.
        Mekanisme pengenalan session dengan menggunakan cookies akan
    berhasil apabila browser web (klien) mendukung cookies dan kemampuan
    untuk menerima cookies inidihidupkan, fungsi ini sering dimatikan karena
    alasan keamanan oleh pemakainya.
        Cookies atau data kecil dari server yang disimpan dalam browser
    sifatnya temporer seperti halnya session. cookies secara defaultakan hilang
    apabila browser ditutup (close). Seperti halnya session maka perintah untuk
    membuat cookies harus dilakukan pertama kali, sebagai perintah pertama
    dalam script kita.
4.8.3 Cookies untuk counter
        Kita dapat menggunakan cookies untuk dijadikan sebagai parameter
    counter untuk menghitung jumlah pengunjung situs kita. Jumlah
    pengunjung harus bisa diidentifikasi bukan dari jumlah halaman yang
    diklik, karena bisa saja seorang pengunjung melakukan akses dokuman
    lebih dari satu dokumen pada saat yang bersamaan, karenanya kita harus
    mencatat siapa saja yang tengah melakukan akses kepada server kita.
        Cara sederhana dengan menggunakan cookies adalah dengan
    memberikan sebuah cookies berupa nomor kepada setiap pengunjung.
    Katakan cookies ini diberi nama “tamu”, setiap pengunjung akan diberi
    nomor urut tamu. Nomor urut tamu akan disimpankan kepada browser,
    sehingga setiap kali seseorang pengunjung mengakses situs kita, nilai
    cookies tamunya diperiksa, apabila belum mempunyai nomor cookies maka
    pengunjung diberi cookies dengan menggunakan setcookie(“tamu”,nomor).
    Catatan:
        Script di atas digunakan untuk diuji coba pada Apache+PHP4 pada
    linux. Jika ingin dicoba untuk windows dengan PWS/ILS+PHP4 maka pada
    $namafile, hilangkan nama direktori “/tmp/”-nya.
        Pada script use_cookies_05.php ini dilakukan proses pemeriksaan
    terlebih dahulu apakah variabel $tamu (dalam hal ini sebenarnya nama
    cookies) diperiksa terlebih dahulu dengan menggunakan fungsi isset(),
    fungsi yang memeriksa apakah variabel tersebut sudah didefinisikan dan
    ada isinya atau belum. Jika belum ada script melakukan pembacaan file dari


                                                                   20 | P a g e
    counter.txt, untuk membaca nomor urut pengunjung yang terakhir, jika file
    counter.txt belum ada maka dilakukan proses pembuatan file counter.txt dan
    diisi dengan nilai 0. jika telah ada maka nilai yang ada didalamnya dibaca
    dimaksukkan ke dalam variabel $urut. Nilainya di tambah dengan satu
    kemudian disimpankan lagi ke dalam file counter.txt. nilai yang telah
    ditambahkan dijadikan sebagai nilai cookies yang diberikan kepada
    browser.
        Pada script use_cookies_05.php ini dilakukan proses redirect yang
    memanggil dirinya sendiri sehingga nilai dari counter bisa langsung
    ditampilkan. Ada proses refresh yang dipaksakan oleh script yakni dengan
    menggunakan fungsi header().
        Fungsi header (“location: $PHP_SELF”.”?OK=1”) akan memaksa script
    untuk memanggil dirinya sendiri, karena isi dari $PHP_SELF adalah nama
    script itu sendiri, variable global yang menyimpan nama script yang sedang
    diakses pengunjung. Pada perintah header ini diberikan parameter OK=1,
    untuk menandakan bahwa variabel/ parameter OK adalah parameter yang
    berasal dari pemaggil diri sendiri.
4.8.4 Penghapusan cookies
        Penghapusan cookies dilakukan dengan memberi nilai kosong kepada
    suatu cookies. Tampilan cookies yang akan diberikan sama seperti pada
    cara pemberian cookies. Pada kesempatan pertama nilai cookies masih
    ditampikan, karena browser baru mendapatkan proses penghapusan, script
    dijalankan pada saat masih mempunyai data cookies, jadi nilai cookies
    masih berlaku. Pada kesempatan ke dua pada saat di refresh atau dipanggil
    kembali cookies baru tidak mempunyai data, karena browser mengirimkan
    informasi bahwa cookiesnya telah dikosongkan.
4.8.5 Tambahan untuk cookies
    Life-time atau masa berlaku cookies jika tidak ada informasi tambahan
    sama seperti halnya session, sampai dengan browser web ditutup (close).

          Setcookie(“namacookie”,”data-
     nilai”,masaberlaku,”path”,”domain”,secure)

   Namacookie        :Nama cookie yang diinginkan.
   data-nilai        :Data untuk cookie.
   Masa berlaku      :Waktu berlakunya cookie dalam hitungan detik, dari jam
   sekarang ditambah dengan berapa detik. Data berupa integer tanggal.
   Path              :Nama path yang valid untuk berlakunya suatu cookie.
   Jika script berbeda path dengan script yang melakukan pendefinisian
   cookie, maka cookie bisa jadi tidak berlaku.
   Domain            :Nama domain yang digunakan untuk membuat proses
   kirim-mengirim cookies dilakukan apabila pada domain yang benar
   (membatasi domain).
   Secure            :Digunakan agar proses pengiriman cookies dilakukan
   pada mode koneksi yang secure (aman). Data berupa interger.


                                                                  21 | P a g e

				
DOCUMENT INFO