Kumpulan Php Script

21
PEMROGRAMAN WEB KUMPULAN PHP SCRIPT DI SUSUN OLEH UCU SURYADI 20054350002 TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA PGRI 2008

Transcript of Kumpulan Php Script

Page 1: Kumpulan Php Script

PEMROGRAMAN WEB

KUMPULAN PHP SCRIPT

DI SUSUN OLEH

UCU SURYADI

20054350002

TEKNIK INFORMATIKA

UNIVERSITAS INDRAPRASTA PGRI

2008

Page 2: Kumpulan Php Script

BAB I

OPERASI ANGKA 1. Membuat Tabel Perkalian

<? // Membat tabel perkalian foreach (rangs(1, 10) as $num) { echo “5 x $num = “ . (5 * num) . “<br />”; } ?> Hasil: 5x1 = 5 5x2 = 10 …

2. Mencari angka terbesar dan terkecil Untuk mencari angka paling kecil dan paling besar dari deretan angka yang tersedia, kita bisa gunakan fungsi sort(). <? // definisikan kumpulan angka $series = array(76, 7438, 56, 2, 6, 189, 67, 59, 17594, 2648, 1929, 79, 54, 329, 820, -1, 10, -1.101); //urutkan array angka sort($series); //ekstrak nilai maksimum/minimum value dari array yang terurut // hasil: “Angka terkecil : –1.101 “ $min = $series[0]; echo ‘Angka terkecil : $min <br />”; // hasil: “Angka terbesar : 17594 “ $max = $series[sizeof($series)-1]; echo “Angka terbesar : $max”; ?>

3. Mengolah angka dengan beberapa bilangan desimal di belakang koma <? // mendefinisikan angak yang akan diolah $amount = 3957459.7398 // format angka dengan tanda koma dan 2 angka desimal dibelakang // Hasil: “3,957,459.74” $formattedAmount = number_format($amount, 2); echo $formattedAmount; ?>

Page 3: Kumpulan Php Script

4. Konversi angka ke berbagai basis bilangan <? // mendefinisikan angka yang akan digunakan $num = 100; echo “Desimal = $num <br />”; // konversi angka ke binari // Hasil: “Binari : 1100100 “ $bin = decbin($num); echo “Binary: $bin <br />”; // konversi angka ke oktal // Hasil : “Octal: 144 “ $oct = decoct($num); echo “Octal : $oct <br />”; // konversi angka ke hexadesi// Hasil: “Hexadesimal: 64 “

mal

$hex = dechex($num); echo “Hexadesimal: $hex <br />”; // konversi angka ke ba// Hasil: “Base6: 244”

se6

$base6 = base_convert($num, 10, 6); echo “Base6: $base6 “; ?>

5. Ubah data dalam bentuk angka ke dalam kalimat Sebelumnya kita harus menginstall paket PEAR Number_Words terlebih dahulu. <? // include Numbers_Words class include “Numbers/Words.php”; // buat sebuah object $nw = new Numbers_Words(); // cetak angka menjadi kata // Hasil: “ 190000000 dalam kata adalah one hudred ninety million.” Echo “ 190000000 dalam kata adalah “ . $nw->toWords(190000000) . “.<br />”; ?> Untuk mengubah ke dalam bahasa Indonesia lakukan dengan script berikut <? // include Numbers_Words class include “Numbers/Words.php”; // buat sebuah object $nw = new Numbers_Words(); // cetak angka menjadi kata dalam bahasa Indonesia // Hasil: 78 dalam bhs Indonesia adalah tujuh puluh delapan echo “78 dalam bhs Indonesia adalah “. $nw->toWords(78, ‘id’) . “.”<br />”; ?>

Page 4: Kumpulan Php Script

6. Konversi angka ke bilangan Romawi Instal terlebih dahulu paket PEAR Number_Roman <? // include Number_Roman class include “Numbers/Roman.php”; // buat sebuah object $nr = new Number_Roman(); // Hasil: “ 5 in Roman is V.” echo “5 in Roman is “ . $nr->toNumeral(5) . “.\n”; // Hasil: “318 in Roman is CCCXVIII”. Echo “318 in Roman is “ . $nr->toNumeral(318) . “.”; ?> Untuk mencetak angka 1 – 100 dalam bilangan Romawi, lakukan dengan script berikut: <? // include Numbers_Roman class include “Numbers/Roman.php”; // buat sebuah object $nr = new Numbers_Roman(); // cetak angka 1 sampai 100 as Roman Num// Hasil: “ I II III IV … XCVII XCIX C”

erals

foreach (range(1, 100) as $x) { print $nr-toNumeral($x) . “ “; ?>

Page 5: Kumpulan Php Script

BAB II PHP COUNTER SCRIPT

1. Counter script dengan flat file (file txt)

Buat satu buah file text kosong dengan nama hit_counter.txt simpan dalam directori server kemudian panggil dengan script berikut: <? $pengunjung = (“hit_counter.txt”); $kunjungan = file($pengunjung); $kunjungan[0]++; $hc = fopen($pengunjung, “w”); fputs(hc , “$kunjungan[0]”); fclose($hc); echo $kunjungan[0]; ?>

2. User online dengan flat file

Buat data dengan array tentang pengunjung yang sedang online

$ip = $_SERVER['REMOTE_ADDR']; $visitor = array( 'page' => $page, 'time' => time() ); Selanjutnya ambil data dari pengguna online lalu masukkan atau update data tersebut dalam file data.

$online = unserialize(file_get_contents('data/online.php')); $online[$ip] = $visitor; Hapus data pengunjung yang telah melebihi waktu 10 menit

foreach($online as $k => $v) { if($online[$k]['time'] < time() - 900) { unset($online[$k]); } }

Page 6: Kumpulan Php Script

Sekarang hitung pengguna yang sedang online dan masukkan ke dalam file data foreach($online as $k => $v) { if(!isset($onlinecount[$online[$k]['page']])) $onlinecount[$online[$k]['page']] = 0; $onlinecount[$online[$k]['page']] += 1; } file_put_contents('data/online.php', serialize($online)); Berikutnya kita akan mendata dan menampilan user yang sedang online

foreach($count as $k => $v) { $total += $count[$k]; } echo $total; Berikut kode lengkapnya:

<?php //lakukan set pada $page $ip = $_SERVER['REMOTE_ADDR']; $visitor = array( 'page' => $page, 'time' => time() ); $online = unserialize(file_get_contents('data/online.php')); $online[$ip] = $visitor; foreach($online as $k => $v) { if($online[$k]['time'] < time() - 900) { unset($online[$k]); } } foreach($online as $k => $v) { if(!isset($onlinecount[$online[$k]['page']])) $onlinecount[$online[$k]['page']] = 0; $onlinecount[$online[$k]['page']] += 1; } file_put_contents('data/online.php', serialize($online)); ?>

Page 7: Kumpulan Php Script

lakukan pemanggilan terhadap file tersebut dengan cara <HTML> <HEAD><TITLE></TITLE></HEAD> <BODY> Terdapat <?php include 'usersonline.php'; ?> pengguna online! </BODY> </HTML>

3. Hit counter dengan PHP & MySQL Mulai dengan dua buah file database CREATE TABLE supporters_ips( id VARCHAR( 15 ) NOT NULL, ip VARCHAR( 100 ) NOT NULL ); CREATE TABLE supporters( id INT( 11 ) NOT NULL AUTO_INCREMENT , PRIMARY KEY ( id ) , site_adress VARCHAR( 100 ) NOT NULL , site_title VARCHAR( 100 ) NOT NULL , hits VARCHAR( 100 ) NOT NULL DEFAULT '0' ); Buat file supporters_config.php <?php $db_user = "YOUR USERNAME"; $db_pass = "YOUR PASS"; $db_host = "localhost"; $db_name = "YOUR DATABASE"; $mysql_access = mysql_connect($db_host, $db_user, $db_pass); mysql_select_db($db_name); ?>

Page 8: Kumpulan Php Script

File view_hits.php adalah panel administrasi untuk melihat jumlah kunjungan <body bgcolor="#000000"> <b> <center><table width="500" border="1" bgcolor="#2A7FFF"> <tr> <td width="66%"><center> <b><u>Nama Situs:</u></b> </center></td> <td width="33%"><center> <b><u>Jumlah Kunjungan</u></b>: </center></td> </tr> <?php include 'supporters_config.php'; //pilih tabel database $result = mysql_query("select * from supporters"); //ambil semua data while($r=mysql_fetch_array($result)) { $site_title=$r["site_title"]; $site_address=$r["site_adress"]; $number_of_hits=$r["hits"]; $id=$r["id"]; //tampilkan data dalam table echo "<tr> <td width=\"66%\"><center><b><a href='$site_address' target='_blank'>$site_title</a></b></center></td> <td width=\"33%\"><center><b>$number_of_hits</b></center></td> </tr> "; } ?> </table> <p> <a href="add_new.php">Tambah situs baru</a> </center> </b> </body>

Page 9: Kumpulan Php Script

Sekarang add_new.php, untuk menambah situs baru <body bgcolor="#030003"> <b> <center> <table border="0" bgcolor="#2A7FFF"> <tr> <th scope="row"><b> <?php include 'supporters_config.php'; if($_POST['submit']){ $site_name = $_POST['site_name']; $site_address = $_POST['site_address']; if ($site_name == ""){ echo "Kolom tidak boleh kosong."; } elseif($site_address == ""){ echo "Kolom tidak boleh kosong."; } else { $sql=mysql_query("INSERT INTO `supporters` ( `site_title` , `site_adress` ) VALUES ('$site_name', '$site_address')"); $result = mysql_query("select * from supporters limit 1"); //ambil semua isi data while($r=mysql_fetch_array($result)) { $id=$r["id"]; //tampilkan database echo "Anda telah menmbah sitsu baru. ID situs baru tersebut adalah $id.<p><a href=\"view_hits.php\">Kembali?</a>"; } } } else { ?> <form action="?submit=true" method="post" name="form1" id="form1"> <label>Nama Situs: <input type="text" name="site_name" /> </label> <p> <label>Alamat Situs: <input type="text" name="site_address" /> </label> </p> <p>

Page 10: Kumpulan Php Script

<label> <input type="submit" name="submit" value="Submit" /> </label> </p> </form> <?php } ?> </b></th> </tr> </table> </center> </b> </body> File in.php, akan menghitung data pengunjung. <?php ob_start(); include('supporters_config.php'); $id=$_GET['id']; if (is_numeric($id)) { $ip = $_SERVER['REMOTE_ADDR']; $sql22 = @mysql_query("SELECT * FROM supporters_ips where id = '$id' and ip = '$ip'"); $unique_visitors = @mysql_num_rows($sql22); if ($unique_visitors == 0){ $sql2=mysql_query("INSERT INTO `supporters_ips` ( `id` , `ip` ) VALUES ('$id', '$ip')"); $sql=@mysql_query("SELECT * FROM supporters WHERE id = $id LIMIT 1"); $r=@mysql_fetch_array($sql); $hits=$r['hits']; $hits++; mysql_query("UPDATE supporters SET hits = '$hits' WHERE id = '$id'"); //Sepertinya kita berhasil! header("Location: index.html"); } else { header("Location: index.html"); } } else { header("Location: index.html"); } ob_end_flush(); ?>

Page 11: Kumpulan Php Script

BAB III DATE AND TIME

1. Waktu kemarin

Cara Pertama:

$kemarin = mktime (date("H"), date("i"), date("s"), date("m"), date("d")-1, date("Y")); echo date("Y-m-d", $kemarin);

Cara Kedua

echo date( strtotime("-1 days"));

2. Load Timer Script Letakkan script berikut pada bagian paling atas halaman: <?php $mtime = microtime(); $mtime = explode(' ', $mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; ?> Script berikut pada bagian paling bawah halaman <?php $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $endtime = $mtime; $totaltime = ($endtime - $starttime); echo halaman ini ditampilkan dalam ' .$totaltime. ' detik.'; ?>

3. Last modified script Script ini berfungsi untuk menampilkan kapan sebuah halaman terakhir kali diupadet: <?php //File Name $last_modified = filemtime("FILE.php"); { $timediff = time() - $last_modified; if ($timediff < 3600) {

Page 12: Kumpulan Php Script

if ($timediff < 120) { $returndate = "1 minute ago."; } else { $returndate = intval($timediff / 60) . " menit lalu."; } } else if ($timediff < 7200) { $returndate = "1 hour ago."; } else if ($timediff < 86400) { $returndate = intval($timediff / 3600) . " jam lalu."; } else if ($timediff < 172800) { $returndate = "1 day ago."; } else if ($timediff < 604800) { $returndate = intval($timediff / 86400) . " hari lalu."; } else if ($timediff < 1209600) { $returndate = "1 week ago."; } else if ($timediff < 3024000) { $returndate = intval($timediff / 604900) . " minggu lalu."; } else { $returndate = @date('n-j-Y', $timestamp); if($type=="fulldate") { $returndate = @date('n-j-y, H:i', $timestamp); } else if ($type=="time") { $returndate = @date('H:i', $timestamp); } }

Page 13: Kumpulan Php Script

//Tampilkan datanya print("Terakhir kali diupdate: "); print($returndate); } ?> Jangan lupa untuk mengubah FILE.php ke nama file yang kita miliki

4. Countdown script <?php // Pastikan target tanggal $targetYear = 2007; $targetMonth = 9; $targetDay = 10; $targetHour = 12; $targetMinute = 00; $targetSecond = 00; $targetDate = mktime($targetHour,$targetMinute,$targetSecond,$targetMonth,$targetDay,$targetYear); $actualDate = time(); $secondsDiff = $targetDate - $actualDate; $remainingDay = floor($secondsDiff/60/60/24); $remainingHour = floor(($secondsDiff-($remainingDay*60*60*24))/60/60); $remainingMinutes = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))/60); $remainingSeconds = floor(($secondsDiff-($remainingDay*60*60*24)-($remainingHour*60*60))-($remainingMinutes*60)); // format waktu $dateFormat = "Y-m-d H:i:s"; $targetDateDisplay = date($dateFormat,$targetDate); $actualDateDisplay = date($dateFormat,$actualDate); ?> <html> <body> Target : <?php echo $targetDateDisplay; ?><br/><br/> Saat ini : <?php echo $actualDateDisplay; ?><br/><br/> Tenggat : <?php echo "$remainingDay days, $remainingHour hours, $remainingMinutes minutes, $remainingSeconds seconds";?> </body>

Page 14: Kumpulan Php Script

5. Mengubah string dalam betuk kalimat ke dalam format waktu Fungsi yang digunakan adalah fungsi strtotime()

<? // Diasumsikan saat ini “Monday 05 May 2008, 02:33:05 AM” // Mendefinisikan string $str = “next Friday”; // Konversi string ke dalam format waktu $ts = strtotime($str); // Format ke dalam bentuk tanggal/waktu yang mudah dibaca // Hasil: Friday, 09 ay 2008 12:00:00 AM” echo ($ts === false) ? “Invalid string” ; date(“1, d F Y h:i:s A, $ts); // Mendefinisikan string $str = “2 weeks 6 hours ago”; // Konversi string ke dalam bentuk waktu $ts = strtotime($str); // Format ke dalam bentuk tanggal/waktu yang mudah dibaca // Hasil: Sunday, 20 April 2008 08:33:05 PM” echo ($ts === false) ? “Invalid string”; date(“1, d F Y h:i:s A”, $ts); ?>

6. Mengetahui tahun kabisat atau bukan fungsi yang digunakan adalah testLeapYear() . <? // Fungsi untuk mengetes jika tahun tersebut adalah tahun kabisat Function testLeapYear($year) { $ret = (($year%400 == 0) || ($year$4 == 0 && $year%100

!= 0)) ? true : false; Return $ret;

} // Hasil: Ini tahun kabisat echo testLeapYear(2004) ? “ Ini tahun kabisat <br>”; “Ini bukan tahun kabisat <br>”; // Hasil: Ini bukan tahun kabisat echo testLeapYear(2004) ? “ Ini tahun kabisat <br>”; “Ini bukan tahun kabisat <br>”; ?>

Page 15: Kumpulan Php Script

7. Mengetahui jumlah hari pada suatu bulan Untuk ini kita bisa menggunakan fungsi mktime() dan date(). Fungsi mktime() sendiri memiliki format: mktime( int hour, int minute, int second, int month, int day, int year). Pada skrip berikut, modifier “t” yang terdapat pada fungsi date() akan meneruskan ke jumlah hari dari bulan bersangkutan. <? // Mendapatkan format waktu untuk bulan Mei 2008 $ts = mktime(0, 0, 0, 5, 1, 2008); // Mencari jumlah hari pada bulan yang diberikan // Hasil: 31 echo date(“t” , $ts); ?>

8. Mengetahui nama hari pada suatu tanggal Masih menggunakan fungsi mktime() dan date(), kita dapat mengetahui nama hari dari suatu tangal, baik tanggal di masa lalu maupun masa yang akan datang <? // Mendapatkan format waktu untuk tanggal 01-01-2012 $ts = mktime(0, 0, 0, 1, 1, 2012); // Mendapatkan nama hari pada tanggal tersebut // Hasil: “Sunday” echo date(“1”, $ts); ?>

9. Konversi waktu lokal ke GMT Dengan menggunakan fungsi gmdate(), kita dapat melakukan perubahan dari waktu lokal ke waktu GMT. <? // Konversi waktu lokal saat ini ke GMT // Contoh hasil: 09:46:29 05-May-08 GMT echo gmdate(“H:i:s d-M-y T”) . “<br>; // Koversi waktu lokal ke waktu GMT // Misal waktu yang dispesifikasikan 05-02-2006 // Contoh hasil: 03:30:00 05-Feb-05 GMT $ts = mktime(4, 30, 0, 2, 5, 2005); echo gmdate(“H:i:s d-M-y T” , $ts); ?>

Page 16: Kumpulan Php Script

BAB IV FORM PROCESSING

1. Mengirim email dengan php

send.php <?php //EmailPenerima $email = $_POST['email']; //Judul $subject = $_POST['subject']; //Pesan $body = $_POST['body']; //Pengirim $emaile = $_POST['emaile']; mail($email, $subject, $body, "From: $emaile"); ?> email.php <form name="form" action="send.php" method="POST"> <table width="100%" border="0"> <tr> <td width="120">Kepada (E-Mail)</td> <td><input type=text name="email" size="30"></td> </tr> <tr> <td width="120">Judul</td> <td><input type=text name="subject" size="30"></td> </tr> <tr> <td width="120" valign="top">Pesan</td> <td> <textarea name="body" rows="5" cols="40"> </textarea> </td> </tr> <tr> <td width="120">dari(E-Mail)</td> <td><input type=text name="emaile" size="30"></td> </tr> <tr> <td> </td> <td> <input type="submit" name="Submit" value="Submit">&nbsp; <input type="reset" name="Reset" value="Reset"> </td> </tr> </table> </form>

Page 17: Kumpulan Php Script

2. Mengupload file dengan PHP <?php // tentukan ukuran maksimal dari file define('MAX_FILE_SIZE', 4000000); if (array_key_exists('btn', $_POST)) { // tentukan path untuk menyimpan file yang di upload define('UPL_FLD','uploads/'); //Find the extension $flext = pathinfo($_FILES['frmfile']['name']); $ext = strtolower($flext['extension']); // buat nama baru untuk file $file = str_replace(' ', '_', $_POST['frmname'].'.'.$ext); $file = strtolower($file); // tentukan bentuk file dan maksimum ukurannya $maxfs = number_format(MAX_FILE_SIZE/1024, 1).'KB'; $fsize = false; // periksa ukuran file if ($_FILES['frmfile']['size'] > 0 && $_FILES['frmfile']['size'] <= MAX_FILE_SIZE) { $fsize = true; } // ijinkan tipe file MIME $filetype = array('image/gif','image/jpeg','image/pjpeg','image/png'); $ftype = false; // periksan file yang diijinkan untuk diupload foreach($filetype as $type) { if ($type == $_FILES['frmfile']['type']) { $ftype = true; break; } } if ($ftype && $fsize && $_POST['frmname'] != '') { switch($_FILES['frmfile']['error']) { case 0: // pindahkan file ke directori yang telah ditentukan $upload = move_uploaded_file($_FILES['frmfile']['tmp_name'],UPL_FLD.$file); if ($upload) { $msg = $_FILES['frmfile']['name'].' uploaded successfully'; } else { $msg = 'Error.<br />Coba lagi.'; } break;

Page 18: Kumpulan Php Script

case 3: $msg = 'Error.<br />Coba lagi.'; break; default: $msg = 'Salah – hubungi administrator'; } } elseif ($_FILES['frmfile']['error'] == 4) { $msg = 'Pilih file yang akan diupload'; } elseif ($_POST['frmname'] == '') { $msg = 'Masukkan nama anda'; } else { $msg = $_FILES['frmfile']['name'].' File tidak bisa diupload.<br />'; if(!$ftype) { $msg .= 'Format yang diijinkan: .gif, .jpg, .png<br />'; } if(!$fsize) { $msg .= 'Ukuran maksimum yang diijinkan '.$maxfs; } } } ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>File upload</title> <style type="text/css"> <!-- body { font-family:Arial, Helvetica, sans-serif; font-size:10pt; color:#444; } #frm_upload, #tbl_upload, #btn, #sbm { margin:0px; padding:0px; } #tbl_upload { border-top:solid 1px #aaa; border-left:solid 1px #aaa; }

Page 19: Kumpulan Php Script

#tbl_upload th, #tbl_upload td { border-right:solid 1px #aaa; border-bottom:solid 1px #aaa; text-align:left; vertical-align:top; } #tbl_upload th { padding:3px 10px 0px 10px; background-color:#f1f1f1; font-weight:bold; } #tbl_upload td { padding:3px; } .frmfld { border:1px solid #aaa; width:300px; } #btn, #sbm { height:20px; width:120px; display:block; } #btn { background-color:transparent; border:none; cursor:pointer; } #sbm { border:solid 1px #aaa; background:url(button.gif) repeat-x 0px 50%; } .warning { color:#990000; font-weight:bold; } --> </style> </head> <body> <?php if(isset($msg)) { echo '<p class="warning">'.$msg.'</p>'; } ?> <form action="" method="post" enctype="multipart/form-data" name="frm_upload" id="frm_upload"> <table border="0" cellspacing="0" cellpadding="0" id="tbl_upload"> <tr> <th scope="row"><label for="frmname">Nama Lengkap:</label></th>

Page 20: Kumpulan Php Script

<td><input type="text" name="frmname" id="frmname" class="frmfld" /></td> </tr> <tr> <th scope="row"><label for="frmfile">File:</label></th> <td> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_FILE_SIZE; ?>" /> <input name="frmfile" type="file" id="frmfile" size="30" /></td> </tr> <tr> <th scope="row">&nbsp;</th> <td> <label for="btn" id="sbm"> <input type="submit" name="btn" id="btn" value="Upload" /> </label> </td> </tr> </table> </form> </body> </html>

Page 21: Kumpulan Php Script

BAB V BEBERAPA OPERASI STRING

1. Membalik karakter dalam string

<? // Definisikan string yang akan digunakan $str = “membalik string”; echo “<B>String Awal:</B>” . $str . “<br/>”; // Balik semua karakter dalam string // Hasil: “gnirts kilabmem” $sdrac = strrev($str); echo “<B>String yang dibalik:</B>” . $sdrac . “<br/>”; ?>

2. Menghitung jumlah kata dalam string <? // Definisikan string yang akan digunakan $text = “belajar membuat skrip php”; echo “String Awal:” . $text . “<br/>”; // Dekomposisi string ke dalam array “words” $words = preg_split(`/[^0-9A-Za-z\`]+/`, $text, -1, PREG_SPLIT_NO_EMPTY); // Hitung banyak kata yang ada di array // Hasil: “n words” echo “Banyaknya kata dalam string awal:” .count($words). “kata<br/>”; ?>

3. Repeat String <? // Definisikan string yang akan digunakan $nyengir = “he”; echo “String awal:” .$nyengir. “<br/>”; //Repeat string // Hasil: he he he he he he he he he he “ $rnyengir = str_repeat($nyengir, 10); echo “String yang direpeat:” .$rnyengir. “<br/>”; ?>