로그인 안해도 글을 쓸수 있도록 하고싶습니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

로그인 안해도 글을 쓸수 있도록 하고싶습니다. 정보

로그인 안해도 글을 쓸수 있도록 하고싶습니다.

본문

예약 게시판입니다. 그런데, 로그인한 사람만 정상적으로 글을 쓸 수 있도록 되어있습니다.
만약 로그인을 안한 상태에서 글을 쓰게 되면 '정상적인 접근이 아닌 것 같습니다' 라는 문구가 뜹니다. 제가 초보라 어느 부분을 손봐야 누구나 예약을 할 수 있을지 잘 모르겠네여;;
도움 간곡히 부탁드립니다.^^;;


write.php 파일 소스입니다.


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>

<?
  if(strlen($f_date)>0&&strlen($t_date)>0) {  // 받은 날짜 argument 가 있을때..
    $f_year = (int)substr($f_date,0,4);$f_mon = (int)substr($f_date,4,2);$f_day = (int)substr($f_date,6,2);
    $t_year = (int)substr($t_date,0,4);$t_mon = (int)substr($t_date,4,2);$t_day = (int)substr($t_date,6,2);
  }

  else {                                    // 받은 날짜 argument 가 없거나, 이상할 때 오늘날짜로 세팅...
    $today = getdate();
    $f_mon = $today['mon'];$f_day = $today['mday'];$f_year = $today['year'];
    $t_mon = $today['mon'];$t_day = $today['mday'];$t_year = $today['year'];

    $f_date = $t_year.sprintf("%02d",$t_mon).$t_day;
    $t_date = $t_year.sprintf("%02d",$t_mon).$t_day;
  }
?>


<!-- 카테고리 -->
<script language="JavaScript">
Array.prototype.get = function(index)
{
return this[index];
}
Array.prototype.set = function(object)
{
this[this.length] = object;
}

Coditech = new Object();
Coditech.Version="1.0.0.0";
Coditech.Framework = new Object();
Coditech.Framework.Category = function(name,value)
{
var _name  = name;
var _value  = value;
var _subcategory = new Array();

this.getName = function(){return _name;}
this.getValue = function(){ return _value;}
this.add = function(name,value)
{
_subcategory.set(new Coditech.Framework.Category(name,value));
}
this.get = function(index)
{
return _subcategory.get(index);
}
this.length = function(){ return _subcategory.length;}
}

function addCategory(category,name,value)
{
category.add(name,value);
}

ROOT_CATEGORY_NODE = new Coditech.Framework.Category("ROOT","");

addCategory(ROOT_CATEGORY_NODE,"","가무연습실 403호");
addCategory(ROOT_CATEGORY_NODE,"","가무연습실 404호");
addCategory(ROOT_CATEGORY_NODE,"","가무연습실 406호");


function initialize()
{
var fm = document.fgbform;
if (null != fm)
{
createOption(fm.wr_3, ROOT_CATEGORY_NODE);
//createOption(fm.wr_3, ROOT_CATEGORY_NODE.get(0));

}

<?
if($write[wr_3]){
?>

for(var i=0; i < fm.wr_3.options.length;i++){
if(fm.wr_3.options[i].text == '<?= $write[wr_3] ?>'){
fm.wr_3.options[i].selected = true;
break;
}
}



//fm.wr_3.value = '<?= $write[wr_3] ?>';

<?
}
?>

}

function clearSelectBox(selectBox)
{
if (null == selectBox || null == selectBox.options)
{
return;
}
var length = selectBox.options.length;

for (;selectBox.options.length > 0 ;){
selectBox.options[0]=null;
}
}

function createOption(selectBox,category)
{
if (null == category) return;

clearSelectBox(selectBox);

for (var index=0;index<category.length(); index++)
{
var c = category.get(index);
var option = new Option();

option.value = c.getName();
option.text = c.getValue();

selectBox.options.add(option);
}
}



window.onload = initialize;

</script>


<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>

<form name=fgbform method=post action='<?="./write_update.php"?>' enctype='multipart/form-data' onsubmit='return formcheck()'>
<input type=hidden name=w        value='<?=$w?>'>
<input type=hidden name=bo_table value='<?=$bo_table?>'>
<input type=hidden name=wr_id    value='<?=$wr_id?>'>
<input type=hidden name=sselect  value='<?=$sselect?>'>
<input type=hidden name=stext    value='<?=$stext?>'>
<input type=hidden name=section  value='<?=$section?>'>
<input type=hidden name=ssort    value='<?=$ssort?>'>
<input type=hidden name=sorder  value='<?=$sorder?>'>
<input type=hidden name=page    value='<?=$page?>'>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr><td colspan=2 height=2 bgcolor=#b0adf5></td></tr>
<tr><td style='padding-left:20px' colspan=2 height=25 bgcolor=#f8f8f9><strong>공간대여 신청</strong></td></tr>

<?
$start_date = $link[1];
$end_date  = $link[2];

//echo "<script language='javascript'>alert('$link[1]$link[2]');</script>";

$start_date_y = substr($start_date,0,4);
$start_date_m = substr($start_date,4,2);
$start_date_d = substr($start_date,6,2);

$end_date_y = substr($end_date,0,4);
$end_date_m = substr($end_date,4,2);
$end_date_d = substr($end_date,6,2);

//echo "<script language='javascript'>alert('$start_date$end_date');</script>";
?>

<?
if (strlen($start_date) == 8) // 기존에 들어있는 값이 있을 경우엔 기존의 값을 이용한다.
{
//(int)
$f_year =(int)$start_date_y;
$f_mon  =(int)$start_date_m;
$f_day  = (int)$start_date_d;

  // echo "<script language='javascript'>alert('$f_year$f_mon$f_day');</script>";

$t_year = (int)$end_date_y;
$t_mon  =(int)$end_date_m;
$t_day  = (int)$end_date_d;

//echo "<script language='javascript'>alert('$t_year$t_mon$t_day');</script>";
}

  // 날짜 관련 listbox html 생성 시작
  $lastday=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
  if ($year%4 == 0) $lastday[2] = 29;
  for ($i=1;$i <= $lastday[$t_mon];$i++) {
    $temp_year = $t_year - 4 + $i;
    if($i <= 7) { // 년도 선택 listbox html 생성
      if ($temp_year==$f_year) { $htm_fyear .= "      <OPTION value=$temp_year selected>$temp_year</OPTION>\n"; }
      else { $htm_fyear .= "      <OPTION value=$temp_year>$temp_year</OPTION>\n"; }
      if ($temp_year==$t_year) { $htm_tyear .= "      <OPTION value=$temp_year selected>$temp_year</OPTION>\n"; }
      else { $htm_tyear .= "      <OPTION value=$temp_year>$temp_year</OPTION>\n"; }
    }
    if($i <=12) { // 월 선택 listbox html 생성
      $temp_mon = sprintf ("%02d",$i);
      if ($i==$f_mon) { $htm_fmon .= "      <OPTION value=$temp_mon selected>$i</OPTION>\n"; }
      else { $htm_fmon .= "      <OPTION value=$temp_mon>$i</OPTION>\n"; }
      if ($i==$t_mon) { $htm_tmon .= "      <OPTION value=$temp_mon selected>$i</OPTION>\n"; }
      else { $htm_tmon .= "      <OPTION value=$temp_mon>$i</OPTION>\n"; }
    }
    // 일 선택 listbox html 생성
    $temp_day = sprintf ("%02d",$i);
    if ($i==$f_day) { $htm_fday .= "      <OPTION value=$temp_day selected>$i</OPTION>\n"; }
    else { $htm_fday .= "      <OPTION value=$temp_day>$i</OPTION>\n"; }
    if ($i==$t_day) { $htm_tday .= "      <OPTION value=$temp_day selected>$i</OPTION>\n"; }
    else { $htm_tday .= "      <OPTION value=$temp_day>$i</OPTION>\n"; }
  }
  // 날짜 관련 listbox html 생성 끝


  $times=array('07:01','08:01','09:01','10:01','11:01','12:01','13:01','14:01','15:01','16:01','17:01','18:01','19:01','20:01','21:01','22:01');
  $times_wr_9;
  //$times_wr_10;
  for ($j = 0; $j < count($times); $j++) {
if ($write[wr_9] == $times[$j]) { $times_wr_9 .= "      <OPTION value={$times[$j]} selected>{$times[$j]}</OPTION>\n"; }
else { $times_wr_9 .= "      <OPTION value={$times[$j]}>{$times[$j]}</OPTION>\n"; }

//if ($write[wr_10] == $times[$j]) { $times_wr_10 .= "      <OPTION value={$times[$j]} selected>{$times[$j]}</OPTION>\n"; }
//else { $times_wr_10 .= "      <OPTION value={$times[$j]}>{$times[$j]}</OPTION>\n"; }

  }

  $times=array('07:00','08:00','09:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00');
  //$times_wr_9;
  $times_wr_10;
  for ($j = 0; $j < count($times); $j++) {
//if ($write[wr_9] == $times[$j]) { $times_wr_9 .= "      <OPTION value={$times[$j]} selected>{$times[$j]}</OPTION>\n"; }
//else { $times_wr_9 .= "      <OPTION value={$times[$j]}>{$times[$j]}</OPTION>\n"; }

if ($write[wr_10] == $times[$j]) { $times_wr_10 .= "      <OPTION value={$times[$j]} selected>{$times[$j]}</OPTION>\n"; }
else { $times_wr_10 .= "      <OPTION value={$times[$j]}>{$times[$j]}</OPTION>\n"; }

  }
?>
<tr><td colspan=2 height=7></td></tr>

<tr>
    <td class='ht' style='padding-left:10px;width:70px;'>
· 대여일&nbsp;:&nbsp;</td>
    <td>
<SELECT onchange="javascript:resetday('from');" name=fyear>
  <?=$htm_fyear?>
</SELECT> 년
<SELECT onchange="javascript:resetday('from');" name=fmon>
    <?=$htm_fmon?>
    </SELECT> 월
<SELECT onchange="javascript:resetday('from');" name=fday>
    <?=$htm_fday?>
  </SELECT> 일<input type=hidden name='wr_link1' itemname='링크 #1' value='<?=$f_date?>' class='input' size=60>
  <input type=hidden name='wr_link2' itemname='링크 #2' value='<?=$t_date?>' class='input' size=60>
  <input type=hidden name='tyear' >
  <input type=hidden name='tmon' >
  <input type=hidden name='tday' >
  </td>
</tr>
<!--
<tr >
    <td class='ht' style='padding-left:10px;'>
· 반납일&nbsp;:&nbsp;</td>
    <td>
<SELECT onchange="javascript:resetday('to');" name=tyear>
    <?=$htm_tyear?>
    </SELECT> 년
<SELECT onchange="javascript:resetday('to');" name=tmon>
    <?=$htm_tmon?>
    </SELECT> 월
<SELECT onchange="javascript:resetday('to');" name=tday>
    <?=$htm_tday?>
    </SELECT> 일<input type=hidden name='wr_link2' itemname='링크 #2' value='<?=$t_date?>' class='input' size=60>
  </td>
</tr>
-->
<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 사용시간&nbsp;:&nbsp;</td>
    <td>
<SELECT name='wr_9' >
  <?=$times_wr_9?>
</SELECT> ~
<SELECT name='wr_10' >
  <?=$times_wr_10?>
</SELECT>
  </td></tr>

<? if ($is_name) { ?><tr class='ht'><td>이름&nbsp;:&nbsp;</td><td><input type=text name='wr_name' size=60 maxlength=20 required itemname='이름' value='<?=$name?>' class=input></td></tr><? } ?>
<? if ($is_passwd) { ?><tr class='ht'><td>비밀번호&nbsp;:&nbsp;</td><td><input type=password name='wr_passwd' size=20 maxlength=20 <?=$passwd_required?> itemname='비밀번호' class=input></td></tr><? } ?>
<? if ($is_email) { ?><tr class='ht'><td>E-MAIL&nbsp;:&nbsp;</td><td><input type=text name='wr_email' size=60 maxlength=100 email itemname='E-MAIL' value='<?=$email?>' class='input w99'></td></tr><? } ?>
<? if ($is_homepage) { ?><tr class='ht'><td>홈페이지&nbsp;:&nbsp;</td><td><input type=text name='wr_homepage'  size=60 itemname='홈페이지' value='<?=$wr_homepage?>' class='input w99'></td></tr><? } ?>

<? if ($is_category) { ?><tr class='ht'><td>분류&nbsp;:&nbsp;</td><td><select name=ca_id><?=$category_option?></select></td></tr><? } ?>


<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 대여공간&nbsp;:&nbsp;</td>
    <td>
<select name='wr_3' class='ed'  itemname='대여공간' style="width:120px;">
</select>&nbsp;&nbsp;&nbsp;
<!--select name='wr_3' class='ed'  itemname='장비' onChange="javascript:changeCtg02(document.fgbform);" style="width:120px;">
</select--><input type="hidden" id="wr_subject" name="wr_subject" value="<?php echo $subject; ?>">
  </td></tr>
<tr><td colspan=2 height=28></td></tr>

<tr class='ht'><td style='padding-left:10px;' valign='top'><br><br>· 사용목적&nbsp;:&nbsp;</td>
<td><table width=100% cellpadding=0 cellspacing=0>
        <tr>
            <td width=50% align=left valign=bottom>
                <span style="cursor: pointer;" onclick="textarea_decrease('wr_content', 5);"><img src="<?=$board_skin_path?>/img/up.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_original('wr_content', 5);"><img src="<?=$board_skin_path?>/img/start.gif"></span>
                <span style="cursor: pointer;" onclick="textarea_increase('wr_content', 5);"><img src="<?=$board_skin_path?>/img/down.gif"></span></td>
            <td width=50% align=right><? if ($write_min || $write_max) { ?><span id=char_count></span>글자<?}?></td>
        </tr>
        </table>
<textarea id=wr_content name='wr_content' style='width:80%; word-break:break-all;' rows=5 itemname='대여목적' required  class='textarea w99 lh'><?=$content?></textarea></td></tr>

<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 단위&nbsp;:&nbsp;</td>
    <td>
<input name='wr_5' class=ed value='<?= $write[wr_5] ?>' type='text' style="width:20%;" maxlength='34' itemname='단위(동아리이름 또는 학생회)' required >&nbsp;&nbsp;&nbsp;
  </td></tr>
<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 신청자&nbsp;:&nbsp;</td>
    <td>
<input name='wr_1' class=ed value='<?= $write[wr_1] ?>' type='text' style="width:20%;" maxlength='34' itemname='예약자' required >&nbsp;&nbsp;&nbsp;
  </td></tr>
<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 학과&nbsp;:&nbsp;</td>
    <td>
<input name='wr_6' class=ed value='<?= $write[wr_6] ?>' type='text' style="width:20%;" maxlength='34' itemname='학과' required >&nbsp;&nbsp;&nbsp;
  </td></tr>
<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 학번&nbsp;:&nbsp;</td>
    <td>
<input name='wr_7' class=ed value='<?= $write[wr_7] ?>' type='text' style="width:20%;" maxlength='34' itemname='학번' required >&nbsp;&nbsp;&nbsp;
  </td></tr>
<tr height="28">
    <td class='ht' style='padding-left:10px;'>· 연락처&nbsp;:&nbsp;</td>
    <td>
<input name='wr_8' class=ed value='<?= $write[wr_8] ?>' type='text' style="width:20%;" maxlength='34' itemname='연락처' required >&nbsp;&nbsp;&nbsp;
  </td></tr>
<? if ($is_norobot) { ?>
<tr class='ht'>
    <td><?=$norobot_str?>&nbsp;:&nbsp;</td>
    <td>
        <input type=input name='wr_key' required itemname='자동등록방지' size=10 class=input>
        왼쪽의 글자중 빨간글자만 순서대로 입력하세요.
    </td>
</tr>
<? } ?>

</table>

<p>

<div align=center>
    <input name=btnsubmit type=submit value='  확  인  ' class=button  onclick="javascript:resetday('all');" >
    <? //if ($is_imagesave) { ?>
    <input type=button value='  취  소  ' onclick="history.back();">
    <? //} ?>
</div>

</td></tr></table>
</form>
<script language='Javascript'>
    var f = document.fgbform;

    if (f.w.value == 'i' && typeof(f.wr_name) != 'undefined') {
        f.wr_name.focus();
    } else if (f.w.value == 'u') {
        f.wr_subject.focus();
        if (typeof(f.ca_id) != 'undefined') {
            f.ca_id.value = '<?=$ca_id?>';
        }
    }

    function formcheck()
    {


if(fgbform.wr_10.value <= fgbform.wr_9.value){
      alert("시간을 확인하신 후 다시 입력하시기 바랍니다.");
            fgbform.wr_10.focus();
            return false;
}

    fgbform.tyear.value = fgbform.fyear.value;
    fgbform.tmon.value = fgbform.fmon.value;
    fgbform.tday.value = fgbform.fday.value;

        var startDate = new Date(fgbform.fyear.value, fgbform.fmon.value-1, fgbform.fday.value);
        var endDate = new Date(fgbform.tyear.value, fgbform.tmon.value-1, fgbform.tday.value);
        var compareDate = new Date(startDate.getTime()+ (1000*60*60*24* 2));
        var currentDate = new Date();
        currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());

        if ( startDate < currentDate) {
            alert("대여일자가 오늘보다 이전 일자입니다.\n\n확인 후 다시 입력하시기 바랍니다.");
            fgbform.fyear.focus();
            return false;
        }

    if (fgbform.wr_link2.value-fgbform.wr_link1.value<0) {
            alert("대여일자보다 반납일자가 빠릅니다.\n\n확인 후 다시 입력하시기 바랍니다.");
            fgbform.fyear.focus();
            return false;
        }

        if ( endDate.getTime() > compareDate.getTime()) {
            alert("대여기간이 맞지않습니다.\n\n확인 후 다시 입력하시기 바랍니다.");
            fgbform.fyear.focus();
            return false;
        }

fgbform.wr_3.options[fgbform.wr_3.selectedIndex].value = fgbform.wr_3.options[fgbform.wr_3.selectedIndex].text;
fgbform.wr_subject.value = fgbform.wr_3.options[fgbform.wr_3.selectedIndex].text;
        //fgbform.btnsubmit.disabled = true;

        return true;
    }



    function html_auto_br(obj)
    {
        if (obj.checked) {
            result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
            if (result) {
                obj.value = 2;
            } else {
                obj.value = 1;
            }
        } else {
            obj.value = 1;
        }
    }

    function resetday(a_val)
    {
        if (a_val=="from") {
            fgbform.wr_link1.value = fgbform.fyear.value+fgbform.fmon.value+fgbform.fday.value;

    fgbform.tyear.value = fgbform.fyear.value;
    fgbform.tmon.value = fgbform.fmon.value;
    fgbform.tday.value = fgbform.fday.value;
    fgbform.wr_link2.value = fgbform.tyear.value+fgbform.tmon.value+fgbform.tday.value;

        }
    if (a_val=="to") {
            fgbform.wr_link2.value = fgbform.tyear.value+fgbform.tmon.value+fgbform.tday.value;
        }

if (a_val=="all") {
fgbform.wr_link1.value = fgbform.fyear.value+fgbform.fmon.value+fgbform.fday.value;

fgbform.tyear.value = fgbform.fyear.value;
    fgbform.tmon.value = fgbform.fmon.value;
    fgbform.tday.value = fgbform.fday.value;
    fgbform.wr_link2.value = fgbform.tyear.value+fgbform.tmon.value+fgbform.tday.value;
}
    }

</script>
  • 복사

댓글 전체

관리자에서 글쓰기 등급은 '1' 로 되어있지요?

자동등록방지글입력부분때문에 생기는 에러같습니다.
사용안하시려면 해당부분을 주석처리하시면 됩니다.
자동등록방지 사용하시는게 안전하니 해당부분을 그누 베이직스킨과 비교하여 수정해 보세요.

올려주신 소스의
<? if ($is_norobot) { ?>
<tr class='ht'>
    <td><?=$norobot_str?>&nbsp;:&nbsp;</td>
    <td>
        <input type=input name='wr_key' required itemname='자동등록방지' size=10 class=input>
        왼쪽의 글자중 빨간글자만 순서대로 입력하세요.
    </td>
</tr>
<? } ?>
이 부분을

얘로 바꾸시고...
<? if ($is_guest) { ?>
<tr  class='ht'>
    <td><img id='kcaptcha_image' /></td>
    <td><input class='ed' type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;왼쪽의 글자를 입력하세요.</td>
</tr>
<? } ?>
-------------------------------
</form> 다음에
<script type="text/javascript" src="<?="$g4[path]/js/jquery.kcaptcha.js"?>"></script>
추가해보세요.
© SIRSOFT
현재 페이지 제일 처음으로