묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?
2005.08.03 18:30
회원가입시나 수정시 닉네임/ID /E-mail 은 중복체크를 하자나요 . 이름도 가능할까요?
$lang->msg_exists_nick_name = \
댓글 7
-
히카루
2005.08.03 18:34
-
조민
2005.08.03 18:35
main.php 파일 상단에
제로보드 5즐 소스를 넣어줬나요? -
이지영
2005.08.03 19:09
<? include ("../main.php") ?> 해도 안되서 찾아보니까
절대경로로 하면 된다고 팁이 있길래 했는데 안되네요...-_-
main.php상단에 5줄 소스도 넣었습니다.... -
히카루
2005.08.03 23:19
.......게시판에서는 출력할 부분으로 넣은 곳에 인클루드는 먹히지 않습니다. 대신 게시판 하단에 불러올 파일로 해서 main.php를 넣는다면 보이겠습니다. 혹은 foot.php를 저렇게 만들어 게시판 하단에 불러올 파일로 한다면 보일겁니다. -
이지영
2005.08.04 00:25
답변 감사합니다...^^
최근게시물 페이지 자체를 foot.php 파일로 만들어서 넣으란 말씀이시죠...?
히카루님 말씀대로 해봤는데 안 되네요...
소스에 문제가 있는지 확인 부탁드립니다...
<!--- 소스 시작. -->
<!-- 새로 php파일을 만들어 소스를 복사한 후 제로보드 경로와 게시판 아이디 부분을 수개한후 실행하세요 -->
<?
// 제로보드 디렉토리 설정부분 아웃로그인
// 주의: 아래부분의 설정은 자신의 계정에 맞게 고쳐주세요.
$_zb_url = "http://happy.new21.net/bbs/";
$_zb_path = "/home/hosting_users/happy/www/bbs/";
include $_zb_path."outlogin.php";
// 설정부분 끝.
//////////////////////////////////////////////////
// 최근게시물 함수 지정
///////////////////////////////////////////////////
function recent_bbs($skinname, $title, $num=10, $textlen=30, $datetype="Y년m월d일") {
global $_zb_path, $_zb_url, $connect, $t_board, $t_comment, $admin_table, $mb_id, $mb_conf, $mb_title;
//////////////////////////////////////
// 스킨의 존재여부 검사
$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
return;
}
//////////////////////////////////////
// 필요한 변수 받아내기
if(!$mb_conf[icon])
$ico = "<img src=".$zb_url."images/dot_green.gif width=7 height=7>";
else
$ico = $mb_conf[icon];
$id = $mb_id; // id 받기
$idTitle = $mb_title; //각 게시판의 이름 받기
$cutTimeMode = $mb_conf[timemode]; // 최근 게시물 시간 범위
$showCategory = 1 - $mb_conf[nocategory]; //카테고리 보이기 값
$showIdtitle = $mb_conf[showidtitle]; // 게시판 이름 보이기 값
$myTitle = $mb_conf[mytitle];
for( $i = 0; $i < sizeof($id); $i++){
$setup = mysql_fetch_array(mysql_query("select use_alllist, use_category from $admin_table where name='".$id[$i]."'"));
if($setup[use_alllist])
$target[$id[$i]] = "zboard.php?id=";
else
$target[$id[$i]] = "view.php?id=";
if($setup[use_category]) $use_category[$id[$i]] = 1;
$idTitle[$id[$i]] = $mb_title[$i];
}
// 스킨 관련 변수
$tmpStr = explode("[loop]",$str);
$header = $tmpStr[0];
$tmpStr2 = explode("[/loop]",$tmpStr[1]);
$loop = $tmpStr2[0];
$footer = $tmpStr2[1];
//////////////////////////////////////
// 처리 시작
$tc = 0; //전체 데이타 카운터
//$icon_new = "<img src='".$_zb_url."images/new_writing.gif'>";
$time_new = time() - 3600 * 24;
/* 뽑을 게시물 시간범위 관련 설정 시작 */
// $cutTimeMode가 1 이면 24시간 이내의 게시물 추출
// $cutTimeMode가 2 이면 오늘 새벽 0시0분부터 올라온 게시물 추출
// $cutTimeMode가 0 혹은 기타 수일 때 그냥 최근올려진 순서로 추출(시간제한 없음)
if($cutTimeMode == 1){
$cut_time = time() - 3600 * 24; // 24시간이내
}else if($cutTimeMode == 2){
$cut_time = mktime(0,0,0,date("m"),date("d"),date("Y")); // 오늘 아침 0시부터
}else{
$cut_time = 0;
}
/* 뽑을 게시물 시간범위 관련 설정 끝. */
// 최근 글 순으로 게시물 뽑음
for( $i = 0; $i < sizeof($id); $i++){
$query = "select * from ".$t_board."_".$id[$i]." where is_secret=0 and reg_date > $cut_time order by no desc limit $num";
$result = mysql_query($query, $connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
$ad[$tc][name] = stripslashes($data[name]);
$ad[$tc][subject] = cut_str(stripslashes($data[subject]), $textlen)."</font></b>";
$ad[$tc][date] = date($datetype, $data[reg_date]);
$ad[$tc][reg_date] = $data[reg_date];
$last_comment = mysql_fetch_array(mysql_query("select * from $t_comment"."_$id[$i] where parent='$data[no]' order by reg_date desc limit 1"));
$last_comment_time = $last_comment['reg_date'];
if(time()-$last_comment_time<3600*12)
$comment_num = "[<font color=red>".$data[total_comment]."</font>]";
elseif(time()-$last_comment_time<3600*24)
$comment_num = "[<font color=green>".$data[total_comment]."</font>]";
else
$comment_num = "[".$data[total_comment]."]";
$ad[$tc][comment] = $data[total_comment] ? $comment_num : "";
$ad[$tc][icon] = $data[reg_date] > $time_new ? $icon_new : "";
$ad[$tc][target] = $_zb_url.$target[$id[$i]].$id[$i]."&no=".$data[no];
$ad[$tc][catelink] = $_zb_url."zboard.php?id=".$id[$i]."&category=".$data[category];
$ad[$tc][id] = $id[$i];
$ad[$tc][no] = $data[no];
$category = $data[category];
$result_category = mysql_query("select * from zetyx_board_category_".$id[$i]." where no='$category'") or die(mysql_error());
$category = mysql_fetch_array($result_category);
$ad[$tc][cate] = $category[name];
$tm[$tc] = $data[reg_date];
$map[$data[reg_date]] = $tc;
$tc++;
}
}
///////////////
// output
// 모든게시물을 시간순으로 정렬
if($tc)
sort($tm);
// 스킨관련 부분
// $mbName, $mbDate, $mbSubject, $mbComment, $mbCategory;
// 최근 게시물 순으로 $num만큼 출력
for($i = sizeof($tm)-1; $i >= sizeof($tm)-$num && $i >= 0; $i--){
$n = $map[$tm[$i]];
//print "$ico ";
$mbCategory = "";
// 게시판 이름 보이기
if($showIdtitle){
$mbCategory = "[ <a href=".$_zb_url."zboard.php?id=".$ad[$n][id]."><font color=black>".$idTitle[$ad[$n][id]]."</font></a>";
if($showCategory)
$mbCategory .= ">";
else
$mbCategory .= " ]";
}
// 카테고리 표시하지 않기를 선택했다면 카테고리 감추고 자신이 정의한 제목을 앞에 달음
if($showCategory){
if(!$showIdtitle) print "[ ";
$mbCategory .= "<a href=".$ad[$n][catelink]."><font color=black>".$ad[$n][cate]."</font></a> ]";
}else{
$mbCategory .= $myTitle;
}
$mbSubject = "<a href=".$ad[$n][target]." title='작성자:".$ad[$n][name]." 작성일:".$ad[$n][date]."'>";
$mbSubject .= $ad[$n][subject];
$mbSubject .= "</a> ".$ad[$n][icon];
$mbComment = $ad[$n][comment];
$mbName = $ad[$n][name];
$mbDate = $ad[$n][date];
$main = $loop;
$main = str_replace("[name]",$mbName,$main);
$main = str_replace("[date]",$mbDate,$main);
$main = str_replace("[subject]",$mbSubject,$main);
$main = str_replace("[comment]",$mbComment,$main);
$main = str_replace("[category]",$mbCategory,$main);
$main_data .= "\n".$main;
}
// 전체 출력 문자열을 모아놓기
$list = $header.$main_data.$footer;
$list = str_replace("[title]",$title,$list);
$list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);
// 출력
echo $list;
}
?>
<!-- ############################################### 브라우저에 출력 부분 ############################################### -->
<html>
<head><title>최근 게시물 쭉 뽑아내기</title>
<style type="text/css">
<!--
A:link {text-decoration:none; color:#ffffff}
A:visited {text-decoration:none; color:#ffffff}
A:active {text-decoration:none; color:#ffffff}
A:hover {text-decoration:none; color:#ffffff}
-->
</style>
</head>
<body>
<table border=0 cellpadding=0 cellspacing=0 width=150>
<td width="150"><font color="#999999">▒ 최근게시물 ▒</font></td>
</tr>
</table>
<?
$mb_id = array("poem", "diary");
$mb_title = array("시와글", "다이어리"); // 게시판 이름
$mb_conf[showidtitle] = 1; // 게시판 이름 보이기
recent_bbs("nzeo/cyan_bbs", "▒ 최근게시물 ▒", 10,30);
?>
<br>
</body>
</html> -
조민
2005.08.04 00:57
아래 부분의 소스를 제로보드 폴더안에 outlogin.php
맨하단에 있는 이부분 위에 ?> 붙히기 합니다.
//////////////////////////////////////////////////
// 최근게시물 함수 지정
///////////////////////////////////////////////////
function recent_bbs($skinname, $title, $num=10, $textlen=30, $datetype="Y년m월d일") {
global $_zb_path, $_zb_url, $connect, $t_board, $t_comment, $admin_table, $mb_id, $mb_conf, $mb_title;
//////////////////////////////////////
// 스킨의 존재여부 검사
$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
return;
}
//////////////////////////////////////
// 필요한 변수 받아내기
if(!$mb_conf[icon])
$ico = "<img src=".$zb_url."images/dot_green.gif width=7 height=7>";
else
$ico = $mb_conf[icon];
$id = $mb_id; // id 받기
$idTitle = $mb_title; //각 게시판의 이름 받기
$cutTimeMode = $mb_conf[timemode]; // 최근 게시물 시간 범위
$showCategory = 1 - $mb_conf[nocategory]; //카테고리 보이기 값
$showIdtitle = $mb_conf[showidtitle]; // 게시판 이름 보이기 값
$myTitle = $mb_conf[mytitle];
for( $i = 0; $i < sizeof($id); $i++){
$setup = mysql_fetch_array(mysql_query("select use_alllist, use_category from $admin_table where name='".$id[$i]."'"));
if($setup[use_alllist])
$target[$id[$i]] = "zboard.php?id=";
else
$target[$id[$i]] = "view.php?id=";
if($setup[use_category]) $use_category[$id[$i]] = 1;
$idTitle[$id[$i]] = $mb_title[$i];
}
// 스킨 관련 변수
$tmpStr = explode("[loop]",$str);
$header = $tmpStr[0];
$tmpStr2 = explode("[/loop]",$tmpStr[1]);
$loop = $tmpStr2[0];
$footer = $tmpStr2[1];
//////////////////////////////////////
// 처리 시작
$tc = 0; //전체 데이타 카운터
//$icon_new = "<img src='".$_zb_url."images/new_writing.gif'>";
$time_new = time() - 3600 * 24;
/* 뽑을 게시물 시간범위 관련 설정 시작 */
// $cutTimeMode가 1 이면 24시간 이내의 게시물 추출
// $cutTimeMode가 2 이면 오늘 새벽 0시0분부터 올라온 게시물 추출
// $cutTimeMode가 0 혹은 기타 수일 때 그냥 최근올려진 순서로 추출(시간제한 없음)
if($cutTimeMode == 1){
$cut_time = time() - 3600 * 24; // 24시간이내
}else if($cutTimeMode == 2){
$cut_time = mktime(0,0,0,date("m"),date("d"),date("Y")); // 오늘 아침 0시부터
}else{
$cut_time = 0;
}
/* 뽑을 게시물 시간범위 관련 설정 끝. */
// 최근 글 순으로 게시물 뽑음
for( $i = 0; $i < sizeof($id); $i++){
$query = "select * from ".$t_board."_".$id[$i]." where is_secret=0 and reg_date > $cut_time order by no desc limit $num";
$result = mysql_query($query, $connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
$ad[$tc][name] = stripslashes($data[name]);
$ad[$tc][subject] = cut_str(stripslashes($data[subject]), $textlen)."</font></b>";
$ad[$tc][date] = date($datetype, $data[reg_date]);
$ad[$tc][reg_date] = $data[reg_date];
$last_comment = mysql_fetch_array(mysql_query("select * from $t_comment"."_$id[$i] where parent='$data[no]' order by reg_date desc limit 1"));
$last_comment_time = $last_comment['reg_date'];
if(time()-$last_comment_time<3600*12)
$comment_num = "[<font color=red>".$data[total_comment]."</font>]";
elseif(time()-$last_comment_time<3600*24)
$comment_num = "[<font color=green>".$data[total_comment]."</font>]";
else
$comment_num = "[".$data[total_comment]."]";
$ad[$tc][comment] = $data[total_comment] ? $comment_num : "";
$ad[$tc][icon] = $data[reg_date] > $time_new ? $icon_new : "";
$ad[$tc][target] = $_zb_url.$target[$id[$i]].$id[$i]."&no=".$data[no];
$ad[$tc][catelink] = $_zb_url."zboard.php?id=".$id[$i]."&category=".$data[category];
$ad[$tc][id] = $id[$i];
$ad[$tc][no] = $data[no];
$category = $data[category];
$result_category = mysql_query("select * from zetyx_board_category_".$id[$i]." where no='$category'") or die(mysql_error());
$category = mysql_fetch_array($result_category);
$ad[$tc][cate] = $category[name];
$tm[$tc] = $data[reg_date];
$map[$data[reg_date]] = $tc;
$tc++;
}
}
///////////////
// output
// 모든게시물을 시간순으로 정렬
if($tc)
sort($tm);
// 스킨관련 부분
// $mbName, $mbDate, $mbSubject, $mbComment, $mbCategory;
// 최근 게시물 순으로 $num만큼 출력
for($i = sizeof($tm)-1; $i >= sizeof($tm)-$num && $i >= 0; $i--){
$n = $map[$tm[$i]];
//print "$ico ";
$mbCategory = "";
// 게시판 이름 보이기
if($showIdtitle){
$mbCategory = "[ <a href=".$_zb_url."zboard.php?id=".$ad[$n][id]."><font color=black>".$idTitle[$ad[$n][id]]."</font></a>";
if($showCategory)
$mbCategory .= ">";
else
$mbCategory .= " ]";
}
// 카테고리 표시하지 않기를 선택했다면 카테고리 감추고 자신이 정의한 제목을 앞에 달음
if($showCategory){
if(!$showIdtitle) print "[ ";
$mbCategory .= "<a href=".$ad[$n][catelink]."><font color=black>".$ad[$n][cate]."</font></a> ]";
}else{
$mbCategory .= $myTitle;
}
$mbSubject = "<a href=".$ad[$n][target]." title='작성자:".$ad[$n][name]." 작성일:".$ad[$n][date]."'>";
$mbSubject .= $ad[$n][subject];
$mbSubject .= "</a> ".$ad[$n][icon];
$mbComment = $ad[$n][comment];
$mbName = $ad[$n][name];
$mbDate = $ad[$n][date];
$main = $loop;
$main = str_replace("[name]",$mbName,$main);
$main = str_replace("[date]",$mbDate,$main);
$main = str_replace("[subject]",$mbSubject,$main);
$main = str_replace("[comment]",$mbComment,$main);
$main = str_replace("[category]",$mbCategory,$main);
$main_data .= "\n".$main;
}
// 전체 출력 문자열을 모아놓기
$list = $header.$main_data.$footer;
$list = str_replace("[title]",$title,$list);
$list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);
// 출력
echo $list;
}
?> =>outlogin.php 윗부분..
---------------------------------------------------------------------------
게시판 상단에 출력할 파일에 페이지 맨상단에 아래의 소스를 삽입합니다.
[헤더파일 맨상단이겠죠]
<?
$_zb_url = "http://happy.new21.net/bbs/";
$_zb_path = "/home/hosting_users/happy/www/bbs/";
include $_zb_path."outlogin.php";
?>
------------------------------------------------------------------------------
본인의 최근게시물을 출력하고자 하는 자리에 아래의 소스를 넣어줍니다.
[본인이 푸더부분에 넣는다고 했으니 인클루드 한 소스 대신 아래의 소스를 넣어줍니다.]
<?
$mb_id = array("poem", "diary");
$mb_title = array("시와글", "다이어리"); // 게시판 이름
$mb_conf[showidtitle] = 1; // 게시판 이름 보이기
recent_bbs("nzeo/cyan_bbs", "▒ 최근게시물 ▒", 10,30);
?> -
히카루
2005.08.04 01:33
우선 하단에 불러올 파일. 일때는 <? 로 시작해서 인클루드 하는것이 아니라 ../파일 이름 으로 불러오셔야 합니다.
../대신 상대 경로(http로 시작하는 주소)를 쓰셔서는 안되고요, 절대 경로 전체를 쓰셔도 안됩니다. 먹히지 않습니다.
보여주신것은 outlogin.php 비슷하군요. 제로보드의 . 저것을 따로 건드리실 필요는 없을것 같습니다.
그러니까 최근 게시물이 있는 페이지를 제로보드의 하단에 불러올 파일에서 ../foot.php로 부르시면 된다는거죠.
<? include ("../main.php") ?> 로 바꿔보세요.