|

 |
회원이 만명이 넘는데요, 전체쪽지 보내면 보내는 중 에러 페이지로 바뀌어 보내서
만명에게 다 가지 않고 있습니다.ㅠㅠ
아래는 제로보드 사이트에서 얻은 소스인데요, 5천명씩 나누어서 보낼 수 있게 소스 좀 추가해주세요ㅠㅠ
정말 에러때문에 미치겠어요 ㅠㅠ 제로보드 사이트에 질문해봐도 1년 내내 답변을
못 얻었어요 ㅠㅠ 도움을 부탁드립니다.
<?
include "lib.php";
$connect = dbconn();
function thisError($message) {
print("<script>\nalert(' $message ');\nself.close();\n</script>\n");
exit;
}
$member = member_info();
if(!$member[no]) thisError("관리자 전용 페이지입니다. 로그인하세요.");
if($member[is_admin] > 2 || $member[is_admin] < 1) thisError("관리자 페이지에 접근 가능한 권한이 없습니다.");
?>
<!DocType HTML Public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>관리자용 일괄 쪽지 보내기</title>
<meta http-equiv='Content-Type' content='text/html;charset=euc-kr'>
<meta http-equiv='Cache-Control' content='No-Cache'>
<meta http-equiv='Pragma' content='No-Cache'>
<meta name='Author' content='노아 (soul4u@empal.com)'>
<meta name='Generator' content='EditPlus 2'>
<style type='text/css'>
.textarea {font-size:9pt;color:black;background-color:white;border:1px black solid;}
.input {font-size:9pt;color:black;background-color:white;border:1px black solid;}
</style>
</head>
<body text=#666666 bgcolor=white leftmargin=0 topmargin=0 marginwidth=0 marginheight=0>
<script>
function choose_level() {
if(document.write.kind.value == 3 || document.write.kind.value == 4) document.write.select_level.disabled = false;
else document.write.select_level.disabled = true;
}
function check_submit() {
if(!write.subject.value) {
alert(' 제목을 입력해 주십시오. ');
write.subject.focus();
return false;
}
if(!write.memo.value) {
alert(' 내용을 입력해 주십시오. ');
write.memo.focus();
return false;
}
return true;
}
</script>
<table width=100% cellpadding=0 cellspacing=0>
<tr height=7>
<td></td>
</tr>
<tr>
<td align=center><img src='images/memo_topright_send.gif' width=370 height=50></td>
</tr>
</table>
<table width=100% cellpadding=0 cellspacing=3>
<tr height=3>
<form name=write action='admin_sendmemo_ok.php' method=post onSubmit='return check_submit()'>
<td rowspan=11 width=10></td>
<td colspan=2></td>
<td rowspan=11 width=10></td>
</tr>
<tr height=20>
<td colspan=2 valign=bottom> <font color=darkred>>> <b>관리자용 일괄 쪽지 보내기</b></font></td>
</tr>
<tr height=1 bgcolor=#eeeeee>
<td colspan=2></td>
</tr>
<tr height=18>
<td align=right><font class=eng7><b><u>T</u>ARGET</b></font> </td>
<td valign=bottom>
<select name=kind accesskey=t style='color:white;background:#666666;' onChange='choose_level()'>
<option value=1>관리자 그룹</option>
<option value=2>접속중인 회원</option>
<option value=3>특정레벨 이상</option>
<option value=4>특정레벨 Only</option>
<option value=5 selected>회원 전체</option>
</select>
<select name='select_group' accesskey=g style='color:white;background:#666666;'>
<option value=1 selected> 1 </option>
</select>
<select name='select_level' accesskey=l style='color:white;background:#666666;' disabled>
<option value=10 selected>Lv.10</option>
<option value=1>Lv.1</option>
<option value=2>Lv.2</option>
<option value=3>Lv.3</option>
<option value=4>Lv.4</option>
<option value=5>Lv.5</option>
<option value=6>Lv.6</option>
<option value=7>Lv.7</option>
<option value=8>Lv.8</option>
<option value=9>Lv.9</option>
</select>
</td>
</tr>
<tr height=1 bgcolor=#eeeeee>
<td colspan=2></td>
</tr>
<tr>
<td width=60 align=right class=eng7><b>SUB<u>J</u>ECT</b></font> </td>
<td><input type=text name=subject size=300 maxlength=100 accesskey=j class=input style='width:280px;border-color:#cccccc;ime-mode:active;'></td>
</tr>
<tr height=1 bgcolor=#eeeeee>
<td colspan=2></td>
</tr>
<tr>
<td align=right class=eng7><b><u>M</u>EMO</b></font> </td>
<td><textarea name=memo cols=43 rows=19 accesskey=m class=textarea style='width:350px;border-color:#cccccc;overflow-y:auto;ime-mode:active;'></textarea></td>
</tr>
<tr height=1 bgcolor=#eeeeee>
<td colspan=2></td>
</tr>
<tr height=40 valign=bottom>
<td colspan=2 align=right>
<input type=image src='images/sm_send.gif' border="0" accesskey="s" onFocus='this.blur()'>
<a href='javascript:self.close('><img src='images/memo_close.gif' border="0"></a>
</td>
</form>
</tr>
</table>
<script>document.write.subject.focus();</script>
</body>
아래는 센드메모_ok php 소스입니다.
// 라이브러리 함수 파일 인크루드
require "lib.php";
// DB 연결
$connect = dbconn();
// 글쓴이의 정보를 갖고옴;;
$data = mysql_fetch_array(mysql_query("select * from $member_table where no = '$member_no'"));
// 멤버정보 구하기
$member = member_info();
// 그룹데이타 읽어오기;;
$group_data = mysql_fetch_array(mysql_query("select * from $group_table where no = '$member[group_no]'"));
$temp = mysql_fetch_array(mysql_query("select count(*) from $member_table where group_no = '$select_group'", $connect));
$total_member_num = $temp[0];
// 관리자 그룹
if($kind == 1) $result = mysql_query("select no,user_id from $member_table where group_no ='$select_group' and is_admin <= '2'", $connect);
//로그인 회원
if($kind == 2) {
if(!$page !$status) $status = 1;
$_str = trim(zReadFile("data/now_member_connect.php"));
if($_str) {
$_str = str_replace("<?/*", "", $_str);
$_str = str_replace("*/?>", "", $_str);
$_connector = explode(":", $_str);
$total = count($_connector);
}
// 페이지 계산
$page_num = 100;
$total_page = (int)(($total - 1) / $page_num) + 1; // 전체 페이지 구함
if(!$page) $page = 1;
if($page > $total_page) $page = 1; // 페이지가 전체 페이지보다 크면 페이지 번호 바꿈
$start_num = ($page -1 ) * $page_num; // 페이지 수에 따른 출력시 첫번째가 될 글의 번호 구함
// 데이타 뽑아오는 부분
$endnum = $start_num + $page_num;
if($endnum > $total) $endnum = $total;
unset($s_que);
for($i = $start_num; $i < $endnum; $i++) {
$member_no = substr($_connector[$i], 12);
if($s_que) $s_que .= " or no = '$member_no' ";
else $s_que = " where no = '$member_no' ";
}
$que = "select no, user_id from $member_table $s_que";
$result = mysql_query($que) or error(mysql_error());
}
// 특정레벨 이상
if($kind == 3 $select_level < 10) $result = mysql_query("select no,user_id from $member_table where group_no ='$select_group' and level <= '$select_level'", $connect);
// 특정레벨 Only
if($kind == 4 $select_level) $result = mysql_query("select no,user_id from $member_table where group_no ='$select_group' and level = '$select_level'", $connect);
// 전체 회원
if($kind == 5) $result = mysql_query("select no,user_id from $member_table where group_no = '$select_group'", $connect);
$reg_date = time();
if(getenv("REQUEST_METHOD") == "GET") error("정상적인 경로로 작성해 주시기 바랍니다.");
if($member[is_admin] != 1 $member[is_admin] != 2) error("사용 권한이 없습니다.", "window.close");
if(isblank($subject)) error("제목을 입력해 주십시오.");
if(isblank($memo)) error("본문을 입력해 주십시오.");
$subject = addslashes($subject);
$memo = addslashes($memo);
while($data = mysql_fetch_array($result)) {
mysql_query("insert into $get_memo_table (member_no, member_from, subject, memo, readed,reg_date) values ('$data[no]', '$member[no]', '$subject', '$memo', 1, '$reg_date')") or error(mysql_error());
if($count < 1)
mysql_query("insert into $send_memo_table (member_to, member_no, subject, memo, readed, reg_date) values ('$data[no]', '$member[no]', '$subject', '$memo', 1, '$reg_date')") or error(mysql_error());
mysql_query("update $member_table set new_memo = 1 where no = '$data[no]'") or error(mysql_error());
$count++;
}
echo"<script>alert(' 모두 $count 명에게 쪽지를 보냈습니다. ');self.close();</script>";
// MySQL 닫기
mysql_close($connect);
?>
|
|
|
| 조은호 |
| |
|
D |
2010-09-03 13:03:13 |
|
제 홈페이지(조은호 홈페이지)에 오신 것을 환영합니다. 이 홈페이지는 제 개인 홈페이지로 제가 직접 관리하고 있습니다.
제 홈페이지는 비영리 홈페이지이며 자료 제공만을 목적으로만 만들어진 것이 아니라, 제 개인적인 자료 정리와 관리의 목적으로
만들어졌으므로 각 메뉴마다 충분한 자료가 없을 수도 있습니다. 인터넷을 통해 수집된 것이 많으므로 그 출처를 밝혀 놓았습니다.
혹시 저작권이나 초상권에 문제가 있는 자료의 경우 연락 주시면 삭제해 드리도록 하겠습니다.
본 홈페이지에 적용된 글꼴은 윈도우즈의 '굴림'체, '우리글닷컴'의 '우리새봄', '우리돋움90c1' 체, '(주)예쁜글씨'의 '좋은_여행가는날-웹'이며 유료로 등록 사용중입니다.
본 홈페이지에 포함되거나 게시된 이메일(email)주소가 이메일 수집 프로그램이나 그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반할 경우 정보통신망 이용촉진 및 정보보호 등에 관한 법률 등 관계 법령에 의해 형사 처벌됨을 유의하기기 바랍니다.

|
|
Copyright 2002
All right reserved This Homepage was Designed & Programmed By Cho Eunho
|
|
|
|