Jumat, 20 Juli 2012

Membuat Guestbook Dengan PHP dan File TXT

Pada artikel sebelumnya, kita membahas tentang cara membuat guestbook dengan menggunakan php dan mysql. Nah, pada postingan saya kali ini memang tentang hal yang sama, yaitu tentang pembuatan guestbook. Tapi yang membedakannya adalah tempat penyimpanan data-datanya, pada artikel sebelumnya kita menggunakan database mysql sebagai tempat penyimpanan, tapi disini kita akan menggunakan file text alias file yang berformat .txt
Bagaimana cara membuatnya?

Pada guestbook ini, pengguna harus memasukkan nama, email, dan pesannya. Jadi algoritmanya bisa dianalogikan seperti berikut:
Ketika pengguna datang (membuka halaman), script akan memeriksa apakah file penyimpanan sudah ada atau belum, jika belum, maka pada saat itu pula file penyimpanan akan langsung dibuat. Jika sudah maka halaman bisa langsung ditampilkan. Karena tempat penyimpanannya bukan berupa database, maka kita perlu memisah-misah data inputannya agar bisa dibedakan nantinya seperti nama, email, dan pesan.
Nah, ketika pengguna memasukkan inputan yang berupa nama, email, dan pesan, script akan menganalisa apakah pengguna tersebut sudah memasukkan semua data yang diperlukan atau belum, jika belum maka akan gagal, tapi jika sudah maka akan langsung disimpan ke dalam file penyimpanan.
So, bagaimana scriptnya?
Kalau menurut versi saya akan seperti script dibawah, tapi ya terserah Anda mau yang bagaimana. :)
Buat file guestbook.php dengan isi sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
$penyimpanan = "data.txt";if (!file_exists($penyimpanan)){
$open = fopen($penyimpanan, "w");
fputs($open, ' ');
fclose($open);
}else
if (isset($_POST['nama'])){
if ($_POST['nama'] && $_POST['email'] && $_POST['pesan']){
$open = fopen($penyimpanan, "a");
$data = $_POST['nama'].';'.$_POST['email'].';'.$_POST['pesan'].';';
fwrite($open, $data);
fclose($open);
 
$hasil[1] = 'Pesan Anda berhasil terkirim!';
}else $hasil[0] = 'Anda harus mengisi semua kotak isian yang disediakan!';
}
?>
 
<html>
<head>
<title>Guestbook Sederhana TXT</title>
</head>
<body>
<!-- Awal Formulir -->
 
<form method="post">
<table  align="center" width="400">
<tr><td colspan="2" align="center"><h2>Guestbook Sederhana</h2><hr /><?php
if ($hasil[0]) echo '<strong>'.$hasil[0].'</strong>';
elseif ($hasil[1]) echo '<strong>'.$hasil[1].'</strong>';
?></td></tr>
<tr><td>Nama</td><td>: <input type="text" name="nama" size="40" /></td></tr>
<tr><td>Email</td><td>: <input type="text" name="email" size="40" /></td></tr>
<tr><td valign="top">Pesan</td><td valign="top">: <textarea name="pesan" cols="30"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="reset" value="Hapus" /> <input type="submit" value="Kirim" /></td></tr>
</table>
 
</form>
<!-- Akhir Formulir -->
 
<!-- Awal Isi Guestbook -->
<table  align="center" width="400">
<tr><td align="center"><hr /><h2>Isi Guestbook:</h2><hr /></td></tr>
<tr><td><p><strong>
<?php
$open = fopen($penyimpanan, "r");
$data = fread($open, filesize($penyimpanan));
fclose($open);
 
$pecah = explode(';', $data);
foreach ($pecah as $out)
echo $out.'<hr/>';
?>
 
</table>
<!-- Akhir Isi Guestbook -->
</body>
</html>
Nah, kalau Anda menggunakan file penyimpanan selain database, Anda tidak perlu menggunakan koneksi ke database server, tapi tidak enaknya ya hasilnya kurang memuaskan karena untuk menampilkannya agak sedikit susah. Hehe.. :)
Oke, just try this.. :)
◄ Newer Post Older Post ►