728x90
<script> 
function submit(login){ 
  form.submit();  

</script> 

폼부분은 이렇습니다. 
<form name=login method=post action=login_process.php>  -------------> method는 get으로도 해봤습니다. 

<input name="login_button" type="image" src="login_button.gif" border="0" onclick='javascript:submit(this.form);window.close();opener.document.location.reload();'  > 

opener.document.location.reload(); --------------------> 아래는 요부분에 넣어본것들 
//opener.parent.location.reload(); 
//opener.document.location.reload('main.php'); 
//opener.parent.location.reload('main.php'); 
//opener.location.replace('main.php'); 
//opener.location.reload('main.php'); 
//opener.location.reload(); 
//opener.window.location.reload(); 

스크립트 게시판에서 이렇다할 답변이 없어서요. 이런식으로 세션값 표시하는 분들이 여기에 더 많이 계실것 같아서 질문 올리네요.부디 php소스 없어서 게시판 잘못찾아왔다고 탓하지 마시고 답변 기다릴께요. 

자식창에서 로그인버튼 누르면 window.open으로 창이 열리고 
 1...로그인처리를 하고 
 2...자식창을 닫고 
 3...부모창을 새로고침해서 
 4...부모창의 상단에 세션값을 표시한다 

1,2는 되고요, 3은 reload는 하는것 같은데(화면이 창뜰때 처럼 잠깐 한번 깜빡임) 세션값이 표시가 안돼고요 4는 수동으로 브라우져의 새로고침을 눌러야 표시되네요. 

제가 많이 초보인지라 쉬운 설명과 가르침 부탁드릴꼐요.
  • 답변채택율 100%
  • 추천 0
  • 비추천 0

전체댓글수 4

  • 기술레벨커뮤니티레벨공대여자 06-06-30 13:25 

    소스보기

  • <input name="login_button" type="image" src="login_button.gif" border="0" onclick='javascript:submit(this.form);window.close();opener.document.location.reload();'  > 
    -> 
    처리 순서 때문입니다. 
    1.submit(this.form); 
    ----------=---------- 
    1을 처리합니다. page가 login_process.php 로 바뀝니다. 
    페이지가 나뀌니 JS함수는 더이상 진행되지 않습니다. 
    솔찍히 진행 된다면, 아마 딜레이 타임 때문이겠죠. 
    ---------=---------- 
    원하는데로 하실려면, 
    2.window.close(); 
    3.opener.document.location.reload();를 
    login_process.php에서 실행하시면 됩니다.
  • 기술레벨커뮤니티레벨이크 작성자 06-06-30 14:14 

    소스보기

  • 아...............됩니다 되요!!!! 
    공대여자님 너므너므 감사드립니다~~~ 
    echo("<body onLoad=javascript:window.close();opener.document.location.reload();> "); 
    이렇게 했는데요. 더 좋은 방법이 있으면 알려주세요~
  • 기술레벨커뮤니티레벨공대여자 06-06-30 14:40 

    소스보기

  • echo("<body onLoad=javascript:window.close();opener.document.location.reload();> "); 
    -> 
    echo("<body onLoad='opener.document.location.reload();window.close();'> "); 

    이벤트에는 javascript:를 붙일 필요가 없습니다. 
    1.window.close(); 
    2.opener.document.location.reload(); 
    2번이 먼저 실행되야합니다. 
    이유는 1번이 실행되면 창이 닫히는데, 그러면 다음게 실행안되죠. 
    (라고하지만... 엄격하지 않아서..)
  • 기술레벨커뮤니티레벨이크 작성자 06-07-01 13:13 

    소스보기

  • 자세하고 친절한 설명에 너무 감사드려요~~ 열심히 해서 척척 해나가는것이 답변에 대한 보답이겠죠..그럼 건강하세요~


'WEB' 카테고리의 다른 글

[PHP] setcookie, unset  (0) 2018.02.18
MySQL 시퀀스 생성하기  (0) 2018.02.14
[tradingview] Dividing candlesticks. #2072  (0) 2018.02.07
[PHP] Parsing  (0) 2018.02.05
[PHP] number with comma  (0) 2018.02.05

+ Recent posts