Minggu, 19 Oktober 2008

Program Error

Pada kesempatan kali ini Saya ingin menunjukkan aplikasi program berbasis web yang error ketika dimasukkan karakter atau nilai yang aneh kedalam form isian, contohnya Form Login, Guest book, komentar dan lainnya.

Program errror yang Saya buat adalah aplikasi guest book dengan menggunakan database Mysql dan menggunakan script PHP. File PHP yang dibuat terdiri dari dua File, yaitu gsbook,php dan view.php. Saya mengambil referensi dari http://altes.deltaploterindo.com/index.php?view=artikel&code=10002.

A. Database yang dibuat pada mysql dibuat dengan nama guestbook dan nama tabelnya login, dengan struktur sebagai berikut :

1. `id` int(11) NOT NULL auto_increment,

2. `sender` varchar(100) NOT NULL default '',

3. `comment` text NOT NULL,

4. `posted` varchar(30) NOT NULL default '',

5. PRIMARY KEY (`id`)

Print screen dari database mysql bisa dilihat pada gambar berikut.

A. File PHP yang dibuat untuk menjalankan aplikasi guest book ini ada dua, yaitu :
  1. File gsbook.php dengan script sebagai berikut
<script language="javascript">
function smile(y)
{
espressione=document.form_gsbook.message.value;
new_espressione=espressione + y;
document.form_gsbook.message.value=new_espressione;
}
</script>

<?php

$_POST=$HTTP_POST_VARS;

$error = ''; // error message
$sender = ''; // sender's name
$message = ''; // the message itself

if(isset($_POST['submit']))
{
$sender = trim(strip_tags($_POST['sender']));
$message = trim(strip_tags($_POST['message']));

if(trim($sender) == '')
{
$error = '<div class="errormsg2">Please enter your name!</div>';
}
else if(trim($message) == '')
{
$error = '<div class="errormsg2">Please enter your message!</div>';
}
if($error == '')
{
if(get_magic_quotes_gpc())
{
$message = stripslashes($message);
}
$conn = mysql_connect("", "root", "");
mysql_select_db("guestbook",$conn);

$date = date("M d, Y H:i:s");
$perintah = "INSERT INTO login(`sender` , `comment` , `posted` )
VALUES ('$sender', '$message', '$date');";
$hasil = mysql_query($perintah);
if($hasil)
{
echo "<h2>Terima kasih atas komentar anda !</h2>";
echo "<meta http-equiv=\"refresh\" content=\"1;url=./view.php\">";
}
else
{
echo "<h2>Komentar anda gagal di simpan, eror pada server !</h2>";
echo "<meta http-equiv=\"refresh\" content=\"1;url=./gsbook.php\">";
}
}
}

if(!isset($_POST['submit']) || $error != '')
{
?>

<!--Error Message-->
<?=$error;?>

<p><h1>GUESTBOOK ISNAIN FIKRIANSYAH</h1></p>
<form name="form_gsbook" method="post" onsubmit="return jcap();" action="">
<table width="0" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100">Sender</td>
<td width="10">:</td>
<td>
<input name="sender" type="text" id="sender" value="<?=$sender;?>"> </td>
</tr>
<tr>
<td>Comment</td>
<td>:</td>
<td width="200"><textarea name="message" cols="35" rows="5" id="message"><?=$message;?></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20%" height="25"><img src="emoticons/yahoo_brokenheart.gif" width="18" height="18" onClick="smile(' [brokenheart]')" title="brokenheart"></td>
<td width="20%"><img src="emoticons/yahoo_bye.gif" width="18" height="18" onClick="smile(' [bye]')" title="bye"></td>
<td width="20%"><img src="emoticons/yahoo_callme.gif" width="28" height="18" onClick="smile(' [callme]')" title="callme"></td>
<td width="20%"><img src="emoticons/yahoo_coffee.gif" width="18" height="18" onClick="smile(' [coffee]')" title="coffee"></td>
<td><img src="emoticons/yahoo_cry.gif" width="22" height="18" onClick="smile(' [cry]')" title="cry"></td>
</tr>
<tr>
<td height="25"><img src="emoticons/yahoo_devil.gif" width="18" height="18" onClick="smile(' [devil]')" title="devil"></td>
<td><img src="emoticons/yahoo_ghost.gif" width="18" height="18" onClick="smile(' [ghost]')" title="ghost"></td>
<td><img src="emoticons/yahoo_kiss.gif" width="18" height="18" onClick="smile(' [kiss]')" title="kiss"></td>
<td><img src="emoticons/yahoo_party.gif" width="38" height="18" onClick="smile(' [party]')" title="party"></td>
<td><img src="emoticons/yahoo_rotfl.gif" width="30" height="18" onClick="smile(' [rotfl]')" title="rotfl"></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
<input name="hapus" type="reset" id="hapus" value="Hapus">
<input name="submit" type="submit" id="submit" value="Simpan" onclick="return checkForm();"> </td>
</tr>
</table>
</form>
<?php
}
?>

2. File view.php. dengan script sebagai berikut

<a href="gsbook.php">Isi GSBook </a>
<h2>List guestbook</h2>
<?php
$conn = mysql_connect("", "root", "");
mysql_select_db("guestbook",$conn);

$perintah = "SELECT * FROM login ORDER BY sender DESC";
$hasil = mysql_query($perintah);
$no=1;
while($baris = mysql_fetch_row($hasil))
{
$msg = $baris[2];

$message1 = str_replace('[brokenheart]','<img src="emoticons/yahoo_brokenheart.gif" border="0">',$msg);
$message2 = str_replace('[bye]','<img src="emoticons/yahoo_bye.gif" border="0">',$message1);
$message3 = str_replace('[callme]','<img src="emoticons/yahoo_callme.gif" border="0">',$message2);
$message4 = str_replace('[coffee]','<img src="emoticons/yahoo_coffee.gif" border="0">',$message3);
$message5 = str_replace('[cry]','<img src="emoticons/yahoo_cry.gif" border="0">',$message4);
$message6 = str_replace('[devil]','<img src="emoticons/yahoo_devil.gif" border="0">',$message5);
$message7 = str_replace('[ghost]','<img src="emoticons/yahoo_ghost.gif" border="0">',$message6);
$message8 = str_replace('[kiss]','<img src="emoticons/yahoo_kiss.gif" border="0">',$message7);
$message9 = str_replace('[party]','<img src="emoticons/yahoo_party.gif" border="0">',$message8);
$message10 = str_replace('[rotfl]','<img src="emoticons/yahoo_rotfl.gif" border="0">',$message9);

echo "$no
<table width=\"400\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td height=\"25\">Sender : $baris[1]</td>
<td align=\"right\">$baris[3]</td>
</tr>
<tr>
<td colspan=\"2\">$message10</td>
</tr>
</table><br>";
$no++;
}
?>

Setelah database dibuat dan script PHP selesai, tampilan program aplikasi guestbook dapat dilihat sebagai berikut :


Setelah aplikasi dijalankan kemudian kolom sender dan comment diisi dengan karakter yang biasa digunakan, aplikasi dapat berjalan dan melakukan penyimpanan dengan sukses. Setelah penulis mencoba memasukkan karakter yang aneh dan banyak, aplikasi tidak berhasil melakukan penyimpanan data baru. Karakter dan tampilan aplikasi ketika diinput karakter aneh dan setelah dieksekusi bisa dilihat pada gambar berikut.

Sender : aaaaa (sebanyak 19.320 karakter)

Comment : salam kenal (sebanyak 19.320 karakter)




Berdasarkan percobaan di atas, program aplikasi guestbook tersebut ternyata tidak bisa melakukan penyimpanan karakter terlalu banyak.

1 komentar:

Unknown mengatakan...

Blajar aaah...
Langsung praktk ne