[2.65] popup 관리 > 그누3 팁자료실

그누3 팁자료실

[2.65] popup 관리 정보

일반 [2.65] popup 관리

첨부파일

popup.zip (2.5K) 68회 다운로드 2004-02-18 22:21:52

본문

/*
 * open popup windows function
 */
function open_popup($popup_board = 'popup'){
global $cfg, $gnu_path, $HTTP_COOKIE_VARS;
                $popup_path = "{$gnu_path}popup/";

$sql_popup = " SELECT * FROM {$cfg[write_table_prefix]}$popup_board WHERE wr_notice = '-1' ";
$result_popup = sql_query_error($sql_popup);

for ($i = 0, $popup_no = 1; $row_popup = mysql_fetch_array($result_popup); $i++, $popup_no++ ) {
$top_m  = $i * 30;
$left_m = $i * 30;

if(!$HTTP_COOKIE_VARS[popnews.$row_popup[wr_id]]  ||  ($HTTP_COOKIE_VARS[popnews.$row_popup[wr_id]]  !=  "no")) {
echo"
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
window.open('{$popup_path}popup_view.php?bo_table=$popup_board&wr_id=$row_popup[wr_id]','popupnews$i', 'scrollbars=no,status=yes,resizable=no,width=540,height=680,top=$top_m,left=$left_m');
//-->
</SCRIPT>
";
}
}
}
////////////////////////////////////////////////////////////////////////////////


////////////////////////// popup_view.php /////////////////////////////////////
<?php
$gnu_path = "./../";
$popup_path = $gnu_path . "popup/";

include($gnu_path . 'config.php');
include($gnu_path . 'lib.php');

$html_title = "▒ POPUP NEWS ▒";
$page_width = "100%";
include($gnu_path . 'head.sub.php');
?>

<script language="JavaScript">
<!--
function setCookie( name, value, expiredays ) {
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closeWin() {
if ( document.popup.notice.checked )
setCookie( "popnews<?=$wr_id?>", "no" , 1);
self.close();
}
// -->
</script>

<iframe src="<?=$popup_path."popup_view2.php?bo_table=$bo_table&wr_id=$wr_id"?>" width=100% height=530 scrolling=yes frameborder=0></iframe>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<form name="popup">
  <tr>
    <td align="center" height="20" valign="bottom">
      <input type="checkbox" name="notice" value="no">
      이 창을 다시 열지 않음 <a href="javascript:history.onclick=closeWin()"><img src="<?=$popup_path?>close.gif" width="40" height="11" align="absMiddel" border=0 alt="닫기"></a></td>
  </tr>
</form>
</table>
<?
include($gnu_path . 'tail.sub.php');
?>
////////////////////////////////////////////////////////////////////////////////


////////////////////////// popup_view2.php ////////////////////////////////////
<?php
$gnu_path = "./../";
$popup_path = $gnu_path . "popup/";

include($gnu_path . 'config.php');
include($gnu_path . 'lib.php');

$sql = " SELECT * FROM {$cfg[write_table_prefix]}$bo_table WHERE wr_id = $wr_id ";
$row = sql_fetch_array($sql);
?>
<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=euc-kr'>
<title>▒ POPUP NEWS ▒</title>
<link rel='stylesheet' href='<?=$gnu_path?>style.css' type='text/css'>
</head>
<body leftmargin='0' topmargin='0'>

<TABLE border=0 cellspacing=0 cellpadding=5 id=wr_content width=100% height=100%>
<TR>
<TD valign=top>
<?=$row[wr_content]?>
</TD>
</TR>
</TABLE>

</BODY>
</HTML>
/////////////////////////////////////////////////////////////////////////////////


//사용법:
맨위의 함수를 libdev.php에 추가합니다.
아래의 두 파일을 만들어서 $popup_path에 지정해준 폴더에 넣습니다.
index.php의 처음이나 마지막에서 함수를 호출합니다.

// 기능:
팝업을 관리합니다.
여러개의 팝업창을 관리할 수 있습니다.
팝업을 띄우고 안띄우고의 결정은 notice에 체크를 하느냐 안하느냐 입니다.

//추신:
지금 사용하는 것을 마구 편집해서 급하게 올립니다. 따라서 오류가 있을 수 있습니다.

//수정:
1. 쿠키이름이 구울때랑 읽어올때 다르게 지정되어 있는 것을 수정했습니다.
2. global 선언에 $HTTP_COOKIE_VARS를 추가 했습니다.

//추신2:
팁텍이라고 올리면서 실행되지도 못하고 테스트도 안하고 올린점 사죄드립니다.
앞으로는 철저한 테스트를 거쳐 올리도록 하겠습니다.
죄송합니다. ^^;
추천
1
  • 복사

댓글 전체

global $cfg, $gnu_path, $HTTP_COOKIE_VARS;
글로벌 선언에 추가입니다.
인클루드 파일로 작성된 것을 함수로 바꾸면서...

앞으로는 확실하게 테스트후 올리도록하겠습니다. --;
죄송합니다. - -;
>>//if(!$HTTP_COOKIE_VARS[popup.$row_popup[wr_id]]  ||  ($HTTP_COOKIE_VARS[popup.$row_popup[wr_id]]  !=  "no")) {

>>//setCookie( "popnews<?=$wr_id?>", "no" , 1);

죄송합니다. 두부분에서 구울때와 읽을때의 쿠키의 이름이 다르게 되어 있군요. 죄송합니다.
popnews와 popup 을 일치시켜 주세요.

죄송합니다. 편집하면서 확인을 안해서... 죄송합니다.
죄송합니다.....안되는데요?

웹사이트 주소 입력 <====== 이부분을 http://www.yesooin.com(팁이 적용된 홈페이지)으로만 했는데
적용이 안되는군요.....
반드시 있어야 겠다 싶은것만 콕콕 집어 올려주십니다. 좋은 소스 잘 쓰겠습니다.
그리고 건의 하나드리겠습니다.
이소스를 응용해서 폼메일에 적용하면 어떨까요?
이를테면 최신글들이 실려있는 메일을 회원들에게 정기적으로 발송할 수 있는 뭐 그런거 ...
음. 너무 많이 바라는가봐요. 그냥 있는거만이라도 분석해서 써야 할것 같습니다.
길선 아버님...

위 소스데로 하면 게시판의 테이블이 popup 아닌가요?

결과가 이렇게 나오는군요... 이벤트 공지는 잘 되었는데 말입니다.

select * from

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('' 명령어 라인 1)
 
select * from

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('' 명령어 라인 1)
Fatal error: Call to undefined function: sql_fetch_array() in /home/bang/public_html/board/popup/popup_view2.php on line 9
© SIRSOFT
현재 페이지 제일 처음으로