묻고답하기
게시판에글등록할때 제목을넣지않을경우자동으로"제목없음"을나타나게하는방법
2009.01.20 12:01
안녕하십니까
제로보드는아닌데사이트를운영하다가 막히는부분이있어서
이렇게질문을드립니다
[사진첨부]
이와같이글내용을안적고 등록을하게될시 나타나는화면입니다
저상태가되면 관리자모드에서도 글을지울수가없습니다
질문은 제목을등록안할시에 자동으로 제목없음이 뜨게할수있는방법좀
알려주세요 소스는이거구요
많은고수님들답변부탁드리겟습니다 감사합니다^^
이제 점심시간이군요~점심맛있게드십쇼
<? include "../include/header.php"; ?>
<? include "../include/leftmenu05.php"; ?>
<?
###########입력값 타당성조사############
include "../user_function.inc";
########### 한 페이지당 출력할 게시물의 수
$num_per_page = 10;
########### 게시물 출력목록 하단에 링크를 걸 페이지의 개수
$page_per_block = 10;
?>
<html>
<head>
<script language="javascript">
function jump(form)
{
if(form.page.value)
{
if(!IsNumber(form.page.value))
{
alert("숫자를 입력해주세요!");
form.page.focus();
return;
}
else
{
form.submit();
}
}
return;
}
function IsNumber(num) {
for(var i = 0; i <num.length; i++) {
var chr = num.substr(i,1);
if(chr < '0' || chr > '9') {
return false;
}
}
return true;
}
function search_board(formname)
{
url="sub05_03.php?keyfield=" + formname.keyfield.value +
"&key=" + formname.key.value ;
window.navigate(url);
}
</script>
<td width="668" valign="top"><table width="668" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td><table width="668" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30"> </td>
<td width="228"><img src="../images/title/con05_03.gif" width="228" height="43" /></td>
<td valign="baseline"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">Home > 참여광장 > 자유게시판 </td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="668" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30" height="1"></td>
<td width="638" height="1" bgcolor="#CCCCCC"></td>
</tr>
</table></td>
</tr>
<tr>
<td>
<table width="668" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="30"> </td>
<td>
<!-- -->
<?
########## 데이터베이스에 연결한다. ###########
include "../dbconn.inc";
if(!$page) {
$page = 1;
}
########## 전체게시물의 총 개수를 각각 구한다. ##########
if(!eregi("[^[:space:]]+",$key)) {
$query = "SELECT count(uid) FROM korapis_board where board_kind = 3";
} else {
$encoded_key = urlencode($key);
$query = "SELECT count(uid) FROM korapis_board WHERE board_kind = 3 and $keyfield LIKE '%$key%'";
}
$result = mysql_query($query);
if (!$result) {
error("QUERY_ERROR");
exit;
}
$total_record = mysql_result($result,0,0);
?>
<div align="center"><br>
<form name="searchform" method="post" action="sub05_03.php">
<table width="560" border="0" cellpadding="0" cellspacing="1" class="black" bgcolor="#CCCCCC">
<tr>
<td bgcolor="F5F4E6">
<table width="560" border="0" cellpadding="7" cellspacing="0" class="black">
<tr>
<td height="35">전체목록 : <?echo($total_record)?>건 </td>
<td height="35" align="right"> <div align="right">
<select name="keyfield" class="black">
<option value="name">작성자</option>
<option value="subject">제목</option>
<option value="comment">내용</option>
</select>
<input type="text" name="key" size="12" class="black">
<a href="#"><img src="..\images\img\search.gif" width="52" height="20" border="0" align="absmiddle" onClick="search_board(searchform)"> <a>
</div></td>
</tr>
</table></td>
</tr>
</table>
</form>
<?
########## 현재의 페이지에서 출력할 게시물의 범위를 결정한다. ##########
if(!$total_record) {
$first = 1;
$last = 0;
} else {
$first = $num_per_page*($page-1);
$last = $num_per_page*$page;
$IsNext = $total_record - $last;
if($IsNext > 0) {
$last -= 1;
} else {
$last = $total_record - 1;
}
}
########## 전체 페이지수를 계산한다. ##########
$total_page = ceil($total_record/$num_per_page);
?>
<table width="560" border="0" cellpadding="0" cellspacing="0" class="title">
<tr bgcolor="#FFFFFF">
<td height="1" " bgcolor="#999999"> </td>
</tr>
</table>
<table width="560" border="0" cellpadding="4" cellspacing="1" bgcolor="#CCCCCC" class="black">
<tr bgcolor="F5F4E6">
<td width="40" height="18">
<div align="center">No</div></td>
<td width="260" height="18" bgcolor="F5F4E6">
<div align="center">제목</div></td>
<td width="40" height="18">
<div align="center">파일</div></td>
<td width="40" height="18">
<div align="center">작성자</div></td>
<td width="80" height="18">
<div align="center">작성일</div></td>
<td width="40" height="18">
<div align="center">조회</div></td>
</tr>
<?
########## 현재페이지의 범위내에 출력할 결과레코드세트를 얻는다. ##########
if(!eregi("[^[:space:]]+",$key)) {
$query = "SELECT uid,name,board_kind,subject,signdate, ref,file,comment,fid,thread,member_id from korapis_board where board_kind = 3 ORDER BY fid DESC, thread ASC";
} else {
$query = "SELECT uid,name,board_kind,subject,signdate, ref,file,comment,fid,thread,member_id from korapis_board where $keyfield LIKE '%$key%' and board_kind =3 ORDER BY fid DESC, thread ASC ";
}
$result= mysql_query($query);
if (!$result) {
error("QUERY_ERROR");
exit;
}
$reply_indent = 5;
########## 게시물의 가상번호(게시물의 개수에 따른 일련번호) ##########
$article_num = $total_record - $num_per_page*($page-1);
for($i = $first; $i <= $last; $i++) {
$my_uid = mysql_result($result,$i,0);
$my_name = mysql_result($result,$i,1);
$my_board_kind = mysql_result($result,$i,2);
$my_subject = mysql_result($result,$i,3);
$my_signdate = mysql_result($result,$i,4);
$my_ref = mysql_result($result,$i,5);
$my_file = mysql_result($result,$i,6);
$my_comment = mysql_result($result,$i,7);
$my_fid = mysql_result($result,$i,8);
$my_thread = mysql_result($result,$i,9);
$my_member_id = mysql_result($result,$i,10);
$my_subject=stripslashes($my_subject);
echo("<tr bgcolor=\"#FFFFFF\">");
echo(" <td height=\"18\" width=\"40\"> <div align=\"center\">$article_num</div></td> ");
echo(" <td height=\"18\" width=\"260\">");
########## 응답의 단계에 따라 출력할 제목의 문자열을 안쪽으로 indent를 시킨다. ##########
$spacer = strlen($my_thread)-1;
########## 원글에 대한 답변글이 $reply_indent 값 이상이 되면 답변글의 출력indent를 고정시킨다. ##########
if($spacer > $reply_indent)
{
$spacer = $reply_indent;
}
for($j = 0; $j < $spacer; $j++) {
echo(" ");
}
if($spacer>0)
{
echo("<img src=\"../images/img/re.gif\" width=\"20\" height=\"13\" align=\"absmiddle\">");
}
########## 원칙상 제목에는 HTML 태그를 허용하지 않는다. ##########
$my_subject = htmlspecialchars($my_subject);
########## 본문의 총 라인수를 계산한다. ##########
$line = explode("\n",$my_comment);
$line_of_comment = sizeof($line);
########## 파일이 저장될 자료실의 디렉토리를 설정한다. ##########
$attachfilename="../admin/files/board/".$my_uid."/".$my_file;
###다음, 이전 게시물을 위한 정보
$prev_uid="";
$next_uid="";
if($i < $total_record-1)
{
$prev_uid=mysql_result($result,$i+1,0);
}
if($i!=0)
{
$next_uid=mysql_result($result,$i-1,0);
}
########## 게시물의 제목을 출력한다. ##########
echo("<a href=\"sub05_031.php?uid=$my_uid&article_num=$article_num&prev_uid=$prev_uid&next_uid=$next_uid&my_member_id=$my_member_id\">$my_subject</a>");
//echo("<a href=\"sub05_011.php?uid=$my_uid&article_num=$article_num&prev_uid=$prev_uid&next_uid=$next_uid\">$my_subject</a>");
echo("</td>");
echo(" <td height=\"18\" width=\"40\"> <div align=\"center\">");
if(strlen($my_file)>0)
{
echo("<a href=\"$attachfilename\"><img src=\"../images/img/data_pdf_pic01.gif\" width=\"16\" height=\"16\" border=\"0\"></a>");
}
echo("</div></td>");
echo(" <td height=\"18\"> <div align=\"center\">$my_name</div></td>");
echo(" <td height=\"18\"> <div align=\"center\">$my_signdate</div></td>");
echo(" <td height=\"18\" width=\"40\"> <div align=\"center\">$my_ref</div></td>");
echo("</tr>");
$article_num--;
}
?>
</table>
<table width="560" border="0" cellpadding="0" cellspacing="0" class="title">
<tr bgcolor="#FFFFFF">
<td height="1" " bgcolor="#999999"> </td>
</tr>
</table>
<table width="560" border="0" cellpadding="10" cellspacing="0" class="black">
<tr bgcolor="F5F4E6">
<form method="post" action="sub05_03.php" name="jumpform">
<td width="310" height="50">Page
<input type="text" name="page" size="5" class="black">
/ <?echo("$total_page")?> 으로 <a href="#"><img src="..\images\img\go.gif" width="35" height="20" border="0" align="absmiddle" onClick="jump(jumpform)"></a>
</td>
</form>
<td height="50" align="right">
<?
########## 게시물 목록 하단의 각 페이지로 직접 이동할 수 있는 페이지링크에 대한 설정을 한다. ##########
$total_block = ceil($total_page/$page_per_block);
$block = ceil($page/$page_per_block);
$first_page = ($block-1)*$page_per_block;
$last_page = $block*$page_per_block;
if($total_block <= $block) {
$last_page = $total_page;
}
########## 이전페이지블록에 대한 페이지 링크 ##########
if($block > 1) {
$my_page = $first_page;
echo("<a href=\"sub05_03.php?page=$my_page&keyfield=$keyfield&key=$encoded_key\"</a>");
echo("<img src=\"..\images\img\bu_pre.gif\" width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\">");
}
else
{
echo("<img src=\"..\images\img\bu_pre.gif\" width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\">");
}
########## 현재의 페이지 블럭범위내에서 각 페이지로 바로 이동할 수 있는 하이퍼링크를 출력한다. ##########
for($direct_page = $first_page+1; $direct_page <= $last_page; $direct_page++) {
if($page == $direct_page) {
echo("<b><font color=\"#CC0000\"> $direct_page </font></b>");
} else {
echo("<a href=\"sub05_03.php?page=$direct_page&keyfield=$keyfield&key=$encoded_key\"> $direct_page </a>");
}
}
########## 다음페이지블록에 대한 페이지 링크 ##########
if($block < $total_block) {
$my_page = $last_page+1;
echo("<a href=\"sub05_03.php?page=$my_page&keyfield=$keyfield&key=$encoded_key\"");
echo("<img src=\"..\images\img\bu_next.gif\" width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></a></td>");
}
else
{
echo("<img src=\"..\images\img\bu_next.gif\" width=\"15\" height=\"15\" border=\"0\" align=\"absmiddle\"></td>");
}
echo("<td height=\"50\" width=\"10\"> </td>");
?>
</tr>
</table>
<table width="560" border="0" cellpadding="10" cellspacing="0" class="black">
<tr bgcolor="F5E9E6">
<td height="50" bgcolor="#FFFFFF">
<div align="center">
<a href="sub05_032.php"><img src="..\images\img\write.gif" width="72" height="21" border="0"></a>
</div>
</td>
</tr>
</table>
</div>
<!-- -->
</td>
<td width="20"> </td>
</tr>
</table></td>
</tr>
</table></td>
<? include "../include/footer.php"; ?>
댓글 2
-
만쓰별(정만)
2009.01.20 13:15
-
대암지기
2009.01.20 15:13
위의 소스는 xe 가 아닌듯합니다. zb4 라면, 제로보드4 질답 게시판을 이용 하시는 것이 좋을 듯합니다.
멀 이렇게 써 놓으신 건지;;
문장검사하는 부분에 제목이 안 쓰여있으면 제목없음으로 대충 그렇게 해라 머 이러면 되려나.. 켁..
하지만 과연 그부분은 어디인가;; 켁..
나중에 글 관리하다가 제목없음 모조리 지워버리는 거죠 ㅋㅋ