궁금합니다~~~~~~~~~~~~~~~ 채택완료

게시물 view에서 "3등업" 클릭시 자동으로 3등급으로 레벨이 변경 하는 방법을 모르겠습니다...뭘로 감싸야 하는지요?

 

무서워서 돌리지도 못하겠습니다 ㅋ

 

"3등업클릭" 하면 아래가 실행되게요


<? if ($is_member)
{
   sql_query(" update {$g5['member_table']} set mb_level = '3' where mb_id = '{$member['mb_id']}' ");
   alert($member['mb_id'].'님의 레벨이 3으로 변경되었습니다.', G5_URL);
}
?> 

답변 2개

채택된 답변
+20 포인트

편의상 GET 방식으로 적어봅니다.

 

1. view 페이지 적당한 곳에, 클릭할 버튼 생성

Copy
<?php if($is_member && $member[mb_level] < 3) {   // 레벨 3이상인 경우, 클릭할 이유가 없으므로..

?>

<a href="#" onclick="window.open('/mem_up.php?id=<?=$member[mb_id]?>&n_name=<?=$member[mb_nick]?>', 'JumpWindow', 'width=500px, height=150px, top=250px, left=600px')"><b>[<font color="#666666">3등업 클릭 </font>]</b></a>

<?php  } ?>

2. 홈페이지 루트에 다음과 같이 mem_up.php"를 생성합니다.

Copy
<?php

include_once("./_common.php");

 

$mb_id = $_GET['id'];

$nick = $_GET['n_name'];

 

if(!$is_member || $member[mb_id] <>'$mb_id') {

//회원이 아니거나, 클릭한 회원아이디가 일치하지 않는경우,

//또는 파일주소를 직접링크하는 경우를 막기위함)

echo "<script>alert('회원이 아니거나, 회원아이디가 일치하지 않습니다. /n/n ".$nick."님이 맞으시는지요?');self.close();</script>";

} else {

// 정상적인 호출인 경우, DB를 업데이트 함.

 sql_query(" update {$g5['member_table']} set mb_level = '3' where mb_id = '{$member['mb_id']}' ");

 

//정상적으로 처리된 후, 레벨 변경 메세지를 출력하고, 부모창 새로고침 후 창닫음. 

echo "<script>alert('".$nick."'님의 레벨이 3으로 변경되었습니다');opener.document.location.reload(); self.close();</script>";  

}

?>

 

이렇게 하면 될 것 같습니다.

보안을 더 강화하려면, post 방식으로 바꾸시기 바랍니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

넵 감사합니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고