¾È³çÇϼ¼¿ä.
¾Õ °Á¿¡ ÀÌ¾î¼ "±Û ¸ñ·Ï" ¹× "±Û Àбâ" ±â´ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù.
±â´ÉÀ» ±¸ÇöÇϱ⿡ ¾Õ¼, µ¥ÀÌŸº£À̽º ¿¬°áÀ» ÇØ ÁÖ´Â Äڵ带 º°µµÀÇ ÆÄÀÏ(dbconn.inc)·Î ÀÛ¼ºÇÑ µÚ, ±× ÄÚµå ÆÄÀÏÀ» DB Äõ¸® ±¸¹®ÀÌ »ç¿ëµÇ´Â ÆÄÀÏ ¾È¿¡¼ include ¹®À» ÅëÇØ Æ÷ÇÔ½Ã۵µ·Ï ÇϰڽÀ´Ï´Ù.
¹Ù·Î, ¾Æ·¡¿¡ º¸ÀÌ´Â Äڵ尡 ¿ì¸®°¡ ¾Õ °Á¿¡¼ »õ·Î »ý¼ºÇÑ "bbs" µ¥ÀÌŸº£À̽º¿¡ ¿¬°áÇØ ÁÖ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
<?
$db_name = "bbs";
$user_name = "phper";
$user_password = "phper2003";
$dbconn = mysql_connect("localhost", $user_name, $user_password);
$status = mysql_select_db($db_name, $dbconn);
?>
±×·³, º»°ÝÀûÀ¸·Î °Ô½ÃÆÇÀÇ "±Û ¸ñ·Ï" ¹× "±Û Àбâ" ±â´ÉÀ» ±¸ÇöÇØº¸°Ú½À´Ï´Ù.
<?
include "./dbconn.inc";
$table_name = "board_free";
if(!strcmp($mode, "read")) {
$query = "update $table_name set hit = hit + 1 where uno = $read_uno";
$result = mysql_query($query, $dbconn);
$query = "select name, email, homepage, subject, content, client_ip, html_tag
from $table_name where uno = $read_uno";
$result = mysql_query($query, $dbconn);
$name = mysql_result($result, 0, 0);
$email = mysql_result($result, 0, 1);
$homepage = mysql_result($result, 0, 2);
$subject = mysql_result($result, 0, 3);
$content = mysql_result($result, 0, 4);
$client_ip = mysql_result($result, 0, 5);
$html_tag = mysql_result($result, 0, 6);
$subject = htmlspecialchars($subject);
$subject = stripslashes($subject);
if(strcmp($html_tag, "on"))
$content = htmlspecialchars($content);
$content = stripslashes($content);
$content = nl2br($content);
?>
<table width = "750" border = "1" cellspacing = "0" cellpadding = "0">
<tr>
<td width = "100">
±Û ¾´ÀÌ
</td>
<td width = "650">
<?
if($email)
echo("<a href = \"mailto:$email\">$name</a>");
else
echo("$name");
?>
</td>
</tr>
<tr>
<td>
ȨÆäÀÌÁö
</td>
<td>
<?
if($homepage)
echo("<a href = \"$homepage\" target = \"_blank\">$homepage</a>");
else
echo("ȨÆäÀÌÁö ¾øÀ½");
?>
</td>
</tr>
<tr>
<td width = "100">
±Û Á¦¸ñ
</td>
<td width = "650">
<?echo("$subject");?>
</td>
</tr>
<tr>
<td width = "100">
±Û ³»¿ë
</td>
<td width = "650">
<?echo("$content");?>
<br><br>
<?echo("IP Address : $client_ip");?>
</td>
</tr>
</table>
<br>
<table width = "750" border = "0" cellspacing = "0" cellpadding = "0">
<tr>
<td width = "375">
<a href = "./list.html">[±Û ¸ñ·Ï]</a>
<a href = "./write.html?mode=form">[±Û ¾²±â]</a>
</td>
<td width = "375" align = "right">
<a href = "./reply.html?mode=form&reply_uno=<?echo("$read_uno");?>">[´ä±Û ¾²±â]</a>
<a href = "./modify.html?mode=form&modify_uno=<?echo("$read_uno");?>">[±Û ¼öÁ¤]</a>
<a href = "./delete.html?mode=form&delete_uno=<?echo("$read_uno");?>">[±Û »èÁ¦]</a>
</td>
</tr>
</table>
<br>
<?
}
?>
<table width = "750" border = "1" cellspacing = "0" cellpadding = "0">
<tr>
<td width = "50" align = "center">
¹øÈ£
</td>
<td width = "420" align = "center">
±Û Á¦¸ñ
</td>
<td width = "100" align = "center">
±Û ¾´ÀÌ
</td>
<td width = "100" align = "center">
µî·Ï ÀÏÀÚ
</td>
<td width = "80" align = "center">
Á¶È¸¼ö
</td>
</tr>
<?
$query = "select uno, gno, reply_depth, name, email, subject, register_date, hit
from $table_name order by gno desc, reply_depth asc";
$result = mysql_query($query, $dbconn);
$total_record = mysql_num_rows($result);
$article_no = $total_record;
for($i = 0; $i < $total_record; $i++) {
$uno = mysql_result($result, $i, 0);
$gno = mysql_result($result, $i, 1);
$reply_depth = mysql_result($result, $i, 2);
$name = mysql_result($result, $i, 3);
$email = mysql_result($result, $i, 4);
$subject = mysql_result($result, $i, 5);
$register_date = mysql_result($result, $i, 6);
$hit = mysql_result($result, $i, 7);
$subject = htmlspecialchars($subject);
$subject = stripslashes($subject);
$register_date = date("Y-m-d", $register_date);
?>
<tr>
<td align = "center">
<?echo("$article_no");?>
</td>
<td>
<a href = "./list.html?mode=read&read_uno=<?echo("$uno");?>"><?echo("$subject");?></a>
</td>
<td align = "center">
<?echo("$name");?>
</td>
<td align = "center">
<?echo("$register_date");?>
</td>
<td align = "center">
<?echo("$hit");?>
</td>
</tr>
<?
$article_no--;
}
if(!$total_record) {
?>
<tr>
<td align = "center" colspan = "5">
µî·ÏµÈ ±ÛÀÌ ¾ø½À´Ï´Ù.
</td>
</tr>
<?
}
?>
</table>
<br>
<table width = "750" border = "0" cellspacing = "0" cellpadding = "0">
<tr>
<td align = "right">
<a href = "./list.html">[±Û ¸ñ·Ï]</a>
<a href = "./write.html?mode=form">[±Û ¾²±â]</a>
</td>
</tr>
</table>
À§ Äڵ带 ¸ðµÎ ÀÔ·ÂÇϽŠÈÄ list.html ÆÄÀϸíÀ¸·Î ÀúÀåÇϽñ⠹ٶø´Ï´Ù.
¸ÕÀú, À§ ÄÚµå´Â "±Û ¸ñ·Ï" ¹× "±Û Àбâ"ÀÇ °¡Àå ±âº»ÀûÀÎ ±â´É¸¸ ±¸ÇöµÈ °ÍÀ¸·Î ÆäÀÌÁö ºÐÇÒ°ú °°Àº ±â´ÉÀÌ Á¦¿ÜµÇ¾úÀ½À» ¸»¾¸µå¸³´Ï´Ù.
ÆäÀÌÁö ºÐÇÒ ±â´ÉÀ» Æ÷ÇÔÇÑ ´Ù¸¥ Ãß°¡ÀûÀÎ ±â´ÉÀº ±âº»ÀûÀÎ °Ô½ÃÆÇ ±â´É(±Û ¾²±â, ±Û ¼öÁ¤, ±Û »èÁ¦, ´ä±Û ¾²±â)À» ±¸ÇöÇÑ ´ÙÀ½ ¼³¸íµå¸®°Ú½À´Ï´Ù.
±×·³, À§ ÄÚµåÀÇ ³»¿ëÀ» õõÈ÷ »ìÆìº¸°Ú½À´Ï´Ù.
list.html ÄÚµå ÆÄÀÏÀÇ Ã¹ ºÎºÐ¿¡ ³ª¿À´Â include "./dbconn.inc"; ±¸¹®Àº µ¥ÀÌŸº£À̽º ¿¬°áÀ» ÇÏ´Â Äڵ带 ´ã°í ÀÖ´Â ÆÄÀÏÀ» Æ÷ÇÔ½Ã۶ó´Â ÀǹÌÀÔ´Ï´Ù.
´ÙÀ½À¸·Î, $table_name = "board_free"; ±¸¹®Àº list.html ÆÄÀϾÈÀÇ DB Äõ¸®¹®¿¡ ±â¼úµÈ $table_name º¯¼ö°ªÀ» "board_free" ·Î ÁöÁ¤Ç϶ó´Â ÀǹÌÀÔ´Ï´Ù.
±×¸®°í, ±× ¾Æ·¡¿¡ º¸ÀÌ´Â if(!strcmp($mode, "read")) Á¶°ÇÀý·Î ¹ÀÎ ºÎºÐÀº ±Û ¸ñ·Ï¿¡¼ ±Û Á¦¸ñÀ» ¸¶¿ì½º·Î Ŭ¸¯ÇßÀ» ¶§ ±× ±ÛÀÇ ³»¿ëÀ» º¸¿©ÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â ÄÚµå ºí·°ÀÔ´Ï´Ù.
±× Á¶°ÇÀý·Î ¹ÀÎ ÄÚµå ºí·°ÀÇ Ã¹ ¹øÂ°·Î º¸ÀÌ´Â ¾Æ·¡ ±¸¹®Àº ¼±ÅÃÇÑ ±ÛÀÇ Á¶È¸¼ö Çʵ尪À» Çϳª Áõ°¡½ÃŰ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
$query = "update $table_name set hit = hit + 1 where uno = $read_uno";
´ÙÀ½¿¡ º¸ÀÌ´Â ±¸¹®Àº »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ±ÛÀÇ °¢°¢ÀÇ Çʵ尪À» ÃßÃâÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
$query = "select name, email, homepage, subject, content, client_ip, html_flag
from $table_name where uno = $read_uno";
±×¸®°í Á» ´õ ³»·Á¿Í ¾Æ·¡¿Í °°ÀÌ ±â¼úµÈ ±¸¹®Àº ±Û Á¦¸ñ¿¡¼ HTMLű׸¦ Á¦°ÅÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù.
$subject = htmlspecialchars($subject);
´ÙÀ½À¸·Î, $subject = stripslashes($subject); ±¸¹®Àº addslashes() ÇÔ¼ö¿¡ ÀÇÇØ ±Û Á¦¸ñ¿¡ Æ÷ÇÔµÈ ¿ª½½·¡½Ã(\) ¹®ÀÚ¸¦ ¶¼¾î³»´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù.
´ÙÀ½À¸·Î, ¸î ÁÙ ¾Æ·¡¿¡ º¸ÀÌ´Â $content = nl2br($content); ±¸¹®Àº ±Û ³»¿ë¿¡ Æ÷ÇÔµÈ °³Çà ¹®ÀÚ(New Line)¸¦ <BR> ű׷Πº¯È¯Ç϶ó´Â ÀǹÌÀÔ´Ï´Ù.
±×¸®°í, "±Û Àбâ" ÄÚµå ºí·°ÀÌ ³¡³ ÈÄ¿¡ À̾îÁö´Â ÄÚµåµéÀº "±Û ¸ñ·Ï"À» ȸ鿡 »Ñ·ÁÁÖ´Â ¿ªÇÒÀ» ÇÏ´Â ÄÚµå·Î °Á 40ºÎ¿¡¼ ÀÌ¿Í ºñ½ÁÇÑ ±â´ÉÀ» ±¸ÇöÇÑ Äڵ带 ¼³¸íµå·È±â ¶§¹®¿¡ º°µµÀÇ ¼³¸íÀº »ý·«ÇϰڽÀ´Ï´Ù.
´Ü, ¾Æ·¡ Äڵ常 Àá±ñ »ìÆìº¸°Ú½À´Ï´Ù.
<a href = "./list.html?mode=read&read_uno=<?echo("$uno");?>"><?echo("$subject");?></a>
À§ ÄÚµå´Â ¸¶¿ì½º·Î ±Û Á¦¸ñÀ» Ŭ¸¯ÇßÀ» °æ¿ì list.html À¥ÆäÀÌÁö¸¦ È£ÃâÇ϶ó´Â ÀǹÌÀ̸ç ÀÌ ¶§, mode º¯¼ö¿¡ "read" °ªÀ», read_uno º¯¼ö¿¡´Â "$uno" °ª Áï, ¼±ÅÃÇÑ ±ÛÀÇ uno Çʵ尪À» ÀúÀåÇÏ¿© list.html À¥ÆäÀÌÁö·Î Àü´ÞÇ϶ó´Â ÀǹÌÀÔ´Ï´Ù.
ÀÌ»óÀ¸·Î °Ô½ÃÆÇÀÇ "±Û ¸ñ·Ï" ¹× "±Û Àбâ" ±â´ÉÀ» ÇÏ´Â Äڵ带 »ìÆìº¸¾Ò½À´Ï´Ù. ³»¿ëÀÌ ±×·¸°Ô ¾î·ÆÁö ¾ÊÁÒ? ..^^;
Âü, À§¿¡¼ ±¸ÇöÇÑ "±Û ¸ñ·Ï" ¹× "±Û Àбâ" ±â´ÉÀ» À¥ ºê¶ó¿ìÀú·Î Å×½ºÆ® ÇϽ÷Á¸é ÁÖ¼Òâ¿¡ ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÏ½Ã¸é µË´Ï´Ù.
http://localhost/list.html - list.html À» À¥ ¼¹ö ·çÆ®(Document Root)¿¡ ÀúÀåÇÏ¿´À» °æ¿ì
À¥ ºê¶ó¿ìÀú·Î È®ÀÎÇÏ½Ã¸é ¾ÆÁ÷ ÀúÀåµÈ ±ÛÀÌ ¾ø±â ¶§¹®¿¡ "µî·ÏµÈ ±ÛÀÌ ¾ø½À´Ï´Ù." ¶ó´Â ¸Þ½ÃÁö°¡ º¸ÀÏ °ÍÀÔ´Ï´Ù.
¿À´Ã ¼³¸íµå¸° ³»¿ë °¡¿îµ¥ ÀÌÇØ°¡ ¾È µÇ´Â ºÎºÐÀÌ ÀÖÀ¸¸é ¾Æ·¡¿¡ ÄÚ¸àÆ®¸¦ ´Þ¾ÆÁÖ¼¼¿ä.
±×·³, ´ÙÀ½ °Á¿¡¼´Â "±Û ¾²±â" ±â´ÉÀ» ±¸ÇöÇØº¸°Ú½À´Ï´Ù.
|