HARIFIN A. TUMPA TERPILIH MENJADI KMA

JAKARTA-HUMAS. Wakil Ketua Mahkamah Agung Bidang Non Yudisial, Harifin A. Tumpa, ditetapkan menjadi ketua Mahkamah Agung Terpilih dalam rapat paripurna Mahkamah Agung dengan agenda khusus pemilihan ketua [...]

MA Hukum 17 Hakim Nakal

JAKARTA-HUMAS. Mahkamah Agung menjatuhkan sanksi kepada 17 orang Hakim `nakal` di berbagai Pengadilan yang ada di Indonesia, setelah mereka terbukti melakukan pelanggaran dalam menunaikan tugasnya [...]

KMA, WKMA BIDANG YUDISIAL DAN WKMA BIDANG NON YUDISIAL MENGUCAPKAN SUMPAH DI HADAPAN PRESIDEN - RI.

JAKARTA-HUMAS, Selasa, 10 Februari 2009 Ketua Mahkamah Agung Harifin A Tumpa, Wakil Ketua Bidang Yudisial Abdul Kadir Mappong dan Wakil Ketua Bidang Non Yudisial Ahmad Kamil, mengucapkan sumpah [...]

KABUA : “BARANG MILIK NEGARA HARUS ADA ADMINISTRASINYA”

JAKARTA-HUMAS. “Penatusahaan SABMN seluruh Pengadilan haruslah secara kontinyu, dan asset yang dimiliki di masing-masing Eselon I mulai saat ini sudah jelas kepemilikannya dan sudah selayaknya [...]

KERJASAMA RI-AS DI BIDANG PERADILAN

WASHINGTON DC-HUMAS. Hubungan Amerika Serikat dan Indonesia beberapa tahun belakangan ini berjalan semakin baik. Banyak hal dari Indonesia, seperti masalah penanganan HAM, pelaksanaan supremasi hukum, pemberantasan korupsi dan lain-lain [...]

Acara Syukuran Peningkatan Kelas

Jepara, Acara syukuran kenaikan kelas I B yang diselenggarakan pada tanggal 09 Desember 2008 bertempat di Pengadilan Negeri Jepara, JL. KHA. FAUZAN No. 04 Jepara,berlangsung sangat meriah dan lancar sampai selesainya acara [...]
Google
Google Eko Budhi Harto
ip-location
Tampilkan postingan dengan label Belajar PHP. Tampilkan semua postingan
Tampilkan postingan dengan label Belajar PHP. Tampilkan semua postingan

Membuat login ala cpanel


Pernahkan anda melihat tampilan login seperti diatas? Jika pernah, mungkin anda
penasaran bagaimana cara membuatnya. Untuk membuat login seperti di atas, Caranya sangat
mudah. Kuncinya terletak pada Header. Header dalam PHP mempunyai fungsi yang banyak
sekali dan bisa diotak-atik. Baiklah, saya akan menjelaskan cara membuatnya.
Buat file dengan nama index.php lalu ketikkan script berikut :

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Login ala Cpanel"');
echo 'Anda membatalkan login !';
exit;
} else {
echo "Anda memasukkan username {$_SERVER['PHP_AUTH_USER']}.
";
echo "dan password {$_SERVER['PHP_AUTH_PW']}.
";
}
?>

Sedikit penjelasan script diatas :
If(!isset artinya jika variabel PHP_AUTH_USER belum/tidak diisi, maka akan tampil kotak dialog
login. Dan jika diisi, maka akan tampil username dan password yang anda masukkan.
Bagaimana ? Cukup mudah bukan ? Selamat membuat login yang keren
Download sourcenya Disini

Dalam menjalankan script php anda membutuhkan XAMPP Server Console PHP Apache
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Membuat login ala cpanel

Baca Selengkapnya......

PHP dan Class Part2



Yah, ketemu lagi dengan saya.. :) kalau dulu saya telah membahas tentang class, maka kali ini saya akan membahas tentang pewarisan. Pewarisan atau dalam OOP biasa disebut dengan Inheritance berfungsi untuk menggunakan kembali method dari suatu kelas yang sebelumnya telah dibuat. Contohnya begini, pada class A, anda gunakan method hallo. Lalu pada class B, bila anda ingin memanggil method hallo tersebut, anda cukup memanggilnya dari class A, tanpa harus membuat ulang kembali method hallo tersebut. Pada OOP, Inheritance ada 2 jenis. Yakni Single inheritance dan multiple Inheritance.

Maksud dari single inheritance adalah class anak mendapat turunan langsung dari class induknya. Sedangkan multiple inheritance, class anak mendapat turunan dari class ibu dan ayahnya. hehe...:) (bingung gimana bahasanya....pokoknya lebih dari satu class deh..).

Contoh pewarisan dalam PHP:

<?php
  class induk {
  var $induk = "induk";
  function induk () { // ini merupakan konstruktor
  $this->induk;
  }
  }
  class anak extends induk{
  function anak () {
  print $this->induk;
  }
  }
  $anak = new anak ();
?>

Hasilnya : induk.

Penjelasan :
Pada
class induk, divariabelkan kata "induk". Lalu kata induk tersebut
diwariskan pada class anak. Sehingga pada saat kita mencetak class
anak, dapat dipanggil variabel induk tadi dari class induk.Sekian dulu
penjelasan dari saya. Jika ada yang ingin ditanyakan, silahkan
menghubungi saya di :

Email 1 : ivan@ilmuwebsite.com
Email 2 : ivan_wen_piao@yahoo.co.id
Web : http://ivan.ilmuwebsite.com



Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul PHP dan Class Part2

Baca Selengkapnya......

Passing variable menggunakan Session


Huahhhh… nggak kerasa sebulan lebih kita tidak bersua dan bermesraan :D. Mohon maaf untuk visitor yang setia mengunjungi ilmuwebsite.com terdapat kelambatan dalam penyediaan artikel terbaru, ini dikarenakan sebagian besar staff memiliki kesibukan di dunia lain. Maksudnya di dunia nyata. :D. Sehingga mohon maaf sekali lagi, ilmuwebsite jadi terlantarkan. Untuk kedepannya kami semua mengusahakan agar setiap minggu artikel segar selalu hadir menjadi santapan bagi para web developer pemula hingga tingkat menengah yang laparrr sekali akan ilmu per-php-an. :D
Yups, back to topic, banyak cara untuk melakukan passing variable. Sebentar sebentar, apa itu passing variable ? Passing variable itu sendiri memiliki arti melewatkan suatu variable. Untuk kali ini penulis hanya menjelaskan bagaimana melewatkan variable yang berbeda halaman.
Melewatkan variable yang berbeda halaman seperti ini biasanya diimplementasikan dalam sekuritas sebuah halaman. Boleh atau tidaknya suatu halaman diakses tergantung dari belum atau sudahnya suatu variable diregisterkan. Contoh nyatanya yaitu ketika seorang admin melakukan login dengan username dan password yang benar, maka akan diregisterkan sebuah variable yang nantinya digunakan sebagai key. Pengaksesan halaman lain memerlukan key yang dihasilkan dari login tersebut. Apabila didapatkan situasi ketika user belum login, maka halaman yang memerlukan variable yang diregisterkan ( dalam hal ini key ) akan melakukan redirect ke halaman lain yang memerintahkan user untuk melakukan kembali proses login dengan benar. Resminya hal seperti ini dapat dilakukan dengan 2 metode. Pertama menggunakan session dan yang kedua menggunakan cookies. Masing-masing memiliki kelemahan dan juga kelebihannya. Namun untuk artikel kali ini penulis hanya menjelaskan yang session saja.
Session merupakan sebuah metode yang dapat melewatkan suatu variable meskipun berbeda halaman. Session yang diregisterkan akan tetap ada sampai si user menutup browsernya. Sebagai contoh sederhananya, buat satu halaman dengan nama session.php kemudian registerkan sebuah variable :

<?php
session_start();
$_SESSION['lewat'] = 1;
?>

Kemudian buat sebuah file lagi dengan nama anotherpage.php :
<?php
session_start();
echo $_SESSION['lewat'] ;
?>

Anda buka halaman session.php terlebih dahulu, selanjutnya buka halaman anotherpage.php. Hasilnya :

1

Ini terjadi karena dalam file session.php telah diregisterkan sebuah variable session dengan nama lewat. Seperti pada baris ini

$_SESSION['lewat'] = 1;

Variable session ini berlaku untuk semua halaman yang ada karena sifatnya yang global.
Untuk men-set sebuah variable session dapat menggunakan cara yang lain :

$lewat = 1 ;
session_register('lewat');

untuk mengakses session yang telah diregister tersebut cukup dengan :

echo $_SESSION[’lewat’];


Nah sekarang tutup browser anda, lalu buka kembali halaman anotherpage.php. Apa yang terjadi ? Betul, :D tidak ada yang ditampilkan karena secara otomatis sebuah session akan dibuang ketika browser diclose.

Untuk membuang atau mendelete sebuah session, cukup dengan menggunakan fungsi session_unset(’namasession’);

Contohnya :
session_unset($_SESSION['lewat']);

Untuk membuang semua session yang ada cukup dengan menggunakan fungsi session_destroy(); ini adalah fungsi kebalikan dari session_start();

Contoh implementasi yang lebih kompleks dari penggunaan session ini, penulis akan membuat sebuah script login, yang nantinya jika si user melakukan login dengan benar, maka dibolehkan untuk mengakses halaman yang berbeda sekalipun.

Namun persiapkan terlebih dahulu script-script yang dibutuhkan.
File login.html :
<html> <head><title>Halaman Login...</title></head> <body> <form action="cek.php" method="POST"> <table> <tr><td>username : </td><td><input type="text" name="username"></td></tr> <tr><td>password : </td><td><input type="password" name="password"></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login"></td></tr> </table>
Kemudian file cek.php :
<?php session_start(); if(!empty($_POST['username']) && !empty($_POST['password'])) { if ($_POST['username'] == "admin" && $_POST['password'] == "admin") { $_SESSION['userlogin'] = 1 ; echo "Selamat Datang Admin"; echo "<br><a href=edit.php>Edit Database ... </a>"; echo "<br><a href=logout.php>Logout ... </a>"; } else { header("location: login.html"); } } ?>

Selanjutnya file edit.php, file ini mencontohkan sebuah halaman yang dapat diakses ketika user telah login dengan benar, dan sebuah session yang menjadi kunci telah diregister dan diterima :
<?php session_start(); if (ISSET($_SESSION['userlogin'])) { echo "Silahkan mengedit database ... "; echo "<br><a href=logout.php>Logout ... </a>"; } else { echo("Anda tidak berhak untuk mengakses halaman ini ... "); } ?>

Yang terakhir adalah file logout.php :
<?php session_start(); session_destroy(); header("location: login.html"); ?>

Username dan password yang berasal dari halaman login.html akan diperiksa terlebih dahulu oleh file cek.php, terlihat di sini

Jika username dan passwordnya diisi oleh user ...
if(!empty($_POST['username']) && !empty($_POST['password'])) {
Dan jika username dan passwordnya cocok …
if ($_POST['username'] == "admin" && $_POST['password'] == "admin") {

Register sebuah variable session …
$_SESSION['userlogin'] = 1 ; ….

Jika tidak …
else {
User diperintahkan untuk melakukan login ulang …
header("location: login.html"); } }
Kemudian dalam file edit.php dijelaskan bahwa,

halaman tersebut dapat diakses dengan syarat variable $_SESSION[’userlogin’] telah di register...
... if (ISSET($_SESSION['userlogin'])) { ...
Yups, script ini dapat dikembangkan lebih jauh. Dan perlu dicatat, session tentunya sangat bermanfaat sekali, tidak terpatok hanya untuk sekuriti pada sebuah halaman saja, namun dalam bentuk yang lain tentunya. Ini tergantung dari kreatifitas anda dalam menggunakan session. Selamat mencoba. Selamat Mengembangkan. Dan selamat berbuka puasa pada waktunya nanti... :D~~

Script di atas dapat di download di sini
Greetz :
b_scorpio ? --> proyek kita terhambat :( ,
phii_ --> ditunggu artikelnya secepatnya,
safril --> zine kita ... zine kita ...
my friend jojo and najwa ;)


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Passing variable menggunakan Session

Baca Selengkapnya......

Database in OOP way: Select data mysql with mysqli


Tutorial
ini sebenarnya berawal dari request seorang user yang bertanya
“Bagaimana mengambil record dari database mysql kemudian menampilkannya
di combo box, dengan catatan pengambilan record ini menggunakan konsep
object oriented programming?!”. Awalnya penulis akan membuat kelas (OOP
) tersendiri untuk mengambil isi database dan kemudian menampilkannya
pula dengan konsep oop tersebut. Tetapi karena PHP 5 sudah meng-include
kan mysqli untuk mengambil dan menampilkan record dengan cara OOP, ya
kita manfaatkan saja fasilitas ini. ;). Sebagai permulaan, penulis coba
mengenalkan konsep programming oop dalam menangani database …

$mysqli = new mysqli("$host ", "$user", $password, $database); if (mysqli_connect_errno()) { echo("Nggak bisa konek : ".mysqli_connect_error()); exit(); }

Ya,
memang pada dasarnya tidak terlalu berbeda jauh dengan konsep
programming procedural. Namun, dengan konsep programming oop seperti
ini manfaat yang bisa di rasakan adalah ketika melakukan seleksi
databasenya, update, dan tentunya delete record. Dengan kata lain,
perbedaan konsep oop dapat dirasakan ketika dalam pengolahan database.
Di sini penulis akan memberikan sedikit contoh mengenai penggunaan oop
dalam database, yang kemudian record tersebut ditampilkan dalam bentuk
combo box.

Buat databasenya terlebih dahulu,

File simplecms.sql create database simplecms ; use simplecms ; create table category( id int(4) primary key auto_increment, category varchar(225) ); insert into category values('','web design'); insert into category values('','graphic design'); insert into category values('','flash animation');

kemudian file index.php
<?php $mysqli = new mysqli("localhost", "root", "", "simplecms"); if (mysqli_connect_errno()) { echo("Nggak bisa konek : ".mysqli_connect_error()); exit(); } $cat = $mysqli ->prepare("select id, category from category order by id"); $cat->execute(); $cat->bind_result($id, $category); ?> <html> <head> <title>Database in OOP Way ; Seleksi Data dengan mySqli</title> </head> <body><table border=0> <form action="post.php" method="POST"> <tr><td>Category :</td> <td> <select name="category"> <?php while ($cat->fetch()) echo "<option value=".$id.">".$category."</option>"; ?> </select> </td> <tr><td></td><td><input type="submit" name="go" value="Kirim"></td></tr> </form> </table> </body> <html>

terakhir adalah post.php <?php echo "Anda memilih Category : ". $_POST['category']; ?>


Setelah membuat objek terlebih dahulu, yakni :
$mysqli = new mysqli("localhost", "root", "", "simplecms");

Lalu kita manfaatkan objek tersebut membuat query untuk menyeleksi data :
$cat = $mysqli ->prepare("select id, category from category order by id");

Baris ini sama dengan mysql_query, namun dalam bentuk oop :
$cat->execute();

Kemudian baris di bawahnya :
$cat->bind_result($id, $category);

bind_result,
konsepnya hampir sama dengan buffer yang menyediakan variable, secara
otomatis terisi oleh record yang diambil oleh query sebelumnya.
Fungsinya nanti adalah untuk di tampilkan. Untuk contoh yang lain jika querynya seperti ini :

$cat = $mysqli ->prepare("select id, nama, email from category order by id");

Maka di fungsi bind_resultnya :
$cat->bind_result($id, $nama, $email);


Nah untuk menampilkan record-record tersebut cukup dengan :
while ($cat->fetch()) echo "<option value=".$id.">".$category."</option>";

Di
depannya terdapat option karena record tersebut ditampilkan dalam
bentuk combo box. Cukup sekian. Jika ada yang masih ditanyakan
silahkan layangkan email anda ke alkemail@gmail.com. Source code
tersebut dapat di download di sini

Greetz :
b_scorpio, phii_ safril, dr.emi, ivan, dan semua pengunjung ilmuwebsite.
kandar, jojo, najwa, peterpanz. :D
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Database in OOP way: Select data mysql with mysqli

Baca Selengkapnya......

Update, Delete Database with OOP


Penggunaan seleksi untuk menampilkan database menggunakan OOP telah penulis jelaskan sebelumnya. OOP dalam php 5 ini telah terbukti ampuh dalam menghasilkan source code yang efisien untuk menangani manajemen database. Tentu hambar rasanya jika penggemar sayur asam memakannya tanpa ada sedikitpun rasa garam di dalamnya. Nah begitu juga dengan artikel penulis sebelumnya, menampilkan database dengan OOP masih belum cukup tanpa pengetahuan selanjutnya mengenai bagaimana melakukan update dan delete record pada database menggunakan OOP ini. Oleh karena itu di sinilah penulis akan jelaskan sedikit penggunaan OOP untuk menghandle database. Untuk mempelajarinya mari buat databasenya terlebih dahulu :
-- simple cms database create database simplecms ; use simplecms ; create table article( id int(4) primary key auto_increment, category varchar(225), article_title varchar(225) ); insert into article values('','web design', 'Web Design Make Over with CSS'); insert into article values('','graphic design','CorelDraw the handy tool'); insert into article values('','flash animation','Make a splash water animation');

Ya, langsung saja penulis berikan contoh kasusnya, script intinya, index.php, dan biasanya script seperti ini digunakan sebagai halaman admin. Tentunya admin disini dapat melakukan update dan delete record database.
<?php $mysqli = new mysqli("localhost", "root", "", "simplecms"); if (mysqli_connect_errno()) { echo("Nggak bisa konek : ".mysqli_connect_error()); exit(); } $cat = $mysqli->prepare("select id, category, article_title from article order by id"); $cat->execute(); $cat->bind_result($id, $category, $article_title); ?> <html> <head> <title>Database in OOP Way ; Seleksi Data dengan mySqli</title> </head> <body><table border='0' width='40%'> <caption><h3>SIMPLECMS CONTROL PANEL :</h3></caption> <tr><th>No</th><th>Category</th><th>Title</th></tr> <?php while ($cat->fetch()) echo "<tr><td>".$id."</td><td>".$category."</td>"."<td>".$article_title."</td><td><a href=?yang_ini_diedit=ya&id_nya=" .$id.">EDIT</a></td><td><a href=?yang_ini_didelete=ya&id_nya=".$id.">DELETE</a></td></tr>"; ?> </table> <hr width='39%' align='left'/> <?php if ($_REQUEST['yang_ini_didelete'] == 'ya') { echo "Wah... record ".$_REQUEST['id_nya']." bener-bener mau di hapus ya ?" ; echo "<form action='?delete_langsung_lah=ya' method='POST'> <table><input type='hidden' name='id' value=".$_REQUEST['id_nya']."> <tr><td><input type='submit' value='ya' name='submit'></td></tr></table> </form>"; } else if ($_REQUEST['delete_langsung_lah'] == 'ya') { $id_delete = $_POST['id']; $cat = $mysqli->prepare("delete from article where id=?"); $cat->bind_param('i',$id); $id = $id_delete; $cat->execute(); echo "Database berhasil dihapus ... Anda akan diredirect dalam 2 detik"; echo "<meta http-equiv='refresh' content='2;url=index.php'>"; } else if ($_REQUEST['yang_ini_diedit'] == 'ya') { $cat = $mysqli->prepare("select id, category, article_title from article where id=?"); $cat->bind_param('i',$id); $id = $_REQUEST['id_nya']; $cat->execute(); $cat->bind_result($id, $category, $article_title); echo "<caption>Yang mau diedit...</caption>"; echo "<table><form action='?update_langsung_lah=ya' method='POST'>"; while ($cat->fetch()) { echo "<tr><td>Category : </td><td><select name='category'><option value=".str_replace(" ","_",$category).">".$category."</option></select></td></tr>"; echo "<tr><td>Title : </td><td><textarea name='title' cols='51' rows='7'>"; echo $article_title ; } echo "</textarea></td></tr>"; echo "<input type='hidden' name='id' value=".$_REQUEST['id_nya'].">"; echo "<tr><td></td><td><input type='submit' name='submit' value='update'></td></tr>"; echo "</form></table>"; } else if ($_REQUEST['update_langsung_lah'] == 'ya') { $category = str_replace("_"," ",$_POST['category']); $title = $_POST['title']; $id = $_POST['id']; $cat = $mysqli->prepare("update article SET category ='$category', article_title = '$title' where id=?"); $cat->bind_param('i',$id); $cat->execute(); echo "Database berhasil diupdate ... Anda akan diredirect dalam 2 detik"; echo "<meta http-equiv='refresh' content='2;url=index.php'>"; } ?> </body> </html>

Tampilannya nanti akan seperti ini :


Potongan source code di bawah ini digunakan untuk menampilkan database dengan cara OOP. Seperti yang pernah penulis jelaskan dalam artikel pertama mengenai penggunaan OOP dalam PHP 5 untuk memanage database.
$mysqli = new mysqli("localhost", "root", "", "simplecms"); if (mysqli_connect_errno()) { echo("Nggak bisa konek : ".mysqli_connect_error()); exit(); } $cat = $mysqli->prepare("select id, category, article_title from article order by id"); $cat->execute(); $cat->bind_result($id, $category, $article_title);

Penjelasan detilnya dapat dilihat di artikel sebelumnya. Di sini penulis akan menjelaskan beberapa fungsi baru OOP dalam PHP 5. Lihat kembali fungsi tersebut pada baris ini :

... $cat = $mysqli->prepare("delete from article where id=?"); $cat->bind_param('i',$id); $id = $id_delete; $cat->execute(); echo "Database berhasil dihapus ... Anda akan diredirect dalam 2 detik"; echo "<meta http-equiv='refresh' content='2;url=index.php'>";
...

Di dalam barisan tersebut terdapat kalimat pembentuk query sql yang sedikit berbeda, yaitu :
$cat = $mysqli->prepare("delete from article where id=?");

Terdapat tanda '?' sebagai perwakilan dari parameter syarat. Tanda tanya ini nantinya akan didefinisikan sebagai satu syarat dalam satu variable menggunakan fungsi bind_param(), sehingga jika sebuah query didefinisikannya seperti ini :
cat = $mysqli->prepare("delete from article where id=?");

maka, harus terdapat fungsi bind_param() sesudahnya, seperti :
$cat->bind_param('i',$id);

Sehingga 2 baris kalimat tersebut sama halnya dengan query biasa, jika dalam query biasa maka hasilnya seperti ini :

$cat = "delete from article where id='$id'";

Setali 3 uang. :D. Ya ya ya ... tapi coba perhatikan kembali fungsi bind_param pada kalimat tersebut :
$cat->bind_param('i',$id);

Dalam parameter pertama fungsi bind_param di isi dengan 'i'.
Kenapa dengan 'i' ?, i ini adalah perwakilan dari variable yang bertipe integer. Dalam query seperti ini delete from article where id='$id', mustahil jika mengisinya dengan string, kenapa ? lihat struktur tablenya. :D, hasilnya nanti akan 0 jika menggunakan string. Adapun type dari parameter tersebut antara lain yaitu :

i : ini untuk variable yang bertipe integer
s : ini untuk variable yang bertipe string
d : ini untuk variable yang bertipe double
b : ini untuk variable yang bertipe blob.

Ya kita lompat ke baris berikutnya :
$id = $id_delete;
Statement ini hanyalah sebuah assignment, memenuhi syarat sebelumnya.

Selanjutnya adalah menjalankan querynya, eksekusi langsung :D , yakni :
$cat->execute();

Kembali muncul satu pertanyaan, bagaimana jika menggunakan update database dalam oop ? Silahkan lihat kembali baris di bawah ini :
$cat = $mysqli->prepare("update article SET category ='$category', article_title = '$title' where id=?"); $cat->bind_param('i',$id); $cat->execute();
Sepertinya sudah jelas ya. :).

Definisikan terlebih dahulu querynya :
$cat = $mysqli->prepare("update article SET category ='$category', article_title = '$title' where id=?");

Penuhi syarat query tersebut :
$cat->bind_param('i',$id);

Jalankan querynya :
$cat->execute();

Sudah jelas ya? Jika masih ada yang ditanyakan silahkan layangkan email anda ke sini :
alkemail@gmail.com.
Script diatas dapat di download di sini …


Dedicated for ilmuwebsite e-learning community.


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Update, Delete Database with OOP

Baca Selengkapnya......

Lebih dalam dengan operasi string bag.1


Operasi string begitu penting dalam dunia per-php-an. Kenapa begitu penting ? Karena melakukan pekerjaan dengan php, baik itu membangun suatu sistem informasi, membuat fasilitas searching di web, dan berbagai hal lain yang berhubungan dengan web development tak lepas dari operasi string. Begitu banyak fungsi operasi string yang ada, dan banyak pula fungsi string yang sering digunakan, sehingga penulis perlu membaginya menjadi beberapa artikel mengenai operasi string ini. Untuk artikel bagian pertama penulis akan menjelaskan 2 fungsi yang memiliki tugas tambahan selain dari mencari string. Antara lain :

  • substr()
  • strstr()

Substr(), memiliki fungsi untuk mengambil satu, atau banyak karakter dari suatu variable. Implementasinya seperti mengambil karakter yang dihasilkan dari fungsi DATE() –nya mysql. Contoh penggunaannya adalah sebagai berikut :
<?php $tanggal = '012409'; $bulan = substr($date, 0, 2); $hari = substr($date, 2, 2); $tahun = substr($date, -2); echo "$hari/$bulan/$tahun"; ?>

Hasilnya adalah :
24/01/09

Penjelasannya adalah sebagai berikut :

$bulan = substr($date, 0, 2);
Ambil 2 karakter dari digit terdepan, hasilnya adalah 01

$hari = substr($date, 2, 2);
Ambil 2 karakter dari digit ke 3. Karena string memiliki urutan awal 0, maka angka 2 pada variable $tanggal memiliki posisi di urutan ke 2. Hasilnya adalah 24.

Untuk membuktikannya :
<?php $tanggal = '012409'; echo $tanggal[2]; ?>

hasilnya adalah :
2

Dan yang terakhir adalah
$tahun = substr($date, -2);
Ini berarti ambil 2 karakter dari belakang. Hasilnya adalah 09.


Strstr(), fungsi ini digunakan untuk mengembalikan semua string dibelakang string yang dicari. Misalnya ada sebuah kalimat :
"Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k",
karakter yang dicari adalah "--",
maka hasil dari fungsi strstr() adalah "--Al-k"

Contoh penggunaanya :
<?php $kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k"; $tanda = '--'; $yangdicari = strstr ($kalimat, $tanda); echo $yangdicari; ?>

Hasilnya adalah :
--Al-k

Implementasi penggunaan strstr() contohnya seperti ini :
<?php $kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k"; $tanda = '--'; if ($yangdicari = strstr ($kalimat, $tanda)) { echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'"; } else { echo "Nggak ada ungkapan tuhh !!"; } ?>
Penjelasannya adalah sebagai berikut :

if ($yangdicari = strstr ($kalimat, $tanda)) {
jika karakter yang di cari dalam hal ini $tanda ada pada string $kalimat, maka kembalikan string yang berada di belakang tersebut kedalam variable $yangdicari.

echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'";

bagian intinya adalah substr ($yangdicari , strlen ($tanda))

Jika di ubah kedalam nilai sebenarnya adalah
substr ("--Al-k" , 2 )

tampilkan string yang dicari tersebut dengan melewatkan tanda --.

Hasilnya adalah :
Al-k

Sehingga hasil keutuhan dari script
<?php $kalimat= "Ketampanan abadi terpancar dari Kegantengan sejati . --Al-k"; $tanda = '--'; if ($yangdicari = strstr ($kalimat, $tanda)) { echo 'Ungkapan yang keren tadi di buat oleh '."'". substr ($yangdicari , strlen ($tanda))."'"; } else { echo "Nggak ada ungkapan tuhh !!"; } ?>

Adalah :

Ungkapan mantap tadi di buat oleh 'Al-k'

Cukup mudah ya ? Cukup narsis juga ! :D

Artikel Lebih dalam dengan operasi string bagian pertama saya cukupkan sampai disini. Untuk bagian ke 2 dan terakhir akan penulis jelaskan di belajar php berikutnya.

Greetz : b_scorpio, abuzahra, peterpanz, kandar, phii_, syahrilrohman, ivan, dr.emi, safril, najwa, Lapak-online Team!


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam dengan operasi string bag.1

Baca Selengkapnya......

Redirect Halaman Kompleks


Lagi-lagi penulis coba untuk membayar hutang. :D. Hutang mengenai
tutorial yang membahas redirect halaman secara kompleks. Sebelum menuju
inti pembahasan, penulis akan beri penjelasan apa dan bagaimana contoh
kasus dari redirect halaman secara kompleks ini.
Mungkin ada
sebagian orang yang pernah mencoba searching di google mengenai artikel
yang dia cari, namun ketika mendapatkan artikel tersebut, web tersebut
hanya membolehkan user yang sudah teregistrasi saja yang dapat
mengakses artikel tersebut. Maka, langkah selanjutnya yang dilakukan
oleh user tersebut adalah meregistrasikan dirinya untuk menjadi member
pada website tersebut, pada form yang letak halamannya berbeda dengan
artikel yang dicari. Namun setelah proses registrasi selesai, dan
proses login berhasil, user secara otomatis di redirect ke halaman yang
dia tuju sebelumnya. Ini adalah contoh kecil dari redirect kompleks.
Contoh lainnya, ketika user yang akan mencoba untuk mendownload sebuah
file pada halaman tertentu di suatu website, user tersebut diharuskan
untuk login terlebih dahulu, tapi setelah login user langsung
diredirect secara otomatis menuju halaman download. :D. Pada tutorial
kali ini, penulis akan coba jawab itu berbagai persoalan tersebut. Mari
.. mari ... :D

Ya, persiapkan terlebih dulu databasenya :
create database simple_cms ; use simple_cms ; create table user( id int(5) PRIMARY KEY auto_increment, username varchar(20), password varchar(50)); create table article (id int(5) PRIMARY KEY auto_increment, penulis varchar(20), judul varchar(200), isi text); insert into user values ('','admin',md5('admin')); insert
into article values('','Loka Dwiartara','Kegantengan
Abadi','Kegantengan abadi terpancar dari kekerenan sejati. Aura
kegantengan selalu terpancar dari kerennya seseorang. :D. Kadang banyak
yang berpikir keindahan secara fisik itu melebihi dari segalanya. Kita
tahu bahwa b_scorpio itu tidak ganteng, tapi setidaknya tolong hargai
dia :D'), ( '','Loka Dwiartara','PHP is powerfull easy
language ... ', 'Kekerenan php dalam menangani pengembangan sistem
informasi berbasis website patut di acungi 4 jempol kaki dan tangan,
kehebatannya melebihi b_scorpio yang tidak pandai menggaet i#a, wanita
yang dia suka. ;D~~~, peace ... damai ... ') ;

Selanjutnya, config.php :
<?php $host = "localhost"; $username = "root"; $password = ""; $database = "simple_cms" ; $connect = mysql_connect($host, $username, $password); mysql_select_db( $database , $connect) or die ("MySQL is error!!"); ?>

Kemudian, halaman login.php :
<html> <head><title>Login Page ...!</title></head> <body> <form action=cek.php method=POST> <table
border=0
bcolor=#DFDFDF><tr><td>username</td><td><input
type=text name=username></td></tr>
<tr><td>password</td><td><input type=password name=password></td></tr> <tr><td></td><td><input type=submit name=submit value=submit></td></tr> </table> </form> </body> </html>
Selanjutnya, file cek.php, disinilah redirect kompleks halaman berada :
<?php session_start(); require_once "config.php"; if (ISSET($_POST['username']) && ISSET($_POST['password']) ) { $username = $_POST['username']; $password = md5($_POST['password']); $session_halaman = $_SESSION['halaman']; $cekuser = "select username, password from user where username = '$username' and password = '$password'"; $query_cekuser = mysql_query($cekuser); $exist = mysql_num_rows($query_cekuser); if ($exist >= 1) { $_SESSION['user'] = session_id(); header("location: index.php?view=page&id=$session_halaman"); } else { header("location: login.php"); } } ?>
Dan halaman index.php, untuk menampilkan artikelnya :
<?php session_start(); require_once "config.php"; if (!ISSET($_REQUEST['id']) ) { $list_article = "select * from article"; $query_list_article = mysql_query($list_article); echo "<h3>Article Today</h3>"; if (ISSET($_SESSION['user'])) {
echo "</p><b>Welcome back User</b>. Do you want
<a href=logout.php>logout</a> ? :D~~ </p>";
} while ($showlist = mysql_fetch_array($query_list_article)) { $id = $showlist['id']; $penulis = $showlist['penulis']; $judul = $showlist['judul']; $isi = $showlist['isi']; $panjangartikel = strlen($isi); $isi_dipotong = substr($isi, 0, 60); $isi_fix = substr($isi, 0, strrpos($isi_dipotong, " ")); $isi_fix .= "..."; echo "<b>$judul</b><br> Oleh : $penulis<br> <p>$isi_fix <a href=index.php?view=page&id=$id>selengkapnya</a></p> <hr width=45% align=left>"; } } else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) ) { $id = $_REQUEST['id'] ; if (!ISSET($_SESSION['user'])) { $_SESSION['halaman'] = $id ; echo "Login dulu dong <a href=login.php>di sini</a>"; } else { $list_article = "select * from article where id = '$id' "; $query_list_article = mysql_query($list_article); while ($showlist = mysql_fetch_array($query_list_article)) { $id = $showlist['id']; $penulis = $showlist['penulis']; $judul = $showlist['judul']; $isi = $showlist['isi']; echo "<h3>Article Today</h3>"; echo "<b>$judul</b><br> Oleh : $penulis<br> <p>$isi</p> <hr width=100% align=left>"; } echo "<a href=index.php?view=page>Kembali...</a>"; } } ?>

Terakhir adalah, file logout.php :
<?php session_start(); unset($_SESSION['user']); session_destroy(); header("location: index.php"); ?>
Hmmm..
panjang juga scriptnya. :D~ Penulis coba jelaskan beberapa baris yang
penting saja. Lihat ke halaman index.php, di situ terdapat baris
seperti ini :
.... else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) ) { $id = $_REQUEST['id'] ; if (!ISSET($_SESSION['user'])) { $_SESSION['halaman'] = $id ; echo "Login dulu dong <a href=login.php>di sini</a>"; } ...
else if (ISSET($_REQUEST['view']) && ISSET($_REQUEST['id']) )
Ini berarti, jika user mengklik salah satu artikel di halaman index,

if (!ISSET($_SESSION['user']))
dan jika user belum login,

$_SESSION['halaman'] = $id ;
maka, rekam halaman yang akan dibuka, simpan halaman tersebut ke dalam variable session.
echo "Login dulu dong <a href=login.php>di sini</a>";
Persilahkan user untuk login dulu.

Nah selanjutnya, jika user telah login maka artikel langsung di perlihatkan seluruhnya, seperti pada baris ini

.... else { $list_article = "select * from article where id = '$id' "; $query_list_article = mysql_query($list_article); while ($showlist = mysql_fetch_array($query_list_article)) { $id = $showlist['id']; $penulis = $showlist['penulis']; $judul = $showlist['judul']; $isi = $showlist['isi']; echo "<h3>Article Today</h3>"; echo "<b>$judul</b><br> Oleh : $penulis<br> <p>$isi</p> <hr width=100% align=left>"; ....

Kemudian untuk script cek.php
if (ISSET($_POST['username']) && ISSET($_POST['password']) )
Jika user telah mengisi password dan username,

....

$cekuser = "select username, password from user where username = '$username' and password = '$password'";
maka buat sebuah query yang akan menyeleksi apakah username dan passwordnya ada.

...
$query_cekuser = mysql_query($cekuser);
Jalankan querynya ...

$exist = mysql_num_rows($query_cekuser);
Apakah username dan password yang dimasukkan tersebut ada dalam database?
if ($exist >= 1) {
Jika ada,

$_SESSION['user'] = session_id();
maka buat session baru untuk user

header("location: index.php?view=page&id=$session_halaman");
Redirectkan
si user ke halaman yang dia tuju sebelumnya ... Ya, disinilah letak
dari redirect kompleksnya. :D. Cukup manfaatkan saja session yang ada
untuk meredirect user ke halaman yang dituju.
} else { header("location: login.php"); jika username dan password salah, persilahkan user untuk login ulang. } }
Untuk screenshoot demonya seperti ini :


Ini adalah halaman pertama kali


Ketika salah satu link akan diklik, maka user diperintahkan untuk login terlebih dahulu


Setelah login berhasil maka user secara otomatis langsung di redirect ke halaman tujuan yang awal.


Yup,
penulis kira sudah cukup jelas untuk redirect kompleks. Jika ada yang
ditanyakan silahkan kirim email ke alkemail@gmail.com. Selamat mencoba.


Script tersebut dapat di download di sini
http://networkandgame.890m.com/ilmuwebsite/article/redir-complex-by-alk.zip

Greetz
: b_scorpio, abuzahra, peterpanz, kandar, phii_, syahrilrohman, ivan,
dr.emi, safril, najwa. Special for jojo. :). Hi, Jo! Have a nice day.


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Redirect Halaman Kompleks

Baca Selengkapnya......

Penggunaan POST dan GET


Dalam
mengembangkan sebuah aplikasi web, seorang developer dihadapkan kepada
beberapa opsi dalam melakukan update, insert, dan delete record
database. Dan itu semua diawali pada penggunaan form dengan berbagai
action dan method. Begitupun halnya pada implementasi ketika user
memasukkan data ke dalam form inputan. Yang kemudian dilanjutkan kepada
proses pengolahan dimana setelahnya hasil dari olahan tersebut
dimasukkan kedalam database. Nah disinilah pemilihan fungsi method
dibutuhkan. Method ini terbagi menjadi 2, yakni POST dan GET, masing
masing memiliki perbedaan yang tipis. Sederhananya method ini bekerja
ketika si user menekan tombol submit dengan action yang telah disetting
sebelumnya. ( kalo pusing baca lagi dari awal. :D~~ ) Dalam
implementasi contoh kasusnya seperti ini, buat satu file html bernama index.html :
<html> <head><title>Isi Buku tamu</title></head> <body> <form action=get.php method=get> <table border=0> <tr><td>Nama : </td><td><input type=text name=nama></td></tr> <tr><td>Email :</td><td><input type=text name=email></td></tr> <tr><td>Homepage : </td><td><input type=text name=homepage></td></tr> <tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr> <tr><td></td><td><input type=submit value=Kirim></td></tr> </table> </form> </body> </html>

Dan get.php :
<?php echo $_GET['nama']."<br>".$_GET['email']."<br>".$_GET['isi'] ?>


Perhatikan
url pada browser internet anda, terlihat url yang super panjang, ini
terjadi akibat dari variable yang dihasilkan oleh form inputan kembali
ditampilkan beserta isinya. Hal ini jelas memiliki dampak kelemahan
karena umumnya browser hanya dapat memperlihatkan dan mengambil nilai
sebanyak 256 karakter dari address bar. Dan tentunya hal ini akan
berpengaruh kepada data yang akan diolah dan di simpan kedalam database
nantinya.
Ditampilkannya hasil dari form inputan berguna sekali
jika diimplementasikan pada pembuatan fasilitas searching. Namun hal
ini menjadi kendala jika method get ini digunakan dalam menginput data
dengan text yang panjang. Dari sinilah permasalahan seperti ini
ditangani oleh method post. Tapi sebelumnya, buat sebuah file bernama index2.html :
<html> <head><title>Isi Buku tamu</title></head> <body> <form action=post.php method=post> <table border=0> <tr><td>Nama : </td><td><input type=text name=nama></td></tr> <tr><td>Email :</td><td><input type=text name=email></td></tr> <tr><td>Homepage : </td><td><input type=text name=homepage></td></tr> <tr><td>Isi :</td><td><textarea name=isi cols=25 rows=6></textarea></td></tr> <tr><td></td><td><input type=submit value=Kirim></td></tr> </table> </form> </body> </html>

Dan satu lagi halaman post.php berisi :
<?php echo $_POST['nama']."<br>".$_POST['email']."<br>".$_POST['homepage']."<br>".$_POST['isi']; ?>

Jika
user memasukkan data melalui form input yang ada di index2.html, maka
hasil yang dikirimkan dengan method post tidak akan ditampilkan di
address bar, namun tetap tersimpan dalam memory, untuk mengambilnya
cukup dengan menggunakan variable $_POST[‘variable’], hal ini tentunya
dapat mencegah url yang terlihat kotor, berantakan, dan penuh dengan
noda-noda. :D. Yups, sepertinya cukup jelas.
Sekian dan terima kasih. :D~

Script-nya dapat anda download disini
http://networkandgame.890m.com/ilmuwebsite/lab.zip

Greetz : b_scorpio  berjuang tuk menguasai jagat raya. :D~,
phii_ yang dah kerja :D makan makannya kapan ?,
safril yang nunggu zine keluaran ilmuwebsite.

Special for jojo. How r u today ? :D
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Penggunaan POST dan GET

Baca Selengkapnya......

PHP dan Class Part3



Kalau pada artikel sebelumnya saya telah membahas class dan
pewarisan (Inheritance), maka pada artikel yang ketiga ini saya akan
membahas tentang Overriding. Apa itu Overriding?
Terkadang dalam membuat program, kita bingung memberikan nama
variabel.Pada pemrograman prosedural, kita tidak dapat menggunakan
variabel yang sama berulang-ulang. Tetapi pada Konsep OOP, kita dapat
menggunakan variabel yang sama secara berulang-ulang tetapi operasi
yang dilakukan oleh metode tersebut berbeda. Inilah yang dinamakan Overriding.

Untuk lebih jelasnya, mari kita lihat contoh sederhana dari konsep overriding di bawah ini :

<?php
class induk {
var $kata = "Cetak induk";
function kata () {
print $this->kata;
}
}
class anak extends induk {
var $kata = "Cetak Anak";
function kata () {
print $this->kata;
}
}
$cetak = new anak ();
$cetak->kata();
?>

Hasilnya : cetak anak.

Mengapa
yang tertampil di layar adalah kata "cetak anak" padahal seharusnya
pewarisan kelas induk mengharuskan "cetak induk" ? Karena pada class
anak terjadi overriding pada method kata. Sehingga pada saat
dijalankan, yang tertampil di layar bukanlah cetak induk tetapi cetak
anak..Yup...Sekian dulu penjelasan dari saya.Semoga teman-teman
sekalian dapat paham dan mengerti. Jika ada yang ingin ditanyakan
silahkan hubungi saya di :

Email 1 : ivan@ilmuwebsite.com
Email 2 : ivan_wen_piao@yahoo.co.id
Web : http://ivan.ilmuwebsite.com



Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul PHP dan Class Part3

Baca Selengkapnya......

Lebih dalam dengan OOP


Sudah lama tidak berjumpa. Rindu rasanya tidak bersua. :D~ Pada
tutorial sebelumnya staff ilmuwebsite yakni ivan telah menjabarkan apa
dan bagaimana penggunaan class pada PHP,
begitu juga dengan yang akan penulis lakukan sekarang. Kali ini penulis
akan mencoba melakukan sedikit implementasi dari tutorial-tutorial
sebelumnya, sekaligus menjelaskan bagaimana source code ini berjalan.
Tapi sebelumnya penulis akan melakukan review terlebih dahulu mengenai
pengetahuan sebelumnya.

Apa sih OOP itu ? Untuk apa ?
OOP
singkatan dari Object Oriented Programming, keistimewaan dalam
pembungkusan memudahkan para programmer mengarungi lautan kehidupan
dalam meng-coding ria bersama istri tercintanya, sebuah mesin penuh
dengan baut, komputer :D~. Ada beberapa istilah inti dari keistimewaan
OOP ini, yang paling menarik adalah class, property, method, inheritance, polymorphisme, dan encapsulation. Apa itu ?!! :D~
Class
ini merupakan template untuk objek yang akan dibuat nantinya. Kalau
diambil contoh dalam kehidupan sehari-hari. Hmmmm … contoh kasusnya
memasak mie. :D~.
Templatenya adalah satu keutuhan cara memasak si mie tersebut.
Sedangkan property-nya
atau variable adalah berapa banyak bumbu pedas yang dibutuhkan, berapa
banyak minyak yang dibutuhkan, berapa banyak air yang dibutuhkan,
berapa banyak bawang gorengnya, etc.
Method
sendiri itu sama halnya dengan fungsi yakni bagaimana caranya mie
dimasak. Seperti, apakah bumbunya akan dimasukkan kedalam mangkuk
terlebih dahulu, atau apakah bumbunya akan di satukan dengan air yang
berada di dalam panci. Atau mungkin bisa saja bumbunya langsung
dimasukkan kedalam perut yang memasaknya. :D~ ( kebanyakan coding jadi
stress ) :D
Inheritance,
dalam istilah bahasa indonesianya dikenal dengan turunan. Jelasnya
turunan ini berasal dari suatu kelas induk. Kalo diambil contoh dalam
memasak mie, masing-masing orang punya keunikan tersendiri dalam
memasak mie, seperti dalam memasak mie ada orang yang mengikuti aturan
memasak mie, ada juga yang senang di tambah dengan telur, atau mungkin
kalo ada yang suka bisa saja martabak keju dimasukkan kedalam mie
tersebut. Tapi penulis nggak yakin rasanya, akan seperti apa nantinya
:D~~
Sedangkan polymorphisme
itu gaya dalam memasak mie itu sendiri, bisa saja ketika memasak mie
telurnya itu ditambah dengan kecap manis, atau sambal pedas, atau
mungkin terasi. Bisa saja. Iya kan ??~ :D Atau juga, ada yang suka
mienya pedas, atau mungkin saja ada yang senang dengan mie rasa manis,
mie ditambah gula-gula. Semua bisa saja terjadi.

Nah dari situ
timbul satu pertanyaan besar, sebenarnya OOP itu untuk apa sih ? Apakah
OOP itu sebagai standarisasi cara memasak mie. :D~
OOP sering
digunakan dalam pembuatan aplikasi besar, dimana ketika penambahan
fitur terbaru fungsi encapsulation atau pembungkusan dalam class ini
sangat berperan penting. Keuntungan lain adalah maintenance ketika ada
bug yang bercokol dalam coding ataupun maintenance jenis lain. Dengan
mudah terkontrol. Dan menghasilkan coding yang lebih efisien. Contoh
nyata OOP yaitu button. Turunan button seperti bit button, push button
dan lain-lain. Dimana button-button tersebut sebenarnya adalah bentuk
lain dari button induk yang telah di berikan fitur-fitur tambahan.

Implementasinya
sudah jelas bukan ? Sekarang penulis akan memberikan sedikit contoh
coding menggunakan OOP dalam pembuatan guest book. Dan juga akan
dikenalkan sedikit mySQLi API yakni library atau pustaka yang digunakan
oleh OOP dalam menghandle database nantinya.

Yups, langsung saja.
Pertama, buat databasenya terlebih dahulu.

File db.sql : create database oop1 ; use oop1 ; create
table gb ( id int(5) auto_increment primary key , nama varchar(50),
email varchar(50), lokasi varchar(75), komentar text );


Kedua file class.konek.db.php : <?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara ] email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ // Class atau Template class konek_ke_database { // property private $host; private $username; private $password; private $koneksinya; private $database; // method function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; $this->koneksinya = mysql_connect($this->host, $this->username, $this->password) or die("mySQL Errorrojing !!!"); } function databasenya($pilihdatabase) { $this->database = $pilihdatabase; } public function seleksi_database() { mysql_select_db($this->database, $this->koneksinya ) or die ("Nggak bisa konek euy!!!"); header("location: index.php"); } } ?>

Kemudian file class.isi.db.php, script ini yang nantinya sebagai tulang punggung antara form isian, dan databasenya : <?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ require_once "class.konek.db.php"; // Class class displayDatabase extends konek_ke_database { // property private $perintah; private $nama; private $email ; private $lokasi ; private $isikomentar; // method public function filter_database($nm_user, $email_user, $lokasi_user, $komentar_user) { $this->nama = wordwrap(strip_tags($nm_user, ''), 80,"n",1); $this->email = wordwrap(strip_tags($email_user, ''), 80,"n",1); $this->lokasi = wordwrap(strip_tags($lokasi_user, ''), 80,"n",1); $this->isikomentar = wordwrap(strip_tags($komentar_user, ''), 80,"n",1); } function insert_database($tabel) { $this->perintah
= "insert into $tabel values ('','$this->nama', '$this->email',
'$this->lokasi', '$this->isikomentar')";
$run_perintah = mysql_query($this->perintah); if ($run_perintah) { // print "Isi Database Berhasil"; } } } ?>

Dan terakhir adalah file index.php :
<?php /* ILMUWEBSITE E-LEARNING COMMUNITY Tutorial PHP - Object Oriented Programming by : Al-k [ Loka Dwiartara ] email : alkemail@gmail.com homepage : http://www.ilmuwebsite.com */ require_once "class.isi.db.php"; $nama = $_POST['nama']; $email = $_POST['email'] ; $lokasi = $_POST['lokasi']; $komentar = $_POST['komentar']; if ($_REQUEST['comment'] == "yes") { if (ISSET($_POST['nama'])) { $mahasiswa = new displayDatabase("localhost","root",""); $mahasiswa->databasenya("oop1"); $mahasiswa->seleksi_database(); $mahasiswa->filter_database($nama,$email,$lokasi,$komentar); $mahasiswa->insert_database("gb"); } } else { // Database dalam OOP // mySQLi API $mysqli = new mysqli("localhost", "root", "", "oop1"); if (mysqli_connect_errno()) { echo("Nggak bisa konek !!!".mysqli_connect_error()); exit(); } $hasil = $mysqli->query("select * from gb"); while ($data = $hasil->fetch_object()) {
echo
"$data->nama<br>$data->email<br>$data->lokasi<hr
align=left size=1 width=80% color=#000000>";
} } ?> <html> <head> <title>GuestBook</title> </head> <body> <b>Isi Komentar :</b> <table border=0><form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?comment=yes" ?> > <tr><td>Nama:</td><td><input type=text name=nama></td></tr> <tr><td>Email:</td><td><input type=text name=email></td></tr> <tr><td>Lokasi:</td><td><input type=text name=lokasi></td></tr>
<tr><td
valign=top>Isinya:</td><td><textarea rows=6 cols=40
name=komentar></textarea></td></tr>
<tr><td></td><td><input type=submit name=submit value=Kirim
style='color: #000000; border: 1px solid #000000; background-color:
#DFDFDF'></td></tr></form></table>
</body> </html>
Dari
situ, penulis akan mencoba menjelaskan script tersebut, namun hanya
mengambil garis besarnya saja. Dimulai dengan script
class.konek.db.php. Disarankan, untuk kedepannya dalam pembuatan kelas
diletakan dalam file yang berbeda, hal ini sangat memudahkan dalam
maintenance nantinya.
Yups, dalam file class.konek.db.php terdapat satu kelas konek_ke_database. Di dalamnya terdapat property :
$host, $username, $password, $koneksinya, dan $database. Lengkapnya seperti ini :
…. class konek_ke_database { private $host; private $username; private $password; private $koneksinya; private $database; ….
Ada
keyword private disana, modifier private ini hanya dapat di akses oleh
method yang berada dalam kelas ini, maupun turunannya. Private
konsepnya hampir sama dengan hak akses suatu file, metodenya saja yang
berbeda. Kita telusuri lagi lebih jauh, penggunaan seperti pengambilan
isi atau pun assignment ( pengisian ) property dalam suatu
method/fungsi, cukup dengan menggunakan keyword $this->property-nya.

Script contohnya : function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ;

Ini berarti isi property $host dengan isi variable $hostnya.

Sebagai Contoh :
function __construct("localhost", "root", "") { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; echo $this->host ;
hasilnya menjadi

localhost

Gimana ? Gampang kan ! Ada satu lagi istilah aneh di sana. __construct.
function __construct($hostnya, $usernamenya, $passwordnya) {
Ini merupakan method yang otomatis di eksekusi ketika pembuatan objek berlangsung. Penggunaanya seperti ini :

…. class displayDatabase { …. function __construct($hostnya, $usernamenya, $passwordnya) { $this->host = $hostnya ; $this->username = $usernamenya ; $this->password = $passwordnya ; $this->koneksinya = mysql_connect($this->host, $this->username, $this->password) or die("mySQL Errorrojing !!!"); } } $mahasiswa = new displayDatabase("localhost","root","");

Yups, untuk selanjutnya cukup mudah dipelajari karena konsepnya sama saja dengan pemrogaman procedural yang biasanya.

Nah Selanjutnya kita pindah ke script class.isi.db.php :
require_once "class.konek.db.php"; class displayDatabase extends konek_ke_database { private $perintah; private $nama; private $email ; private $lokasi ; private $isikomentar; public function filter_database($nm_user, $email_user, $lokasi_user, $komentar_user) { $this->nama = wordwrap(strip_tags($nm_user, ''), 80,"n",1); $this->email = wordwrap(strip_tags($email_user, ''), 80,"n",1); $this->lokasi = wordwrap(strip_tags($lokasi_user, ''), 80,"n",1); $this->isikomentar = wordwrap(strip_tags($komentar_user, ''), 80,"n",1); }


Di
sini jelas terlihat jika class displayDatabase extends
konek_ke_database, atau dengan kata lain kelas displayDatabase adalah
subclass atau anak turunan dari kelas konek_ke_database. Dalam
penggunaannya cukup dengan menggunakan modifier extends di tambah
dengan class induk dibelakang kelas turunannya.

Nah penulis
akan loncat lagi ke script index.php. Di sini beberapa kalimat yang
diambil dari mySQLi api. Sebuah pustaka OOP pada PHP 5 dalam menghandle
database. Caranya lebih cepat, mudah, dan tentunya efisien.
$mysqli = new mysqli("localhost", "root", "", "oop1"); if (mysqli_connect_errno()) { echo("Nggak bisa konek !!!".mysqli_connect_error()); exit(); } $hasil = $mysqli->query("select * from gb"); while ($data = $hasil->fetch_object()) { echo "$data->nama<br>$data->email<br>$data->lokasi<hr align=left size=1 width=80% color=#000000>"; }

Untuk membuat suatu koneksi cukup dengan membuat instance/objek baru.
$mysqli = new mysqli("localhost", "root", "", "oop1");

Kemudian berikan perintah dalam bentuk query.
$hasil = $mysqli->query("select * from gb");

Dan tampilkan isi databasenya
while ($data = $hasil->fetch_object()) { echo "$data->nama<br>$data->email<br>$data->lokasi<hr align=left size=1 width=80% color=#000000>"; }

Lebih
mudah tentunya !! Yups, cukup sekian mengenai tutorial “Lebih dalam
dengan OOP episode 1”. Anda bisa mengembangkan kelas-kelas tersebut
dengan mudah tentunya.

Selanjutnya akan dijelaskan lebih jauh penggunaan OOP untuk menghandle database. Sekian. Terima Kasih.

File-file tersebut dapat di download disini.

Shoutz : b_scorpio, abu_zahra, safril, ivan, fadli, dr.emi, ilmuwebsite community.
For jojo. Hi, jo. :D

Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam dengan OOP

Baca Selengkapnya......

Menangkap Variabel Post


Kali ini, akan membahas
bagiamana menangkap variabel post pada form buku tamu sederhana agar
ketika pengunjung memasukkan data dan ada beberapa data yang tidak
valid, pengunjung web kita tidak perlu mengisi ulang dari awal lagi.
Bingung? Kira2 begini, misal pengunjung web kita sudah menulis panjang
lebar untuk data pesan, tapi kelupaan nulis data email, padahal data
email wajib ditulis. Nah, ketika dikirim, proses akan dibatalkan karana
ada data yang tidak lengkap dan akan menampilkan kembali form buku tamu
yang kosong. Kasihan kan kalo harus nulis lagi, bisa jadi malah
pengunjung web kita males n ga jadi nulis buku tamu. sudah cukup jelas?
Oke...langsung kita bahas. Mari kita siapkan file2-nya :

database
create database db_gb ; use db_gb; create
table guestbook (id int unsigned not null primary key auto_increment,
nama varchar(50) not null, email varchar(100) not null, pesan text not
null);


file koneksi.php
<?php $host="localhost"; $uname="root"; $pass=""; $db="db_gb"; $koneksi=mysql_connect($host,$uname,$pass); mysql_select_db($db,$koneksi); ?>

file lihatgb.php
<?php $queryGb = mysql_query("select * from guestbook"); $jmlGb = mysql_num_rows($queryGb); if($jmlGb==0) { echo"Data buku tamu masih kosong"; } else { $queryTampil=mysql_query("select * from guestbook order by id desc"); echo"<p>DATA BUKU TAMU<p>"; while($dataGb=mysql_fetch_row($queryTampil)) { echo"<b>$dataGb[1]</b><br>"; echo"".wordwrap($dataGb[3],85,"<br>",1)." "; echo"<hr width=50% align=left>"; } } ?>

file gb.php
<?php include'koneksi.php'; if(isset($_POST['kirim']) && ($_POST['kirim']=='Kirim')) { $nama=trim(strip_tags($_POST['nama'])); $email=trim(strip_tags($_POST['email'])); $pesan=trim(strip_tags($_POST['pesan'])); //validasi form if($nama=='') $error1= "<font color=red>&nbsp;&nbsp;&laquo; Nama belum diisi</font><br>"; if($email=='') $error2= "<font color=red>&nbsp;&nbsp;&laquo; Email belum diisi</font><br>"; if($pesan=='') $error3= "<font color=red>&nbsp;&nbsp;&laquo; Pesan belum diisi</font><br>"; if($email!='') { $polaemail = "^.+@.+\..+$"; //nyontek tutorial validasi email yg ditulis b_scorpio :) $cek=eregi($polaemail,$email); if(!$cek) { $error4="<font color=red>&nbsp;&nbsp;&laquo; Pola email salah</font>"; } } //jika semua data valid if(($nama!='') && ($email!='') && $cek && ($pesan!='')) { //simpan data buku tamu $queryAddGb=mysql_query("insert into guestbook values(NULL,'$nama','$email','$pesan')"); if($queryAddGb) //jika query simpan buku tamu berhasil { //tampilkan pesan berhasil echo"<font color=red><b>Guestbook berhasil disimpan</b></font>"; echo"<meta http-equiv=\"refresh\" content=\"2; url=./gb.php\">"; exit; } else //jika query gagal { //tampilkan pesan gagal echo"<font color=red><b>Data gagal disimpan</b></font>"; echo"<meta http-equiv=\"refresh\" content=\"10; url=./gb.html\">"; exit; } } if(isset($error1) || isset($error2) || isset($error3) || isset($error4)) { //tangkap variabel post untuk menampilkan kembali data yang sudah diisi pada form $ex_nama=trim(strip_tags($_POST['nama'])); $ex_email=trim(strip_tags($_POST['email'])); $ex_pesan=trim(strip_tags($_POST['pesan'])); } } include'lihatgb.php'; //semua value variabel diset kosong jika belum diisi if(empty($ex_nama)) { $ex_nama=''; } if(empty($ex_email)) { $ex_email=''; } if(empty($ex_pesan)) { $ex_pesan=''; } ?> <p><br><br>FORM BUKU TAMU <form method="post" action=""> Nama *<br><input type="text" name="nama" size="34" value="<?php echo $ex_nama;?>"><?php if(isset($error1)) //jika data nama kosong { echo $error1; //tampilkan pesan di samping textbox nama } ?><br> Email *<br><input type="text" name="email" size="34" value="<?php echo $ex_email;?>"><?php if(isset($error2)) //jika data email kosong { echo $error2; //tampilkan pesan d isamping textbox email } if(isset($error4)) //jika data email tidak sesuai dengan pola email { echo $error4; //tampilkan pesan di samping textbox email } ?><br> Pesan *<br><textarea name="pesan" rows="8" cols="40"><?php echo $ex_pesan;?></textarea><?php if(isset($error3)) //jika data pesan kosong { echo $error3; //tampilkan pesan di samping textarea pesan } ?> <br>*) Wajib diisi <br> <input type="reset" value="Reset" name="kosongkan"> <input type="submit" value="Kirim" name="kirim"> </form>

Mari dicoba :
Jalankan file gb.php Coba isi beberapa data, misal : data nama : Bolang data
pesan: Aku senang sekali mengunjungi ilmuwebsite.com, karena disini aku
bisa belajar web programming. Untuk para staf, cayoo...jangan
pernah bosan berbagi ilmu, agar semakin banyak anak2 bangsa ini yang
pinter web programming. Selalu ditunggu artikel2 barunya, n....tetap
semangatttttt!!!


Lalu klik Kirim
Apa
yang terjadi? Si Bolang ini lupa ga masukin data email. Alhasil proses
simpan buku tamu ditolak karana data email wajib diisi.
Disinilah topik bahasan artikel ini berguna.
Yuppp....karena variabel yang sudah diisi telah ditangkap pak polisi,
eh...salah, maksudnya ditangkap oleh variabel ex_nama dan ex_pesan,
maka ketika form buku tamu ditampilkan kembali, data2 yang sudah diisi
tidak kosong tapi sudah terisi oleh data yg sebelumnya sudah
dimasukkan. Jadi Si Bolang tinggal mengisi data email saja.


Coba masukkan data email : bolang@yahoo, lalu klik Kirim
Aduh..aduhhhh...Si
Bolang ini orangnya kurang teliti sama kaya Phii. Jadi ketika disimpan,
lagi2 proses ditolak, karena pola email tidak sesuai dengan pola yang
sudah ditentukan.
Kali ini variabel yang ditangkap tidak hanya nama
dan pesan, tapi juga email. Form yang ditampilkan akan menampilkan
data2 yang sudah dimasukkan sebelumnya.


Kali
ini Si Bolang tidak akan melakukan kesalahan input lagi. Si Bolang
menambahkan .com pada data email, sehingga data email menjadi
bolang@yahoo.com. Lalu klik Kirim.
Horeeee....Bolang sukses mengisi form buku tamu.


Script php-nya silahkan donlot disini
Wuah...panjang
sekalee artikelnya, udah ah...sampai di sini dulu artikel dari Phii.
Jika ada teman2 yang menemukan cara lain silahkan menghubungi phii di
flore_ephi@yahoo.co.id atau share di ilmuwebsite.

*) Special thanks 2 --> Aeterna_16
Phii
dapet trik ini dari temen Phii yang nicknya aeterna. Makasih udah boleh
share ilmunya di ilmuwebsite melalui artikel yang Phii tulis. Salam bwt
rekan2 team PKTI, crazy6, aeterna_16, n angel. Woiii...cari proyek lagi
yukkkk....udah skarat nih..hahahah...

*) Salam bwt smua staff --> Anggi, Al-k, Safril, Fadli, Ivan, Ronny, Dr.emi n smua pengunjung setia ilmuwebsite


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Menangkap Variabel Post

Baca Selengkapnya......

Tes Kecocokan

+ =

Recent Comment