_DOCTYPE_ 오류 견적서 오류 입니다. > 그누3질답

그누3질답

_DOCTYPE_ 오류 견적서 오류 입니다. 정보

그누보드 _DOCTYPE_ 오류 견적서 오류 입니다.

본문

일딴 .여기 gbupdate1.php 입니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "NONE");

$html_title = "$wr_subject 글입력";

$w = $_POST["w"];
// 쓰기, 답변, 수정, 코멘트
if (!($w == '' || $w == 'r' || $w == 'u' || $w == 'c')) {
    alert("w 값 오류");
}

// 세션의 시간 검사
if ($w == '' || $w == 'r' || $w == 'c') {
    if ($_SESSION["ss_datetime"] >= (time() - $default[de_delay_sec])) {
        alert("너무 빠른 시간내에 게시물을 연속해서 올릴 수 없습니다.");
    }

    # 3.09 추가
    session_register("ss_datetime");

    $ss_datetime = $_SESSION["ss_datetime"] = time();
}


// 자동등록방지 검사
include "./bbs/norobotcheck.php";


if ($w == 'u' || $w == 'r' || $w == 'c') {
    $wr = get_write($write_table, $wr_id);
    if (!$wr[0]) {
        alert("글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동하였을 수 있습니다.");
    }

    if ($w == 'r' && $wr[wr_notice] == -1) {
        alert("공지사항에는 답변하실 수 없습니다.");
    }
}

$is_bad = false;
if ($w != 'c') {
    if (!trim($_POST[wr_subject])) {
        alert("회사명을 입력하여 주십시오.");
    }

    $is_bad = check_filter($wr_subject);  // 제목 필터링
}

// "인터넷옵션 > 보안 > 사용자정의수준 > 스크립팅 > Action 스크립팅 > 사용 안 함" 일 경우의 오류 처리
// 이 옵션을 사용 안 함으로 설정할 경우 어떤 스크립트도 실행 되지 않습니다.
if (!trim($_POST[wr_content])) {
    die ("내용을 입력하여 주십시오.");
}

if ($w == '' || $w == 'r' || $w == 'c') {
    if ($member[mb_id]) {
        $mb_id = $member[mb_id];
        $wr_name = $member[mb_name];
        $wr_passwd = $member[mb_passwd];
        $wr_email = $member[mb_email];
        $wr_homepage = $member[mb_homepage];
    } else {
        $mb_id = '';
        $row = sql_fetch(" select password('$wr_passwd') ");
        $wr_passwd = $row[0];
    }

 
    if (!$wr_name) {
        alert("신청자명을 입력하여 주십시오.");
    }
}

if (!$is_bad) {
    $is_bad = check_filter($_POST[wr_content]);  // 내용 필터링
}

// 관리자가 아니라면
if ($is_bad && !$is_member) {
    alert("제목 또는 내용에 부적합한 단어가 포함되어 있습니다.");
}

// IP 차단
check_intercept_ip();

// 분류가 없다면 1 로 설정
if (!isset($ca_id)) {
    $ca_id = 1;
}

// 실행가능한 스크립트 확장자
$source = array ("/\.php/", "/\.htm/", "/\.cgi/", "/\.pl/");
$target = array (".phpx", ".htmx", ".cgix", ".plx");

// 파일 업로드
for ($i=1; $i<=$cfg[file_count]; $i++) {
    $is_up[$i] = false;
    $tmp_file = $_FILES["wr_file$i"][tmp_name];
    $filename = $_FILES["wr_file$i"][name];
    $filesize = $_FILES["wr_file$i"][size] / 1024768;

    // 파일 삭제에 체크가 되어 있다면 기존의 업로드된 파일을 삭제
    if ($_POST["wr_file_del$i"]) {
        @unlink("./data/file/$bo_table/" . $wr["wr_file$i"]);
        $upload[$i] = "";
        $is_up[$i] = true;
    }

    // 업로드 가능하다면
    if (is_uploaded_file($tmp_file) && $filename) {
        // 수정이면서 기존의 자료가 있다면 삭제
        if ($w =="u" && $wr["wr_file$i"]) {
            @unlink("./data/file/$bo_table/".$wr["wr_file$i"]);
        }

        // 설정한 업로드 사이즈보다 크다면 건너뜀
        if ($filesize > $board[bo_upload_size]) {
            continue;
        }

        $prefix = substr(md5(uniqid(time())),0,8) . "_"; // 접두어

        // 프로그램 원래 파일명
        $upload_source[$i] = $filename;

        // php_x 와 같은 방법으로 스크립트 실행을 하지 못하게 하였으나 abc.php._x 는 실행되는 버그가 있음
        $filename = preg_replace($source, $target, $filename);
        // 접두사를 붙인 파일명
        $upload[$i] = $prefix . $filename;
        $dest_file = "./data/file/$bo_table/$upload[$i]";

        @mkdir("./data/file/$bo_table", 0707);
        @chmod("./data/file/$bo_table", 0707);
        move_uploaded_file($tmp_file, $dest_file) or die($_POST["wr_file$i"][error]);
        chmod($dest_file, 0606);

        $is_up[$i] = true;
    }
}

# 3.09 추가
# wr_1 ~ wr_9 필드가 있는지 검사
$sql_add = "";
$sql = " select wr_1, wr_9 from $write_table ";
$result = @mysql_query($sql);
if ($result) {
    $sql_add = " , wr_1 = '$wr_1'
                , wr_2 = '$wr_2'
                , wr_3 = '$wr_3'
                , wr_4 = '$wr_4'
                , wr_5 = '$wr_5'
                , wr_6 = '$wr_6'
                , wr_7 = '$wr_7'
                , wr_8 = '$wr_8'
                , wr_9 = '$wr_9'";
}

if ($w == '') {
    $wr_num = get_next_num($write_table, $wr_notice);

    $sql = " insert into $write_table
                set ca_id = '$ca_id',
                    wr_notice = '$wr_notice',
                    wr_html = '$wr_html',
                    wr_secret = '$wr_secret',
                    wr_recv_email = '$wr_recv_email',
                    wr_num = '$wr_num',
                    wr_reply = '',
                    wr_comment = '0',
                    wr_commentcnt = '0',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    wr_file1 = '$upload[1]',
                    wr_file2 = '$upload[2]',
                    wr_file1_source = '$upload_source[1]',
                    wr_file2_source = '$upload_source[2]',
                    wr_file1_download = '0',
                    wr_file2_download = '0',
                    wr_hit = '0',
                    mb_id = '$mb_id',
                    wr_name = '$wr_name',
                    wr_passwd = '$wr_passwd',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '$now',
                    wr_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_user_agent = '$_SERVER[HTTP_USER_AGENT]'
                    $sql_add ";
    sql_query($sql);

    $wr_id = mysql_insert_id();

    sql_query(" update $write_table set wr_parent_id = '$wr_id' where wr_id = '$wr_id' ");

    // 게시글 1 증가
    sql_query("update $cfg[table_board] set bo_total_count = bo_total_count + 1 where bo_table = '$bo_table'");

} else if ($w == 'r') {

    // 최대 답변은 $cfg[reply_max] 단계까지
    if (strlen($wr[wr_reply]) == $cfg[reply_max]) {
        alert("더 이상 답변하실 수 없습니다.\\n\\n답변은 {$cfg[reply_max]}단계 까지만 가능합니다.");
    }

    $reply_len = strlen($wr[wr_reply]) + 1;
    $sql = " select MAX(SUBSTRING(wr_reply, $reply_len, 1)) from $write_table
              where wr_num = '$wr[wr_num]' ";
    if ($wr[wr_reply] != "") {
        $sql .= " and wr_reply like '$wr[wr_reply]%' ";
    }
    $row = sql_fetch($sql);

    if ($row[0] == "") {
        $reply_char = "A";
    } else if ($row[0] == "Z") {
        alert("더 이상 답변하실 수 없습니다.\\n\\n답변은 26개 까지만 가능합니다.");
    } else {
        $reply_char = chr(ord($row[0]) + 1);
    }
   
    $reply = $wr[wr_reply] . $reply_char;

    // 답변의 원글이 비밀글이라면 비밀번호는 원글과 동일하게 넣는다.
    if ($wr_secret) {
        $wr_passwd = $wr[wr_passwd];
    }

    $sql = " insert into $write_table
                set ca_id          = '$ca_id',
                    wr_notice      = '$wr[wr_notice]',
                    wr_html        = '$wr_html',
                    wr_secret      = '$wr_secret',
                    wr_recv_email  = '$wr_recv_email',
                    wr_num          = '$wr[wr_num]',
                    wr_comment      = '0',
                    wr_commentcnt  = '0',
                    wr_reply        = '$reply',
                    wr_subject      = '$wr_subject',
                    wr_content      = '$wr_content',
                    wr_link1        = '$wr_link1',
                    wr_link2        = '$wr_link2',
                    wr_file1        = '$upload[1]',
                    wr_file2        = '$upload[2]',
                    wr_file1_source = '$upload_source[1]',
                    wr_file2_source = '$upload_source[2]',
                    wr_file1_download = '0',
                    wr_file2_download = '0',
                    wr_hit          = '0',
                    mb_id          = '$mb_id',
                    wr_name        = '$wr_name',
                    wr_passwd      = '$wr_passwd',
                    wr_email        = '$wr_email',
                    wr_homepage    = '$wr_homepage',
                    wr_datetime    = '$now',
                    wr_ip          = '$_SERVER[REMOTE_ADDR]',
                    wr_user_agent  = '$_SERVER[HTTP_USER_AGENT]'
                    $sql_add ";
    sql_query($sql);

    $wr_id = mysql_insert_id();
    $wr_num = $wr[wr_num];

    sql_query(" update $write_table set wr_parent_id = '$wr_id' where wr_id = '$wr_id' ");

    // 게시글 1 증가
    sql_query("update $cfg[table_board] set bo_total_count = bo_total_count + 1 where bo_table = '$bo_table'");

} else if ($w == 'u') {

    if ($member[mb_id]) {
        // 자신의 글이라면
        if ($member[mb_id] == $wr[mb_id]) {
            $mb_id = $member[mb_id];
            $wr_name = $member[mb_name];
            $wr_email = $member[mb_email];
            $wr_homepage = $member[mb_homepage];
        } else {
            $mb_id = $wr[mb_id];
        }
    } else {
        $mb_id = '';
    }

    $sql_passwd = "";
    if ($wr_passwd != "") {
        $sql_passwd =" , wr_passwd = PASSWORD('$wr_passwd') ";
    }

    $sql_notice = "";
    if (isset($wr_notice)) {
        $sql_notice = " , wr_notice = '$wr_notice' ";
    }

    $sql_file = "";
    for ($i=1; $i<=$cfg[file_count]; $i++) {
        // 다시 업로드 하였다면
        if ($is_up[$i]) {
            $sql_file .= " , wr_file{$i} = '$upload[$i]' ";
            $sql_file .= " , wr_file{$i}_source = '$upload_source[$i]' ";
        }
    }

    // 공지사항이었다가 일반글로 수정했다면, 또는 그 반대 처리
    if (($wr[wr_notice] == -1 && $wr_notice != -1) || ($wr[wr_notice] != -1 && $wr_notice == -1)) {
        $wr_num = get_next_num($write_table, $wr_notice);
    } else {
        $wr_num = $wr[wr_num];
    }

    $sql = " update $write_table
                set ca_id = '$ca_id',
                    wr_notice = '$wr_notice',
                    wr_html = '$wr_html',
                    wr_secret = '$wr_secret',
                    wr_recv_email = '$wr_recv_email',
                    wr_num = '$wr_num',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    mb_id = '$mb_id',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_update_datetime = '$now',
                    wr_update_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_update_user_agent = '$_SERVER[HTTP_USER_AGENT]'
                    $sql_passwd
                    $sql_file
                    $sql_add
              where wr_id = '$wr[wr_id]' ";
    sql_query($sql);

} else if ($w == 'c') {

    // 코멘트의 가장 큰 값을 얻어 1을 증가
    $sql = " select max(wr_comment) from $write_table where wr_parent_id = '$wr_id' ";
    $row = sql_fetch($sql);
    $wr_comment = (int)($row[0] + 1);

    $sql = " insert into $write_table
                set wr_notice = '$wr[wr_notice]',
                    wr_num = '$wr[wr_num]',
                    wr_reply = '',
                    wr_parent_id = '$wr_id',
                    wr_comment = '$wr_comment',
                    wr_content = '$wr_content',
                    mb_id = '$mb_id',
                    wr_passwd = '$wr_passwd',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '$now',
                    wr_ip = '$_SERVER[REMOTE_ADDR]',
                    wr_user_agent = '$_SERVER[HTTP_USER_AGENT]'
                    $sql_add ";
    sql_query($sql);

    $comment_wr_id = mysql_insert_id();

    // 코멘트수 증가
    $sql = " update $write_table
                set wr_commentcnt = wr_commentcnt + 1
              where wr_id = '$wr_id' ";
    sql_query($sql);

    $wr_subject = $wr[wr_subject];

    $atag_comment = "&page=$page#c{$comment_wr_id}";
}

// 쓰기 포인트 부여
if ($member[mb_id]) {
    if ($w == '') {
        insert_point($member[mb_id], $default[de_write_point], "$board[bo_subject] $wr_id 글쓰기");
    } else if ($w == 'r') {
        insert_point($member[mb_id], $default[de_write_point], "$board[bo_subject] $wr_id 글답변");
    } else if ($w == 'c') {
        insert_point($member[mb_id], $default[de_comment_point], "$board[bo_subject] {$wr_id}-{$comment_wr_id} 코멘트쓰기");
    }
}

// 비밀글이라면 세션에 비밀글의 아이디를 저장한다. 자신의 글은 다시 비밀번호를 묻지 않기 위함
if ($wr_secret) {
    # 3.09 추가
    session_register("ss_secret");

    $ss_secret = $_SESSION["ss_secret"] = "$bo_table|$wr_num";
}

$qstr .= "&wr_id=$wr_id{$atag_comment}";

// 메일발송 사용 (수정글은 메일발송하지 않음)
if ($default[de_use_sendmail] && $w != 'u') {
    $admin = get_admin('board');
    $wr_subject = get_text(stripslashes($wr_subject));
    $wr_content = nl2br(get_text(stripslashes($wr_content)));

    $warr = array( ''=>'입력', 'u'=>'수정', 'r'=>'답변', 'c'=>'코멘트' );
    $str = $warr[$w];

    // 3.26
    $link_url = "$cfg[d_url]/?doc=bbs/gnuboard.php&{$qstr}";

    $subject = "'{$board[bo_subject]}' 게시판에 {$str}글이 올라왔습니다.";

    ob_start();
    include "$mail_skin/gbupdate.skin.php";
    $content = ob_get_contents();
    ob_end_clean();

    if ($wr_email != $admin[mb_email]) {
        // 관리자에게 보내는 메일
        mailer($wr_name, $wr_email, $admin[mb_email], $subject, $content, 1);
    }

    // 답변 메일받기 (원게시자에게 보내는 메일)
    if ($wr[wr_recv_email] && $wr[wr_email] && $wr[wr_email] != $admin[mb_email]) {
        mailer($wr_name, $wr_email, $wr[wr_email], $subject, $content, 1);

        // 코멘트 쓴 모든이에게 메일 발송
        if ($cfg[comment_all_email]) {
            $sql = " select wr_email from $write_table
                      where wr_email not in ( '$admin[mb_email]' , '$wr[wr_email]', '' )
                        and wr_parent_id = '$wr_id'
                      group by wr_email ";
            $result = sql_query($sql);
            while ($row=mysql_fetch_array($result)) {
                mailer($wr_name, $wr_email, $row[wr_email], $subject, $content, 1);
            }
        }

        /*                               
        // 3.26 배포 하려다 폐기
        // 코멘트 쓴 모든이에게 쪽지 발송 (회원인 경우만)
        if ($cfg[comment_all_memo] && $member[mb_id]) {
            $subject = preg_replace("/'/", "&#039;", $subject);

            $sql = " select mb_id from $write_table
                      where mb_id not in ( '$admin[mb_id]' , '$member[mb_id]', '' )
                        and wr_parent_id = '$wr_id'
                      group by mb_id ";
            $result = sql_query($sql);
            while ($row=mysql_fetch_array($result)) {
                // 쪽지 INSERT
                $sql = " insert into $cfg[table_memo]
                            set me_recv_mb_id = '$row[mb_id]',
                                me_send_mb_id = '$member[mb_id]',
                                me_send_datetime = '$now',
                                me_memo = '$subject\n\n$link_url' ";
                sql_query($sql);

                // 실시간 쪽지 알림 기능
                $sql = " update $cfg[table_member] 
                            set mb_memo_call_mb_id = '$member[mb_id]'
                          where mb_id = '$row[mb_id]' ";
                sql_query($sql);
            }
        }
        */
    }
}


// 사용자 코드 실행
if (file_exists("$board_skin/gbupdate.skin.php")) {
    include "$board_skin/gbupdate.skin.php";
}

gotourl("./?doc=bbs/ok.php" );
?>
요기 goto 문의 url 에서 마무리를 ok 로 넘겨서 마무리 하고 싶은데.. 여기 자꾸 오류가 뜹니다.
뜨는건.. _DOCTYPE_ 오류 : NONE , STYLE , DESIGN 중 하나를 사용하세요. 이거구요
아무래도.. ok.php에서 잘못 됐는것 같은데. 도와주세요..
ok.php는
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "design");

$html_title = "그누보드3";
?>
<html>
<head>
<title>ok.gif</title>
<meta http-equiv="Content-Type" content="text/html;">
<!--Fireworks MX 2004 Dreamweaver MX 2004 target.  Created Fri Jan 14 21:39:24 GMT+0900 2005-->
</head>
<body bgcolor="#ffffff">

<table border="0" cellpadding="0" cellspacing="0" width="450">
<!-- fwtable fwsrc="Untitled" fwbase="ok.gif" fwstyle="Dreamweaver" fwdocid = "465339991" fwnested="0" -->
  <tr>
  <td><img src="spacer.gif" width="450" height="1" border="0" alt=""></td>
  <td><img src="spacer.gif" width="1" height="1" border="0" alt=""></td>
  </tr>

  <tr>
  <td><img name="ok" src="http://www.4da4.com/img/onlineorder/ok.gif" width="450" height="200" border="0" alt=""></td>
  <td><img src="spacer.gif" width="1" height="200" border="0" alt=""></td>
  </tr>
  <tr>
  <td><img name="okbt" src="http://www.4da4.com/img/onlineorder/okbt.gif" width="450" height="146" border="0" alt=""></td>
  <td><img src="spacer.gif" width="1" height="146" border="0" alt=""></td>
  </tr>
</table>
</body>
</html>
입니다.
아무래도 제가 iframe을 써는데 이걸 해결방법이 없을까요..??
  • 복사

댓글 전체

카이루 님 말대로 했어도 안돼요..TT
아무래도 여기 경로가 잘못 되었는지 뭐가 잘못 되었는지 모르겠어요.
경로는 우선 보면.. htm 작업으로.. online.htm 이라는 페이지를 만들고.. 여기에 보면 견적폼넣는곳에.. 맞는.. 견적서..즉..http://4da4.com/gnu3/?doc=bbs/gbform.php&bo_table=order 이것을 아이프레임 시켰는데.. 여기서 확인 버튼 누르면 처리가 되면.. 바로.. ok.php로 보내고 싶은데.. ok.php에서 계속 위와 같은 말만 나오네요.. 원 죽겠네요. 안돼요..
게시물 내용 중 특이한 오류는 없어 보입니다.
'카이루'님 말씀처럼, ok.php 소스파일의 상단에 지정한
문서타입을 정의하는 부분에서 대소문자 오류가 발생했습니다.
/그누보드/indexdoctype.php 파일의 case 구문에서,
design으로 정의된 구문이 있는지 확인이 필요하며,
다음과 같이 문서타입을 define("_DOCTYPE_", "DESIGN"); 처럼
대문자로 지정해 주셔야 할 것 같습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "DESIGN");
?>

혹은 홈페이지 주소를 알켜주세요,.
design 대소문자 때문이 아닐까요??


밑에 부분 제거 하심이 좋을듯 싶은데요
<html>
<head>
<title>ok.gif</title>
<meta http-equiv="Content-Type" content="text/html;">
<!--Fireworks MX 2004 Dreamweaver MX 2004 target.  Created Fri Jan 14 21:39:24 GMT+0900 2005-->
</head>
<body bgcolor="#ffffff">

</body>
</html>
© SIRSOFT
현재 페이지 제일 처음으로