드디어 설치형 게시판의 마지막 시간입니다.

이번시간에는 답글달기, 글수정, 글삭제에 대해서 배워보도록 하겠습니다.

특별한 부분만 설명을 하고 나머지는 주석을 통해 이해하실수 있을것입니다.

본 게시판은 http://handsome.hosting.paran.com/i_board/ 에서 확인하실수 있습니다.

답글 부분은 관계형 게시판 만들기 부분에서 설명해 드렸습니다.(http://handsome.pe.kr/70)

답글달기 부분입니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");

// 2. 게시판 코드 검사
$bc_code = $_GET[bc_code];
if($bc_code){
    // 3. 게시판 코드가 있으면 게시판 설정 불러오기
    $b_config_sql = "select * from ".$_cfg['config_table']." where bc_code = '".$bc_code."'";
    $board_config = sql_fetch($b_config_sql);
}else{
    alert("게시판 코드가 없습니다.");
}

// 4. 존재하는 게시판인지 확인
if(!$board_config[bc_idx]){
    alert("존재 하지 않는 게시판입니다.");
}

// 5. 게시판 권한 체크
if($_SESSION[user_level]){
    $u_level = $_SESSION[user_level];
}else{
    $u_level = 0;
}

if($u_level < $board_config[bc_reply_level]){
    alert("권한이 없습니다.", "./index.php");
}

// 6. 글정보 가져오기
$b_idx = $_GET[b_idx];
$sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_idx = '".$b_idx."'";
$data = sql_fetch($sql);

// 7. 해당 글이 있는지 와 비밀글이면 비밀번호 입력여부 체크체크
if(!$data[b_idx]){
    alert("존재 하지 않는 글입니다.");
}

// 8. 댓글이 가능한지 검사
// 8-1. 이 글의 단계가 몇단계 인지 검사후 3단계면 댓글 불가
if(strlen($data[b_reply]) == 3){
    alert("더이상 댓글을 쓸수가 없습니다.");
}

// 8-2 이글에 달린 댓글의 마지막 댓글이 몇번째인지 검사

$sql2 = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_num = '".$data[b_num]."' and b_reply like '".$data[b_reply]."%' order by b_reply desc limit 1";
$result2 = sql_query($sql2);
$data2 = mysql_fetch_array($result2);

if(substr($data2[b_reply], strlen($data[b_reply]), 1) == "Z"){
    alert("더이상 댓글을 쓸수가 없습니다.");
}

// 9. 게시판 상단 이미지 출력
$dir = "./data/board_config";
$head_file = $dir."/".$board_config[bc_idx]."_head";

if($board_config[bc_head_file] && file_exists($head_file)){
?>
<br/>
<img src="<?=$head_file?>">
<?
}

// 10. 게시판 상단 내용 출력
if($board_config[bc_head]){
?>
<br/>
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="left" valign="middle" style="font-zise:15px;"><?=$board_config[bc_head]?></td>
    </tr>
</table>
<?
}

// 11. 입력 HTML 출력
?>
<br/>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
    <tr>
        <td align="center" valign="middle" style="font-zise:15px;font-weight:bold;">답글쓰기</td>
    </tr>
</table>
<br/>
<form name="bWriteForm" method="post" enctype="multipart/form-data" action="./board_reply_save.php" style="margin:0px;">
<input type="hidden" name="bc_code" value="<?=$bc_code?>">
<input type="hidden" name="b_idx" value="<?=$b_idx?>">
<input type="hidden" name="page" value="<?=$_GET[page]?>">
<table style="width:1000px;height:50px;border:0px;">
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">글제목</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="b_title" style="width:780px;"></td>
    </tr>
    <?
    // 12.로그인 한 상태가 아니면 이름을 쓰고 로그인 한 상태면 hidden 으로 넘김
    if(!$_SESSION[user_idx]){
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">작성자명</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="m_name" style="width:780px;"></td>
    </tr>
    <?
    }else{
    ?>
    <input type="hidden" name="m_name" value="<?=$_SESSION[user_name]?>">
    <?
    }

    // 13. 비밀글을 사용하면 비밀글 체크 여부와 비밀번호 입력받기
    if($board_config[bc_use_secret]){
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀글 여부</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="checkbox" name="b_is_secret" value="1"> 비밀글이면 체크</td>
    </tr>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="b_pass" style="width:100px;"></td>
    </tr>
    <?
    }

    // 14. 파일 업로드를 사용하면 파일 입력
    if($board_config[bc_use_file]){
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">첨부파일</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="file" name="b_file" ></td>
    </tr>
    <?
    }
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:200px;background-color:#CCCCCC;">글내용</td>
        <td align="left" valign="middle" style="width:800px;height:200px;">
        <textarea name="b_contents" style="width:800px;height:200px;"></textarea>
        </td>
    </tr>
    <!-- 15. 글쓰기 버튼 클릭시 입력필드 검사 함수 write_save 실행 -->
    <tr>
        <td align="center" valign="middle" colspan="2"><input type="button" value=" 글쓰기 " onClick="write_save();">&nbsp;&nbsp;&nbsp;<input type="button" value=" 뒤로가기 " onClick="history.back();"></td>
    </tr>
</table>
</form>
<script>
// 16.입력필드 검사함수
function write_save()
{
    // 17.form 을 f 에 지정
    var f = document.bWriteForm;

    // 18.입력폼 검사

    if(f.b_title.value == ""){
        alert("글제목을 입력해 주세요.");
        return false;
    }

    <?
    // 19. 비밀글을 사용하면 비밀글 체크 여부와 비밀번호 입력 체크
    if($board_config[bc_use_secret]){
    ?>
    if(f.b_is_secret.checked == true && f.b_pass.value == ""){
        alert("비밀번호를 입력해 주세요.");
        return false;
    }
    <?
    }
    ?>
   
    if(f.b_contents.value == ""){
        alert("글내용을 입력해 주세요.");
        return false;
    }

    // 20.검사가 성공이면 form 을 submit 한다
    f.submit();

}
</script>

<?
// 21. 게시판 하단 내용 출력
if($board_config[bc_tail]){
?>
<br/>
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="left" valign="middle" style="font-zise:15px;"><?=$board_config[bc_tail]?></td>
    </tr>
</table>
<?
}

// 22. 게시판 하단 이미지 출력
$dir = "./data/board_config";
$tail_file = $dir."/".$board_config[bc_idx]."_tail";

if($board_config[bc_tail_file] && file_exists($tail_file)){
?>
<br/>
<img src="<?=$tail_file?>">
<?
}
?>
[board_reply.php 소스]

답글 저장 부분입니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");

// 2. 게시판 코드 검사
$bc_code = $_POST[bc_code];
if($bc_code){
    // 3. 게시판 코드가 있으면 게시판 설정 불러오기
    $b_config_sql = "select * from ".$_cfg['config_table']." where bc_code = '".$bc_code."'";
    $board_config = sql_fetch($b_config_sql);
}else{
    alert("게시판 코드가 없습니다.");
}

// 4. 존재하는 게시판인지 확인
if(!$board_config[bc_idx]){
    alert("존재 하지 않는 게시판입니다.");
}

// 5. 게시판 권한 체크
if($_SESSION[user_level]){
    $u_level = $_SESSION[user_level];
}else{
    $u_level = 0;
}

if($u_level < $board_config[bc_reply_level]){
    alert("권한이 없습니다.", "./index.php");
}

// 6. 부모글정보 가져오기
$b_idx = $_POST[b_idx];
$sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_idx = '".$b_idx."'";
$data = sql_fetch($sql);

// 7. 해당 글이 있는지 와 비밀글이면 비밀번호 입력여부 체크체크
if(!$data[b_idx]){
    alert("존재 하지 않는 글입니다.");
}

// 8. 댓글이 가능한지 검사
// 8-1. 부모글의 단계가 몇단계 인지 검사후 3단계면 댓글 불가
if(strlen($data[b_reply]) == 3){
    alert("더이상 댓글을 쓸수가 없습니다.");
}

// 8-2 부모글에 달린 댓글의 마지막 댓글이 몇번째인지 검사

$sql2 = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_num = '".$data[b_num]."' and b_reply like '".$data[b_reply]."%' order by b_reply desc limit 1";
$result2 = sql_query($sql2);
$data2 = mysql_fetch_array($result2);

$last_reply_char = substr($data2[b_reply], strlen($data[b_reply]), 1);
if($last_reply_char == "Z"){
    alert("더이상 댓글을 쓸수가 없습니다.");
}

// 9. 넘어온 변수 검사
if(trim($_POST[b_title]) == ""){
    alert("글제목을 입력해 주세요.");
}

if(trim($_POST[b_contents]) == ""){
    alert("글내용을 입력해 주세요.");
}

if($board_config[bc_use_secret] && $_POST[b_is_secret] == 1 && trim($_POST[b_pass]) == ""){
    alert("비밀번호를 입력해 주세요.");
}

// 10. b_num 과 b_reply 만들기
$b_num = $data[b_num];
if($last_reply_char){
    $b_reply = $data[b_reply].chr(ord($last_reply_char) + 1);
}else{
    $b_reply = $data[b_reply]."A";
}

// 11. 파일 변수 만들기
if($_FILES[b_file][tmp_name]){
    $b_filename = $_FILES[b_file][name];
    $b_filesize = $_FILES[b_file][size];
}else{
    $b_filename = "";
    $b_filesize = 0;
}

// 12. 글저장
$sql = "insert into ".$_cfg['board_table']." set bc_code = '".$bc_code."', b_num = '".$b_num."', b_reply = '".$b_reply."', m_id = '".$_SESSION[user_id]."', m_name = '".addslashes(htmlspecialchars($_POST[m_name]))."', b_title = '".addslashes(htmlspecialchars($_POST[b_title]))."', b_contents = '".addslashes(htmlspecialchars($_POST[b_contents]))."', b_is_secret = '".$_POST[b_is_secret]."', b_pass = '".$_POST[b_pass]."', b_filename = '".$b_filename."', b_filesize = '".$b_filesize."', b_regdate = now()";
sql_query($sql);

// 13. 저장된 글번호 찾기
$b_idx = mysql_insert_id();


// 14. 파일저장
$dir = "./data";
$b_file = $dir."/".$b_idx;

if($_FILES[b_file][tmp_name] && $b_filename){
    if(file_exists($b_file)){
        @unlink($b_file);
    }
    move_uploaded_file($_FILES[b_file][tmp_name], $b_file);
    chmod($b_file, 0666);

}

// 15. 글목록 페이지로 보내기
alert("글이 저장 되었습니다.", "./board_list.php?bc_code=".$bc_code."&page=".$_POST[page]);
?>
[board_reply_save.php 소스]

글수정 부분입니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");

// 2. 게시판 코드 검사
$bc_code = $_GET[bc_code];
if($bc_code){
    // 3. 게시판 코드가 있으면 게시판 설정 불러오기
    $b_config_sql = "select * from ".$_cfg['config_table']." where bc_code = '".$bc_code."'";
    $board_config = sql_fetch($b_config_sql);
}else{
    alert("게시판 코드가 없습니다.");
}

// 4. 존재하는 게시판인지 확인
if(!$board_config[bc_idx]){
    alert("존재 하지 않는 게시판입니다.");
}

// 5. 게시판 권한 체크
if($_SESSION[user_level]){
    $u_level = $_SESSION[user_level];
}else{
    $u_level = 0;
}

// 3. 글 데이터 불러오기
$b_idx = $_GET[b_idx];
$sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_idx = '".$b_idx."'";
$data = sql_fetch($sql);

// 4. 글이 없으면 메세지 출력후 되돌리기
if(!$data[b_idx]){
    alert("존재하지 않는 글입니다.");
}

// 5. 본인의 글이 아니면 메세지 출력후 되돌리기
if($data[m_id] != $_SESSION[user_id] && $u_level != 9){
    alert("본인의 글이 아닙니다.");
}

// 6. 게시판 상단 이미지 출력
$dir = "./data/board_config";
$head_file = $dir."/".$board_config[bc_idx]."_head";

if($board_config[bc_head_file] && file_exists($head_file)){
?>
<br/>
<img src="<?=$head_file?>">
<?
}

// 7. 게시판 상단 내용 출력
if($board_config[bc_head]){
?>
<br/>
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="left" valign="middle" style="font-zise:15px;"><?=$board_config[bc_head]?></td>
    </tr>
</table>
<?
}

// 8. 입력 HTML 출력
?>
<br/>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
    <tr>
        <td align="center" valign="middle" style="font-zise:15px;font-weight:bold;">글수정</td>
    </tr>
</table>
<br/>
<form name="bWriteForm" method="post" enctype="multipart/form-data" action="./board_modify_save.php" style="margin:0px;">
<input type="hidden" name="bc_code" value="<?=$bc_code?>">
<input type="hidden" name="b_idx" value="<?=$b_idx?>">
<input type="hidden" name="page" value="<?=$_GET[page]?>">
<table style="width:1000px;height:50px;border:0px;">
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">글제목</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="b_title" style="width:780px;" value="<?=$data[b_title]?>"></td>
    </tr>

    <?
    // 10. 비밀글을 사용하면 비밀글 체크 여부와 비밀번호 입력받기
    if($board_config[bc_use_secret]){
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀글 여부</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="checkbox" name="b_is_secret" value="1" <?if($data[b_is_secret] == 1)echo "checked";?>> 비밀글이면 체크</td>
    </tr>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호</td>
        <td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="b_pass" style="width:100px;"  value="<?=$data[b_pass]?>"></td>
    </tr>
    <?
    }

    // 11. 파일 업로드를 사용하면 파일 입력
    if($board_config[bc_use_file]){
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">첨부파일</td>
        <td align="left" valign="middle" style="width:800px;height:50px;">
        <?
        // 11-1 파일이 있으면
        if($data[b_filename]){
        ?>
        <a href="./download.php?bc_code=<?=$bc_code?>&b_idx=<?=$b_idx?>"><?=$data[b_filename]?></a> <input type="checkbox" name="b_file_del" value="1"> 삭제<br>
        <?}?>
        <input type="file" name="b_file" >
        </td>
    </tr>
    <?
    }
    ?>
    <tr>
        <td align="center" valign="middle" style="width:200px;height:200px;background-color:#CCCCCC;">글내용</td>
        <td align="left" valign="middle" style="width:800px;height:200px;">
        <textarea name="b_contents" style="width:800px;height:200px;"><?=$data[b_contents]?></textarea>
        </td>
    </tr>
    <!-- 12. 수정하기 버튼 클릭시 입력필드 검사 함수 write_save 실행 -->
    <tr>
        <td align="center" valign="middle" colspan="2"><input type="button" value=" 수정하기 " onClick="write_save();">&nbsp;&nbsp;&nbsp;<input type="button" value=" 뒤로가기 " onClick="history.back();"></td>
    </tr>
</table>
</form>
<script>
// 13.입력필드 검사함수
function write_save()
{
    // 14.form 을 f 에 지정
    var f = document.bWriteForm;

    // 15.입력폼 검사

    if(f.b_title.value == ""){
        alert("글제목을 입력해 주세요.");
        return false;
    }

    <?
    // 16. 비밀글을 사용하면 비밀글 체크 여부와 비밀번호 입력 체크
    if($board_config[bc_use_secret]){
    ?>
    if(f.b_is_secret.checked == true && f.b_pass.value == ""){
        alert("비밀번호를 입력해 주세요.");
        return false;
    }
    <?
    }
    ?>
   
    if(f.b_contents.value == ""){
        alert("글내용을 입력해 주세요.");
        return false;
    }

    // 17.검사가 성공이면 form 을 submit 한다
    f.submit();

}
</script>

<?
// 18. 게시판 하단 내용 출력
if($board_config[bc_tail]){
?>
<br/>
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="left" valign="middle" style="font-zise:15px;"><?=$board_config[bc_tail]?></td>
    </tr>
</table>
<?
}

// 19. 게시판 하단 이미지 출력
$dir = "./data/board_config";
$tail_file = $dir."/".$board_config[bc_idx]."_tail";

if($board_config[bc_tail_file] && file_exists($tail_file)){
?>
<br/>
<img src="<?=$tail_file?>">
<?
}
?>
[board_modify.php 소스]

글수정 저장 부분입니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");

// 2. 게시판 코드 검사
$bc_code = $_POST[bc_code];
if($bc_code){
    // 3. 게시판 코드가 있으면 게시판 설정 불러오기
    $b_config_sql = "select * from ".$_cfg['config_table']." where bc_code = '".$bc_code."'";
    $board_config = sql_fetch($b_config_sql);
}else{
    alert("게시판 코드가 없습니다.");
}

// 4. 존재하는 게시판인지 확인
if(!$board_config[bc_idx]){
    alert("존재 하지 않는 게시판입니다.");
}

// 5. 게시판 권한 체크
if($_SESSION[user_level]){
    $u_level = $_SESSION[user_level];
}else{
    $u_level = 0;
}

// 3. 글 데이터 불러오기
$b_idx = $_POST[b_idx];
$sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_idx = '".$b_idx."'";
$data = sql_fetch($sql);

// 4. 글이 없으면 메세지 출력후 되돌리기
if(!$data[b_idx]){
    alert("존재하지 않는 글입니다.");
}

// 5. 본인의 글이 아니면 메세지 출력후 되돌리기
if($data[m_id] != $_SESSION[user_id] && $u_level != 9){
    alert("본인의 글이 아닙니다.");
}

// 6. 넘어온 변수 검사
if(trim($_POST[b_title]) == ""){
    alert("글제목을 입력해 주세요.");
}

if(trim($_POST[b_contents]) == ""){
    alert("글내용을 입력해 주세요.");
}

if($board_config[bc_use_secret] && $_POST[b_is_secret] == 1 && trim($_POST[b_pass]) == ""){
    alert("비밀번호를 입력해 주세요.");
}

// 7. 파일삭제가 체크되어 있으면 파일 지우고 파일변수 설정
$dir = "./data";
$b_file = $dir."/".$b_idx;
if($_POST[b_file_del]){
    @unlink($b_file);
    $b_filename = "";
    $b_filesize = 0;
    $file_sql = ", b_filename = '".$b_filename."', b_filesize = '".$b_filesize."'";
}

// 8. 파일 변수 만들기
if($_FILES[b_file][tmp_name]){
    $b_filename = $_FILES[b_file][name];
    $b_filesize = $_FILES[b_file][size];
    $file_sql = ", b_filename = '".$b_filename."', b_filesize = '".$b_filesize."'";
}

// 7. 글저장
$sql = "update ".$_cfg['board_table']." set b_title = '".addslashes(htmlspecialchars($_POST[b_title]))."', b_contents = '".addslashes(htmlspecialchars($_POST[b_contents]))."', b_is_secret = '".$_POST[b_is_secret]."', b_pass = '".$_POST[b_pass]."' ".$file_sql." where b_idx = '".$b_idx."'";
sql_query($sql);


// 10. 파일저장
$dir = "./data";
$b_file = $dir."/".$b_idx;

if($_FILES[b_file][tmp_name] && $b_filename){
    if(file_exists($b_file)){
        @unlink($b_file);
    }
    move_uploaded_file($_FILES[b_file][tmp_name], $b_file);
    chmod($b_file, 0666);

}

// 12. 글목록 페이지로 보내기
alert("글이 저장 되었습니다.", "./board_view.php?bc_code=".$bc_code."&b_idx=".$b_idx."&page=".$_POST[page]);
?>
[board_modify_save.php 소스]

여기서 파일 처리하는 부분은 어드민에서 파일처리하는 부분(http://handsome.pe.kr/76)과 다르게 했습니다.

파일 삭제시나 또는 새로운 파일이 올라왔을때 $file_sql 이라는 sql 문자열을 만들어 쿼리시에 추가하는 방법으로 하였습니다.


글삭제 부분입니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");

// 2. 게시판 코드 검사
$bc_code = $_GET[bc_code];
if($bc_code){
    // 3. 게시판 코드가 있으면 게시판 설정 불러오기
    $b_config_sql = "select * from ".$_cfg['config_table']." where bc_code = '".$bc_code."'";
    $board_config = sql_fetch($b_config_sql);
}else{
    alert("게시판 코드가 없습니다.");
}

// 4. 존재하는 게시판인지 확인
if(!$board_config[bc_idx]){
    alert("존재 하지 않는 게시판입니다.");
}

// 5. 게시판 권한 체크
if($_SESSION[user_level]){
    $u_level = $_SESSION[user_level];
}else{
    $u_level = 0;
}

// 3. 글 데이터 불러오기
$b_idx = $_GET[b_idx];
$sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_idx = '".$b_idx."'";
$data = sql_fetch($sql);

// 4. 글이 없으면 메세지 출력후 되돌리기
if(!$data[b_idx]){
    alert("존재하지 않는 글입니다.");
}

// 5. 본인의 글이 아니면 메세지 출력후 되돌리기
if($data[m_id] != $_SESSION[user_id] && $u_level != 9){
    alert("본인의 글이 아닙니다.");
}

// 6. 파일 과 댓글 삭제하기
$file_sql = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_num = '".$data[b_num]."' and b_reply like '".$data[b_reply]."%'";
$file_result = sql_query($file_sql);

while($file_data = mysql_fetch_array($file_result)){
    // 6-1 파일 삭제
    $dir = "./data";
    $b_file = $dir."/".$file_data[b_idx];
    @unlink($b_file);

    // 6-2 댓글 삭제
    $comment_delete = "delete from ".$_cfg['comment_table']." where b_idx = '".$file_data[b_idx]."'";
    sql_query($comment_delete);
}

// 7. 글 삭제하기
$sql_delete = "delete from ".$_cfg['board_table']." where bc_code = '".$bc_code."' and b_num = '".$data[b_num]."' and b_reply like '".$data[b_reply]."%'";
sql_query($sql_delete);


// 8. 글목록 페이지로 보내기
alert("글이 삭제 되었습니다.", "./board_list.php?bc_code=".$bc_code."&page=".$_GET[page]);
?>
[board_delete.php 소스]

글 삭제시 해당 글의 하위 답글과 댓글들도 모두 삭제 하게 제작이 되었습니다.

그리고 파일도 모두 삭제하게 됩니다.

글을 삭제전에 파일과 댓글들을 앟ㄹ아내야 하기때문에 글삭제전 파일 과댓글을 삭제 하였습니다.

그럼 다음 시간에는 쇼핑몰의 기본이 되는 포인트 몰에 대해서 배워보도록 하겠습니다.

저작자 표시 비영리 변경 금지
Posted by 슬픈기쁨

댓글을 달아주세요

  1. 안녕하세요
    2010/01/14 17:07
    댓글 주소 수정/삭제 댓글
    강좌가 많은 도움이 되었습니다. 감사합니다^^;
    그런데 리스트부분에서 검색기능을 추가하려면 어떻게 해야할까요....ㅠㅠ;;
    • 2010/01/15 07:15
      댓글 주소 수정/삭제
      list 파일로 검색필드구분값과 검색값을 GET으로 전달받아서 쿼리문의 where 문에 추가시켜 주면 됩니다.
    • 오인서
      2011/02/18 19:44
      댓글 주소 수정/삭제
      저...
      검색 소스좀 알려주시면 안될까요?
    • 오인서
      2011/02/19 15:41
      댓글 주소 수정/삭제
      기존 글목록 파일을 복사해서 작성하였는데요.
      $query = "select * from ".$_cfg['board_table']." where bc_code = '".$bc_code."' where b_title = '".$b_title."'order by b_num desc, b_reply asc limit ".$from_record.", ".$page_row;
      글목록 구하는 부분을 위와 같이 했더니
      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/inseo/public_html/board_list_search.php on line 108
      라는 경고가 뜹니다.
      아무래도 108번째줄의
      while($data = mysql_fetch_array($result)){
      에서 문제가 생긴 듯 하네요.
    • 오인서
      2011/04/03 16:55
      댓글 주소 수정/삭제
      아!
      검색성공!
  2. 감사합니다.
    2010/02/25 20:23
    댓글 주소 수정/삭제 댓글
    초보를 위한 강좌 넘 좋습니다. 님의 노고에 감사드립니다.
    복 많이 받으십시오.
  3. Dave
    2010/06/22 11:19
    댓글 주소 수정/삭제 댓글
    설치형 게시판 실행 해보신분 계신가요?
    전 아무리 해도 뭔가가 잘 안되는군요...
    일단 admin_index.php파일이 없어서 도중에 페이지를 표시할 수 없고..
    그래서 소스에서 admin_index로 링크 된 부분을 admin_board_list.php로 바꿔서 이용하는데 왜 admin_index.php파일이 없는지 이상하구요...

    두번째는 글을 10개이상 등록하면 페이지가 넘어가는데 2페이지를 클릭하면 게시판 코드가 없다고 나오고 그 페이지는 열리지 않습니다....
    여기 상단의 완성 데모페이지도 똑같은 현상이네요..

    이 강좌가 포스팅 된 날짜를 보니 벌써 반년이 지났는데 이에 대한 글이나 댓글이 없는게 이상하네요...

    아시는 분은 꼭 답변부탁합니다.....
    • 2010/06/22 12:43
      댓글 주소 수정/삭제
      지적해주신 admin_index.php 파일은
      http://handsome.pe.kr/76 에 추가해놨구요.
      페이징 부분은 lib.php 파일에 오타가 있었습니다.
      http://handsome.pe.kr/74 를 수정했습니다.
    • 오인서
      2011/04/20 20:45
      댓글 주소 수정/삭제
      게시판 설정에서 상단과 하단 이미지가 들록이 안되네요.
      아무 에러도 안뜨고 정상같이 바로 저장되었다는 메시지 뜨고 넘어가던데...
  4. Dave
    2010/06/22 15:13
    댓글 주소 수정/삭제 댓글
    아...감사합니다....
    이제 잘 돌아가네요....

    강좌 정말 감사합니다......
  5. endside
    2010/09/15 03:05
    댓글 주소 수정/삭제 댓글
    급하게 PHP를 배울 일이 생겼는데,
    덕분에 생각보다 빠른 시간내에 배울 수 있었습니다.
    정말 좋은 강좌 고맙습니다.^^
  6. 오인서
    2011/02/12 00:29
    댓글 주소 수정/삭제 댓글
    답글은 비밀글로 되어 있어도 그냥 나오네요.
  7. 오인서
    2011/02/18 20:03
    댓글 주소 수정/삭제 댓글
    이 강좌를 보고 조금 연구해서 만들어본 건데요.
    게시판 상단에 권한 정보가 나오는 소스랍니다.
    board_list.php의 98번째 줄 부근의
    // 8.게시판 목록 출력
    ?>
    <br/>
    <table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
    <tr>
    <td align="center" valign="middle" style="font-zise:15px;font-weight:bold;">글목록</td>
    </tr>
    </table>
    <br>
    밑에 아래의 소스를 넣어주시면 권한정보가 나옵니다.
    <p>현재게시판의 권한<br>
    <font color="#C00000">목록보기: 레벨<?=$board_config[bc_list_level]?>&nbsp;&nbsp;</font><font color="red">글쓰기: 레벨<?=$board_config[bc_write_level]?></font>&nbsp;&nbsp;<font color="#FFC000">글보기: 레벨<?=$board_config[bc_read_level]?></font></p>
  8. 오인서
    2011/04/20 20:47
    댓글 주소 수정/삭제 댓글
    좋은 강좌 감사합니다.
    덕분에 게시판 프로그램 만들었어요.
    http://inseo.maru.net
  9. 오인서
    2011/05/24 16:37
    댓글 주소 수정/삭제 댓글
    저좀 도와주세요.
    아래 주소 참고
    http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040203&docId=130822195
    http://inseo.maru.net/index.php?commend=view&bc_code=notice&b_idx=50
    좀 봐주세요. 도데체 뭐가 문제일까요?
    • 2012/03/24 18:49
      댓글 주소 수정/삭제
      저도 만들고 있는데요~ 강좌대로 만들고 조금 손 봤습니다.
      검색기능도 넣어보고 싶네요~

      그런데 오인서님 링크 눌러보니 페이지를 표시할수 없다고 나오네요.
  10. gypsy
    2012/02/14 17:59
    댓글 주소 수정/삭제 댓글
    php 공부하면서 도움이 많이 됐습니다. 감사합니다.
    강좌를 보면서 궁금했던게 설치형 게시판중 모든 게시판의 글이 한개의
    테이블에 저장되는데 그것이 관계형 DB의 설계때문인지
    게시판을 간단히 만드시느라 그런거지 궁금합니다.
    관계형 DB가 뭔지 설명은 보았으나 정확한걸 모르니 이런 궁금증이 생겼습니다.

    이 강좌를 보고 게시판을 스스로 업그레이드해 보려하는데
    게시판별로 테이블을 생성해야 할까요.

<< PREV : [1] : ... [31] : [32] : [33] : [34] : [35] : [36] : [37] : [38] : [39] : ... [120] : NEXT >>

BLOG main image
PHPer를 위한 Tip , 휴식, 그리고........ by 슬픈기쁨

카테고리

분류 전체보기 (120)
PHP Tip (9)
PHP 강좌 (58)
Project 이야기 (5)
My Story (15)
꼬리 & 달이 이야기 (19)
의뢰하기 (1)
흥얼흥얼 (12)
Total : 160,044
Today : 26 Yesterday : 227