쿼리 실행 후 결과에 따른 alert 출력 질문드려요 ㅠ
본문
쪽지 수신 차단,
차단 해제
두가지를 만들고 있습니다.
근데
쿼리 실행 후 echo 로 script alert 을 써주었는데..
이게 작동하지 않네요-_-;;
제가 잘못 쓴건가요!!?
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
if ($is_guest)
alert('회원만 이용하실 수 있습니다.');
$me_id = (int)$_REQUEST['me_id'];
$me_action = "";
if($_POST['memo_action'] == "수신차단"){
$me_action = "수신차단";
} else if($_POST['memo_action'] == "삭제") {
$me_action = "삭제";
} else {
;
}
$idcnt = count($_POST['me_send_mb_id']);
// 만약에 체크값이 비어있지 않다면
if ($me_action == "수신차단"){
if (!count($_POST['chk_me_id'])) {
alert("수신차단할 쪽지를 하나 이상 선택해주세요.");
}
if ($_POST['mb_send_mb_id'] == 'admin'){
alert("관리자는 수신차단 할 수 없습니다.");
}
$rowvalid = array();
for($i=0; $i<$idcnt; $i++) {
$chkcnt = $_POST['chk_me_id'][$i];
if ($chkcnt){
$sql = "SELECT COUNT(*) as cnt FROM g5_memo_reject WHERE mb_id = '{$member['mb_id']}' AND rj_id = '{$_POST['me_send_mb_id'][$i]}'";
$row = sql_fetch($sql);
// 처음 추가하는 사람이 없다면
$rowvalid[] = $row['cnt'];
}
}
if (in_array(0, $rowvalid)){
;
} else {
alert("이미 추가 되었습니다.");
return false;
}
for($i=0; $i<$idcnt; $i++){
$chkcnt = $_POST['chk_me_id'][$i];
if ($chkcnt){
$send_id = $_POST['me_send_mb_id'][$i];
/*
$sql = "SELECT me_id, me_send_mb_id FROM {$g5['memo_table']} WHERE me_id = '$meid' ";
$row = sql_fetch($sql);
*/
$sql_reject = "SELECT COUNT(*) AS cnt FROM g5_memo_reject WHERE rj_id = '$send_id' AND mb_id = '{$member['mb_id']}'";
$row_reject = sql_fetch($sql_reject);
$sql_nick = "SELECT mb_nick, mb_grade, mb_level FROM {$g5['member_table']} WHERE mb_id = '$send_id'";
$row_nick = sql_fetch($sql_nick);
// 만약 memo_reject 테이블에 추가하지 않았다면
if ((!$row_reject['cnt']) && ($send_id != 'admin')) {
// memo_reject 테이블에 insert
$sql_up = "INSERT INTO g5_memo_reject (mb_id, rj_id, rj_datetime, rj_nick, rj_mb_grade, rj_mb_level) VALUES ('{$member['mb_id']}','$send_id','".G5_TIME_YMDHIS."', '{$row_nick['mb_nick']}', '{$row_nick['mb_grade']}', '{$row_nick['mb_level']}')";
sql_query($sql_up);
}
}
}
echo '
<script>
alert("수신차단 목록에 추가했습니다.");
</script>
';
exit;
} else if ($me_action == "삭제") {
for($i=0; $i<$idcnt; $i++) {
$chkcnt = $_POST['chk_me_id'][$i];
if ($chkcnt){
$sql = " select * from {$g5['memo_table']} where me_id = '$chkcnt' ";
$row = sql_fetch($sql);
if (!$row['me_read_datetime'][0]) // 메모 받기전이면
{
$sql = " update {$g5['member_table']}
set mb_memo_call = ''
where mb_id = '{$row['me_recv_mb_id']}'
and mb_memo_call = '{$row['me_send_mb_id']}' ";
sql_query($sql);
}
$sql = " delete from {$g5['memo_table']}
where me_id = '{$chkcnt}'
and (me_recv_mb_id = '{$member['mb_id']}' or me_send_mb_id = '{$member['mb_id']}') ";
sql_query($sql);
}
}
echo '
<script>
alert("삭제했습니다.");
</script>
';
}
goto_url('./memo.php?page='.$page);
?>
답변 3
차라리 그냥 $msg = "삭제했습니다."; 이렇게 변수를 지정하시고
하단 이동할때 goto_url 대신 alert(msg,이동) 이렇게 해보세요
그누보드의 goto_url() 함수의 처리코드 방식으로 인해,
그 이전의 <script> 문이 작동하지 않는 것으로 추측됩니다.
윗분의 얘기처럼 alert($go_url, $msg); 방식을 이용하거나,
common.lib.php 에서 goto_url() 코드 수정을 검토해 볼 수 있을 것 같습니다.
저도 같은 문제로 고민하고있어요..
답변을 작성하시기 전에 로그인 해주세요.