테스트 사이트 - 개발 중인 베타 버전입니다

alert()의 알림창이 실행되지 않고 넘어갑니다. 채택완료

QR 코드를 통해 들어온 후 처리하는 코드의 일부입니다.

</p>

<p><?php</p>

<p>include_once('./_common.php');</p>

<p> </p>

<p>$event_key = $_GET['event_key'] ? $_GET['event_key'] : '';</p>

<p>$booth_key = $_GET['booth_key'] ? $_GET['booth_key'] : '';</p>

<p> </p>

<p>if($event_key == '') {</p>

<p>    alert('잘못된 QR 코드입니다.');</p>

<p>    echo '잘못된 QR 코드입니다.';</p>

<p>    exit;</p>

<p>}</p>

<p> </p>

<p>// 로그인된 사용자가 없다면 사용자 등록 페이지로 이동</p>

<p>if (!isset($member['mb_id']) && !$member['mb_id']) {</p>

<p>    echo "사용자 등록을 먼저 진행해주세요.";</p>

<p>    alert("사용자 등록을 먼저 진행해주세요.", G5_URL.'/page/event_register.php?event_key='.$event_key);</p>

<p>}</p>

<p> </p>

<p>else if($event_key && $booth_key) {</p>

<p>    $sql = "SELECT * FROM qr_stamp WHERE user_id = '{$member['mb_id']}' AND booth_key = '{$booth_key}'";</p>

<p>    $result = sql_query($sql);</p>

<p> </p>

<p>    if(mysqli_num_rows($result) > 0) {</p>

<p>        alert('이미 인증된 스탬프입니다.', G5_URL.'/page/qr_stamp_list.php?event_key='.$event_key);</p>

<p>    } else {</p>

<p>        $sql = "INSERT INTO qr_stamp</p>

<p>            SET user_id = '{$member['mb_id']}',</p>

<p>                event_key = '{$event_key}',</p>

<p>                booth_key = '{$booth_key}',</p>

<p>                qr_datetime = '".G5_TIME_YMDHIS."'";</p>

<p>        sql_query($sql);</p>

<p>   </p>

<p>       </p>

<p>        // 처리 완료 후 스탬프 페이지 이동</p>

<p>        alert('QR 스탬프 등록이 완료되었습니다.', G5_URL.'/page/qr_stamp_list.php?event_key='.$event_key);</p>

<p>    }</p>

<p> </p>

<p>}</p>

<p>?></p>

<p>

 

위 코드에서 마지막에 alert() 띄운 후 확인을 누른 후에 다음 페이지로 이동이 되야 합니다.

하지만 QR 코드를 통해 이 링크로 들어오고 처리가 완료 및 페이지 이동은 되는데 그 중간에 alert 알림창은 나오지 않습니다.

alert 없이 그냥 다음 페이지로 넘어가지네요. update쿼리는 잘처리된 상태입니다.

 

이 소스코드 외 그누보드에 기본적으로 있는 소스코드에서의 alert은 문제가 없습니다.

혹시 여기서 alert()의 팝업이 나오지 않는 이유에 대해 알 수 있을까요?

 

 

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

답변 2개

채택된 답변
+20 포인트

아래와 같이 수정해보세요.

</p>

<p>    $sql = "SELECT * FROM qr_stamp WHERE user_id = '{$member['mb_id']}' AND booth_key = '{$booth_key}'";

    $row = sql_fetch($sql);

    if($row['user_id']) {</p>

<p>

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

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

계속 테스트해보니  http://qrstamp.gwj.co.kr/bbs/qr_stamp.php?event_key=1&booth_key=1 여기서 booth_key에 따라 alert()이 출력됐다 안됐다 합니다. booth_key가 1일 때는 그냥 넘어가고, 4일 때는 출력되고...  이렇게 파라미터값에 따라 alert()이 출력됐다 안됐다 하는데 이 문제에 대해 의심되는 부분이 있는지 아시는 분이 계실까요?

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

답변에 대한 댓글 1개

get으로 값을 가져오고 있어서 문제는 없어보입니다.
저는 위 링크로 10번 들어가도 동일한 alert이 뜹니다.

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

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

로그인

전체 질문 목록

🐛 버그신고