IT 관련,,/Java관련 언어들

[WEB/PHP]php를 이용한 팝업창 취소하면 다른 페이지로 이동시키기!!

IT깡패's 2021. 2. 6. 09:23
728x90
반응형
SMALL

안녕하세요~ IT깡패's입니다~ㅎㅎㅎ

오늘도 포스팅을 올리고 있는데요~

현재 외주쪽을 받아서 프리로 잠깐 일하고 있는데요!!

거기서 php를 이용하고 있습니다~~ ㅇㅅㅇ!!

그래서 php를 로그인팝업을 띄워서 확인한후 취소하면 팝업창이 아닌 다시 다른 페이지로 이동시켜주었습니다.

 

php로 이용해서 팝업창을 취소하고 팝업창으로 가는게 아니라 다른 페이지로 이동하게끔하는 처리방법을 사용하려면

일단 부모창과 자식창 이름을 주어서 이동하게끔 해주면 됩니다.

간단하면서도 알맹이있는 작업이죠~ㅎㅎㅎ

 

일단 팝업창인 로그인창을 띄우고 거기서 로그인을 누르면 로그인 팝업창이 닫히면서 db에 쿼리값을 확인하고

로그인되게끔 되어있습니다. 

소스와 결과창을 확인하시면 이해가 되실겁니다~ㅎㅎㅎ

 

- login.php(body login관련)

 <body>
  
<div class="loginWrap">
	<div id="login_box" class="login_box">
		<div class="login">
			
			<form name="loginFrm" id="loginFrm" action="#" method="post">
			<input type="hidden" name="prev" value="/index.php">
			<input type="hidden" name="prev_code_page" value="">
			<input type="hidden" name="product_idx" value="">
			<input type="hidden" name="auto_login" value="">
				<br><br><br><br>
				<center>
				<dl class="login_input">
					<dd><input name="id" type="text" placeholder="이메일" class="input_login" value=""></dd>
					<dd><input name="passwd1" type="password" placeholder="비밀번호" class="input_login" value=""></dd>
					<dt><input type="button" class="btn_b" value="로그인" onclick="loginChk()"></dt>
				</dl>
				</center>
				<div class="login_checkbox">
					<!--<input type="checkbox" name="secure_login" value="Y" checked> 보안접속-->											<!-- <input type="checkbox" name="auto_login" value="Y" onclick="if (this.checked) { if (confirm('이 항목을 체크하면 로그아웃 버튼을 누르기 전까지 로그인 상태가 계속 유지됩니다.\n\n로그인 유지기능을 사용하시겠습니까?')) { this.checked = true; } else { this.checked = false;} }"> 로그인 상태유지</td> 
						<input type="checkbox" name="auto_login" value="Y"> 로그인 상태유지-->
									</div>			
									
									<center>
				<div class="member_btn">
					<button type="button" class="btn_g" onclick="javascript:MovePage();">회원가입</button><!--<a href="/join.php" class="btn_w">아이디/비밀번호 찾기</a>-->
					<!-- 카카오 로그인 추가 -->
      <input type="button" value="카카오로그인" onClick="javascript:go();">
	  </center>
				</div>				
			</form>
		</div>
	</div>

</div>

 </body>

 

- login.php(스크립트 과련)

<script>
function loginChk() {
    var form = document.loginFrm;
    if (!form.id.value) {
        alert("이메일을 입력해 주십시오.");
        form.id.focus();
        return;
    }
 
    if (!form.passwd1.value) {
        alert("비밀번호를 입력해 주십시오.");
        form.passwd1.focus();
        return;
    }	  

  form.target = "famPage";
	form.action = "http://sky19090.dothome.co.kr/login_check.php";
    form.submit();	
  //window.opener.location.reload();    //부모창 reload
   self.close(); //창 닫기 
   window.close();
	
}
</script> 

 

- login_check.php(자식창관련)

<?php
 header("Content-Type: text/html; charset=UTF-8");

session_start();
      //<!--php부분 form에 입력한 내용을 데이터베이스와 비교해서 로그인 여부를 알려준다.-->
     // if(isset($_POST['id'])&&isset($_POST['passwd1'])){//post방식으로 데이터가 보내졌는지?
        $id=$_POST['id'];//post방식으로 보낸 데이터를 username이라는 변수에 넣는다.
        $passwd1=$_POST['passwd1'];//post방식으로 보낸 데이터를 userpw라는 변수에 넣는다.
        //mysql root계정으로 접속.
        //비밀번호는 123456이다.
        //study라는 데이터베이스에 접근.
        $conn= mysqli_connect('localhost', 'sky19090', 'sky02564!', 'sky19090');
        //sql문을 sql변수에 저장해놓는다.
       $sql="SELECT * FROM member where id = '$id'";	

	   $result=mysqli_query($conn,$sql);
	   if($row=$result->num_rows==1){
		$row=$result->fetch_array(MYSQLI_ASSOC);
        //if(!$result=mysqli_fetch_array(mysqli_query($conn,$sql))){   //쿼리문의 결과가 없으면 로그인 fail을 출력한다.         
          if($row['passwd1']==$passwd1){
		     echo "</br>로그인 성공";
			   echo "<script>alert('로그인이 되었습니다.');</script>";
echo ("<meta http-equiv='Refresh' content='0.1; URL=http://sky19090.dothome.co.kr/indexs.php'>");

		  		  	
        }
        else{//쿼리문을 실행해서 결과가 있으면 로그인 성공         
		 

          echo "login fail";
		   echo "<script>alert('비로그인이 되었습니다. 회원가입부터 해줍시요.');</script>";
		  echo ("<meta http-equiv='Refresh' content='0.1; URL=http://sky19090.dothome.co.kr/joinagree.php'>");
		  
        }
		
	  }else{



 echo "login fail";
		   echo "<script>alert('비로그인이 되었습니다. 회원가입부터 해줍시요.');</script>";
		  echo ("<meta http-equiv='Refresh' content='0.1; URL=http://sky19090.dothome.co.kr/joinagree.php'>");
		
		}

      

    ?>

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
    <SCRIPT LANGUAGE="JavaScript">
<!--
            window.name="famPage";

//-->
</SCRIPT>

 </head>
 <body>
  
 </body>
</html>

 

위의 소스들을 살펴보면 form태그를 사용하여 스크립트를 이용해서 부모창 팝업창을 띄우면 다른 php페이지에서

웹사이트가 열리도록 설정해주면서 팝업창이 자동적으로 닫혀집니다~!!

이점이 여기서의 키포인트인 셈이죠~ㅎㅎㅎ

 

자 이제 마지막으로 결과를 보여주도록 하겠습니다~

기본적으로 이정도면 웹사이트나 호스팅의 php나 html5에서 유용하게 사용할 수 있는 태그내용입니다!!

 

밑에는 form을 이용한 태그가 아닌 단순한 팝업창이 닫히면서 다른 페이지로 이동시키는 방법인데, 

참고하시어 사용해보셔도 될 것 같네요~ㅎㅎ

 

- 참고 링크


팝업창 닫히면서 페이지 이동시키기 - https://88240.tistory.com/299

728x90
반응형
LIST