Senin, 28 Desember 2009

Email To Image With PHP to reduce Spam

Email To Image

The number of spam emails coming into an email account is usually due to installing an email with a direct plaintext on web page. Well, to help reduce the power of email search engine we will work with the captcha principles, which boot machine or robot can not read into the image. Now we try to display our email in the form of images like services at big website such as Facebook (Email Account Info of Facebook is in form of image).

Email To Image With PHP to reduce Spam can be done with two files. The Engine File to Convert Email To Image i named
emailtoimage.php ;

<?php
header("Content-type: image/png");
// Your email address which will be shown in the image
$email = "$_GET[email]";
$length = (strlen($email)*8);
$im = @ImageCreate ($length, 20)
or die ("Kann keinen neuen GD-Bild-Stream erzeugen");
$background_color = ImageColorAllocate ($im, 255, 255, 255); // White: 255,255,255
$text_color = ImageColorAllocate ($im, 55, 103, 122);
imagestring($im, 3,5,2,$email, $text_color);
imagepng ($im);
?>



and the other one is a Common File to Call the Image.

Email To ImageHow we call the image from the common file ?
Simple, Just Use : Email : <img src=emailtoimage.php?email=$data[email]>

Jumat, 18 Desember 2009

Backup MySQL Database as SQL File with PHP


Backup MySQL Database as SQL File can be done with PHP Programming. It wasn't new thing for the expert. Backup MySQL Database as SQL File can be an alternative programming if something wrong (with server acces Telnet access, or PHPMyadmin). so the better thing we prepare is a backup programming MySQL Database as SQL File with PHP.

A simple way to do this is using a PHP Class to Backup MySQL Database as SQL. But we will got some times to search. Simply use code provide below will help us to do any Backup MySQL Database as SQL File.

The result of the Class is a SQL file with named set in the Class. The SQL File contain all Table as a data definition language (DDL) and data manipulation language (DML).

You need just provide a mysql connection in connection file, example here, i use mysqli_connect

$link=mysqli_connect($server, $username, $password, $database);


<?php
require_once('../include/koneksi.php');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");;
header("Content-Disposition: attachment;filename=
". "kkkk". date('Ymd'). ".sql ");
header("Content-Transfer-Encoding: binary ");


echo "create database if not exists `db_wisuda`;\r\n";
echo "\r\n";
echo "use `db_wisuda`;\r\n";
echo "\r\n";
$m = "SHOW TABLE STATUS FROM db_wisuda";
$n = mysqli_query($link,$m);

while ($datao = mysqli_fetch_array($n))
{
$table=$datao[0];
echo "/*Table structure for table `$table` */\r\n";
echo "\r\n";
echo "DROP TABLE IF EXISTS `$table`;\r\n";
echo "\r\n";
echo "CREATE TABLE `$table` (\r\n";
$sql0="desc $table";
$res0= mysqli_query($link,$sql0);
$jum0=mysqli_num_rows($res0);
$j=0;
$key=0;
while($row0= mysqli_fetch_row($res0)){
$j++;
if($jum0==$j and $key==0)
{
if($row0[2]=='NO')
{
echo "`$row0[0]` $row0[1] NOT NULL);\r\n";
}
else
{
echo "`$row0[0]` $row0[1] default NULL);\r\n";
}
}
else
{
if($row0[2]=='NO')
{
echo "`$row0[0]` $row0[1] NOT NULL,\r\n";
}
else
{
echo "`$row0[0]` $row0[1] default NULL,\r\n";
}
}
if($row0[3]=='PRI')
{
$key=$key+1;
}
}
$sql1= "desc $table";
$res1= mysqli_query($link,$sql1);
$k=0;
while ($row1= mysqli_fetch_row($res1))
{
if($row1[3]=='PRI')
{
$k++;
if($key-1==0)
{
echo "PRIMARY KEY (`$row1[0]`)\r\n";
echo ");\r\n";
}
else if($k>1 and $k<$key)
{
echo "`$row1[0]`,";
}
else if($k==$key)
{
echo "`$row1[0]`)\r\n";
echo ");\r\n";
}
else
{
echo "PRIMARY KEY (`$row1[0]`,";
}
}
}
echo "\r\n";
$sql= "SELECT * FROM $table";
$res= mysqli_query($link,$sql);
while($row= mysqli_fetch_row($res)){
echo "INSERT INTO `$table` VALUES('".implode("','",$row)."');\r\n";
}
}
echo "\r\n";
?>



Selasa, 08 Desember 2009

HTML Tag Base FPDF Text Formatting

Here is the Information About the HTML Tag Base FPDF Text Formatting. Sometimes we want to do formating Text in our FPDF Document Output. So we need simple way to do the Text Formatting.

Example :

Telah Menyelesaikan dengan baik serta memenuhi semua persyaratan pendidikan pada Fakultas Teknik, Program Studi Teknik Elektro. Oleh karena itu kepadanya diberikan gelar akademik : Sarjana Teknik, beserta segala hak dan kewajiban yang melekat pada gelar tersebut.

The Simple Way to do this is HTML Tag Base FPDF Text Formatting. Process or Convert HTML to do The Formating Text, So It can be the output of FPDF PHP Programming.

Here is The Source of Code That we can Follow : http://www.fpdf.de/downloads/addons/41/

and the output will be :

HTML Tag Base, FPDF Text Formatting

Good Browser for FPDF PHP Programming

Google Chrome is a Good Browser for FPDF PHP Programming. Good Browser for FPDF PHP Programming i mean here is easy for Debugging. We Just Need to Reload or Refresh the Browser. Without closing and open new tab to do the debugging.


I Found Moziila Firefox (Up to 3.5 ) isn't a Good Browser for FPDF PHP Programming. Because we need to close and open new tab to do the debugging.

So If You want the Browser for FPDF PHP Programming. You should use Google Chrome (I Use Version 3.0...).

Minggu, 22 November 2009

Mengecek Sisa Fair Use Packet Telkomsel Flash Unlimited Bulanan dengan Modem Huawei E220

Mengecek Sisa Fair Use Packet Telkomsel Flash Unlimited Bulanan adalah satu cara terbaik untuk penghematan pengguanaan Quota, apalagi jika kita ingin berhemat dan selalu dalam range Quota dan kecepatan yang diperoleh bagus.

Caranya adalah dengan menggunakan perintah
UL
< spasi > INFO

dan mengirimkannya ke 3636 dari kartu Telkomsel Flash anda.

Jika menggunakan Modem tentunya lebih mudah lagi.
1. Buka Software Modem yang terkait SMS / Message

Sisa Fair Use, Packet Telkomsel Flash, Unlimited Bulanan, SMS Modem Huawei E220
2. New Message and Send
Sisa Fair Use, Packet Telkomsel Flash, Unlimited Bulanan, SMS Modem Huawei E220
3. View
Sisa Fair Use, Packet Telkomsel Flash, Unlimited Bulanan, SMS Modem Huawei E220

Sisa Fair Use, Packet Telkomsel Flash, Unlimited Bulanan, SMS Modem Huawei E220

Test Potensi Akademik Badan Pemeriksa Keuangan Republik Indonesia

Test Potensi Akademik Badan Pemeriksa Keuangan Republik Indonesia diadakan setelah Test Bahasa Inggris (English Proficiency Test), namun pada hari berikutnya.

Test Potensi Akademik Badan Pemeriksa Keuangan Republik Indonesia masih ingat dengan agak baik karena Test Potensi Akademik Badan Pemeriksa Keuangan Republik Indonesia ini saya tulis kurang dari 2 jam setelah pelaksanaannya..

Jenis Soal
  1. Persamaan kata
  2. Lawan Kata
  3. Kesetaraan
  4. Wacana Bahasa Indonesia (cukup panjang)
  5. Matematika
  6. Persamaan Linear
  7. Perhitungan Sudut, Segitiga
  8. Logika / Penalaran
  9. Membayangkan Ruang 3 Dimensi (Dadu dan Baling-Baling Kincir 3D)
  10. Test Gambar-Gambar seperti Test IQ.
Jangan meremehkan persamaan kata, kata-kata yang dimunculkan aneh dan bahkan tidak pernah saya dengar sebelumnya. Mungkin para pembaca pernah mendengarnya tapi saya mengakui test ini benar-benar sengaja dibuat sulit untuk menyeleksi peserta

1. contoh soal persamaan kata dan lawan kata dan kesetaraan (hampir 70 soal)
Rekonsiliasi = ....
Enigma = ...
absurd = ....
keynote speaker = ...
Elevasi = ...
labil >< ... Panas : Api = .... : ..... dll...sulit mengingat dikala mau diingat.. 2. Contoh soal matematika hitung-hitungan biasa
  • 544 kuadrat - 456 kuadrat = .... dan banyak hitung-hitungan biasa lainnya termasuk perhitungan persen dan pecahan
  • Deret angka 2 5 3 6 4 7 ....(5) dan tipenya lbh sulit tentunya..
  • jika x = 2/3 dari z dan z = 3/4 dari y, maka
a. x <> y
c. x = y
d. x = 3y-2
e. tidak dapat didefinisikan

ada banyak jenis soal demikian..

3. Soal 3 Dimensi berupa dadu dan kincir angin yang terdiri dari 4 kipas. sayang sekali saya ngawur pada soal ini.

4. Contoh Soal Penalaran

Premis Mayor :Semua Anggota DPD adalah anggota MPR
Premis Minor:Semua Anggota DPR adalah anggota MPR
Premis : ...
Premis : Beberapa Anggota DPD pernah menjabat sebagai anggota Parpol

Kesimpulan :Beberapa Anggota MPR pernah menjabat sebagai anggota Parpol..

a. Kesalahan Premis Mayor
b. Kesalahan Premis Minor
c. Kesalahan Kesimpulan
d. ...
e. tidak terdefinisi..

5. Test IQ berupa gambar yang dirotasi, jumlah ditambah 1 setiap perubahan dsb.

Perlu sekali diperhitungkan waktu yang diberikan sangat sedikit, jadi anda sulit untuk menjawab semua soal.

  1. 60 Menit untuk 90 soal Kemampuan Bahasa
  2. 60 Menit untuk 90 soal Matematika
  3. 60 Menit untuk 70 soal IQ
Jadi strategi bila sudah kepepet waktu dan tidak mampu memikirkan adalah pukul rata dengan jawaban yang sama. ^^. A semua, B Semua atau C, D, E semua tinggal pilih agar lebih beruntung daripada mengosongkannya.

Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia

Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia diadakan setelah Test Bahasa Indonesia. Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia adalah English Proficiency Test, Test bahasa Inggris yang menguji kemampuan bahasa Inggris seseorang terkait dengan pekerjaan. Test ini terdiri dari 150 Soal.
  1. 50 Soal Listening
  2. 40 Soal Structure
  3. 60 Soal Reading

Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia sebenarnya ada sesi Listening, namun karena jumlah peserta dan keadaan, Panitia tentunya sudah berpikir akan hambatan yg mungkin akan dialami sehingga Sesi Listeningnya diubah menjadi dapat dibaca.

Seperti umumnya Sesi Listening, tipe soal adalah Short Conversation, dan Long Conversation. Sebelum bagian jawaban Short Conversation, ada pertanyaan What's the Man/Woman/Andi/Rika mean...?? Seperti layaknya Listening TEST TOEFL atau Ujian Akhir SMU / SMK. Untuk bagian Long Conversation, Kita membaca percakapan yang lebih panjang dan menjawab beberapa soal terkait Long Conversation tersebut.

Pada Sesi Structure, kita akan dihadapkan pada soal Tenses dan Structure kalimat yang salah. Bagian ini menurut saya sulit dan kebanyakan hanya menebak, padahal seharusnya soal bagian ini tidak boleh demikian. Kita harus mengetahui Tenses and Structure in English dengan baik.

Pada bagian Reading terdiri dari 60 soal. Bayangkan anda harus membaca banyak wacana dalam Bahasa Inggris saat konsentrasi sulit fokus karena hari sudah menjelang sore dan belum makan siang. Tapi seharusnya itu bukan alasan. Pada bagian reading, tentunya teknik harus kita kuasai dengan membaca soal terlebih dahulu, baru kemudian turun ke soal. Teknik ini saya rasa cukup berhasil dan saya mampu menjawab banyak pada bagian reading. Namun demikian kemampuan Bahasa Inggris yang saya miliki masih sangat minim sehingga kebenarannya belum pasti.

Sesi Reading memang melelahkan. Sebenarnya penguasaan sesi Structure adalah hal yang bagus karena kita dapat menjawab soal tanpa konsentrasi yang besar seperti bagian Reading yang wacananya cukup panjang dan banyak.

Dilihat dari bobot dan materi Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia / English Proficiency Test memang Sulit dan Perlu Persiapan Matang layaknya kita ingin sukses TEST TOEFL untuk masuk perguruan tinggi Terkemuka di Luar Negeri.

Sabtu, 14 November 2009

Menghitung Umur / Usia dengan PHP

Menghitung Umur / Usia dengan PHP dapat dilakukan dengan cara yg panjang atau cara yang pendek. Menghitung Umur / Usia sering digunakan pada aplikasi sistem informasi. Beberapa aplikasi yang menggunakan Perhitungan Umur / Usia dengan PHP adalah Sistem Informasi berbasis Web.

Menghitung Umur / Usia biasanya dilakukan secara otomatis oleh program. Beberapa Pendaftaran CPNS Departemen Departemen yang dilakukan secara online menggunakan Perhitungan Umur / Usia, agar Calon Pendaftar yang sudah lewat umurnya atau belum cukup umur tidak dapat mendaftarkan dirinya..

berikut contoh syntax Menghitung Umur / Usia dengan PHP, dilakukan dengan cara singkat dan tanpa pikir panjang anda dapat menerapkannya..
[source : http://drewd.com/2006/11/03/calculating-age-in-php]


<?php
$birthdate = '1987-04-11';
$age = ((time() - strtotime($birthdate))/(60*60*24*365.2425));
echo"$age";
?>

Semoga Berhasil..

Kamis, 12 November 2009

Level atau Peranan / Role Pengguna Wordpress (Administrator, Editor, Author, Contributor dan Subscriber)

Sebuah Blog dengan penulis tunggal kemungkinan memiliki produktivitas posting yang sedikit atau kecil. Kadang-kadang sekumpulan orang bekerjasama untuk mengelola suatu blog. Salah satu tujuannya adalah untuk meningkatkan produktivitas Blog ataupun Website.

Salah satu Engine CMS yang memiliki kehandalan dalam pemberian peranan kepada Penggunanya adalah Wordpress. Wordpress memiliki beberapa peran user yang tentunya dapat dimanfaatkan untuk produktivitas Blog atau Website.

Ada beberapa Role / Peranan yang dimiliki pengguna Wordpress diantaranya Administrator, Editor, Author, Contributor dan Subscriber.
  1. Administrator : Level atau Peranan / Role layaknya Penguasa segala hal dalam engine wordpress.
  2. Editor : Level atau Peranan Penyempurna, artinya mampu menilai layaknya suatu tulisan dimuat entah Page atau Post me-moderate comments, memanage categories, memanage tags, memanage links dan mengupload files/images. Sehingga menguasai hal terkait konten, tetapi tidak tampilan / appearance.
  3. Author : Level atau Peranan Penulis, artinya mampu menulis suatu tulisan hanya Post dan mengupload files/images terkait post itu. Author menguasai hal terkait konten dinamis sering berganti.
  4. Contributor : Level atau Peranan Pemberi, artinya mampu menulis suatu tulisan, tetapi kemudian melepaskannya untuk diolah dan dipublish Administrator, Editor, atau Author.
  5. Subscriber, Kadang untuk berkomentar atau melakukan aktifitas lain kita harus terdaftar di engine wordpress. Subscriber ini tidak dapat melakukan aktifitas metubah konten blog.
Berhati Hatilah memberi Level atau Peranan / Role pada Pengguna Wordpress, karena tentunya sangat berbahaya jika disalahgunakan.

Saran : Sebaiknya hanya ada satu administrator dalam satu engine wordpress, dan perlu kehati-hatian memberikan wewenang terhadap orang yang berperan sebagai administrator atau Editor.

Sabtu, 07 November 2009

SQL Commands for Displaying Random Record

Have you ever seen the applications that displays a random tips, messages or informations? For example, displays messages, advice or tips on web pages. Every time with or without refresh, the page displays the message, the message appears change at random.

Displaying Random Record can be made only by using SQL statement, without your hard-work to write a script or program. There is in the SQL function RAND (). This function can generate random numbers.

By default, this function will result in real numbers range from 0 - 1.

Example usage: SELECT RAND ();

SQL Commands, Random Record


Above statement will produce output random real numbers range from 0 - 1.

Function RAND () in the example above is placed in the SELECT. But you can also put it in the ORDER BY.

Example usage: SELECT * FROM table ORDER BY RAND ();
SQL Commands, Random Record
Well ... if the above statement will show a record that will be selected at random among all the records in the table.

You may then ask, what if you want to select N records at random from all that is in the table? The way that is easy enough just by adding a LIMIT command N.

Example usage: SELECT * FROM table ORDER BY RAND () LIMIT 3;

SQL Commands, Random Record

Statement on the record will show random 3.

You can also use the WHERE, as in the following statement SELECT * FROM table WHERE conditions ORDER BY RAND () LIMIT 3;

Miraculously ... let's say you choose N random records with a SQL statement above, then the N records are not the same.

Rabu, 21 Oktober 2009

Tes Tulis CPNS Departemen Perhubungan

Tes Tulis CPNS Departemen Perhubungan terlewati, tinggal menunggu pengumuman apakah lolos atau tidak. Pengumumannya sendiri akan diumumkan langsung melalui website Departemen Perhubungan.

Jika anda penasaran apa menjadi materi dalam tes perhubungan kali ini mungkin saya masih dapat mengingat beberapa soal yang akan saya post-kan berikut ini:

Jumlah Soal 200 tipe pilihan ganda dengan Lembar Jawaban Komputer.
100 Soal TKD (Tes Kemampuan Dasar) dan 100 TKB (Tes Kemampuan Bidang)

100 soal kemampuan dasar terdiri dari
1. Pancasila dan UUD
2. Soal Sebab Akitat
3. Soal Pilihan Majemuk
4. Sinonim
5. Antonim
6. Wacana
7. Deret Angka
8. Matematika
9. Logika
10. Psikotes dan Skala Kematangan

100 soal TKB (Tes Kemampuan Bidang) terdiri atas pengetahuan bidang perhubungan dan komputer, sistem perhubungan, pemeriksaan dan pengawasan, sarana dan prasarana perhubungan dan pengetahuan lain terkait Departeman Perhubungan.

semua soal pilihan ganda dan menggunakan sebuah LJK. Pertanyaan yang masih teringat (Tes Kemampuan Bidang) :
1. Apa Plat nomor (pertanyaan kasar) pesawat Indonesia.. PK
2. Apa nama tempat parkir pesawat.. Hangar
3. Apa itu Marka Jalan..????
4. Kepanjangan ASDP..
5. Arti Lampu Hijau..
dll..

maaf-maaf bener-bener lupa yang lain...baru sempat posting malam2..


Balai Latihan dan Pendidikan Perhubungan Darat, Gianyar, Bali

Senin, 19 Oktober 2009

Set Form Element Readonly with Javascript

How we can Set Form Element Readonly with Javascript ..

a piece of the code is here

opener.document.getElementById('jml_aset').setAttribute('readOnly','readOnly');

or the complete forum can be found here

Im affraid any lost.. Maybe copy any source code to this post is good idea...

<script type="text/javascript">

function blah(bool) {
if(bool) {
document.getElementById("ta").readOnly = true;
}
else {
document.getElementById("ta").readOnly = false;
}
}

</script>

<textarea id="ta"></textarea>
<input type="checkbox" onclick="blah(this.checked)" />


or this solution

[1] use setAttribute and removeAttribute

if(document.formOne.fieldInfo.checked)
{
document.forms['myFormId'].myTextArea.setAttribute('readOnly','readonly'); //2nd readonly more freedom
}
else //if(!document.formOne.fieldInfo.checked)
{
document.forms['myFormId'].myTextArea.removeAttribute('readOnly');
// also tried document.formOne.fieldtextarea.focus();
}

[2] property assignment

if(document.formOne.fieldInfo.checked)
{
document.forms['myFormId'].myTextArea.readOnly=true; //true has some freedom
}
else //if(!document.formOne.fieldInfo.checked)
{
document.forms['myFormId'].myTextArea.readOnly=false; //false has some freedom
// also tried document.formOne.fieldtextarea.focus();
}

MySQL Stored Procedure that have Variable Table Name and it's Query Validation

I have try and try about MySQL Stored Procedure that have Variable Table Name and it's Query Validation. First i try to make MySQL Stored Procedure that have Variable Table Name. I so newbie in stored procedure, but after any success it feel so nice.

This stored procedure primary target is giving a increment counter in a field. The increment value of a asset (Asset Information System) giving a unique ID between each number of asset even the asset is the same.

below is primary procedure to do the increment.




DELIMITER $$

DROP PROCEDURE IF EXISTS `db_simaset`.`addnew`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `addnew`
(in tabel varchar(15), in kodeaset varchar(11),
in banyak numeric,
in awalancounter numeric,
codesppa varchar(20),
id_transaksi numeric,
tglpenerimaan date,
tglpembukuan date)
BEGIN
set @awalancounter=awalancounter;
set @inc=1;
set @ptabel=tabel;

while (@inc <= banyak) do begin
set @awalancounter=@awalancounter+1;
SET @dyn_sql=CONCAT("INSERT INTO ",@ptabel,"(kode_aset,no_aset,
no_sppa,id_transaksi,tgl_penerimaan,tgl_pembukuan)
values ('", kodeaset,"','", @awalancounter,"','",codesppa,"','",
id_transaksi,"','",tglpenerimaan,"','",tglpembukuan,"');");

PREPARE s1 FROM @dyn_sql;
EXECUTE s1; set @inc=@inc+1;
end;
end while;
END$$
DELIMITER ;



the validation is give a single quoted beetwen dynamic value of the field. I mean Here



'",kodeaset,"'



without the validation it will be error column will happen shows that MySQL confuse about integer and varchar value.

Hope it will help you..

Selasa, 13 Oktober 2009

MySQL Stored Procedure that have Variable Table Name

First Time Using Stored Procedure in MySQL 5 is a high class type of database programming to me. I still newbie in this kind of programming.

But in this article i want to show you that a direct variable table name doesn't work in MySQL Stored Procedure. The example below will got error table name

DROP PROCEDURE IF EXISTS addnew;

DELIMITER $$

CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `db_simaset`.`addnew`(in ptabel varchar(20), in kodeaset varchar(20), in banyak numeric, in awalancounter numeric)

BEGIN
set @awalancounter=awalancounter;
set @inc=1;
set @ptabel = ptabel ;


while (@inc <= banyak) do begin set @awalancounter=@awalancounter+1; insert into @ptabel (kode_aset, no_aset) values(kodeaset,@awalancounter); set @inc=@inc+1; end;
end while;


END$$


DELIMITER ;



then, to make it works, it should be like this (Using Concat ( String Function))


DELIMITER $$

DROP PROCEDURE IF EXISTS `db_simaset`.`addnew`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `addnew`(in tabel varchar(15), in kodeaset varchar(11), in banyak numeric, in awalancounter numeric)
BEGIN
set @awalancounter=awalancounter;
set @inc=1;
set @ptabel=tabel;

while (@inc <= banyak) do
begin
set @awalancounter=@awalancounter+1;
SET @dyn_sql=CONCAT("INSERT INTO ",@ptabel,"(kode_aset, no_aset) values (",kodeaset,",",@awalancounter,");");
PREPARE s1 FROM @dyn_sql;
EXECUTE s1;
set @inc=@inc+1;

end;
end while;


END$$


DELIMITER ;

Selasa, 29 September 2009

Putty Command Line on Linux / Bash Command on Linux

A lot of Linux command line is difficult to beginner user, but we can learn it continuously.

If we forgot, here is The Complete Putty Command Line on Linux / Bash Command on Linux

Link Complete Bash Command on Linux

Repair Error Table syntax in MySQL

it was a big trouble if data in mysql table cannot be access. something wrong happen if there was a refused in browse the data table.

use a mysql repair table method is an alternative to overcome the trouble. the syntax is very simple. but we must know about the effect. we prefer do not use this sintax if not neccesary.

the syntax of repairing table

repair table tablename

repair mysql table
if succes the status will be ok.. good luck if you have this trouble..

Minggu, 27 September 2009

Trouble create colspan with FPDF

Dear master PHP and FPDF, I have trouble to make a good colspan structure. I want my output like this image.


The report contain data from a mysql database query.
if i using my code (Cell Function), the colspan will be like this..
I Confuse how to solve the problem..
Please Help..



below is my code in loop of showing data

while ($data=mysql_fetch_array($exe)){

$pdf->Cell(80,50,"Gambar",1,0,'C');
$pdf->Cell(40,10,"NO",1,0,'L'); $pdf->Cell(70,10,"Ket No",1,0,'L');
$pdf->Cell(40,10,"NO",0,1,'C'); $pdf->Cell(70,10,"Ket No",1,2,'L');
$...Wrong...

}

Please Help about this..

Jumat, 25 September 2009

Mengapa Telkomsel Flash Lambat...?

Belakangan ini browsing, Downloading koq ga pernah dapat speed sampai 20 atau 25 KBps lagi..
Usut punya usut eh ternyata telkomsel flash unlimited 125 ribu perbulan keq 175 ribu perbulan keq sama saja.. Kuota efektif 256 Kbpsnya cuma sampai batas 500 MB.

Jadi bayar 137.500 hanya dapat 500MB speed jarang-jarang bagus sampai 20 - 25 KBps. Pemakaian 500 MB tu cuma buat seminggu lebih sehari..

Sungguh tega TELKOMSEL. Apa sebenarnya maksud hal ini. Masak kuota yang sebelumnya 3 GB turun cuma jadi 0.5 GB. kalau 1 GB sih masih masuk diakal. masak yang disisain cm setengah..0,5..Terlalu dan keterlaluan tanggung..!!

Apa yang terjadi jika anda menggunakan Telkomsel Flash Sekarang..??
Bisa Internetan Seminggu, habis itu 3 minggu bengang bengong ga jelas nunggu 1 halaman kebuka di depan komputer..Bulan depan bisa lagi pake seminggu, 3 minggu lagi bengang bengong ga jelas.!!

Bagaimana Bangsa bisa maju kalau Internet aja Sulit dan Lambat Gini..Katanya bakal murah..Ga ada bukti dan sisa janji-janji palsu.!!

Tetangga aja bisa sakit hati kalau denger bisikan jelek. Apa TELKOMSEL tidak bisa membuka hati dengan kebijakan baru yang merugikan Pelanggannya Sendiri.

Selasa, 22 September 2009

Change FCKEditor Default Row Height

Im new using FCK Editor, But a little thing make me confuse is How to Change FCKEditor Default Row Height.

Some People say we can do from FCKEditor.js, but actually can do from D:\xampp\htdocs\project\administrator\fckeditor\fckeditor_php5.php

just find code below

public function __construct( $instanceName )
{
$this->InstanceName = $instanceName ;
$this->BasePath = '/fckeditor/' ;
$this->Width = '100%' ;
$this->Height = '300' ;
$this->ToolbarSet = 'Default' ;
$this->Value = '' ;

$this->Config = array() ;
}


then change Red Color..I mean '300'.

That's it. It would be work charm.

Sabtu, 12 September 2009

Automatically Install Windows Driver

How we can Automatically Install Windows Driver?
Somebody please don't missunderstand about this..

I mean if the driver is unknown and we have to choose among of them. We don't waste time by choose the driver one by one. By following this steps, you will be ensures by the operating system if your driver update is failed or succesfully.


This is the way we can do that easily.


[Fig. 1 Device Manager]


[Fig 2. Do Not Connect Internet]


[Fig 3. Install Driver Automatically]


[Fig 4. The Process, Wait unti finished]

Maybe all people know about this.. Just Documented it.

Kamis, 10 September 2009

Google Analytic to Analyze Website Traffic

Google Analytic, Analyze Website Traffic
1. Daily Web Visit Statistic like Histats
2. Visitor Overview
3. Map, Like Feedjit, but more detail.
4. Traffic Percentage {Search Engine, Direct or Referral}
5. Popular Page Like Feedjit.

This Google Analytic feature is great for Analyze Our Website Traffic.

Sabtu, 05 September 2009

Security Upload file dengan PHP

Beberapa hal penting yang sering digunakan sebagai security dalam upload file PHP diantaranya :

1. Ukuran besar File Upload tidak boleh melebihi suatu ukuran / size tertentu
Mengapa : Karena pengembang sistem pasti sudah berpikir matang-matang akan kapasitas hardisk server yang akan digunakan untuk menampung file-file upload. Jika ukuran file yang diupload tidak dibatasi, kemungkinan besar kapasitas hardisk server akan cepat habis.

Dengan adanya kebijakan ukuran file terbatas, Pengguna yang melakukan upload file tentunya akan berusaha file yang diuploadnnya berukuran lebih kecil dari pembatasan yang ditentukan.

2. Dimensi File Upload tidak boleh melebihi suatu dimensi tertentu (contohnya file gambar)
Mengapa : Serupa dengan Ukuran File, dimensi file yang besar tentunya sejalan dengan ukuran file.

Contoh : File Gambar berekstensi JPEG, ukuran 2048x1536 adalah file gambar yang memiliki dimensi cukup besar apabila digunakan dalam kegiatan Upload File. Maka pengembang sistem akan membatasi ukuran file gambar yang dapat diupload misalnya 1024 x 768.

3. Tipe File Upload tidak boleh File berektensi PHP
Mengapa : Bahaya..!!!. Hacker akan dengan mudah mengupload file PHP miliknya, lalu bagaimana jika Hacker menghapus file-file milik kita dengan kemampuan programming yang ada dalam file PHP nya tersebut..? Tentunya hal ini tidak kita inginkan.

4. Memperhatikan File Exist / sudah ada file bernama sama di Server.
Mengapa : Hal ini tentunya agar file sebelumnya yang sudah ada tidak digantikan oleh file lain dengan nama yang sama. Bayangkan jika file foto seseorang dapat ditimpa dan digantikan dengan nama file serupa, tetapi isinya adalah gambar porno..

Hal yang dijelaskan disini kemungkinan masih sangat kurang dibandingkan apa yang ada di dunia nyata. Security sangat diperketat dalam masalah Upload File. Facebook dan website besar lain tentunya sudah memikirkan hal ini lebih jauh dari apa yang dibeberkan diatas.

Untuk syntaks coding terkait security File Upload dengan PHP adalah sebagai berikut :

Nama property upload adalah fupload -- > <input type=file name=fupload />


$target = "uploads/";
$target = $target . basename( $_FILES['fupload']['name']) ;
$ok=1;

$tipe_file = $_FILES['fupload']['type'];
$lokasi_file = $_FILES['fupload']['tmp_name'];
$nama_file = $_FILES['fupload']['name'];
$ukuran_file = $_FILES['fupload']['size'];

//This is our size condition
if ($fupload_size > 2000000){
echo "Your file is too large.<br>";
$ok=0;
}

//This is our limit file type condition
if ($tipe_file == "text/php" or $fupload_type == "image/gif" or
$tipe_file == "image/jpeg" or
$tipe_file == "image/pjpeg" or
$tipe_file == "image/png")
{
echo "Dokumen Dilarang<br />";
$ok=0;
}

//please change the uploads below with $target !!!

if (file_exists('uploads/' . $_FILES['fupload']['name']))
{
echo $_FILES['fupload']['name'] . " already exists. ";
$ok=0;
}


//Here we check that $ok was not set to 0 by an error
if ($ok==0) {
Echo "Sorry your file was not fupload";
}

else { //If everything is ok we try to upload it
if(move_uploaded_file($_FILES['fupload']['tmp_name'], $target)) {
echo "The file ". basename( $_FILES['fupload']['name']). "
has been upload";

Query can be here

} // end succes upload
else {
"Sorry, there was a problem uploading your file.";
}
}

Jumat, 04 September 2009

Memunculkan Gambar Postingan Wordpress jika menggunakan the_excerpt

Bagaimana bisa kita menampilkan gambar kalau kita menggunakan the_excerpt() wordpress sedangkan yang bisa muncul hanya beberapa buah kalimat atau katakanlah sekitaran 30-an kata.

Jika kesulitan bisa tambahkan fungsi berikut di function.php

function getImage($num) {
global $more;
$more = 1;
$link = get_permalink();
$content = get_the_content();
$count = substr_count($content, '<img');
$start = 0;
for($i=1;$i<=$count;$i++) {
$imgBeg = strpos($content, '<img', $start);
$post = substr($content, $imgBeg);
$imgEnd = strpos($post, '>');
$postOutput = substr($post, 0, $imgEnd+1);
$postOutput = preg_replace('/width="([0-9]*)" height="([0-9]*)"/', '',$postOutput);;
$image[$i] = $postOutput;
$start=$imgEnd+1;
}
if(stristr($image[$num],'<img')) { echo '<a href="'.$link.'">'.$image[$num]."</a>"; }
$more = 0;
}


lalu pada bagian yang menggunakan the_excerpt() pada folder thema wordpress, misalkan file index.php atau archive.php panggil fungsi tersebut sebelum atau sesudah digunakannya the_excerpt().

Contoh penggunaan fungsi tersebut :

<?php getImage('1'); ?>

Angka 1 pada pemanggilan fungsi adalah gambar ke 1 dalam postingan. Angka 1 boleh saja diganti. Jika kita memiliki 2 buah gambar dalam 1 postingan maka kita dapat menggantinya dengan memberikan passing angka 2 pada fungsi.

Kelemahan koding ini adalah tidak dapat dilakukannya resize terhadap image, jadi jika gambar aslinya besar, maka postingan terlihat kurang rapih.


Jika ingin menggunakan plugin untuk hal ini, kunjungi Link

Rabu, 02 September 2009

Cara Dapat Lyric Lagu dengan Winamp (Plugins Leoslyrics.com.)

Lyric  Lagu dengan Winamp Plugins Leoslyrics.com


Winamp telah lama dapat menemukan lirik lagu jika kita terkoneksi Internet contohnya dengan plugin Leoslyrics.com.

Plugins ini cukup update masalah lyric (lagu barat). Group Band dan Artis Barat yang baru merilis lagu tidak perlu ditunggu lama ketersediaan liriknya dengan Plugin Winamp Leoslyrics.com.

Ada kelebihan jika kita dapat melihat lirik lagu secara langsung, karena akan lebih mengerti maksud dari lagu dan tentu saja kalimat dan kata-katanya lebih jelas di eja.
Sebagian besar penyanyi memiliki vokal yang khas dan menyebabkan lirik di suatu bagian menjadi tidak jelas.

Dengan bantuan Plugin Winamp yang mendapatkan lirik lagu secara langsung jika terkoneksi Internet, kita dapat menikmati lagu sambil membaca liriknya.

Sayangnya bagi kita yang mencintai lagu dan musik dalam negeri, harus bersabar menunggu lirik dari artis-artis kita muncul dari plugin ini, karena basis lirik Leoslyrics.com. ada di luar negeri tentunya. Namun jangan khawatir, lagu-lagu Indonesia yang populer pasti ada di database Leoslyrics.com.

Cara mendapatkan plugins Winamp ini adalah dengan pergi ke situs LeoLyrics Download File .Exe LeoLyricsnya dan Install.

Anda hanya butuh koneksi Internet. Saat memutar lagu, Winamp akan secara otomatis mendapatkan Lirik dari database Leolyrics.com untuk anda.

Enjoy..!!!

Selasa, 01 September 2009

Mempararelkan Transfer File Fillezilla FTP (File Transfer Protocol)

Berapa file dapat anda transfer pararel melalui FTP (File Transfer Protocol) kesayangan anda? Kebanyakan program FTP yang ada saat ini merupakan program Open Source. Transfer file merupakan kegiatan penting dalam dunia Internet dan Web. Transfer File juga merupakan suatu kegiatan untuk mengupdate situs dan website.

Kebanyakan Setting FTP setelah selesai di Install memiliki settingan agar hanya dapat melakukan uploading sebuah File saja ke Server. Tentu saja hal ini akan mamakan waktu lama saat melakukan uploading file. Beberapa File akan antre hanya untuk menunggu giliran setelah sebuah file selesai di transfer.

Transfer file secara paralel dapat kita atur dalam settingan FTP. Salah satu Program Client FTP yang mudah digunakan adalah Filezilla FTP Client. Program ini mudah digunakan dengan sisi cient dan server. Bagi Pemula dan newbie, dijamin penggunaan Filezilla sangat mudah, karena dapat digunakan dengan menggeser folder dari server ke Client atau sebaliknya.

Selain kemudahan yang dimiliki, Filezilla juga dapat disetting untuk dapat melakukan transfer beberapa file secara pararel. Maksud pararel di sini adalah beberapa file dapat ditransfer dalam satu waktu tanpa harus saling mengantre.

Tanpa basa-basi lagi, sebenarnya settingan agar dapat melakukan transfer file secara pararel cukup mudah yaitu :

1. Edit --> Setting
2. Click Transfer
3. Ubah nilai Maximum Simultaneous Transfer (Maksimumnya 10 File secara Bersamaan)



4. Selesai.

Kini transfer file anda dari komputer Client ke Server atau sebaliknya akan menjadi lebih cepat.

Minggu, 30 Agustus 2009

Table Dynamis tanpa Echo Nama Field dengan PHP dan MySQL

Maksud dari tutorial ini adalah kita tidak perlu lagi membuat skript untuk nama nama kolom yang sering digunakan dalam pemrograman PHP MySQL..

Contoh :




<?php
include("conn.php");
//$query = "select field1, fieldn from table [where clause][group by clause][order by clause][limit clause]";

if (empty($_GET[action])){
$query = "select KecId as ID, KecCode, KecDesc, RegionID, RegionCode from m_kecamatan";
$result = mysql_query($query);
if (($result)||(mysql_errno == 0))
{
echo "<table width='90%' border=1 align=center><tr>";
if (mysql_num_rows($result)>0)
{
//loop thru the field names to print the correct headers
$i = 0;
while ($i < mysql_num_fields($result))
{
echo "<th>". mysql_field_name($result, $i) . "</th>";
$i++;
}
echo "<td align='center'><strong>Keterangan</strong></td>"; //mypoints --> picas
echo "</tr>";

//display the data
$j = 0;
while ($rows = mysql_fetch_array($result,MYSQL_NUM))
{
echo "<tr>";
foreach ($rows as $data)
{
echo "<td align='left'>". $data . "</td>";
$j++;
}
echo "<td align='left'><a href=fieldname.php?action=edit&id=".$rows[0].">Edit</a> | <a href=fieldname.php?action=delete&id=".$rows[0].">Delete</a> </td>"; //mypoints --> picas
}
}else{
echo "<tr><td colspan='" . ($i+1) . "'>No Results found!</td></tr>";
}
echo "</table>";
}else{
echo "Error in running query :". mysql_error();
}

}
?>


Jangan lupa file koneksinya..

<?
$server = "localhost";
$username = "root";
$password = "picas";
$database = "db_combo";

// Koneksi dan memilih database di server
mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");
?>



dan contoh hasilnya...



Oh Ya..hampir lupa..
Nama Field bisa di Customize dengan Query semisal

----> Select nm_kec as Nama Kecamatan from ....

Sabtu, 29 Agustus 2009

Tiga atau lebih dropdown menu dengan PHP dan MySQL

Membuat tiga atau lebih dropdown /combobox terkait dengan PHP dan MySQL tentunya bukan hal mudah bagi kita yang awam dan newbie dengan PHP, MySQL dan Ajax.

Perlu cukup waktu untuk membuat saya hampir gila (mode berlebihan = on) dan menerima beberapa sindiran karena sering terlihat tampang yang lesu dan pucat (mode berlebihan = on)..Salah satu penyebabnya karena tidak dapat membuat sendiri tiga dropdown combobox yang saling berkaitan satu sama lain. Yang ada hanyalah bisa memanfaatkan source code orang lain. Tetapi tidak apa-lah. yang penting primary target nantinya tercapai.

Cukup berbasa basi..supaya terlihat mudah bisa diperhatikan gambar berikut :


Beberapa hal yang perlu diperhatikan adalah file index.php yang meload langsung combobox negara, kemudian
  1. combobox provinsi diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
  2. combobox wilayah diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
  3. combobox kecamatan diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
Javascript cukup terkenal dalam teknologi AJAX dan bisa memanfaatkan elemen id dari tag html div.

Mohon maaf bila saya tidak menjelaskan terlalu detail dan rasanya kurang lengkap. untuk lengkapnya bisa dipelajari dari file file yang saya upload (program PHP, Javascript dan database MySQL).

Inti program ini hanya menyediakan 4 Combobox yang saling terkait. Untuk Jumlah Combobox yang lebih banyak, misalnya 5 Combobox terkait anda bisa memodifikasi sendiri dengan menambah database dan file PHP untuk tingkatan ke 5.

Jika ingin mengurangi menjadi 3 Combobox terkait, sebelumnya sudah ada artikel Membuat Tiga Populate Combobox With PHP, MySQL dan AJAX atau anda dapat memodifikasi skript berikut..

Download File Empat Populate Combobox With Ajax, PHP dan MySQL

Jika ingin mencoba, pilihlah
Negara Indonesia
Provinsi Bali
Wilayah Denpasar
Kecamatan Pilih salah satu...

Jumat, 21 Agustus 2009

Membuat Struktur Organisasi Dinamis / Online dengan PHP MySQL (Gambaran umum)

Kita start dari contoh hasil yang diharapkan sebagai berikut misalnya: 
Berikut ini hanya gambaran langkah untuk Membuat Struktur Organisasi dengan PHP MySQL (harap maklum tanpa file coding).

1. P
ertama-tama yang diperlukan adalah tabel jabatan dan tabel staff  di database MySQL

 CREATE TABLE `m_jabatan` ( `idjabatan` tinyint(2) unsigned NOT NULL auto_increment, `namajabatan` varchar(25) default NULL, PRIMARY KEY (`idjabatan`) ) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=latin1

 CREATE TABLE `tb_staff` ( `id` tinyint(4) NOT NULL auto_increment, `nama` varchar(40) default NULL, `jabatan` tinyint(2) default NULL, `direktori` varchar(40) default NULL, `foto` varchar(30) default NULL, `flag` tinyint(1) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=52 DEFAULT CHARSET=latin1

2. Selanjutnya pastikan kita menginputkan data di database tersebut, dan menyediakan file foto untuk setiap pejabat di dalam suatu folder di web server. 

3. Untuk menampilkannya diperlukan pembuatan tabel html statis terlebih dahulu dalam file PHP, termasuk penyediaan dan pemanggilan background tabel berupa image background garis koordinasi*) , kemudian lakukan query untuk Ketua, Wakil, Hakim dan pejabat-pejabat lain dengan  MySQL database query dalam file PHP tersebut.


contoh gambaran querynya:

  1. Untuk Ketua : Select nama,jabatan, directori from tb_staff  where idjabatan=(idjabatan_milik ketua di tabel m_jabatan)
  2. Untuk Wakil Ketua: Select nama,jabatan, directori from tb_staff  where idjabatan=(idjabatan_milik wakil di tabel m_jabatan)
  3. Untuk Hakim: Select nama,jabatan, directori from tb_staff  where idjabatan=(idjabatan_milik hakim di tabel m_jabatan). Untuk hakim ini akan muncul beberapa orang, karena pejabatnya ada banyak



Nb: 

  1. Mohon maaf postingan ini memberikan gambaran umum tanpa disertai coding  HTML dan PHPnya karena file codingannya telah hilang. 
  2. Perlu diperhatikan perubahan terhadap struktur organisasi menyebabkan diperlukannya perubahan hardcoding.
  3. *) untuk menampilkan struktur hubungan antar pejabat atau garis koordinasinya (garis lurus, putus-putus, dan garis berbelok), bisa menggunakan background cell, yang tutorialnya ada di sini. pastikan gambar garis tersebut juga secara manual disediakan melalui software pengolahan gambar, semisal paint atau photoshop (untuk menyediakan file .png yang transparant).

Using Mysql Escape String to Prevent SQL Injection

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

This function must always (with few exceptions) be used to make data safe before sending a query to MySQL.

Example SQL Injection


// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'picas';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;


The query sent to MySQL:

SELECT * FROM users WHERE user='picas' AND password='' OR ''=''

This would allow anyone to log in without a valid password.


example in use :

$idseal = mysqli_real_escape_string($link, $_GET[id]);
$sql = "select s.id, s.nama, j.namajabatan, s.foto, s.flag from tb_staff s, m_jabatan j where s.jabatan=j.idjabatan and id=$idseal order by s.id";

echo"$sql";


Some string Injection will be add triple slash like image follow :


With this manner we can prevent SQL Injection

Sabtu, 15 Agustus 2009

Tolak ukur ranking website universitas

Berbagai upaya untuk meningkatkan ranking website ternyata tidak hanya dilakukan dalam dunia komersial. Universitas sebagai institusi pendidikan juga bersaing dalam pe-rankingan website. Organisasi yang bergerak dalam bidang Ranking website universitas adalah WEBOMETRICS.INFO.

Usaha usaha yang dilakukan Universitas-universitas dalam peningkatan ranking ini diantaranya terkait size (total ukuran fisik website), visibility (akses), rich file (keanekaragaman file) dan scholarship (banyaknya beasiswa yang ditawarkan).

Keempat kriteria ini memiliki nilai masing-masing dan mempengaruhi perankingan website universitas. Indonesia perlu berbangga karena beberapa universitas unggulan masuk dalam top 4000 berhubung banyaknya universitas yang diranking seluruhnya berjumlah 17000 universitas. Bahkan UGM dan ITB ada di peringkat 572 dan 727. Terus maju perkembangan website pendidikan Indonesia !!!

List Ranking Webometrics Universitas di Indonesia

Ranking Webometrics Universitas - Universitas di Indonesia

POSITION
WORLD RANKUNIVERSITY SIZE VISIBILITY RICH FILES SCHOLAR