Tampilkan postingan dengan label mysql. Tampilkan semua postingan

Apakah Anda ingin membuat webthumbnail? Apa itu ya ‘Web  Thumbnail’? Web thumbnail adalah semacam gambar screen shot atau hasil capture dari tampilan sebuah situs web tertentu. Web thumbnail ini sebenarnya dapat dibuat manual tapi sangat ribet karena anda harus membuka situs web yang mau dicapture tampilannya, kemudian dengan software image tertentu Anda harus capture tampilannya, lalu menyimpan hasil capture menjadi sebuah file image. Ribet kan? Namun kini Anda tidak perlu ribet lagi, karena sudah ada script PHP untuk memudahkan proses pembuatan web thumbnail ini.
Untuk membuat web thumbnail dengan script PHP, Anda tidak perlu bersusah payah membuatnya karena telah tersedia sebuah class yang bisa Anda gunakan secara free alias gratis. Berterima kasihlah kepada Lukasz Cepowski, yang telah membuat class PHP untuk web thumbnail ini. Silakan Anda mendownload script webthumnail.php di www.phpclasses.org
Script Class webthumbnail yang dibuat oleh Lukasz Cepowski ini memanfaatkan API dari layanan webthumbnail.org sebuah situs yang memungkinkan mengenerate screen shot suatu situs web.
Setelah file webthumbnail.php selesai diunduh, selanjutnya bagaimana cara penggunaannya?
Berikut ini contoh script untuk membuat web thumbnail atau mengcapture tampilan website lalu menyimpan file hasil capturenya ke dalam sebuah direktori.
capture1.php
<?php
require 'webthumbnail.php';

// path file hasil capture
$path = 'd:/images/thumb.jpg';

$thumb = new Webthumbnail("http://blog.rosihanari.net");
$thumb
->setWidth(512)
->setHeight(512)
->captureToFile($path);

echo "Thumbnail sudah disimpan di ".$path;
?>
Contoh script di atas apabila dijalankan akan mengcapture tampilan dari situs http://blog.rosihanari.net lalu menyimpan file capturenya di d:/images/thumb.jpg. Adapun ukuran image hasil capture adalah 512 x 512 pixel. Oya, pastikan script webthumbnail.php nya terletak dalam satu folder yang sama dengan capture1.php.
atau Anda juga bisa menampilkan image hasil capturenya langsung ke dalam browsernya, hanya dengan membuat script sbb:
capture2.php
<?php
require 'webthumbnail.php';

$thumb = new Webthumbnail("http://blog.rosihanari.net");
$thumb
->setWidth(512)
->setHeight(512)
->captureToBrowser();
?>
Jenis image yang dihasilkan dari script di atas adalah PNG image.OK, mudah bukan? selamat mencoba ya…

Misalkan Anda memiliki sebuah tabel A dalam suatu database. Akan tetapi ada suatu field dari tabel A tersebut yang belum lengkap datanya. Akan tetapi, ada sebuah tabel lain, misalkan B dalam database yang sama, ternyata memiliki data yang lebih lengkap. Nah… dari kondisi ini, bagaimana caranya melengkapi data dari tabel A tersebut bersumber dari tabel B?
Dulu, untuk kasus seperti di atas, saya biasa menggunakan script untuk proses update datanya. Selanjutnya script tersebut saya jalankan, dan proses update data selesai. Namun, hal ini terasa repot karena kita harus membuat scriptnya terlebih dahulu. Kini, saya tidak perlu repot lagi untuk melakukan hal tersebut karena ternyata proses update data tabel yang datanya bersumber dari tabel lain ini bisa langsung dilakukan via query SQL.
Untuk memudahkan penjelasan, saya contohkan dua buah tabel sbb:
Tabel ‘mhs’
Tabel 'mhs'
Tabel ‘dummy’
Tabel 'dummy'
Dalam tabel ‘mhs’ di atas, ada sebuah field ‘tgllhr’ yang masih kosong. Tugas kita adalah mengisi data pada field ‘tgllhr’ ini, dimana datanya mengambil dari tabel ‘dummy’.
Sebelum kita buat query SQL untuk proses update data tabelnya, terlebih dahulu coba kita perhatikan kedua tabel tersebut. Di dalam kedua tabel tersebut terdapat sebuah field nim. Field inilah yang nantinya menjadi acuan dalam proses update data. Pastikan field yang ada dalam tabel acuan, dalam hal ini field ‘nim’ dalam tabel ‘dummy’, bersifat unik. Apabila field dalam tabel acuan ini tidak unik, maka nanti bisa terjadi ketidakkonsistenan data dan ini bisa bahaya.
Nah.. sekarang bagaimana bentuk query SQL nya? ini dia
UPDATE mhs, dummy SET mhs.tgllhr = dummy.tgllhr WHERE mhs.nim = dummy.nim;
Mengapa di dalam nama tabel setelah UPDATE … perlu dituliskan ‘mhs, dummy’? ya.. karena kita bekerja di 2 buah tabel. Selanjutnya maksud dari ‘SET mhs.tgllhr = dummy.tgllhr‘ adalah data pada field ‘tgllhr’ dari tabel ‘mhs’ akan diisi dengan data yang diambil dari field ‘tgllhr’ dari tabel ‘dummy’. Sedangkan guna dari ‘WHERE mhs.nim = dummy.nim‘ adalah menunjukkan acuan bahwa data yang diupdate adalah berdasarkan nim yang sama dari kedua tabel.
Mudah dan cepat bukan?? Semoga tips dari saya ini berguna bagi Anda.

Apakah Anda sedang belajar membuat script CMS sendiri? Jika ya, rasanya belum lengkap deh tanpa fitur yang menampilkan daftar artikel yang terkait dengan sebuah artikel yang sedang dibaca oleh pengunjung blog. Dengan adanya fitur ini, pengunjung akan diarahkan ke artikel lain yang masih berhubungan dengan artikel yang sedang dibacanya sehingga bisa menambah wawasan lebih bagi mereka. Sedangkan efek positif bagi Anda sebagai pemilik situs adalah meningkatnya impression atau page view situs Anda, dan juga membuat visitor lebih tahan berlama-lama untuk menjelajahi situs Anda.
Apabila Anda menggunakan WordPress atau blogging software yang lain, maka fitur untuk menampilkian artikel terkait ini bisa langsung ditanam menggunakan plugin yang disediakan, misalnya YARPP. Namun, bagi Anda yang membuat CMS sendiri tentunya hal ini menjadi tantangan tersendiri. Oleh karena itu dalam artikel ini, saya akan mencoba memaparkan ide untuk membuat modul script yang menampilkan artikel terkait dengan PHP.

Misalkan kita mempunyai CMS dengan struktur tabel database untuk menyimpan data artikel seperti di bawah ini:
CREATE TABLE `artikel` (
`id` int(11) AUTO_INCREMENT,
`judul` varchar(100),
`konten` text,
`tanggal` date,
PRIMARY KEY (`id`)
);
dan andaikan kita sudah memiliki data artikel sbb:
Selanjutnya, kita buat script untuk menampilkan detail isi artikelnya berdasarkan id artikel nya.
artikel.php
<?php
// koneksi ke database
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');

// membaca id artikel
$idartikel = abs((int) $_GET['id']);

// membaca data detail artikel berdasarkan id artikel
$query = "SELECT * FROM artikel WHERE id = '$idartikel'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
?>

<html>
<head>
<title><?php echo $data['judul']?></title>
</head>
<body>
<h1><?php echo $data['judul']?></h1>
<small><em>Tanggal publikasi: <?php echo $data['tanggal']?></em></small>

<div>
<?php echo $data['konten']?>
</div>

<div>
<h3>Artikel Terkait</h3>
<?php
include "function.php";
artikelTerkait($idartikel);
?>
</div>
</body>
</html>
Script di atas digunakan untuk menampilkan konten dari sebuah artikel berdasarkan id artikelnya, dimana untuk menampilkan konten suatu artikel menggunakan URL http://namahost/artikel.php?id=…
Perhatikan perintah
$idartikel = abs((int) $_GET['id']);
perintah tersebut digunakan untuk mencegah SQL injection melalui GET method sebagaimana yang dulu pernah saya tulis artikelnya.
Jika kita perhatikan dari script di atas, maka di bawah isi artikelnya ada bagian sbb:
<div>
<h3>Artikel Terkait</h3>
<?php
include "function.php";
artikelTerkait($idartikel);
?>
</div>
Bagian tersebut digunakan untuk menampilkan daftar artikel yang terkait dengan artikel yang sedang dibaca. Untuk menampilkan daftar artikel yang terkait dengan artikel ber ID $idartikel, saya menggunakan sebuah function dengan nama artikelTerkait($idartikel) dimana $idartikel adalah parameternya. Function ini saya letakkan di file function.php yang terpisah dari script artikel.php. Kalaupun Anda meletakkan functionnya dalam file yg sama dengan artikel.php juga tidak ada masalah :-)
Selanjutnya kita tinjau apa isi dari function artikelTerkait(). Dalam contoh ini, keterkaitan artikel yang dimaksud di sini ditinjau dari kemiripan judul artikelnya. Adapun idenya adalah, kita baca semua judul artikel yang ada dalam database kecuali artikel yang menjadi acuan (artikel ber ID $idartikel). Selanjutnya untuk semua judul artikel ini, kita lihat kemiripannya dengan judul dari artikel yang ber ID $idartikel ini. Kita bisa melihat kemiripan dari judul artikel ini menggunakan function similar_text() yang pernah saya bahas di artikel lain tentang uji kemiripan teks.
Kemudian, karena hasil dari penggunakan similar_text() ini berupa angka dalam bentuk prosentase kemiripan, maka sebaiknya kita membuat semacam batas minimal prosentase atau threshold, yang nantinya digunakan untuk memberi batas minimal kemiripannya. Sebagai contoh misalkan daftar artikel terkait yang ditampilkan hanya artikel yang memiliki tingkat kemiripan 50% ke atas. Hal ini berfungsi untuk memfilter mana artikel yang benar-benar mirip atau tidak. Artikel yang jauh dari mirip, akan memiliki prosentase kemiripan kecil. Tapi besar kecilnya threshold ini sepenuhnya terserah Anda, karena Andalah yang menentukan.
Hal yang menjadi pemikiran berikutnya adalah, bagaimana jika jumlah artikel yang terkait itu ada banyak, misalkan ada 100 buah? tentunya tidak mungkin kita tampilkan semua karena halaman page artikelnya bisa jadi penuh dengan judul-judul artikel sehingga tidak menarik bagi pengunjung. Oleh karena itu kita sebaiknya batasi jumlah artikel terkaitnya. Untuk mengimplementasikan hal ini, setiap judul artikel yang kemiripannya di atas threshold, maka kita simpan ke dalam sebuah array. Selama jumlah artikel dalam array tersebut belum memenuhi batas maksimum jumlah artikel nya, maka judul-judul terkait itu bisa ditambahkan dalam array. Setelah proses ini selesai, barulah kita tampilkan list judul artikel terkaitnya yang ada dalam array tersebut.
Nah… dari ide di atas, kita bisa membuat scriptnya sbb:
function.php
<?php

// koneksi ke database
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');

function artikelTerkait($id)
{
// batas threshold 40%
$threshold = 40;
// jumlah maksimum artikel terkait yg ditampilkan 3 buah
$maksArtikel = 3;

// array yang nantinya diisi judul artikel terkait
$listArtikel = Array();

// membaca judul artikel dari ID tertentu (ID artikel acuan)
// judul ini nanti akan dicek kemiripannya dengan artikel yang lain
$query = "SELECT judul FROM artikel WHERE id = '$id'";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
$judul = $data['judul'];

// membaca semua data artikel selain ID artikel acuan
$query = "SELECT id, judul FROM artikel WHERE id <> '$id'";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
// cek similaritas judul artikel acuan dengan judul artikel lainnya
similar_text($judul, $data['judul'], $percent);
if ($percent >= $threshold)
{
// jika prosentase kemiripan judul di atas threshold
if (count($listArtikel) <= $maksArtikel)
{
// jika jumlah artikel belum sampai batas maksimum, tambahkan ke dalam array
$listArtikel[] = "<li><a href='artikel.php?id=".$data['id']."'>".$data['judul']."</a></li>";
}
}
}

// jika array listartikel tidak kosong, tampilkan listnya
// jika kosong, maka tampilkan 'tidak ada artikel terkait'
if (count($listArtikel) > 0)
{
echo "<ul>";
for ($i=0; $i<=count($listArtikel)-1; $i++)
{
echo $listArtikel[$i];
}
echo "</ul>";
}
else echo "<p>Tidak ada artikel terkait</p>";
}
?>
Mudah bukan membuatnya? Hasil dari script artikel.php?id=… jika dijalankan di browser adalah sebagai berikut:
Nah… selanjutnya Anda bisa kembangkan sendiri script di atas, misalnya jika di dalam CMS Anda ada semacam kata kunci atau tag, maka artikel terkait bisa berdasarkan tag tersebut atau kategori artikel. Bisa juga, list artikel terkait yang muncul disorting dahulu dengan tingkat kemiripan paling tinggi terletak di urutan paling atas misalnya.
Selamat mencoba…

aku ingin nambahin sedikit cara untuk melakukan relasi antar tabel, kita ambil contoh seperti dibawah
buat biar ngak ribet – ribet  silahkan copikan script dibawah ke sql editor

Membuat table ambilmk
CREATE TABLE `ambilmk` (
`nim` VARCHAR(5),
`kodemk` VARCHAR(4),
`nilai` FLOAT,
`smt` VARCHAR(10),
`thajar` VARCHAR(10),
PRIMARY KEY (`nim`,`kodemk`)
);
Membuat table mhs 
CREATE TABLE `mhs` (
`nim` VARCHAR(5),
`namamhs` VARCHAR(20),
`alamat` text,
`tgllhr` DATE,
PRIMARY KEY (`nim`)
);
 
Membuat table mk
CREATE TABLE `mk` (
`kodemk` VARCHAR(4),
`namamk` VARCHAR(20),
`sks` INT(11),
`smt` VARCHAR(10),
PRIMARY KEY (`kodemk`)
);
Mengisi table 
 
INSERT INTO `ambilmk` VALUES ('M001', 'MK01', '3', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M001', 'MK02', '2', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M002', 'MK01', '4', 'GANJIL', '2001-2002');
INSERT INTO `ambilmk` VALUES ('M003', 'MK03', '4', 'GENAP', '2001-2002');
 
INSERT INTO `mhs` VALUES ('M001', 'XXX', 'SOLO', '1990-10-01');
INSERT INTO `mhs` VALUES ('M002', 'YYY', 'SEMARANG', '1992-08-11');
INSERT INTO `mhs` VALUES ('M003', 'ZZZ', 'SOLO', '1991-04-15');
 
INSERT INTO `mk` VALUES ('MK01', 'KALKULUS I', '3', 'GANJIL');
INSERT INTO `mk` VALUES ('MK02', 'GEOMETRI', '2', 'GANJIL');
INSERT INTO `mk` VALUES ('MK03', 'KALKULUS II', '3', 'GENAP');
 
Menapilkan data  dengan nama mk kalkulus 1
SELECT mhs.nim, mhs.namamhs, ambilmk.nilai
FROM mhs, ambilmk, mk
WHERE mhs.nim = ambilmk.nim AND mk.kodemk = ambilmk.kodemk AND mk.namamk = 'KALKULUS I';
 
Menapilkan data dengan relasi
 
SELECT a.nim,a.namamhs,b.nilai
FROM mhs a
LEFT JOIN ambilmk b ON a.nim = b.nim
LEFT JOIN mk c ON c.kodemk = b.kodemk
WHERE c.namamk = 'KALKULUS I';
Dalam struktur aku lebih suka gunain JOIN mau itu left, right, inner, outer dsb
banyak jalan untuk menuju keroma, apapun makanannya minumnya tetep tehbotol sosro :D, apa hubunganya ya...


sekian contoh simple relasi pada SQL semoga dapat sebagai dasar relasi  SQL lanjutnya....

Tutorial PHP yang membahas cara membuat website dinamis menggunakan PHP & MySQL :


Membuat website yang dinamis dapat memanfaatkan bahasa pemograman PHP dan Mysql sebagai database untuk menyimpan seluruh kontens dan data yang di perlukan dalam sebuah website. 






Untuk tutorial nya dapat dengan mudah ditemukan di jagoan PHP berikut cara menurut jagoan php berurutan yang harus anda lakukan untuk memulai Seorang developer Web :


Versi Localhost :


1. Install Xampp ( Win) sedangkan lampp (linux)
2. Siapkan Editor untuk mempermudah penulisan sintak.
3. perancangan Sistem
4. Pencarian data / observasi secara langsung atau buku sebagai tutorial resmi
5. Membuat database dengan Mysql
6. Prinsip Skrip Dasar Pemrograman PHP
7. Mengenal PHP
8. PHP Dasar – Array
9. Operasi – operasi dasar pada PHP MySQL
10. query SQL dengan PHP
11. Tutorial Dasar Koneksi PHP dan Mysql
12. Script PHP Pengolah Password dengan MD5
13.Cara Membuat Form Dinamis Untuk Submit Data dengan PHP14. Membuat Script PHP untuk Hapus Data dengan Multi Selection
15. URL di PHP
16. Menampilkan Data Beberapa Tabel dengan PHP
17. Membuat Searching (Skrip Pencarian Data) PHP
18..Teknik Modularitas di PHP
19. Membuat Galeri Foto dengan PHP
20. Hit Counter Sederhana dengan PHP


Belajar lah tanpa Putus asa...Coding, Coding dan Coding again....

Dalam artikel ini, akan dipaparkan bagaimana cara mencari data NULL ini dalam MySQL.
Oya.. artikel ini saya tulis berdasarkan pengalaman pribadi ketika mengemban tugas negara  (Halah.. kelihatan kalo didramatisir)

Di sini saya akan mengambil contoh sederhana, misalkan kita memiliki tabel ‘mhs’ dengan struktur sebagai berikut
Struktur Tabel dengan NULL
Bila kita perhatikan struktur tabel di atas, maka untuk field ‘alamat’, ‘sex’, dan ‘tgllhr’ membolehkan adanya nilai NULL ini.
Nah.. selanjutnya misalkan kita mengentri beberapa data atau record ke dalam tabel tersebut sebagaimana tampak pada gambar di bawah ini
Data dengan NULL
Dalam contoh tersebut, data mahasiswa bernim ‘M0004′ dan ‘M0005′ sengaja saya buat beberapa nilai kosong pada ketiga field yang membolehkan NULL.
Kemudian, yang menjadi pertanyaan adalah bagaimana cara mencari data mahasiswa yang memiliki nilai NULL tersebut, misalnya pada field ‘alamat’. Siapa sajakah mahasiswa yang alamatnya masih NULL alias belum diisi?
Nah.. untuk mencari mahasiswa dengan alamat masih NULL ini, Anda tidak bisa menggunakan query SQL sebagai berikut
SELECT * FROM mhs WHERE alamat = '';
Bila Anda gunakan query SQL di atas, maka tidak akan muncul hasil yang diharapkan. Ingat !! nilai atau data NULL bukanlah string kosong (empty string).
Lantas.. bagaimana caranya? Caranya adalah dengan menggunakan ‘IS NULL’.
SELECT * FROM mhs WHERE alamat IS NULL;
Bila Anda jalankan query di atas, maka akan menampilkan dua buah record terkait dengan alamat yang NULL sebagaimana tampak pada gambar berikut ini
Data dengan NULL
Untuk mencegah adanya nilai NULL ini, Anda bisa hindari ketika mengcreate tabel pertama kali yaitu dengan menambahkan NOT NULL pada properti fieldnya
CREATE TABLE mhs (
nim varchar(5) NOT NULL,
nama varchar(20) NOT NULL,
alamat text NOT NULL,
sex varchar(1) NOT NULL,
tgllahir date NOT NULL,
PRIMARY KEY(nim)
)
Lantas.. mungkin Anda bertanya dalam hati. Misalkan suatu field diset NOT NULL (tidak boleh ada NULL), maka bagaimana jika field tersebut tidak diisi? Nah… bila field tersebut tidak diisi, maka isi nilainya (default value) adalah karakter kosong (empty string) jika tipe data fieldnya karakter, atau akan bernilai 0 jika tipe datanya berupa bilangan, atau bernilai ’0000-00-00′ untuk tipe data date.
Trus.. bagaimana bila sudah telanjur menset suatu field bisa menerima NULL menjadi tidak membolehkan NULL? Nah.. ubah saja properti field tersebut dengan perintah ALTER seperti contoh berikut ini
ALTER TABLE mhs CHANGE alamat alamat TEXT NOT NULL;
Perintah SQL di atas untuk mengubah status yang membolehkan NULL menjadi NOT NULL pada field ‘alamat’ dalam tabel ‘mhs’.
atau secara umum sintaksnya adalah
ALTER TABLE namatabel CHANGE namafield namafield tipedatafield NOT NULL;
OK paham ya dengan penjelasan di atas? Mudah-mudahan artikel di atas berguna bagi Anda yang sedang pusing dengan cara mencari data NULL dan cara menghindarinya.

Apa yang tidak mungkin jika dengan PHP, mengapa script PHP untuk mengirim email yang Anda buat tidak bisa berjalan di localhost? Sedangkan apabila script tersebut diupload di web hosting, maka script tersebut bisa berjalan dengan baik alias bisa berfungsi untuk mengirim email. Nah.. dalam artikel kali ini, akan saya paparkan cara mengirim email dengan script PHP yang dijalankan melalui localhost menggunakan XAMPP.
Di dalam PHP, terdapat sebuah function yang digunakan untuk mengirim email yaitu mail(); Supaya function tersebut bisa berjalan dengan baik, Anda membutuhkan sebuah module lain di luar PHP yang bertugas untuk mengirim pesan melalui email. Dengan kata lain, penggunaan perintah mail() ini tidak bisa berdiri sendiri hanya di PHP melainkan butuh module lain untuk melakukan tugas pengiriman email. Module yang bisa digunakan adalah untuk pengiriman email ini adalah ‘Sendmail’. Module ‘Sendmail’ ini sudah ada di software-software paket web development seperti XAMPP atau WAMP. Anda bisa cek module ini melalui direktori C:\XAMPP\SENDMAIL. Untuk di WAMP, silakan dicari sendiri ya… 
Nah.. selanjutnya akan saya paparkan bagaimana cara memanfaatkan module ‘Sendmail’ tersebut untuk proses pengiriman email melalui script PHP yang dijalankan melalui localhost.
Langkah pertama, kita harus memodifikasi file php.ini terlebih dahulu untuk mengaktifkan module ‘Sendmail’. Silakan buka file php.ini yang terletak di C:\XAMPP\PHP, kemudian cari baris berikut ini
01.[mail function]
02.; For Win32 only.
03.; http://php.net/smtp
04.; SMTP = localhost
05.; http://php.net/smtp-port
06.; smtp_port = 25
07. 
08.; For Win32 only.
09.; http://php.net/sendmail-from
10.; sendmail_from = postmaster@localhost
11. 
12.; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
13.; http://php.net/sendmail-path
14.sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Pastikan untuk baris
1.sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
tidak ada tanda semicolon (;) di depannya, sedangkan untuk baris yang lain, tambahkan semicolon di depannya seperti tampilan di atas. Setelah file php.ini selesai diedit, simpan kembali dan kemudian lakukan restart Apache.
Selanjutnya, kita memodifikasi file konfigurasi dari module ‘Sendmail’ ini yaitu ‘sendmail.ini’. File ini terletak di dalam direktori C:\XAMPP\SENDMAIL.
Trus… apa yang harus diisikan di dalam file sendmail.ini tersebut?? yang diisikan adalah server SMTP yang akan digunakan untuk pengiriman email. Jika Anda mempunyai account GMAIL, maka silakan isikan
01.defaults
02.logfile "C:\xampp\sendmail\sendmail.log"
03. 
04.# SMTP Gmail
05.account Gmail
06.tls on
07.port 465
08.tls_starttls off
09.tls_certcheck off
10.host smtp.gmail.com
11.from xxx@gmail.com
12.auth on
13.user xxx@gmail.com
14.password xxx
15. 
16.account default : Gmail
Keterangan: pada parameter ‘from’ isikan alamat Gmail Anda, begitu pula untuk parameter ‘user’. Sedangkan pada parameter ‘password’ isikan password Gmail Anda.
Nah… proses setting module ‘Sendmail’ sudah dilakukan, selanjutnya Anda tinggal bikin script untuk kirim emailnya. Sebagai contoh misalkan diberikan script kirim email sederhana berikut ini
1.<?php
2.$tujuan = "rosihanari@gmail.com";
3.$subject = "Contoh Email";
4.$pesan = "Ini hanya contoh email saja";
5.mail($tujuan, $subject, $pesan);
6.?>
Oya… sebelum Anda menjalankan script kirim email, pastikan PC Anda sudah terkoneksi ke internet supaya bisa terhubung dengan SMTP nya Gmail.
Lantas, bagaimana bila Anda tidak punya account di Gmail melainkan punya di Yahoo Mail? Untuk Yahoo Mail, Anda bisa menggunakan SMTP dari Yahoo Mail dengan konfigurasi sbb:
01.defaults
02.logfile "C:\xampp\sendmail\sendmail.log"
03. 
04.# SMTP Yahoo
05.account Yahoo
06.tls on
07.port 465
08.tls_certcheck off
09.tls_starttls off
10.host smtp.mail.yahoo.com
11.from xxx@yahoo.com
12.auth on
13.user xxx@yahoo.com
14.password xxx
15. 
16.# Set a default account
17.account default : Yahoo
atau jika Anda memiliki SMTP server sendiri di web hosting, maka Anda bisa menggunakannya. Untuk detilnya silakan hubungi admin hosting Anda guna mendapatkan alamat SMTP servernya, nomor port dsb.
OK… selamat mencoba ya…

Ya… kali ini kita akan bermain dengan session… kita akan membuat satu program untuk mendeteksi berapa user yang online, baik itu yang sudah terdaftar jadi member maupun yang bukan member…
Perlu diketahui tips ini adalah sambungan dari tulisan saya sebelumnya ( PHP Form Register & Login untuk Member), disarankan sebelum anda memulai dengan satu ini supaya membaca tulisan saya sebelumnya agar nanti tidak kesulitan.
Langkah pertama adalah menyiapkan databasenya

CREATE TABLE dy_sessions (
session_id varchar(70) NOT NULL default '',
session_username varchar(40) default NULL,
session_usermode varchar(5) default NULL,
session_time varchar(40) default NULL,
session_visit varchar(40) default NULL,
session_address varchar(125) default NULL,
session_page varchar(255) default NULL,
PRIMARY KEY (session_id)
) TYPE=MyISAM;

sekarang kita buat script PHPnya :
<?php
/*
MySQL Host, User and Password Access
Ganti nilainya sesuai dengan konfigurasi di server database kamu
*/
$sqlhost="localhost"; //MySQL host
$sqluser="user"; //MySQL user
$sqlpasswd="password"; //MySQL password
/* MySQL Database and Table Prefix
Database ganti dengan nama database kamu
*/
$sqldb="stieven"; //database
$prefix="dy_"; //table prefix
// Sekarang lakukan Koneksi ke database MySQL
$conn=mysql_connect("$sqlhost","$sqluser","$sqlpasswd") or die("<p
align=center>CAN NOT CONNECT TO MYSQL SERVER");
mysql_select_db($sqldb) or die("Warning database not exists!");
//Global Variable
/* register global untuk variable terutama jika register_global=off */
extract($_SERVER,"EXTR_PREFIX_SAME");
extract($HTTP_ENV_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_GET_VARS,"EXTR_PREFIX_SAME");
extract($HTTP_POST_VARS,"EXTR_PREFIX_SAME");
//timezone format
$gmt=date("Z");
//Session Time
$session_time=date("U");
//session ID
$session_id=session_id();
//cek apakah sudah login atau belum
if (!$HTTP_SESSION_VARS["userakses"]) {
$session_user="Guest";
$session_mode="-1";
}
else {
$session_user=$HTTP_SESSION_VARS["userakses"];
$session_mode=$HTTP_SESSION_VARS["usermode"];
}
//mengambil record lama session dari database
$sesGet=mysql_query("select * from ". $prefix ."sessions where
session_id='$session_id'");
$session=mysql_fetch_array($sesGet);
//IP address
$ipaddress=$REMOTE_ADDR;
//update user session jika suda ada dan jika tidak ada bikin baru
if ($session[session_id]) {
mysql_query("update ". $prefix ."sessions set
session_time='$session_time', session_page='". $REQUEST_URI ."'
,session_username='$session_user', session_address='$ipaddress'
,session_usermode='$session_mode' where session_id='$session_id'");
}
else {
mysql_query("insert into ". $prefix ."sessions
(session_time,session_visit,session_username,session_usermode,session_
id,session_address,session_page)
values('$session_time','$session_time','$session_user',' $sessio
n_mode','$session_id','$ipaddress','". $REQUEST_URI ."')
");
}
//Batas Session Time
$cekSess=$session_time-300;
//Total Semua yang online
$sesGets=mysql_query("select count(*) from ". $prefix ."sessions where
session_time>='$cekSess'");
$session_crt=mysql_fetch_row($sesGets);
//Total online non member
$sesGetss=mysql_query("select count(*) from ". $prefix ."sessions where
session_time>='$cekSess' and session_usermode<=0");
$session_crts=mysql_fetch_row($sesGetss);
//Total Online Member
$sesGetsss=mysql_query("select count(*) from ". $prefix ."sessions where
session_time>='$cekSess' and session_usermode>=1");
$session_crtss=mysql_fetch_row($sesGetsss);
//Hapus session yang sudak ekspire
mysql_query("delete from ". $prefix ."sessions where
session_time<'$cekSess'");
echo "Online $session_crt[0] : Member $session_crtss[0] - Non Member
$session_crts[0]";
?>
Jadi deh… gampang bukan ???

Pada artikel kali ini saya akan menulis artikel cara membuat script PHP untuk restore database MySQL sebagai kelanjutan dari artikel tersebut.
Adapun skenario dari script untuk restore data MySQL sebagai berikut. Andaikan kita telah memiliki file hasil dump database. Selanjutnya, untuk merestore hasil dump tersebut kita browse file dump lalu kita klik tombol prosesnya. Selesai… Namun dalam hal ini, kita sudah tentukan dulu nama databasenya.
Berikut ini adalah tampilan form untuk melakukan restore data.
restore mysql
Bagaimana dengan ide proses restorenya? Untuk proses restore data di MySQL, kita gunakan perintah

1.mysql -u[username] -p[password] dbname < filedump
dengan [username] adalah nama user untuk koneksi ke MySQL, [password] adalah password dari si user. ‘dbname‘ adalah nama database dimana kita ingin merestore data, dan ‘filedump‘ adalah nama file hasil dump (backup). Perintah ini nanti dijalankan di dalam shell.
Lantas… bagaimana dengan ide script untuk restorenya? OK idenya adalah kita lakukan proses upload file dump melalui form. File dump ini akan diupload ke dalam folder yang sama dengan script untuk restore. Setelah file dump diupload, selanjutnya file dump tersebut akan direstore menggunakan perintah di atas. Begitu proses dump selesai, kita hapus file dump yang kita upload tersebut dengan perintah unlink() supaya terhapus secara otomatis.
OK.. ide untuk membuat script restore sudah dapat, sekarang kita bisa buat scriptnya.
restore.php
<?php
// koneksi ke db mysql
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "...";
$dbName = "...";
mysql_connect($dbHost, $dbUser, $dbPass);
mysql_select_db($dbName);
echo "<h1>Restore Data MySQL</h1>";
echo "DB Name: ".$dbName;
// form upload file dumo
echo "<form enctype='multipart/form-data' method='post' action='".$_SERVER['PHP_SELF']."?op=restore'>";
echo "<input type='hidden' name='MAX_FILE_SIZE' value='20000000'><input name='datafile' type='file'><input name='submit' type='submit' value='Restore'>";
echo "</form>";
// proses restore data
if ($_GET['op'] == "restore")
{
// baca nama file
$fileName = $_FILES['datafile']['name'];
// proses upload file
move_uploaded_file($_FILES['datafile']['tmp_name'], $fileName);
// membentuk string command untuk restore
// di sini diasumsikan letak file mysql.exe terletak di direktori C:\AppServ\MySQL\bin
$string = "C:\AppServ\MySQL\bin\mysql -u".$dbUser." -p".$dbPass." ".$dbName." < ".$fileName;
// menjalankan command restore di shell via PHP
exec($string);
// hapus file dump yang diupload
unlink($fileName);
}
?>
Bagaimana? mudah bukan membuatnya? nah silakan adopsi ide di atas ke dalam aplikasi yang Anda buat sendiri. Sebuah aplikasi tanpa fitur backup and restore database serasa masakan tanpa garam :-) Selamat mencoba sendiri ya…
Diberdayakan oleh Blogger.