·Î±×ÀÎ | ȸ¿ø°¡ÀÔ | °í°´¹®ÀÇ
ÇÁ·Î±×·¡¹Ö°­Á > PHP °­ÁÂ
Ãʺ¸ÀÚ¸¦ À§ÇÑ PHP °­Á - °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â Write by [mizzle]
- °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ÁغñÀÛ¾÷
- °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ±Û ¸ñ·Ï ¹× ±Û Àбâ
- °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ±Û ¾²±â
- °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ±Û ¼öÁ¤
- °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ±Û »èÁ¦
¾È³çÇϼ¼¿ä.

¾Õ °­Á¿¡ À̾ "±Û ¸ñ·Ï" ¹× "±Û Àбâ" ±â´ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú½À´Ï´Ù.

±â´ÉÀ» ±¸ÇöÇϱ⿡ ¾Õ¼­, µ¥ÀÌŸº£À̽º ¿¬°áÀ» ÇØ ÁÖ´Â Äڵ带 º°µµÀÇ ÆÄÀÏ(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)¿¡ ÀúÀåÇÏ¿´À» °æ¿ì

À¥ ºê¶ó¿ìÀú·Î È®ÀÎÇÏ½Ã¸é ¾ÆÁ÷ ÀúÀåµÈ ±ÛÀÌ ¾ø±â ¶§¹®¿¡ "µî·ÏµÈ ±ÛÀÌ ¾ø½À´Ï´Ù." ¶ó´Â ¸Þ½ÃÁö°¡ º¸ÀÏ °ÍÀÔ´Ï´Ù.

¿À´Ã ¼³¸íµå¸° ³»¿ë °¡¿îµ¥ ÀÌÇØ°¡ ¾È µÇ´Â ºÎºÐÀÌ ÀÖÀ¸¸é ¾Æ·¡¿¡ ÄÚ¸àÆ®¸¦ ´Þ¾ÆÁÖ¼¼¿ä.

±×·³, ´ÙÀ½ °­Á¿¡¼­´Â "±Û ¾²±â" ±â´ÉÀ» ±¸ÇöÇØº¸°Ú½À´Ï´Ù.
ÀÌÀü±Û °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ÁغñÀÛ¾÷
´ÙÀ½±Û °£´ÜÇÑ °Ô½ÃÆÇ ¸¸µé±â - ±Û ¾²±â
À̸ÞÀϹ«´Ü¼öÁý°ÅºÎ , ±¤°íÁ¦ÈÞ¹®ÀÇ , E-Mail, MSN : okstart@apmsetup.com