This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Selasa, 23 Desember 2008

Hardware Jaringan

Sekilas mengenai hardware jaringan

=====================================================



Yup, kali ini saya akan coba jelaskan sedikit gambaran mengenai fungsi dari hardware jaringan yang telah di request. Yakni Router, Switch dan Hub. Langsung aja ke bahasannya ...

    

Router : Router, digunakan untuk menyambung 2 jaringan yang berbeda. Sebagai contohnya, untuk menyambungkan antara LAN dengan Internet diperlukan adanya router sebagai jembatan dari 2 jaringan tersebut.

Kedudukan router biasanya diletakkan sesudah modem, kira-kira gambarannya adalah seperti ini.

   
  ___________    
___________     ___________    
___________


    
|          |   
|         
|   
|         
|   
|          |


    
| Internet |----|  Modem   |----|  Router 
|----|   LAN    |


    
|__________|    |__________|   
|__________|    |__________|






       



Router yang digambarkan diatas berfungsi sebagai gateway, sekaligus firewall.



Gateway : Gerbang penantian menuju internet. Masing-masing client/workstation dalam jaringan melewati gateway terlebih dahulu untuk menuju internet. Bisa digambarkan seperti ini :



   
     ___________    
__________________    
___________   


   
     |   
      |   
|                
|   
|          | 


         | Internet |----| WS1 as Gateway1 |----| WS Lain  |

   
     |__________|   
|_________________|    |__________|  


   
              
               |


   
           
                 
|


                            
_____|____


   
             
         
|          |


   
             
          | WS Lain  |


   
           
           
|__________|








Firewall : Biasanya dipasang diantara internet dan router. Firewall berfungsi sebagai tembok keamanan untuk jaringan dalam [ LAN ]. Didalamnya biasanya terdapat fasilitas, firewall, logging, snort. etc.







Contoh router phisik multifungsi seperti itu adalah Cisco Router.
Tetapi saya lebih cenderung memakai alternatif router yaitu menggunakan Smoothwall. Karena smoothwall hanya memerlukan komputer butut yang sudah lama tidak terpakai dengan harddisk sekitar 300 mb, dan tentunya 2 lan card.

Smoothwall adalah distro linux khusus yang didesain untuk menangani masalah router, firewall, dan gateway. Selain itu Router pun digunakan untuk menyambungkan 2 LAN, yang berbeda subnet masknya. Lebih kearah Intranet.



Switch : Biasanya switch banyak digunakan untuk jaringan LAN token star.



Dan switch ini digunakan sebagai repeater/penguat. Berfungsi untuk menghubungkan
kabel-kabel UTP ( Kategori 5/5e ) komputer yang satu dengan komputer yang lain. Dalam switch biasanya terdapat routing, routing sendiri berfungsi untuk batu loncat untuk melakukan koneksi dengan komputer lain dalam LAN.

            

             

Gambarannya adalah seperti ini :     











Hub    : Sama seperti switch, tetapi perbedaannya adalah hub tidak memiliki faslitas routing. Sehingga semua informasi yang datang akan dikirimkan ke semua komputer (broadcast)




Untuk sementara segitu dulu aja penjelasannya yah ... heheuhuehue ... silahkan request lagi.


Nggak mahal kok, cuma 9 jutaan. Huehueh ....

Sumber dari situs Ilmu Website dalam kategori jaringan dengan judul Sedikit Penjelasan Hardware Jaringan

Fungsi Include, Include_Once dan Require

- include()
- include_once()
- require()
Fugnsi di atas berguna untuk menggabungkan file PHP atau bukan PHP kedalam file PHP


+++ include()
sebagai contoh
head.php
-----
<?php
echo "selamat datang di website ku<br>";
?>
-----


body.php
-----
<?php
include 'head.php';
echo "<br>Ini adalah contant atau isi dari website ku<br>";
?>
-----
hasilnya:
selamat datang di website ku
Ini adalah contant atau isi dari website ku


+++ include_once()
"include_once()" berfungsi untuk membatasi fungsi include cuma untuk satu kali saja
contoh jika tidak menggunakan "include_once()":
body.php
-----
<?php
include 'head.php';
include 'head.php';
include 'head.php';
echo "<br>Ini adalah content atau isi dari website ku<br>";
?>
-----
hasilnya:
selamat datang di website ku
selamat datang di website ku
selamat datang di website ku
Ini adalah content atau isi dari website ku


contoh jika menggunakan "include_once()":
body.php
-----
<?php
include_once 'head.php';
include_once 'head.php';
include_once 'head.php';
echo "<br>Ini adalah contant atau isi dari website ku<br>";
?>
-----
hasilnya:
selamat datang di website ku
Ini adalah content atau isi dari website ku


+++ require()
fungsi ini tidak jauh beda dengan fungsi "include()" alias sama,
jadi kita loncati saja fungsi ini



Sekarang untuk sisi security/keamanan dari fungsi include()
kenapa??
ya.. karena fungsi ini paling banyak di manfaatkan hacker ....


1. include hanya file yang berasal dari server anda saja...
caranya:
body.php
------
<?php
include($_SERVER['DOCUMENT_ROOT'].'/head.php');
?>
------
jika file head.php ada di root atau tidak dalam folder


body.php
------
<?php
include_once($_SERVER['DOCUMENT_ROOT'].'/head.php');
?>
------


body.php
------
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/head.php');
?>
------


Untuk melihat dimana posisi file php anda, anda bisa gunakan:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

!!! PENTING !!!
Jika "$_SERVER['DOCUMENT_ROOT']" tidak bisa jalan di server anda dikarenakan
restrict dari penyedia jasa hosting, anda tetap boleh menggunakan "include 'head.php';"



!!! KESALAHAN YANG FATAL !!!
JANGAN GUNAKAN "VARIABEL" DALAM FUNGSI INCLUDE / REQUIRE
Contoh:
body.php
-----
<?php
include $_GET['file'];
echo "<br>Ini adalah contant atau isi dari website ku<br>";
?>
-----
BAHAYA !!!
kenapa?? karena orang lain bisa menambahkan file dari luar ...!!!


binggo..!!! server anda kena...!!!
------



 


Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Membahas Fungsi include - include_once - require

Mengecek karakter dengan Regular Expressions

Anda mau membuat system check karakter dengan menggunakan Regular
Expressions??

Berikut ada script sederhana yang mungkin bisa menjadi
inspirasi anda:

<?php
$line = "ilmuwebsite";

if (eregi
("^[a-z]+$", $line)) {
    // .. lakukan jika benar
echo "Benar";

}
else {
    // .. lakukan jika salah
echo
"Salah";

}
?>

Deskripsi:
Fungsi if :
saya kira anda sudah tahu
fungsi eregi : ini adalah fungsi untuk
membandingkan
sedangkan ^[a-z]+$ : ini adalah Regular Expressions


Yang berarti:
^ : harus di awal
[a-z] : karakter a sampai z
+ :
lebih dari satu
$ : harus di akhir

Jadi artinya:
1. didepan harus
ada karakter a-z
2. di tengah ada karakter a-z boleh lebih dari 1
3. di
akhir harus ada karakter a-z

Logika:
Bandingkan
kombinasi Regular Expressions ^[a-z]+$ dengan strng $line yang ber
isi "ilmuwebsite"
jika benar tampilkan tulisan Benar, dan juka salah
tampilkan tulisan salah

Ada juga script yang lain:
<?php
if
(ereg ("^[[:alpha:]]+$", $line)) {
    // .. lakukan jika benar
echo
"Benar";

} else {
    // .. lakukan jika salah
echo
"Salah";

}
?>

Penjelasan:
Disin kita menggunakan fungsi
ereg yang berarti case sensitif, lalu kita juga menggunakan [[:alpha:]] sebagai
alternatif lain dari Regular Expression.

Berikut daftar tabel
nya:












































Name Description
[[:alnum:]] All alphanumeric characters
[a-zA-Z0-9]
[[:alpha:]] All alphabetic characters [a-z]
[[:blank:]] Tab and space [\t ]
[[:cntrl:]] All the control characters
[[:digit:]] All decimal digits [0-9]
[[:graph:]] All printable characters except space
[[:lower:]] All lowercase letters [a-z]
[[:print:]] All printable characters
[[:punct:]] Punctuation marks [\.,;:-]
[[:space:]] All whitespace characters
[[:upper:]] All the uppercase letters [A-Z]
[[:xdigit:]] The set of hexadecimal digits

Untuk artikel berikutnya saya coba akan jelaskan
Regular Expression secara lebih jauh
terimakasih
Jika ada salah saya mohon
maaf, jika ada pertanyaan tulis comment di bawah ini :)
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Mengecek Karakter dengan Regular Expressions

Multi String

Kali ini aku akan mencoba menjelaskan tentang yang namanya multi-line string.

langsung saja...

 

Sintaks :

<<<string
...scripting...
string;


Penjelasan :

tanda
<<<script mengindikasikan bahwa script selanjutnya merupakan
satu multi-line string yang diakhiri dengan tanda script;

atau script yang berada diantara <<<script s/d script; adalah special quote sign (tanda kutip khusus).


Kegunaan :
kita
dapat meletakkan variabel diantara special text, dan secara otomatis
PHP akan membaca variabel tersebut sesuai dengan nilainya.


contoh aplikasinya seperti dibawah ini...

(aplikasi ini hanya contoh, jadi saya buat sesimple mungkin)

 

<?

//Scripting On 24 Juli at 22:59

//tampilan form
print <<<safrilbnugroho
<form action= "$_SELF?get=hasil" method="POST">
<input type="text" name=text>&nbsp;<input type="submit" name="submit" value="test">
</form>
safrilbnugroho;

/*
Perhatikan
form diatas, kita tidak perlu menambahkan tanda "\" sebelum tanda kutip
untuk embuat tanda kutip dikenali oleh PHP sebagai tanda kutip HTML,
karena secara otomatis PHP akan membaca tanda kutip tersebut sebagai
tanda kutip HTML bukan sebagai string PHP
*/


//kondisi form
if ($_GET[get]=='hasil') {
print "input anda adalah $_POST[text]";
} else {
print "";
}

?>

 

selesai sudah...

semoga tutorial ini mudah dimengerti dan bermanfaat. amien..




Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Penjelasan | Multi Line String |

PHP Looping



Sekarang saya akan mencoba menjelaskan tentang PHP Looping
di dalam php looping kita dapat menggunakan beberapa fungsi, seperti:

while loops, For Loops, Breaking Out of a Loop, continue Statements.

ok coba kita explain satu persatu

1. While Loops

syntax untuk while loop:

while (expression)
{
  code to
 execute;
}

contoh while loop yang menghitung sampai 10

script-------------

<?php
$num = 1;

while ($num <= 10){
    print "Number is $num<br />\n";
    $num++;
}

print 'Done.';
?>

script-------------

menghasilkan:

Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
Number is 10
Done.

script nya akan me-loop sampai 10 dan script $num++ bertambah 1



2. For Loops
syntax untuk For Loops adalah

for (initialization expression; test expression; modification expression){
  code that is executed;
}

contoh script untuk for loop:

script-------------

<?php
for ($num = 1; $num <= 10; $num++) {
    print "Number is $num<br />\n";
}
?>

script-------------

menghasilkan:

Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
Number is 10




3. Menghentikan sebuah Loop

contoh Menghentikan sebuah Loop untuk menghindari Loop:

script-------------

<?php

$counter = -3;

for (; $counter < 10; $counter++){
    // Check for division by zero
    if ($counter == 0){
        echo "Stopping to avoid zero.";
        break;
    }

    echo "100/$counter<br />";
}

?>

script-------------

menghasilkan:

100/-3
100/-2
100/-1
Stopping to avoid division by zero.

*dia akan loop sampai fungsi if dan karena ada script break, maka proses akan berhenti
*script ini suatu saat akan berguna "Trust me"


4. continue Statements

penggunaan continue selain break

script-------------

<?php

$counter =- 3;

for (; $counter < 10; $counter++){
    // Check for division by zero
    if ($counter == 0){
        echo "Skipping to avoid zero.<br />";
        continue;
    }

    echo "100/$counter<br />";
}

?>

script-------------

menghasilkan:

100/-3
100/-2
100/-1
Skipping to avoid zero.
100/1
100/2
100/3
100/4
100/5
100/6
100/7
100/8
100/9

*dia akan loop sampai fungsi if dan karena ada script continue, maka proses akan berhenti mengganti angka 0 menjadi
Skipping to avoid zero, lalu looping akan di lanjutkan kembali

*script ini juga suatu saat akan sangat berguna

Seperti judul lagu Linkin Park "What I've Done"?
kita telah belajar looping

Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul PHP Looping

Fungsi untuk Memfilter Input Form

trim() digunakan untuk
menghapus spasi di kanan dan kiri teks.
htmlentities() digunakan
untuk mengkonversi karakter-karakter tertentu dalam tag HTML, emm..kok ribet
ya, pokoknya hasil fungsi ini akan menerjemahkan tag-tag HTML sebagai teks
biasa.
strip_tags digunakan
untuk menghilangkan tag-tag HTML dan PHP dalam sebuah string.

Ketiga fungsi di atas bisa
digunakan untuk memfilter input/masukan form pada website kita, misalnya pada
form buku tamu. Untuk contoh penggunaannya, siapkan file2 berikut:

1. 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)




2. file
koneksi.php

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


3. file
gb.html


<form method="post"
action="proses.php">

Nama *<br><input type="text" name="nama"
size="34"><br>
Email *<br><input type="text" name="email"
size="34"><br>
Pesan *<br><textarea name="pesan" rows="8"
cols="40"></textarea>
<br>*) Wajib diisi <br>
<input type="reset" value="Reset"
name="kosongkan">
<input type="submit" value="Kirim"
name="kirim">
</form>
<p><a
href="lihatgb.php">[ Lihat Data Tamu ]</a>

4. file
proses.php

<?php
include'koneksi.php';
if(isset($_POST['kirim']) &&
($_POST['kirim']==='Kirim'))
{    

    /*--- filter input dg kombinasi fungsi trim dan strip_tags ---*/

    $nama=trim(strip_tags($_POST['nama']));
    

    $email=trim(strip_tags($_POST['email']));
    

    $pesan=trim(strip_tags($_POST['pesan']));
    

   
    /*--- filter input dg kombinasi fungsi trim dan htmlentities ---*/
    

    /*
    

    $nama=trim(htmlentities($_POST['nama']));
    $email=trim(htmlentities($_POST['email']));    
                                      
    $pesan=trim(htmlentities($_POST['pesan']));
    
*/

   
/* ---------------------- tanpa filter ------------------------*/

    /*
    

    $nama=$_POST['nama'];
   
   
$email=$_POST['email'];
    $pesan=$_POST['pesan'];
    */       

 if(($nama=='') || ($email=='') || ($pesan==''))
 $error= "Data tidak lengkap.<br>";


 if(($nama!='') && ($email!='') && ($pesan!=''))  
 
{  $queryAddGb=mysql_query("insert
into guestbook
   
values(NULL,'$nama','$email','$pesan')");
    if($queryAddGb)     
   
{  echo"<font color=red><b>Guestbook
berhasil disimpan</b></font>";
       echo"<meta http-equiv=\"refresh\" content=\"2;
url=./gb.html\">";
       exit; }     
      
else
       {  echo"<font
color=red><b>Data gagal disimpan</b></font>";
          echo"<meta http-equiv=\"refresh\" content=\"2;
url=./gb.html\">";
          exit; }
    
}


    
if(isset($error))
    
{  echo"<font
color=red><b>$error</b></font>";
       
echo"<meta http-equiv=\"refresh\" content=\"2;
url=./gb.html\">";
      
 exit; }

}?>

5. file lihatgb.php
<?php
include'koneksi.php';
$queryGb = mysql_query("select *
from guestbook");
$jmlGb = mysql_num_rows($queryGb);
if($jmlGb==0)
{ 
echo"Data tamu masih kosong"; }
else
{ $queryTampil=mysql_query("select *
from guestbook order by id desc");
 
echo"<p>DATA TAMU<p>";
 
while($dataGb=mysql_fetch_row($queryTampil))
 

  { 
echo"".wordwrap($dataGb[1],70,"<br>",1)."<br>";
    
echo"".wordwrap($dataGb[3],85,"<br>",1)."
";
    
echo"<hr width=60% align=left>"; }}    


?>






Ok, setelah semua siap mari kita coba
menginputkan data buku tamu. Misal :

Percobaan
1

Masukkan spasi
yang banyak pada semua data nama, email dan pesan. Misal, tekan tombol spasi
mpe 100X , he..he....
Hasilnya, akan keluar pesan data tidak lengkap. Mengapa begitu? Karena sebelum
divalidasi, inputan spasi akan dihilangkan oleh fungsi trim. Akibatnya data
akan kosong dan keluarlah pesan data tidak lengkap.

Percobaan
2

Masukkan data berikut:
Nama :
<b><i><u>Phii</u></i></b>
Email : phii@poesing.bgt
Pesan : <b><font color=red>Ayo belajar PHP, biar
bisa bikin web sendiri</font></b>

Setelah berhasil
menginputkan data, silahkan klik [ lihat data tamu ]. Hasilnya, tag2 HTML akan
dilenyapkan. Kenapa bisa hilang? Karena sebelum divalidasi, tag2 HTML akan
dilenyapkan oleh fungsi strip_tags, sehingga yang akan tersimpan dalam tabel
adalah string yang bersih dari tag2 HTML.




Percobaan
3

Jadikan komentar
pada bagian script filter yang menggunakan trim dan strip_tags. Lalu, hilangkan
komentar pada script filter yang menggunakan trim dan htmlentities.
Masukkan data
yang sama dengan percobaan 2. Hasilnya, tag2 HTML akan ditampilkan, tapi hanya
sebagai teks biasa. Mengapa begitu? Karena sebelum divalidasi, tag2 HTML akan
difilter oleh fungsi htmlentities, sehingga hanya akan  dibaca sebagia string biasa.





Percobaan
4

Jadikan komentar
pada bagian script filter yang menggunakan trim dan htmlentities.
Kali ini, kita
akan menginputkan data tanpa fliter, maka hilangkan komentar pada script tanpa
filter.               Inputkan data sama seperti percobaan 1. Hasilnya? Lihat sendiri ya?
Setelah itu inputkan data sama               seperti percobaan 2. Hasilnya? Lihat sendiri
juga ya.he...he..

Teman2 bisa donlot scriptnya disini

Kesimpulan, ketiga fungsi di atas
bisa kita gunakan untuk menyaring atau memfilter masukan terhadap form     di web
kita, terutama dari pengunjung web kita yang doyan banget nginjek eh..maksudnya
nginject form         dengan HTML injection

*)   Kalo mo nyoba percobaan 4 dg
kode HTML yang bisa digunakan untuk deface, tanyakan saja pada Al-k

*)   Untuk data email, silahkan ditambahkan
sendiri validasinya, kaya?e dah pernah dibahas ma Anggi.                    Cari sendiri ya

Akhir kata, cukup sekian dulu
belajar PHP dari Phii, lain kali ditambah lagi. ?BANYAK JALAN MENUJU ROMA?
Mungkin ketiga fungsi PHP yang barusan kita bahas bukan cara satu2 nya untuk
memfilter masukan, jika ada temen2 yang mengetahui cara lain, mohon
ditambahkan. Terima Kasih? 



Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Fungsi - fungsi untuk memfilter input form

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

Menangkap Variable POST


Halo semua, jumpa lagi dengan Phii. Kali ini, Phii 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

Mengenal Array


Yups,
selamat berjumpa kembali dengan penulis dalam Belajar PHP :-q~~ Sebelum
ke inti artikel penulis akan mencoba melakukan review mengenai
pengetahuan yang telah diketahui sebelumnya. Tak kenal maka tak dalam,
begitulah kata sang ahli. :D~ Array merupakan sekelompok data dalam hal
ini variable yang terdapat dalam sebuah variable. Dengan kata lain
banyak variable yang terdapat dalam satu variable. Nah inilah yang
dinamakan dengan array.

Untuk merepresentasikan sebuah array, penulis ambil contoh :
$angka = array("Satu", "Dua", "Tiga");

Dari
situ timbul pertanyaan-pertanyaan berkenaan dengan array, salah satunya
adalah bagaimana caranya mengambil suatu data yang berada dalam array.
Dimisalkan yang akan diambil adalah "Dua". Hal yang perlu dilakukan
cukup dengan menggunakan nama variable si array tersebut ditambah
dengan urutan keberapakah data yang akan diambil nantinya.

Maka ...
$angka = array("Satu", "Dua", "Tiga");
$ambilarray = $angka[1];
echo $ambilarray ;

Yang ditampilkan dalam browser ..
Dua

Lalu
timbul satu pertanyaan lagi, mengapa untuk mengambil data "Dua" itu
berada pada urutan ke 1?. Sebagaimana ditampilkan dalam source code
$angka[1];. Yup, ini terjadi dikarenakan array itu bermula dari angka
0. Sehingga :

"Satu" itu berada pada urutan ke 0
"Dua" itu berada pada urutan ke 1  , sedangkan
"Tiga" itu berada pada urutan ke 2

Hmmm...
jika ada variabel dalam variabel. Bagaimana dengan array dalam array ?
Pastinya inilah yang dinamakan array multidimensi. Penulis tidak akan
menjelaskan mengenai array 2 dimensi atau lebih dikarenakan hal ini
amat jarang sekali dipakai. Contohnya ...

$angka = array("Satu", array("Dua","Tiga") , "Empat");

Untuk mengambil nilai dua yang terdapat dalam array tersebut. Cukup dengan memanggil nama variabel arraynya seperti ini :
$angka = array("Satu", array("Dua","Tiga") , "Empat");
$ambilarray = $angka[1][0];
echo $ambilarray ;

Hasil di browser adalah ...
Dua

Begitu juga dengan bentuk array yang lain.
$angka = array("Satu", "Dua" => "Satu di tambah Satu", "Tiga");

Perhatikan
baris  "Dua" => "Satu ditambah Satu" ini berarti variabel "Dua"
memiliki nilai "Satu ditambah satu", sehingga untuk mengambil nilai
yang berada dalam variabel Dua ...
$angka = array("Satu", "Dua" => "Satu di tambah Satu", "Tiga");
$nilaidua = $angka['Dua'];
echo $nilaidua ;

Maka yang akan ditampilkan oleh browser adalah ...
Satu ditambah Satu

Yup,
array memiliki banyak sekali peran dalam web development. Penulis
sendiri menggunakan array dalam manajemen artikel., searching database,

dan banyak lagi contoh yang lain dimana pentingnya peranan seorang Array. :D~~
Dari situ penulis akan memberikan sebuah contoh dari implementasi array.
Untuk implementasi kali ini penulis akan menggunakan array sebagai database penyimpanan kata-kata yang nantinya akan diblokir.

Blokir kata dalam komentar dengan Array

Sebelumnya buat database komentarnya terlebih dahulu.

create database komentar;
use komentar;
create table komentar( id int(5) primary key auto_increment, penulis varchar(50), email varchar(30), isikomentar text);
insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki itu tidak ganteng');
insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki manusia juga');
insert into komentar values('','Al-k','alkemail@gmail.com','Pada dasarnya Ryuzaki adalah manusia yang tidak keren huehueue');

Kemudian file config.php, file ini yang menghubungkan antara database dengan webserver apache ...

<?php
$user = "root" ;
$passwd = "";
$host = "localhost" ;
$koneksi = mysql_connect($host, $user, $passwd) ;
mysql_select_db("komentar",$koneksi) or die ("Database tidak bisa dikoneksi");
?>

Selanjutnya file intinya, array.php :

<?php

require_once "config.php";
$perintah = "select * from komentar order by id desc";
$jalankanperintahnya = mysql_query($perintah);

$katayangdiblokir = "keren ganteng";
$potongkata = explode(" ", $katayangdiblokir);
$jumlaharray = count($potongkata);

if ($_REQUEST['isikomentar'] == "iya" )
    {

    if (ISSET($_POST['isinya']))
        {

        $isikomentarnyaadalah = $_POST['isinya'];
        $namanya = $_POST['namanya'];
        $emailnya = $_POST['emailnya'];
        mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')");
        header ("location: array.php");

        }
    }

echo "<b>Komentar :</b><br><hr>";

while ($hasil = mysql_fetch_array($jalankanperintahnya))
{

$nama = $hasil['penulis'];
$email = $hasil['email'];
$komentar = strtolower($hasil['isikomentar']);
$isikomentar = explode(" ",$komentar);
$arraykomentar = count($isikomentar)."<br>";

$total_loop = $arraykomentar + $jumlaharray ;

for ( $i = 0; $i < $jumlaharray  ; $i++)
    {

    if(in_array($potongkata[$i],$isikomentar))
        {
        $komentar = "<font color=red><b>no comment</b></font>" ;
        }
    }

echo "Nama : $nama <br>";
echo "Email : $email <br>";
echo "Komentar : <br>$komentar <hr>";

}

?>

<html><body>
<b>Isi Komentar :</b>
<table border=0>
<form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> >
<tr><td>Nama:</td><td><input type=text name=namanya></td></tr>
<tr><td>Email:</td><td><input type=text name=emailnya></td></tr>
<tr><td
valign=top>Isinya:</td><td><textarea  rows=6 cols=40
name=isinya></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>

Dilangsungkan ke script intinya saja.
Perhatikan barisan kalimat ...
require_once "config.php";
$perintah = "select * from komentar order by id desc";
$jalankanperintahnya = mysql_query($perintah);

:D
cukup familiar? yups, dengan memanfaatkan file koneksi antara webserver
dengan mysql servernya, yakni file config.php. Lalu tampilkan semua isi
dari tabel komentar dan lakukan sorting berdasarkan id yang terakhir
kali disimpan dalam database.

Kemudian ...
$katayangdiblokir = "keren ganteng";
$potongkata = explode(" ", $katayangdiblokir);
$jumlaharray = count($potongkata);

Database
kata yang nantinya akan diblokir disisipkan kedalam variabel
$katayangdiblokir. Lalu muncul kembali pertanyaan, mengapa tidak
berbentuk seperti ini :
$katayangdiblokir = array("keren","ganteng");

Karena
penulis akan mencoba mengenalkan penggunaan fungsi explode. Explode
berfungsi untuk memisahkan suatu string menjadi kumpulan
variabel-variabel.

explode() yang digunakan dalam implementasi kali ini berfungsi untuk membuat array dengan memisahkan variabel menggunakan spasi.

kumpulkan databasenya ...
$katayangdiblokir = "keren ganteng";

kemudian pisahkan lalu masukkan ke dalam array $potongkata
$potongkata = explode(" ", $katayangdiblokir);

Sehingga hasilnya nanti sama dengan $katayangdiblokir = array("keren","ganteng");
Kemudian jumlahkan variabel yang berada dalam array
$jumlaharray = count($potongkata);

Lalu perhatikan susunan kalimat ini ...
if ($_REQUEST['isikomentar'] == "iya" )
    {

    if (ISSET($_POST['isinya']))
        {

        $isikomentarnyaadalah = $_POST['isinya'];
        $namanya = $_POST['namanya'];
        $emailnya = $_POST['emailnya'];
        mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')");
        header ("location: array.php");

        }
    }

Sebelum beralih lebih lanjut, coba kita perhatikan form yang dihasilkan dari halaman array.php
<form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> >
<tr><td>Nama:</td><td><input type=text name=namanya></td></tr>
<tr><td>Email:</td><td><input type=text name=emailnya></td></tr>
<tr><td
valign=top>Isinya:</td><td><textarea  rows=6 cols=40
name=isinya></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>

Yang dihasilkan oleh form ini adalah :
variabel $_POST['namanya'] yang diambil dari text box "namanya"
variabel $_POST['emailnya'] yang diambil dari text box "emailnya"
kemudian variabel $_POST['isinya'] yang diambil dari text area dan
variabel $_REQUEST['isikomentar'] yang dihasilkan dari action si form, dalam hal ini
<form method = 'POST' action = <?php echo "$_SERVER[PHP_SELF]?isikomentar=iya" ; ?> >

Kita kembali ke baris ini
if ($_REQUEST['isikomentar'] == "iya" )
    {

    if (ISSET($_POST['isinya']))
        {

        $isikomentarnyaadalah = $_POST['isinya'];
        $namanya = $_POST['namanya'];
        $emailnya = $_POST['emailnya'];
        mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')");
        header ("location: array.php");

        }
    }

ketika user telah selesai mengisi komentar
if ($_REQUEST['isikomentar'] == "iya" )

dan apabila user telah mempost ( me-submit ) komentarnya
if (ISSET($_POST['isinya']))

maka kenalkan variabel global $_POST['isinya'] sebagai $isikomentarnyaadalah, kemudian jadikan $_POST['emailnya'] sebagai variabel $emailnya.
$isikomentarnyaadalah = $_POST['isinya'];
$namanya = $_POST['namanya'];
$emailnya = $_POST['emailnya'];

kemudian masukkan kedalam database
mysql_query("insert into komentar values ('','$namanya','$emailnya','$isikomentarnyaadalah')");

setelah selesai, lakukan redirect ke halaman array.php
header ("location: array.php");

sehingga user langsung dapat melihat komentar yang baru saja dimasukkan.

Bisa diperhatikan juga kalimat ini
while ($hasil = mysql_fetch_array($jalankanperintahnya))
{

$nama = $hasil['penulis'];
$email = $hasil['email'];
$komentar = strtolower($hasil['isikomentar']);
$isikomentar = explode(" ",$komentar);
$arraykomentar = count($isikomentar)."<br>";

$total_loop = $arraykomentar + $jumlaharray ;

for ( $i = 0; $i < $jumlaharray  ; $i++)
    {

    if(in_array($potongkata[$i],$isikomentar))
        {
        $komentar = "<font color=red><b>no comment</b></font>" ;
        }
    }

echo "Nama : $nama <br>";
echo "Email : $email <br>";
echo "Komentar : <br>$komentar <hr>";

}

Penulis ambil kalimat intinya :

Selama dalam database masih terdapat record, ambil nilainya dan sisipkan kedalam variabel $hasil
while ($hasil = mysql_fetch_array($jalankanperintahnya))

lakukan change case pada isikomentar dalam database menjadi huruf kecil semua ...
$komentar = strtolower($hasil['isikomentar']);

jadikan array dengan memanfaatkan spasi yang ada
$isikomentar = explode(" ",$komentar);

Berapakah jumlah variabel yang terdapat dalam array ?
$arraykomentar = count($isikomentar)."<br>";

Sebuah baris lagi yang perlu dipahami ...
$total_loop = $arraykomentar + $jumlaharray ;
ini
terjadi dikarenakan adakalanya saat-saat dimana komentar yang
dimasukkan oleh user lebih sedikit dari database kata yang akan
diblokir, dan  seringkali database kata yang diblokir itu lebih sedikit
jumlah arraynya dibandingkan komentar yang dimasukkan. Sehingga perlu
dijumlahkan antara jumlah array pada komentar yang diblokir dengan
jumlah array dari komentar yang dimasukkan.

Ini dia kalimat intinya ...
for ( $i = 0; $i < $jumlaharray  ; $i++)
    {

    if(in_array($potongkata[$i],$isikomentar))
        {
        $komentar = "<font color=red><b>no comment</b></font>" ;
        }
    }


lakukan pengulangan sebanyak $jumlaharray kesemuanya.
for ( $i = 0; $i < $jumlaharray  ; $i++)

jika didalam isi komentar terdapat kata-kata yang diblokir.
if(in_array($potongkata[$i],$isikomentar))

maka tampilkan komentar yang ada menjadi no comment
$komentar = "<font color=red><b>no comment</b></font>" ;

selain itu tampilkan seperti adanya.

Contoh lain penggunaan fungsi in_array( ) :

$buah = array ("Mangga", "Jambu", "Pepaya", "Pisang");
if (in_array ("Jambu", $buah))
{
print "Ada buah Jambu euyyy ... ";
}

Jika terdapat Jambu dalam array buah
if (in_array ("Jambu", $buah))

maka tampilkan Ada buah Jambu euyyy ...
print "Ada buah Jambu euyyy ... ";


Dari situ mungkin anda memiliki ide-ide brilian guna diimplementasikan dalam web anda tentunya.
Jadi, silahkan kembangkan imajinasi anda dan tuangkan dalam cangkir source code. :-q

Script tersebut bisa diambil langsung disini
http://www.networkandgame.890m.com/ilmuwebsite/al-k-lebih-dalam-mengenal-array.zip

Greetz
to : b_scorpio & phii_ :D, AbuZahra, fadli, safril, ivan, dr.emi,
minangmedia dan member ilmuwebsite yang setia mengunjungi situs ini. :D~
Special for : jojo
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Lebih dalam mengenal array

Twitter Delicious Facebook Digg Stumbleupon Favorites More