tag:blogger.com,1999:blog-7378779716943587062024-03-04T23:29:22.781-08:00indo codermuntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-737877971694358706.post-90059456847387316882009-11-14T02:03:00.000-08:002009-11-15T03:33:07.037-08:00eBook Pemrograman Dasar Website Menggunakan PHPBuku ini mencoba menerangkan langkah-langkah apa saja yang perlu ditempuh ketika membuat suatu program berbasis web dimulai dari kasus yang paling sederhana yaitu menampilkan tulisan ‘Hello world’ pada halaman internet browser komputer anda. Untuk melakukan hal tersebut yang dibutuhkan hanya bahasa program statik disebut HTML (Hypermark Text Markup Language). Sasaran berikutnya setingkat lebih maju dari kasus tersebut adalah membuat aplikasi buku tamu. Untuk membuat program tersebut diperlukan bahasa program yang tidak statik, dalam contoh kasus di buku ini akan menggunakan bahasa program PHP dan MySQL sebagai database untuk menampung input dari pengguna. Di bagian akhir akan menjelaskan langkah-langkah yang ditempuh untuk menginstal aplikasi CMS (Content Management System) Joomla yang mana aplikasi tersebut dibangun menggunakan bahasa program PHP.<br /><br />Agar dapat bereksperimen membuat tulisan ‘Hello World’, buku tamu, atau menginstal CMS Joomla menggunakan bahasa program HTML, PHP, dan MySQL harus disiapkan terlebih dahulu ruang lingkungan yang mendukung proses tersebut pada sistem operasi. Ruang lingkungan tersebut adalah:<br />1. Apache, sebagai web server<br />2. PHP, sebagai bahasa pemrograman<br />3. MySQL, sebagai database<br />4. PHPMyAdmin, antar muka ke database MySQL berbasis web<br /><br />Sistem operasi yang digunakan adalah Windows XP.<br /><br />Secara garis besar isi buku ini adalah:<br />1. Menerangkan langkah-langkah menginstal Apache sebagai web server.<br />2. Menerangkan langkah-langkah menginstal PHP sebagai bahasa pemrograman.<br />3. Menerangkan langkah-langkah menginstal MySQL sebagai database.<br />4. Menerangkan langkah-langkah menginstal PHPMyAdmin sebagai antar muka berbasis web untuk mengoperasikan database MySQL.<br />5. Menerangkan contoh pembuatan program paling sederhana, menampilkan tulisan ‘Hello World’ pada halaman internet browser.<br />6. Menerangkan contoh pembuatan program buku tamu.<br />7. Menerangkan contoh menginstal CMS Joomla.<br /><br />Buku ini disertai dengan CD yang berisikan:<br />1. Installer Apache web server<br />2. Installer PHP<br />3. Installer MySQL<br />4. Installer PHPMyAdmin<br />5. Installer Joomla<br />6. Installer PHPTextEditor<br />7. Installer Firefox internet browser<br /><br />Download ebook <a href="http://www.4shared.com/file/152510351/797a6997/Pemrograman_Dasar_Website_Menggunakan_PHP_-_10.html">Pemrograman Dasar Website Menggunakan PHP</a><br />Download <a href="http://www.4shared.com/file/151918274/b97a67a4/joomla-modul-katalog-hotel.html">modul dan komponen Joomla untuk katalog hotel</a>muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-87897763522347040392007-04-13T02:05:00.000-07:002007-04-13T02:45:26.314-07:00md5 Checking<html><br /><head><title>Muntenari.Com: md5 Checking</title><br /></head><br /><body><br />String:<br /><form action=? method=post><br /><input type=text name=str><br /><input type=submit value=Submit><br /></form><br /><p><br /><?<br />if($_POST['str']) echo "md5('".$_POST['str']."') : ".md5($_POST['str']);<br />?><br /></body><br /></html><br /><br />To try the script above please visit <a href="http://muntenari.com/exercise/md5.php">http://muntenari.com/exercise/md5.php</a>muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-87858627291871434552007-04-12T05:45:00.000-07:002007-04-12T05:53:10.081-07:00Fatal error: Call to undefined function: imagecreatetruecolorHere is the solution.<br /><br />1. Open php.ini file.<br />2. Enable extension=php_gd2.dll by deleting semicolon ';'<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFNVtZwSOzqI_FglWtWkRvNEsdD2gDTLnpzwHP-9tbqjikz7mDu-76WwS_5YimnEv2j6V_mqBVlaW8U4MCX-Tqjh69NtmDROjKHeZxVq7vFJZ9RWIRoSNQz2-AYD9NsRZAfjkzD1_-k2FM/s1600-h/php_ini_gd2_extension_2.PNG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFNVtZwSOzqI_FglWtWkRvNEsdD2gDTLnpzwHP-9tbqjikz7mDu-76WwS_5YimnEv2j6V_mqBVlaW8U4MCX-Tqjh69NtmDROjKHeZxVq7vFJZ9RWIRoSNQz2-AYD9NsRZAfjkzD1_-k2FM/s320/php_ini_gd2_extension_2.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5052522997481906370" /></a>muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-29764944615643282782007-04-12T05:24:00.000-07:002007-04-12T05:55:53.942-07:00Create Random String Image<?<br /><br />$string = stringGenerator();<br />//setcookie("ivstrcookie", $string, time()+3600);<br /><br />function imageGenerator($string) {<br /> header("Content-type: image/png");<br /><br /> $x = 100;<br /> $y = 30;<br /> $im = imagecreatetruecolor($x,$y);<br /> $putih = imagecolorallocate($im, 255, 255, 255);<br /> $orange = imagecolorallocate($im, 220, 210, 60);<br /> $hitam = imagecolorallocate($im, 0, 0, 0);<br /> $abu2 = imagecolorallocate($im, 200, 200, 200);<br /> imagefill($im,0,0,$putih);<br /> // Border<br /> imagerectangle($im,0,0,$x-1,$y-1,$hitam);<br /><br /> imagestring($im, 6, $x - 78, $y - 24, $string, $hitam);<br /><br /> imagepng($im);<br /> imagedestroy($im);<br />}<br /><br />function stringGenerator() {<br /> $strlen = 6;<br /> $string = '';<br /> for ($i=1;$i<=$strlen;$i++) {<br /> $rand2 = round(rand (0, 2)) + 1;<br /><br /> if ($rand2 == 1) {<br /> $bottomlimit = 48;<br /> $toplimit = 57;<br /> }<br /> elseif ($rand2 == 2) {<br /> $bottomlimit = 65;<br /> $toplimit = 90;<br /> }<br /> else {<br /> $bottomlimit = 97;<br /> $toplimit = 122;<br /> }<br /><br /> $rand1 = round(rand (0,$toplimit-$bottomlimit)) + $bottomlimit;<br /> $string .= chr($rand1);<br /> }<br /><br /> return $string;<br />}<br /><br />imageGenerator($string);<br />?><br /><br />Save as image.php. Example available at <a href="http://muntenari.com/imageverification.php">http://muntenari.com/imageverification.php</a>muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-41863894882197264712007-02-14T01:54:00.000-08:002007-02-14T01:58:38.350-08:00BASH Script To Download File#!/bin/bash<br />#<br /># filename: download.sh <br /># desciption: script to download log files from other server<br /># how to run: shell>./download.sh<br /><br />BASE_DIR="/localserver/muntenari/log"<br />BASE_URL="http://www.muntenari.com/target-logs"<br /><br />USER="username"<br />PASS="password"<br /><br /># verbose, for debuging only<br />WGET="/usr/bin/wget --http-user=${USER} --http-passwd=${PASS} -c"<br /><br /><br />LOG_DATE=`cat ${BASE_DIR}/latihan/webalizer/lastdate`<br />LOG_DIRS=${BASE_DIR}/`echo "${LOG_DATE}" | awk '{print substr($_,0,6)}'`<br /><br />ACCESS_LOG="${BASE_URL}/access_log.${LOG_DATE}.bz2"<br /><br /># check logs dir. if not exist, create now<br />if [ ! -d ${LOG_DIRS} ]; then<br /> mkdir -p ${LOG_DIRS}<br />fi<br /> <br />cd ${LOG_DIRS}<br /><br /># start download<br />${WGET} ${ACCESS_LOG}muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com1tag:blogger.com,1999:blog-737877971694358706.post-89300881119879781922007-02-14T01:21:00.000-08:002007-02-14T01:35:21.052-08:00Module Net::FTP To Download FileCode below use to download a file from other server and work out on linux command line. I use cronjob to run this script to download daily log of our apache web server.<br /><br />#!/usr/local/bin/perl<br /><br />use Net::FTP;<br /><br />$ftpSite = "www.muntenari.com";<br />$ftpUsername = "username";<br />$ftpPassword = "password";<br />$ftpDirectory = "/var/log/httpd";<br />$logFilesDirectory = "/localserver/home/";<br />$ftpFilename = "data.tar.gz";<br /><br />unless (-d $logFilesDirectory) {<br /> print STDERR "Creating directory " . $logFilesDirectory . "\n";<br /> mkdir $logFilesDirectory || die "Cannot create " . $! . "\n"; <br />}<br /><br />$ftp = Net::FTP->new($ftpSite) || die "Can't connect to $ftpSite : $@\n";<br />$ftp->login($ftpUsername, $ftpPassword) || die "Couldn't login to $ftpSite \n";<br />$ftp->cwd($ftpDirectory) || die "Couldn't change directory\n";<br />$ftp->binary() || die "Couldn't change to binary\n";<br /><br />print STDERR "copying $ftpFilename from $ftpSite .....\n";<br />$noGetFile = 0;<br />$ftp->get($ftpFilename,"$logFilesDirectory/$ftpFilename") || ($noGetFile = 1);<br /><br />if ($noGetFile == 1) {<br /> print "Couldn't get $ftpFilename\n";<br />}<br />else {<br /> print "success\n";<br />}<br /><br />1;muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-32742189865918914842007-02-13T00:07:00.000-08:002007-02-13T00:02:40.245-08:00Login Session Use Cookie#!/usr/bin/perl -w<br /><br />use CGI qw/:standard/;<br />use strict;<br /><br />my $h = CGI->new;<br /><br />our $mode = param("mode") if (defined(param("mode")));<br /><br />our $userlog = "";<br />our $pswdlog = "";<br />our $cexprd = "+5m";<br /><br /> if ($mode eq "login") { <br /> if (defined(param("username")) && defined(param("password"))) {<br /> $userlog = param("username");<br /> $pswdlog = param("password");<br /> }<br /> else {<br /> $userlog = "";<br /> $pswdlog = ""; <br /> } <br /> }<br /> elsif ($mode eq "logout") {<br /> $userlog = "";<br /> $pswdlog = "";<br /> $cexprd = "-1";<br /> }<br /> else {<br /> $userlog = $h->cookie(-name=>'username') || "";<br /> $pswdlog = $h->cookie(-name=>'password') || "";<br /> } <br /><br />our $cuserlog = $h->cookie( -name=>'username',<br /> -value=>$userlog,<br /> -expires=>$cexprd,<br /> -path=>'/',<br /> -domain=>'',<br /> -secure=>0);<br />our $cpswdlog = $h->cookie( -name=>'password',<br /> -value=>$pswdlog,<br /> -expires=>$cexprd,<br /> -path=>'/',<br /> -domain=>'',<br /> -secure=>0);<br /><br />our $loginstatus = &isLogin($userlog,$pswdlog);<br /><br />sub isLogin {<br /> use Digest::SHA1 qw(sha1 sha1_hex sha1_base64);<br /> my $username = "0004af1d29b20c565e608b40905f010f88b26004";<br /> my $password = "a137e3c6315986e13d4ba3961f4fca07476e4b71";<br /> my $status = 0;<br /> if ($username eq sha1_hex($_[0]) && $password eq sha1_hex($_[1])) {<br /> $status = 1;<br /> }<br /> return $status; <br />}<br /><br />print header({type => "text/html", -cookie=>[$cuserlog,$cpswdlog]});<br /> <br />if ($loginstatus == 1) {<br /> print "You are login now";<br />}<br />else {<br /> print "You are logout now";<br />}muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-71175727615551889732007-02-12T23:40:00.000-08:002007-02-13T00:01:06.411-08:00MySQL Query Use DBI Module#!/usr/bin/perl -w<br /><br />use DBI;<br />use strict;<br /><br />my $database = "jolie_fans_db";<br />my $user = "angelina_jolie";<br />my $password = "anGelina_Jolie";<br /><br /><br /> my $dbh = DBI->connect( "DBI:mysql:$database", "$user", "$password"); <br /><br />#insert query<br /><br /> my $q = "INSERT INTO mytable ";<br /> $q .= " (id, name) ";<br /> $q .= " values (?,?) ";<br /> my @insertbind = (1,"angelina jolie");<br /> my $sth = $dbh->prepare($q);<br /> $sth->execute(@insertbind); <br /><br />#select query<br /><br /> $q = "SELECT name FROM mytable WHERE id = ? ";<br /> <br /> my @selectbind = (4);<br /> my $status;<br /> <br /> $sth = $dbh->prepare($q);<br /> $sth->execute(@selectbind); <br /> if (my $row = $sth->fetchrow_array()) {<br /> $status = 1;<br /> }<br /> else {<br /> $status = 0;<br /> }muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-17283552883785798912007-02-08T02:43:00.000-08:002007-02-08T02:52:19.188-08:00Javascript Local Date Functionfunction local_date () {<br /><br />startoffset = 3;<br />duration = 7;<br />servertz = -5;<br /> <br />theday = new Date ();<br />theday2 = new Date ();<br /><br />theyearfirst = document.form1.gciy.options[0].value;<br />thetz = theday.getTimezoneOffset ();<br /><br />epoch = theday.getTime () + (24 * 3600 * startoffset + 60 * thetz + 3600 * servertz) * 1000;<br /><br />theday.setTime (epoch);<br />thedate = theday.getDate ();<br />themonth = theday.getMonth () + 1;<br />theyear = theday.getFullYear ();<br /><br />theyearoffset = theyear - theyearfirst;<br /><br />document.form1.gcid.options[thedate].selected = true;<br />document.form1.gcim.options[themonth].selected = true;<br />document.form1.gciy.options[theyearoffset].selected = true;<br /><br />epoch2 = epoch + 24 * 3600 * duration * 1000;<br /><br />theday2.setTime (epoch2);<br />thedate2 = theday2.getDate ();<br />themonth2 = theday2.getMonth () + 1;<br />theyear2 = theday2.getFullYear ();<br /><br />theyearoffset2 = theyear2 - theyearfirst;<br /><br />document.form1.gcod.options[thedate2].selected = true;<br />document.form1.gcom.options[themonth2].selected = true;<br />document.form1.gcoy.options[theyearoffset2].selected = true;<br /><br />}<br /><br />Copy and paste code above into text editor, save it with name local_date.js.<br />Do the same thing with code below but name it with local_date.html and put at the same directory with local_date.js.<br /><br /><html><br /><head><br /> <title>Javascript Local Date Function</title> <br /><script language="javascript" src="local_date.js"></script><br /></head><br /><body><br /><form name="form1"> <br /><table border=0 cellpadding=0 cellspacing=0 cols=3> <br /> <tr><br /> <td>Check in three days after now</td><br /> <td width="5px">:</td><br /> <td> <br /> <select name=gcid id=gcid><br /> <option>------ </option><br /> <option value=1>1 </option><br /> <option value=2>2 </option><br /> <option value=3>3 </option><br /> <option value=4>4 </option><br /> <option value=5>5 </option><br /> <option value=6>6 </option><br /> <option value=7>7 </option><br /> <option value=8>8 </option><br /> <option value=9>9 </option><br /> <option value=10>10 </option><br /> <option value=11>11 </option><br /> <option value=12>12 </option><br /> <option value=13>13 </option><br /> <option value=14>14 </option><br /> <option value=15>15 </option><br /> <option value=16>16 </option><br /> <option value=17>17 </option><br /> <option value=18>18 </option><br /> <option value=19>19 </option><br /> <option value=20>20 </option><br /> <option value=21>21 </option><br /> <option value=22>22 </option><br /> <option value=23>23 </option><br /> <option value=24>24 </option><br /> <option value=25>25 </option><br /> <option value=26>26 </option><br /> <option value=27>27 </option><br /> <option value=28>28 </option><br /> <option value=29>29 </option><br /> <option value=30>30 </option><br /> <option value=31>31 </option><br /> </select> <br /> -<br /> <select name=gcim id=gcim><br /> <option>------ </option><br /> <option value=1>January </option><br /> <option value=2>February </option><br /> <option value=3>March </option><br /> <option value=4>April </option><br /> <option value=5>May </option><br /> <option value=6>June </option><br /> <option value=7>July </option><br /> <option value=8>August </option><br /> <option value=9>September </option><br /> <option value=10>October </option><br /> <option value=11>November </option><br /> <option value=12>December </option><br /> </select><br /> -<br /> <select name="gciy" id="gciy"> <br /> <script type="text/javascript"><br /> var date = new Date();<br /> var year = date.getFullYear();<br /> var option = "";<br /> for (i=year; i<=year+4; i++) {<br /> option += "<option value=\""+i+"\">"+i+"</option>";<br /> }<br /> document.write(option);<br /> </script><br /> </select> <br /></td><br /></tr><br /><tr><br /> <td>Check out seven days after check in</td><br /> <td width="5px">:</td><br /> <td> <br /> <select name=gcod id=gcod><br /> <option>------ </option><br /> <option value=1>1 </option><br /> <option value=2>2 </option><br /> <option value=3>3 </option><br /> <option value=4>4 </option><br /> <option value=5>5 </option><br /> <option value=6>6 </option><br /> <option value=7>7 </option><br /> <option value=8>8 </option><br /> <option value=9>9 </option><br /> <option value=10>10 </option><br /> <option value=11>11 </option><br /> <option value=12>12 </option><br /> <option value=13>13 </option><br /> <option value=14>14 </option><br /> <option value=15>15 </option><br /> <option value=16>16 </option><br /> <option value=17>17 </option><br /> <option value=18>18 </option><br /> <option value=19>19 </option><br /> <option value=20>20 </option><br /> <option value=21>21 </option><br /> <option value=22>22 </option><br /> <option value=23>23 </option><br /> <option value=24>24 </option><br /> <option value=25>25 </option><br /> <option value=26>26 </option><br /> <option value=27>27 </option><br /> <option value=28>28 </option><br /> <option value=29>29 </option><br /> <option value=30>30 </option><br /> <option value=31>31 </option><br /> </select> <br /> -<br /> <select name=gcom id=gcom><br /> <option>------ </option><br /> <option value=1>January </option><br /> <option value=2>February </option><br /> <option value=3>March </option><br /> <option value=4>April </option><br /> <option value=5>May </option><br /> <option value=6>June </option><br /> <option value=7>July </option><br /> <option value=8>August </option><br /> <option value=9>September </option><br /> <option value=10>October </option><br /> <option value=11>November </option><br /> <option value=12>December </option><br /> </select><br /> -<br /> <select name="gcoy" id="gcoy"> <br /> <script type="text/javascript"><br /> var date = new Date();<br /> var year = date.getFullYear();<br /> var option = "";<br /> for (i=year; i<=year+4; i++) {<br /> option += "<option value=\""+i+"\">"+i+"</option>";<br /> }<br /> document.write(option);<br /> </script><br /> </select> <br /></td><br /></tr><br /></table><br /></form><br /><script>local_date();</script><br /><p><br /><center><br />© <script type="text/javascript">document.write(new Date().getFullYear())</script> <a href="http://muntenari.com">muntenari.com</a><br /></center> <br /></body><br /></html><br /><br />The code above will look like form in my website <a href="http://muntenari.com/exercise/javascript/local_date.html">muntenari.com</a><br /><br />Happy Coding,<br /><a href="http://muntenari.com">muntenari.com</a>muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0tag:blogger.com,1999:blog-737877971694358706.post-4830064415432779422007-02-06T21:08:00.000-08:002007-02-06T21:16:21.784-08:00Print Date with Offset#!/usr/bin/perl<br /><br />use Date::Calc qw/Today Add_Delta_Days/;<br /><br />$offset = -3;<br />@logdate = Add_Delta_Days(Today(), $offset);<br /><br />$logdate[1] = sprintf("%02d", $logdate[1]);<br />$logdate[2] = sprintf("%02d", $logdate[2]);<br /><br />print join("-",@logdate)."\n";<br /><br />Code above works out on linux shell command.<br />To run in browser need to add header after <span style="font-weight:bold;">use</span> declaration: print "Content-type: text/html\n\n";muntenarihttp://www.blogger.com/profile/05299865896463565474noreply@blogger.com0