Pengaruh Konfigurasi Safe_Mode on/off di PHP
16 Jul 2011 1 Comment
in Komputer, php Tags: php safe_mode, the script whose uid 1199 is not allowed to access /tmp, xlsClass problem
Bagi developer aplikasi web yang menggunakan bahasa PHP, ada banyak pilihan bila menginginkan paket engine server yang terintegrasi dengan Apache dan MySQL, seperti WAMP dan XAMPP. Namun banyaknya paket yang ada ataupun kita install tersendiri antara ketiganya (Apache-PHP-MySQL) terkadang menjadi persoalan tersendiri, karena default setting dari masing-masing paket yang berbeda. Hal ini saya alami ketika aplikasi penjualan yang saya buat menggunakan PHP, dan mengeluarkan report berupa file excel tiba-tiba mengeluarkan report excel yang tertulis “…the script whose uid 1199 is not allowed to access /tmp…”, padahal sebelumnya normal saja.
Setelah mencari kesana-kemari, mbah Google memberikan wangsit, bahwa kejadian tersebut dapat terjadi karena setting “safe_mode” pada kondisi “on” pada konfigurasi “php.ini” file. Apabila kita menggunakan local server, kita tinggal mencari file php.ini dan mengganti setting “safe_mode” menjadi “off” seperti pada gambar dibawah.
Persoalan menjadi sedikit berbeda ketika kita berada di server publik/hosting. Karena berbagai alasan, administrator server belum tentu bersedia mengganti konfigurasi tersebut menjadi sesuai seperti keinginan kita. Lalu bagaimana?
Pada kasus yang saya alami, saya menggunakan xlsClass untuk membuat report berupa excel. Menurut mbah Google (lagi), hal ini terjadi karena server tidak mengijinkan script php untuk membuat file temporary di folder “/tmp”, maka yang bisa kita lakukan adalah :
-
buat folder “tmp” pada folder xlsClass, dan buatlah aksesnya menjadi writeable dan readable
-
buka file “OLEwriter.php” pada folder xlsClass, karena file ini yang berisi script yang memuat pembuatan folder /tmp.
-
Buang tanda “/” seperti tanda panah pada gambar dibawah. Ini akan membuat file temporary yang dibuat menuju folder temporary yang baru kita buat, dan report excel akan kembali normal.
Aplikasi Penjualan Menggunakan PHP Point of Sale
05 May 2011 42 Comments
in Komputer, php Tags: aplikasi penjualan, php, point of sale
Bingung mencari aplikasi penjualan berbasis ritel atau toko? Bingung menggunakan aplikasi penjualan/point of sale berbayar? Mungkin anda bisa mencoba PHP Point of Sale. Aplikasi freeware berbasis web yang dibangun dengan script PHP dan database MySQL ini ringan dan simple dalam penggunaannya. Walaupun tidak mengharuskan penggunanya menguasai PHP dan MySQL, namun dalam proses instalasinya tetap mengharuskan kita untuk merubah sedikit script PHP didalamnya. Berikut adalah langkah-langkah instalasi dan penggunaannya. Diasumsikan anda sudah men-download PHP Point of Sale dan sudah memiliki Apache-PHP-MySQL dalam komputer anda :
- Buatlah database kosong pada MySQL, misalnya “phppos”
- Extract file download dan tempatkan pada directory web server anda, misal “/phppos”
- Pada directory /application/config, rename-lah file “database.php.tmpl” menjadi “database.php” dan editlah script-nya (bisa menggunakan notepad)
- Tempatkan username database pada bagian “username” diantara tanda petik (“”)
- Tempatkan password database pada bagian “password” diantara tanda petik (“”)
- Tempatkan nama database pada bagian “database” diantara tanda petik (“”)
- Import-lah table yang disertakan pada folder “database” pada database yang dibuat sebelumnya (dalam contoh ini saya menggunakan phpMyAdmin)
- Proses instalasi selesai. Bukalah browser dan ketik pada url “http://localhost/phppos”
- Login window muncul, ketik username : admin, password : pointofsale. Username dan password ini dapat diubah setelah anda berhasil login
- Sebelum memulai proses entry transaksi penjualan, anda diharuskan meng-entry supplier, customer, dan item barang dan pembelian terlebih dahulu
- Anda juga dapat mengkonfigurasi identitas toko dan membuat user baru dengan batasan akses sesuai level user.
- Secara default, mata uang yang digunakan adalah US dollar ($), namun kita dapat merubah sesuai keinginan. Bukalah file “currency_helper.php” pada folder “/helper” dan edit isinya.
- Gantilah tanda “$” (pada baris ke-6 dan ke-10) dengan “Rp.” dan reload aplikasinya.
Integrasi Script PHP ke Joomla 1.5 dengan Plugin Sourcerer
28 Nov 2009 4 Comments
in internet, Komputer, php, web
Bila ada pooling mengenai CMS apa yang paling populer dan banyak dipergunakan, mungkin Joomla ada pada urutan teratas. CMS Open Source ini dikenal karena selain gratis juga karena banyak komunitas dan forum yang mendiskusikannya. Bagi para developer web yang menggunakan PHP dan ingin mengintegrasikannya script PHP tak usah bingung. Joomla kaya akan plugin yang memungkinkan kita untuk melakukan hal tersebut. Salah satu plugin untuk itu adalah Sourcerer. Plugin ini memungkinkan kita untuk menulis script PHP pada bagian artikel dari Joomla.
Berikut adalah contoh untuk mengintegrasikan script PHP dengan Joomla 1.5 (diasumsikan anda sudah menginstall Joomla, dalam hal ini Joomla versi 1.5.x) :
- download plugin Sourcerer
- setelah selesai, buka Joomla dan masuk ke administrator
- pada menu “extension”, klik menu “install/uninstall”
- browse direktori dimana file download Sourcerer berada
- klik button “upload file & install”
- setelah install berhasil, aktifkankan sourcerer melalui menu “extenstion”, pilih “plugin manager”, lalu “enable”-kan “System Sourcerer”
Pada tahap ini plugin tersebut sudah aktif dan kita sipa untuk menulis artike berupa script PHP. Kita akan mencoba sebagai berikut :
- Buat artikel baru melalui menu “Site”, pilih “Control Panel”. Kemudian klik “New Article”.
- Pada bagian bawah dari editor article akan muncul button baru Sourcerer.
- klik button sourcerer, akan muncul window pop-up.
- tempatkan script PHP pada bagian bertuliskan “// You can place PHP like this”.
- klik button “insert” di pojok kanan atas untuk menyimpan hasilnya.
- publish artikel Joomla seperti biasa, dan lihat hasilnya
Sumber :
Membuat Drop-down Combo dari MySQL di PHP
03 Oct 2009 Leave a Comment
Membuat Drop-down Combo dari MySQL di PHP
Dalam proses pengisian sebuah form ada banyak komponen dalam proses entry data, misalnya text, radio button, check-box dan drop-down combo. Drop-down combo digunakan sebagai komponen entry apabila data yang akan kita entry-kan sudah didefinisikan sebelumnya dan jumlahnya banyak, misalnya lebih dari 5. Salah satu penggunaan drop-down combo adalah memilih nama negara, nama kota, jenis barang dan lain-lain.
Dalam trik ini kita akan membuat drop-down combo dimana kita bisa memilih nama bulan tertentu. Data untuk drop-down combo ini diambil dari data MySQL, sehingga sifat data bisa menjadi dinamis (bisa ditambah atau dikurangi). Nilai kembali (return value) dari fungsi drop-down combo ini adalah ’01′ bila kita memilih bulan Januari, ’02′ bila kita memilih bulan Februari, demikian dan seterusnya. Kita juga bisa memberikan pilihan “SEMUA” dan mempunyai nilai kembali ’0′ pada pilihan teratas dari drop-down combo tersebut. Script ini diambil dari planet-source-code.com dengan beberapa modifikasi.
Buatlah database dengan nama “db_test”, lalu buatlah table dengan statement SQL sebagai berikut :
-
CREATE TABLE `tbl_bln` (`Bln` varchar(2), `NmBln` varchar(15), PRIMARY KEY (`Bln`)
Isilah data dengan statement sebagai berikut :
-
INSERT INTO `tbl_bln` VALUES (’01′, ‘Januari’), (’02′, ‘Februari’), (’03′, ‘Maret’), (’04′, ‘April’), (’05′, ‘Mei’), (’06′, ‘Juni’), (’07′, ‘Juli’), (’08′, ‘Agustus’), (’09′, ‘September’), (’10′, ‘Oktober’), (’11′, ‘November’),(’12′, ‘Desember’)
Ini adalah script dari file PHP :
<?
// fungsi koneksi database
function open_connect() {
// sesuaikan nama database, username dan password dengan server yang ada
$host=”localhost”;
$usrname=”root”;
$usrpwd=”";
$dbname=”db_test”;
$link=mysql_connect($host,$usrname,$usrpwd) or die (“Database tidak dapat
dihubungkan!”);
mysql_select_db($dbname,$link);
return $link;
}
//fungsi drop-down combo
function dd_combo($nama,$sql,$cur){
$qry=mysql_query($sql);
$combo=’<select name=’.$nama.’ onChange=”form1.submit();”>’;
// aktifkan 1 baris statement di bawah bila menghendaki pilihan ‘SEMUA’ muncul di drop-down combo
// $combo.=’<option value=”0″>Semua</option>’;
while($res=mysql_fetch_row($qry)){
$combo.=’<option value=”‘.$res[0].’”‘;
if($res[0]==$cur) $combo.=’ selected’;
$combo.=’>’.$res[1].’</option>’;
}
$combo.=’</select>’;
return $combo;
}
//mengkoneksikan database
$link=open_connect();
//ambil variabel KdBln dari entry form
$strKdBln=$_POST["strKdBln"];
$seenform=$_POST["seenform"];
//bila form belum terisi, silahkan diisi
if ($seenform!=”y”):
echo “<form name=\”form_dd\” action=\”form_dd.php\” method=\”post\”>
<input type=\”hidden\” name=\”seenform\” value=\”y\”>”;
$sql=”SELECT * FROM tbl_bln ORDER BY Bln”;
echo dd_combo(‘strKdBln’,$sql,$strKdBln);
echo “ <input type=\”submit\” value=\”Pilih\”>
</form>”;
else :
// bila form sudah submit, tampilkan variabel return value
print “Hasil pilihan adalah : “.$strKdBln;
endif ;
mysql_close($link);
?>
sumber : planet-source-code.com
Membuat Grafik dari PHP MySQL dengan Library JPGraph
18 Feb 2009 11 Comments
Membuat tampilan grafik dengan PHP dari data MySQL tidak sesulit yang diperkirakan. Salah satu hal yang membuat mudah karena adanya library “JPGraph”. Script Library ini dapat di download di http://hem.bredband.net/jpgraph/jpgraph-1.27.tar.gz. File dengan ukuran sebesar 4.5 Mb ini terbagi atas dokumentasi program, contoh, dan library-nya. Pada folder ‘Examples’ kita dapat melihat banyak contoh-contoh script PHP untuk membuat bentuk-bentuk grafik yang kita inginkan. Dalam contoh script di bawah ini kita akan mencoba membuat grafik omzet penjualan barang berbentuk batang secara horizontal. Diasumsikan anda sudah mempunyai table ‘t_jual’ dengan struktur ‘customer’ (nama customer) dan ‘jual’ (jumlah penjualan).
<?php
// meng-include file library
include (“../jpgraph/jpgraph.php”);
include (“../jpgraph/jpgraph_bar.php”);
// buka koneksi ke database
function open_connect() {
$host=”localhost”;
$usrname=”root”;
$usrpwd=”";
$dbname=”main_db”;
$link=mysql_connect($host,$usrname,$usrpwd) or die (“Database tidak dapat
dihubungkan!”);
mysql_select_db($dbname,$link);
return $link;
}
$sqlstr=”SELECT t_jual.* FROM t_jual
ORDER BY customer”;
$link=open_connect();
$qrydtl=mysql_query($sqlstr,$link) or die (“Invalid Query”);
while($rowdtl=mysql_fetch_object($qrydtl)) {
$datay[]=$rowdtl->jual;
$datax[]=$rowdtl->customer;
}
// lebar frame grafik
$width=800;
// pakai baris dibawah bila tinggi frame grafik fixed
//$height=480;
// pakai baris dibawah bila tinggi frame grafik mengikuti banyaknya data
$height=(mysql_num_rows($qrydtl))*30;
// Parameter awal grafik
$graph = new Graph($width,$height,’auto’);
$graph->SetScale(“textlin”);
// set parameter ke ‘true’ bila grafik menggunakan frame
$graph->SetFrame(true);
// grafik diputar 90 derajat agar ditampilkan secara horizontal
$graph->Set90AndMargin(180,10,60,10);
// set warna margin
$graph->SetMarginColor(‘lightblue’);
// buat box di sekeliling area
$graph->SetBox();
// pakai baris dibawah bila area grafik ingin berwarna gradient
//$graph->SetBackgroundGradient(‘white’,'lightblue’,GRAD_HOR,BGRAD_PLOT);
// set judul grafik
$graph->title->Set(“Grafik Penjualan”);
$graph->title->SetFont(FF_VERDANA,FS_BOLD,10);
$graph->subtitle->Set(“Value dalam jutaan”);
// set nama customer di x-axis
$graph->xaxis->SetTickLabels($datax);
$graph->xaxis->SetFont(FF_VERDANA,FS_NORMAL,8);
// set label margin
$graph->xaxis->SetLabelMargin(10);
// posisi label X-axis
$graph->xaxis->SetLabelAlign(‘right’,'center’);
// Add some grace to y-axis so the bars doesn’t go
// all the way to the end of the plot area
$graph->yaxis->scale->SetGrace(20);
// pakai baris dibawah bila y-axis ditampilkan
//$graph->yaxis->Hide();
// memulai grafik
$bplot = new BarPlot($datay);
// pakai baris dibawah bila menginginkan grafik berbayang-bayang
//$bplot->SetShadow();
//You can change the width of the bars if you like
$bplot->SetWidth(0.75);
// warna grafik gradient ungu
//$bplot->SetFillGradient(‘darkred’,'orange’,GRAD_HOR);
$bplot->SetFillGradient(“navy”,”#EEEEEE”,GRAD_LEFT_REFLECTION);
// tampilkan value pada tiap grafik
$bplot->value->Show();
$bplot->value->SetFont(FF_ARIAL,FS_BOLD,10);
$bplot->value->SetAlign(‘left’,'center’);
$bplot->value->SetColor(“black”);
$bplot->value->SetFormat(‘%.1f’);
// set parameter ‘max’ bila value ada di puncak grafik
//$bplot->SetValuePos(‘max’);
// set warna frame grafik
$bplot->SetColor(“white”);
// menambahkan bar pada grafik
$graph->Add($bplot);
// teks tambahan pada grafik
/*
$txt = new Text(‘Note: value dalam juta’);
$txt->SetPos(190,399,’center’,'bottom’);
$txt->SetFont(FF_ARIAL,FS_NORMAL,8);
$graph->Add($txt);
*/
// menggambar grafik
$graph->Stroke();
?>









Comments