TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


 photo 300x250_zpsff09f9e7.gif
Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Membuat Buku Tamu dengan Emoticons


October 11th, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

GampSMS SMS Gateway

Tentu Anda sudah mengetahui tentang emoticons. Emoticons adalah ikon atau simbol teks yang dapat mengekspresikan emosi manusia. Sebagai contoh misalnya simbol :-) bermakna seseorang sedang tersenyum, :-( mempunyai arti sedang sedih, dan sebagainya. Emoticons ini pada awalnya muncul pada chat, namun sekarang banyak diadopsi ke aplikasi web, seperti forum diskusi, buku tamu atau bahkan di CMS misalnya WordPress. Dalam aplikasi web tersebut, apabila seseorang menuliskan emoticons (dalam bentuk teks) maka secara otomatis akan tampil suatu image yang menggambarkan emosi orang.

Nah… pada tutorial ini hanya akan dibahas bagaimana membuat buku tamu dengan fasilitas emoticons seperti yang dijelaskan di atas.

Ide dasar untuk mengubah suatu simbol teks emoticons ke dalam bentuk image untuk buku tamu ini adalah dengan dengan melakukan replace substring dari simbol teks emoticons menjadi tag image untuk HTML. Sebagai contoh misalkan ada suatu string komentar dalam buku tamu sbb:

Hallo apa kabar :-) Senang mengunjungi web Anda!

Implementasi dari ide dasar tersebut adalah, mengganti :-) dengan tag . Dalam hal ini path/image adalah path menuju file image yang terkait dengan emosi tersenyum. Dengan kata lain, kita harus menyiapkan terlebih dahulu emoticons dalam bentuk image yang diletakkan dalam satu folder.

Lantas… dari mana kita memperoleh file-file emoticons berbentuk image tersebut? Gampang.. bila komputer Anda sudah terdapat Yahoo Messenger (YM), tinggal kopi saja file image emoticons tersebut dari C:\Program Files\Yahoo!\Messenger\Media\Smileys.

Trus… bagaimana mengkaitkan antara file emoticons dari YM tersebut dengan simbol teksnya? Ini juga gampang… di dalam folder di atas terdapat file emoticons.xml. Bukalah file tersebut… File XML ini menggambarkan hubungan antara emoticons berupa teks dengan file image nya. Misalnya:

<emoticon fname="1" id="1" sendable="1" title="smile">
  <shortcuts>
     <shortcut>:)</shortcut>
     <shortcut>:-)</shortcut>
     <shortcut>(-:</shortcut>
     <shortcut>(:)</shortcut>
     <shortcut network="2">:)</shortcut>
  </shortcuts>
  <file>
     <type checksum="esq2lwBbQt92U0SFK7klQw--" extension="gif" height="18" size="1197" width="18"/>
     <type checksum="VSTlhO3g.rDoE_IJlnHqBg--" extension="swf" size="1158" width="20"/>
     <type extension="bmp"/>
  </file>
</emoticon>

Maksud dari blok di atas adalah bahwa emosi tersenyum (title=”smile”) dapat disimbolkan dengan :) , :-) , (-: atau (:). Trus.. nama file image yang terkait dengan simbol teks ini adalah “1″, perhatikan atribut fname=”1″ dan tag . Dalam hal ini, dalam folder Smiley YM tersedia image dalam bentuk BMP dan GIF. Silakan pilih salah satu.

OK… begitulah cara mendapatkan emoticons berbentuk teks dan gambar yang sesuai. Selanjutnya kita kembali lagi ke masalah awal. Kita akan mulai membuat buku tamu dengan fasilitas emoticons.

Langkah pertama, kita siapkan dahulu tabel database untuk menyimpan data komentar buku tamu yang masuk

CREATE TABLE guestbook (
  id int(11) auto_increment,
  nama varchar(20),
  email varchar(20),
  url varchar(30),
  komentar text,
  tanggal date,
  PRIMARY KEY(id)
)

Langkah kedua, kita buat form isian buku tamunya

bukutamu.php

<h1>Buku Tamu</h1>

<form method="post" action="simpan.php">
<table>
<tr><td>Nama Pengunjung</td><td>:</td><td><input type="text" name="nama"></td></tr>
<tr><td>Email</td><td>:</td><td><input type="text" name="email"></td></tr>
<tr><td>URL</td><td>:</td><td><input type="text" name="url" value="http://"></td></tr>
<tr><td>Komentar</td><td>:</td><td><textarea name="komentar"></textarea></td></tr>
<tr></td><td></td><td><td><input type="submit" name="submit" value="Submit"> <input type="reset" name="reset" value="Reset"></td></tr>
</table>

</form>

Langkah ketiga, kita buat script PHP untuk menyimpan data buku tamu yang diisikan lewat form di atas

simpan.php

<?php

mysql_connect("localhost","root","root");
mysql_select_db("data");

$nama = $_POST['nama'];
$email = $_POST['email'];
$url = $_POST['url'];
$komentar = $_POST['komentar'];
$tanggal = date("Y-m-d");

$kueri = "INSERT INTO guestbook(nama, email, url, komentar, tanggal)
          VALUES('$nama', '$email', '$url', '$komentar', '$tanggal')";
$hasil = mysql_query($kueri);

if ($hasil) echo "Pengisian buku tamu sukses";
else echo "Pengisian buku tamu gagal";

?>

Apabila kita lihat script di atas, maka pada dasarnya tidak ada yang istimewa karena hal ini merupakan proses insert data biasa ke tabel database. Dalam hal ini, komentar yang disimpan ke dalam tabel database adalah data apa adanya seperti yang diisikan ke dalam form (emoticon berbentuk teks belum di replace dengan tag )

Nah… langkah terakhir, kita buat script untuk menampilkan isi buku tamu. Pada script ini nanti, barulah emoticons teks diubah ke tag . Bagaimana cara menggantinya? mudah saja bro… tinggal gunakan function str_replace().

isi.php

<?php

mysql_connect("localhost","root","root");
mysql_select_db("data");

// query sql untuk menampilkan record disort berdasarkan id scr descending

$query = "SELECT * FROM guestbook ORDER BY id DESC";
$hasil = mysql_query($query);
while($data = mysql_fetch_array($hasil))
{
$komentar = $data['komentar'];

// mengubah emoticons teks ke bentuk image dengan menggunakan tag <img>

$komentar = str_replace(":-)", "<img src=\"smiley/1.gif\">", $komentar);
$komentar = str_replace(":-(", "<img src=\"smiley/2.gif\">", $komentar);
$komentar = str_replace(";-)", "<img src=\"smiley/3.gif\">", $komentar);
$komentar = str_replace(";-D", "<img src=\"smiley/4.gif\">", $komentar);
$komentar = str_replace(";;-)", "<img src=\"smiley/5.gif\">", $komentar);
$komentar = str_replace("<:D>", "<img src=\"smiley/6.gif\">", $komentar);

echo "<table>";
echo "<tr><td>Nama</td><td> :</td><td> ".$data['nama']."</td></tr>";
echo "<tr><td>Email</td><td> : </td><td><a href=mailto:".$data['email'].">".$data['email']."</a></td></tr>";
echo "<tr><td>Tanggal Kirim</td><td> : </td><td>".$data['tanggal']."</td></tr>";
echo "<tr><td>URL</td><td> : </td><td><a href=".$data['url'].">".$data['url']."</a></td></tr>";
echo "<tr><td>Komentar</td><td> : </td><td>".$komentar."</td></tr>";
echo "</table><hr>";
}
?>

Catatan:
Untuk menjalankan script isi.php ini, folder bernama smiley harus sudah ada terlebih dahulu, begitu pula image-imagenya.

Nah… mudah bukan cara membuatnya? Mudah-mudahan ada manfaatnya buat Anda. Anda dapat pula mendownload script yang saya tulis di atas (beserta image smiley nya), berikut ini

Download Script

Tips ini persembahan dari blog.rosihanari.net. So… stay tune terus di blog ini karena akan selalu muncul tips-tips pemrograman menarik buat Anda.


Baca Juga Artikel Terkait
Membuat Auto Deletion (Hapus Otomatis) Data Dengan Script PHP
Membuat Thumbnail Image dengan Script PHP
Buku Platinum Matematika untuk SMA
PHP Dasar – Komentar dalam PHP
Manipulasi Image dengan PHP


 photo 300x250_zpsff09f9e7.gif
Slot iklan tersedia, pasang iklan di atas


Kata kunci: emoticon - PHP - script -


Ada 84 komentar dalam artikel ini.



  1. TOUR DI BALI says:

    Situs anda informatif dan bermanfaat sekali untuk kepentingan umum. Mohon dipertahankan prestasinya agar lebih banyak lagi netter yang dapat merasakan manfaatnya. Terima kasih atas kesempatan interaktif yang diberikan untuk pengunjung. Salam sukses dari http://tourdibalis.webs.com/

  2. Tidak ada yang perlu di koreksi,,, situs anda sangat berguna unt publik. Pertahankan dan kembangkan terus prestasi yg sudah ada. Salam sukses dari http://jualfacebook.webs.com/

  3. urip says:

    mas bro, cara membuat balasan untuk admin pada buku tamu gimana c?

    tolong kirimin ke email saya dong.makasih

  4. Siiip !!! Saya sangat senang dgn content situs anda,,, kembangkan terus dan pertahankan prestasi situs anda agar para netter tetap dapat merasakan manfaat situs anda. Salam sukses dari http://traveldibali.webs.com/

  5. zami says:

    mantap tp cara hapus komentar’a jg dng heheheh
    biar tambah komplit mksh

  6. cahyo says:

    Dari berbagai script bukutamu…..
    Script yang anda tulis enak, mudah dipahami, memberikan pencerahan karena saya sudah 3 hari 3 malam berperanng dengan php mysql n javascript.. Jempol buat situs ini :-D

    • rosihanari says:

      @cahyo: jempol juga untuk anda atas usaha dan kerja keras anda dalam coding… smoga sukses :-)

  7. d-zeis says:

    mantap tutornya.. makasih banyak.. sukses pasang di blog anee :D

  8. Blog walking. Situs anda bermanfaat sekali. Pertahankan prestasinya agar lebih banyak lagi pengguna internet yg dpt merasakan manfaatnya. Salam dari kami http://bahasajepangs.webs.com/.

  9. nita says:

    Sekalian bisa ditambahkan jam nya. tambahkan : $jam = gmdate(“H:i:s”, time()+60*60*7); di file simpan.php

    Tapi tambahkan dulu field jenis time di database nya.

    Setelah itu insertnya menjadi :
    $kueri = “INSERT INTO guestbook(nama, email, url, komentar, tanggal, jam)

    VALUES(‘$nama’, ‘$email’, ‘$url’, ‘$komentar’, ‘$tanggal’, ‘$jam’)”;

    Jam di atas untuk waktu GMT +7

    :)

    good luck ;)

    Makasih mas ari…

    by : nyoba-nyoba

  10. andi says:

    gan, kg untuk proses simpan kg yg masuk di database cm date nya j ya?terus kg munculnya gagal masukan di database
    ..mohon pencerahnnya



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*