Thursday 8 December 2011

Membuat Fasilitas Komentar Sederhana dengan PHP dan MySQL

Beberapa waktu yang lalu ada permintaan untuk men-share cara membuat fasilitas komentar seperti yang saya gunakan di website ini. Karena itulah, di sini akan saya share contoh sederhana untuk membuat fasilitas komentar dengan menggunakan PHP dan MySQL. Bagi yang sudah terbiasa coding dengan PHP dan MySQL mungkin bisa dilewati saja bagian ini.


Untuk mempermudah, saya sudah menyediakan beberapa file PHP dan query MySQL yang akan digunakan. Silahkan download file komentar.zip. Setelah di-ekstrak Anda akan menemukan 2 file PHP dan 1 file SQL. Copy file PHP ke folder htdocs web server Anda. Sedangkan untuk file SQL dapat langsung di-import ke database.

Contoh yang saya berikan adalah kode program untuk menambahkan komentar pada artikel yang telah kita buat sebelumnya. Karena itulah, pada tabel comment disediakan field article_id yang akan menghubungkan komentar dengan artikel.

CREATE TABLE `comment` (
`id` int(11) NOT NULL auto_increment,
`article_id` int(11) default NULL,
`name` varchar(50) default NULL,
`email` varchar(100) default NULL,
`comment` text,
`date` datetime default NULL,
PRIMARY KEY (`id`)
)

Buatlah form input komentar sederhana yang terdiri dari nama, email dan komentar. Untuk menghindari spam dan flooding, Anda dapat menggunakan Captcha. Saya menambahkan fungsi sederhana dengan tujuan yang sama.

function create_code() {
$temp = explode(" ", microtime());
$recnum = str_replace(".", "", $temp[1].$temp[0]);

$rcode = hexdec(md5($recnum));
$code = substr($rcode, 2, 6);

$_SESSION['tmp']['captcha'][0] = $recnum;
$_SESSION['tmp']['captcha'][1] = $code;

return array($recnum, $code);
}

Tambahkan form input HTML untuk memasukkan kode verifikasi. Kemudian, gunakan fungsi berikut untuk mem-verifikasi apakah kode yang dimasukkan sudah benar atau tidak.

function verify_code($rec_num, $checkstr) {
if ($_SESSION['tmp']['captcha'][0] == $rec_num) {
$code = $_SESSION['tmp']['captcha'][1];
$_SESSION['tmp']['captcha'] = '';
return ($checkstr == $code);
}
return FALSE;
}

Jika semua proses verifikasi sudah dilakukan, selanjutnya tinggal meng-input-kan semua data ke dalam database.

mysql_query("INSERT INTO comment (article_id, name, email, comment, date) VALUES ({$id}, '{$nama}', '{$email}', '{$pesan}', NOW() )");

Dengan demikian, komentar dari pengunjung website akan disimpan dan dapat ditampilkan.

2 comments:

makasih mas, tutorialnya sngt membantu.

Tutorialnya sangat membantu. Terima kasih.
Salam, Digital Lab - IT Konsultan Indonesia

Post a Comment

Enter your email address:

Delivered by FeedBurner

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More