Tutorial komputer dan Jaringan, Tutorial Sistem Operasi Windows, Tips Pemrograman PHP dan MySQL , Tutorial Virtual Meeting/ Video Conference, Tutorial komputer untuk pemula.
Senin, 28 Desember 2009
Email To Image With PHP to reduce Spam
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.
How 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
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 :
Good Browser for FPDF PHP Programming
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
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
2. New Message and Send
3. View
Test Potensi Akademik Badan Pemeriksa Keuangan Republik Indonesia
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
- Persamaan kata
- Lawan Kata
- Kesetaraan
- Wacana Bahasa Indonesia (cukup panjang)
- Matematika
- Persamaan Linear
- Perhitungan Sudut, Segitiga
- Logika / Penalaran
- Membayangkan Ruang 3 Dimensi (Dadu dan Baling-Baling Kincir 3D)
- Test Gambar-Gambar seperti Test IQ.
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.
- 60 Menit untuk 90 soal Kemampuan Bahasa
- 60 Menit untuk 90 soal Matematika
- 60 Menit untuk 70 soal IQ
Test Bahasa Inggris Badan Pemeriksa Keuangan Republik Indonesia
- 50 Soal Listening
- 40 Soal Structure
- 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 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)
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.
- Administrator : Level atau Peranan / Role layaknya Penguasa segala hal dalam engine wordpress.
- 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.
- 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.
- Contributor : Level atau Peranan Pemberi, artinya mampu menulis suatu tulisan, tetapi kemudian melepaskannya untuk diolah dan dipublish Administrator, Editor, atau Author.
- Subscriber, Kadang untuk berkomentar atau melakukan aktifitas lain kita harus terdaftar di engine wordpress. Subscriber ini tidak dapat melakukan aktifitas metubah konten blog.
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
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 ();
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 ();
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;
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
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..
Senin, 19 Oktober 2009
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
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
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
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
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
if succes the status will be ok.. good luck if you have this trouble..
Minggu, 27 September 2009
Trouble create colspan with FPDF
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...?
Selasa, 22 September 2009
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
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.
Kamis, 10 September 2009
Google Analytic to Analyze Website Traffic
Sabtu, 05 September 2009
Security Upload file dengan PHP
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
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.)
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)
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
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
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
- combobox provinsi diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
- combobox wilayah diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
- combobox kecamatan diload terpisah dengan PHP dan digabungkan ke index.php dengan Javascript atau Ajax
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)
Berikut ini hanya gambaran langkah untuk Membuat Struktur Organisasi dengan PHP MySQL (harap maklum tanpa file coding).
1. Pertama-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:
- Untuk Ketua : Select nama,jabatan, directori from tb_staff where idjabatan=(idjabatan_milik ketua di tabel m_jabatan)
- Untuk Wakil Ketua: Select nama,jabatan, directori from tb_staff where idjabatan=(idjabatan_milik wakil di tabel m_jabatan)
- 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:
- Mohon maaf postingan ini memberikan gambaran umum tanpa disertai coding HTML dan PHPnya karena file codingannya telah hilang.
- Perlu diperhatikan perubahan terhadap struktur organisasi menyebabkan diperlukannya perubahan hardcoding.
- *) 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
Ranking Webometrics Universitas - Universitas di Indonesia | ||
|