PEMROGRAMAN WEB
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
�
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�;
?>
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;
?>
1. 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 />�;
mal
// konversi angka ke hexadesi// Hasil: �Hexadesimal: 64 �
$hex = dechex($num);
echo �Hexadesimal: $hex <br />�;
se6
// konversi angka ke ba// Hasil: �Base6: 244�
$base6 = base_convert($num, 10, 6);
echo �Base6: $base6 �;
?>
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 />�;
?>
1. 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();
erals
// cetak angka 1 sampai 100 as Roman Num// Hasil: � I II III IV � XCVII XCIX C�
foreach (range(1, 100) as $x) {
print $nr-toNumeral($x) . � �;
?>
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];
?>
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]); } }
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)); ?>
lakukan pemanggilan terhadap file tersebut dengan cara
<HTML> <HEAD><TITLE></TITLE></HEAD> <BODY> Terdapat <?php include 'usersonline.php'; ?> pengguna online! </BODY> </HTML>
1. 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); ?>
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>
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>
<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(); ?>
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"));
1. 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.'; ?>
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) {
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); } }
//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>
1. 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);
?>
1. 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>�;
?>
1. 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);
?>
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);
?>
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);
?>
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"> <input type="reset" name="Reset" value="Reset"> </td> </tr> </table>
</form>
1. 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;
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;
}
#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>
<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"> </th>
<td>
<label for="btn" id="sbm">
<input type="submit" name="btn" id="btn" value="Upload" />
</label>
</td>
</tr>
</table>
</form>
</body>
</html>
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/>�;
?>
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/>�;
?>
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/>�;
?>
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :