그룹접근 사용할때, 회원이 접근신청을 하면 자동으로 접근회원이 되게 하는 방법 좀 알려 주세요. 정보
그룹접근 사용할때, 회원이 접근신청을 하면 자동으로 접근회원이 되게 하는 방법 좀 알려 주세요.본문
특정 게시판등의 접근을 제한할때, 그룹접근사용을 하지 않습니까?
그런데 새로운 게시판을 만들었는데, 기존 회원들중 특정회원들만
접근가능 하게 하고 싶습니다.
그런데 그런 회원이 몇천명을 넘어가면...이거 장난이 아니겠죠?
그리고 특정 회원들중 당연히 새롭게 만들어진 접근 그룹에 가입하고 싶지 않은 회원들도 많을거 아닙니가?
그래서 결론은
기존 회원들이 특정그룹 접근 신청 페이지를 만들고 싶습니다.
그냥 신청 버튼만 누르면 가입되게 말입니다.(물론 거기에 탈퇴까지 가능하다면 더 좋겠지만..)
댓글 전체

그룹리스트에서 접근기능을 사용중인 리스트를 가져온후 회원이 직접 선택하여 접근등록과 접근탈퇴 하도록
간단하게 만들어 봤습니다. 참고로 테스트는 못해 봤습니다.^^
<form name=groupform method=post action=''>
<select name=gr_id>
<option value=''>그룹을 선택하세요.
<?
$sql = " select *
from $g4[group_table]
where gr_use_access = 1 ";
if ($is_admin != 'super')
$sql .= " and gr_admin = '$member[mb_id]' ";
$sql .= " order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo "<option value='$row[gr_id]'>$row[gr_subject]";
}
?>
</select>
<select name=w>
<option value='sss'>선택하세요.
<option value='ok'>등록하기
<option value='del'>탈퇴하기
</select>
<input type=submit value=' 확 인 ' accesskey='s'>
</form>
<?
if ($w == "ok")
{
$gr = get_group($gr_id);
if (!$gr[gr_id]) {
alert("존재하지 않는 그룹입니다.");
}
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$gr_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("이미 등록되어 있습니다.");
}
else
{
$sql = " insert into $g4[group_member_table]
set gr_id = '$gr_id',
mb_id = '$member[mb_id]',
gm_datetime = '$g4[time_ymdhis]' ";
sql_query($sql);
}
}
else if ($w == 'del')
{
$sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
$gm = sql_fetch($sql);
if (!$gm[gm_id]) {
alert("존재하지 않는 자료입니다.");
}
$gr_id = $gm[gr_id];
$mb_id = $gm[mb_id];
$sql = " delete from $g4[group_member_table] where gm_id = '$gm_id' ";
sql_query($sql);
}
else
{
alert("선택하세요.");
}
?>
간단하게 만들어 봤습니다. 참고로 테스트는 못해 봤습니다.^^
<form name=groupform method=post action=''>
<select name=gr_id>
<option value=''>그룹을 선택하세요.
<?
$sql = " select *
from $g4[group_table]
where gr_use_access = 1 ";
if ($is_admin != 'super')
$sql .= " and gr_admin = '$member[mb_id]' ";
$sql .= " order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo "<option value='$row[gr_id]'>$row[gr_subject]";
}
?>
</select>
<select name=w>
<option value='sss'>선택하세요.
<option value='ok'>등록하기
<option value='del'>탈퇴하기
</select>
<input type=submit value=' 확 인 ' accesskey='s'>
</form>
<?
if ($w == "ok")
{
$gr = get_group($gr_id);
if (!$gr[gr_id]) {
alert("존재하지 않는 그룹입니다.");
}
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$gr_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("이미 등록되어 있습니다.");
}
else
{
$sql = " insert into $g4[group_member_table]
set gr_id = '$gr_id',
mb_id = '$member[mb_id]',
gm_datetime = '$g4[time_ymdhis]' ";
sql_query($sql);
}
}
else if ($w == 'del')
{
$sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
$gm = sql_fetch($sql);
if (!$gm[gm_id]) {
alert("존재하지 않는 자료입니다.");
}
$gr_id = $gm[gr_id];
$mb_id = $gm[mb_id];
$sql = " delete from $g4[group_member_table] where gm_id = '$gm_id' ";
sql_query($sql);
}
else
{
alert("선택하세요.");
}
?>
테스트해 보았는데
처음부터 선택하세요라는 창이 뜨네요.
그 창을 클릭하면 초기화면으로 오네요.
처음부터 선택하세요라는 창이 뜨네요.
그 창을 클릭하면 초기화면으로 오네요.

마지막 부분의
else
{
alert("선택하세요.");
}
를 지우세요.^^
else
{
alert("선택하세요.");
}
를 지우세요.^^
지우고 했는데 셀렉트문에서 '그룹을선택하세요'라는 문구만 나오네요.
최고 관리자는 그룹을선택하세요을 클릭하면 해당 그룹이 나오는데
일반 회원은 안나오네요.
그리고 최고관리자로 등록은 되는데, 탈퇴는 안되네요.
최고 관리자는 그룹을선택하세요을 클릭하면 해당 그룹이 나오는데
일반 회원은 안나오네요.
그리고 최고관리자로 등록은 되는데, 탈퇴는 안되네요.

죄송합니다. 코드 내부에서 최고 관리자 를 체크 하는군요.
아래의 코드로 해보세요.
<form name=groupform method=post action=''>
<select name=gr_id>
<option value=''>그룹을 선택하세요.
<?
$sql = " select *
from $g4[group_table]
where gr_use_access = 1 ";
$sql .= " order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo "<option value='$row[gr_id]'>$row[gr_subject]";
}
?>
</select>
<select name=w>
<option value='sss'>선택하세요.
<option value='ok'>등록하기
<option value='del'>탈퇴하기
</select>
<input type=submit value=' 확 인 ' accesskey='s'>
</form>
<?
if ($w == "ok")
{
$gr = get_group($gr_id);
if (!$gr[gr_id]) {
alert("존재하지 않는 그룹입니다.");
}
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$gr_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("이미 등록되어 있습니다.");
}
else
{
$sql = " insert into $g4[group_member_table]
set gr_id = '$gr_id',
mb_id = '$member[mb_id]',
gm_datetime = '$g4[time_ymdhis]' ";
sql_query($sql);
}
}
else if ($w == 'del')
{
$sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
$gm = sql_fetch($sql);
if (!$gm[gm_id]) {
alert("존재하지 않는 자료입니다.");
}
$sql = " delete from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
sql_query($sql);
}
?>
아래의 코드로 해보세요.
<form name=groupform method=post action=''>
<select name=gr_id>
<option value=''>그룹을 선택하세요.
<?
$sql = " select *
from $g4[group_table]
where gr_use_access = 1 ";
$sql .= " order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo "<option value='$row[gr_id]'>$row[gr_subject]";
}
?>
</select>
<select name=w>
<option value='sss'>선택하세요.
<option value='ok'>등록하기
<option value='del'>탈퇴하기
</select>
<input type=submit value=' 확 인 ' accesskey='s'>
</form>
<?
if ($w == "ok")
{
$gr = get_group($gr_id);
if (!$gr[gr_id]) {
alert("존재하지 않는 그룹입니다.");
}
$sql = " select count(*) as cnt
from $g4[group_member_table]
where gr_id = '$gr_id'
and mb_id = '$member[mb_id]' ";
$row = sql_fetch($sql);
if ($row[cnt]) {
alert("이미 등록되어 있습니다.");
}
else
{
$sql = " insert into $g4[group_member_table]
set gr_id = '$gr_id',
mb_id = '$member[mb_id]',
gm_datetime = '$g4[time_ymdhis]' ";
sql_query($sql);
}
}
else if ($w == 'del')
{
$sql = " select * from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
$gm = sql_fetch($sql);
if (!$gm[gm_id]) {
alert("존재하지 않는 자료입니다.");
}
$sql = " delete from $g4[group_member_table] where gr_id = '$gr_id' and mb_id = '$member[mb_id]' ";
sql_query($sql);
}
?>
감사 합니다.^^