팝업관리프로그램(약간에 업뎃과 오류수정) > 그누4 스킨

그누4 스킨

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y
그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

팝업관리프로그램(약간에 업뎃과 오류수정) 정보

기타 팝업관리프로그램(약간에 업뎃과 오류수정)

첨부파일

popupprogram_080227.zip (205.7K) 429회 다운로드 2008-02-28 17:17:53

본문

팝업실행창을 풀다운메뉴로
링크명을 입력하여 저장가능
이미저장된 링크는 표시해주고 다시 저장 못함
========================================================================

부비컴님의 팝업관리프로그램을 약간 수정해 팝업을 실행할 페이지를 선택하도록 한걸 한번더 수정했습니다.

http://www.sir.co.kr/bbs/tb.php/g4_skin/68765/2d0eeab78787a9d2badc6090016edc4c

========================================================================

*** 그누보드 기반 팝업관리 프로그램 ***


몇몇기능 추가, 수정 하였습니다.

1. 원하는 곳에서 팝업이 실행
2. 관리자 모드 접속시 홈페이지 상단에 페이지별 주소를 저장가능케하여 팝업 생성시 페이지를 따로 적어줄 필요가 없습니다.
3. 기존에 사용하던 REQUEST_URI앞부분에 HTTP_HOST를 붙였습니다.
4. 주소 부분저장시 월드 와이드 웹을 빼버렸습니다.(월드와이드웹이 있든 없든 팝업은 똑같이 실행 되어집니다.)

[특이사항]
 링크데이타는 popup_link_updata.php 파일이 있는곳에 popup_link_db.txt파는 파일이 자동생성되어 저장되어집니다.
 고로 폴더 퍼미션이 707 이어야 합니다.


[사용전 주의]
 그누보드 adm 폴더의 admin.menu300.php 와 upgrade.php를 덮어 쓰게 되니
 덮어 씌우기전에 백업을 하세요.(메뉴가 늘어나는 것이니, 별로 영향은 없습니다만..)

그누보드관리자 - 환경설정 - 업그레이드를  하는 경우, 기존 이용자의 경우, 등록된 팝업기록이 모두 삭제 됩니다.!!!
제가 실력이 없기도 하고, 기타등등의 이유로... 이렇게 처리했습니다. 졸속이지요. ^_^
버전 1.2 이상(1.2,  1.3, 1.4등등)을 이용하는 분들은 업그레이드 할 필요가 없습니다.

[설치방법]
1. gnuboard4 안의 파일들을 그누보드 안에 넣어주세요. [사용전 주의] 참조
2. 그누보드 관리자 - 환경설정 - 업그레이드 해주세요 (DB에 팝업창 만드는 것입니다.)
  그 후 파일을 지워주세요. \gnuboard4\adm\upgrade.php (안지우면  실수로 등록된 팝업이 모두 사라질수 있습니다.)
3. 그누보드 관리자 - 게시판관리 - 팝업관리 에서 팝업 내용등을  입력하세요
4. popup.php 를 열어서 나오는 소스를 현재 사용중인 head.php 파일 아무곳에나 붙여넣어주시면됩니다.인클루드 하셔도 무관합니다.
  꼭해드가 아니여도 사이트에 전반적으로 들어가는 페이지에 해주시는것이 좋습니다.
5. 그후
  그누보드 관리자 - 게시판관리 - 팝업관리 에서 내용추가하면서 사용하시면 됩니다.

[마지막 당부사항]
오류가 있어도 부디 너그러히 수정부탁드립니다..^^
혹제답글이 늦어도 너그러히 용서 부탁드립니다..^^

이상 막무가네 Rino였습니다..^^
추천
5

댓글 전체

감사합니다..
그런데 페이지명이 저장이 안되네요..

그리고 매번 페이지를 들어가야 저장이 되는 것인가요

그누보드를 g4에 설치했는데..어떤 수정이 있어야 하나요
특별한 오류 라인은 없습니다..

아래과 같이 저장 메세지가 뜨고



--- 파일 내용 출력 ---

- 넘버[0] 주소[] 링크명[]

- 파일에 [ 1,,] 내용이 저장을 저장중입니다.
- 파일에 [ 1,,] 가 저장되었습니다.


1

내용은..

주소등이 안나오고..

아래와 같이 숫자와 점만나오네요.

0,,
1,,

물론

팝업창을 등록하려고 해도 링크를 선택하라고 나오며 등록이 안되고요..
개인적인 생각이지만 매 페이지를 들어가서 저장을 클릭하는것보다는 미리 데이타파일을 만드는 방법도 좋을 듯합니다만..

그리고 바로 팝업등록시 불러들이고요..
음 ..

popup_link_db.txt 파일이 생성이 되었다면 FTP로 접속 하셔서 퍼미션이 644 인지 확인함 해주세요.
그리고 그 상위 폴더는 707 이구요.

아이비호스팅을 바탕으로 제작한거라...ㅠ.ㅠ

전 잘되었는데 ..ㅠ.ㅠ

그래두 이상이 없으시다면 popup_link_db.txt 파일을 한번 지워 보시구 다시 한번 해보심이..

딱히 답을 못드려서 죄송합니다..ㅜ.ㅡ
아 popup.php 파일의 170번째 줄부터 175번째 줄에...
확인을 부탁드릴께요 아이템 네임들과


            <form name="pop_save" method="post" action="javascript:pop_save_check(document.pop_save);" enctype="multipart/form-data" style="margin:0px;">
                <td><input type="text" name="popname" id="popname" style="width:160px; background-color:#f6f6f6; border:1px solid #d8d8d5; height:21px;" itemname="링크명" required>
                    <input name="link_url" type="hidden" value="<?=$save_url?>" /></td>
                <td width="20"></td>
                <td width="100" align="center"><input type="submit" name="btn2" id="button2" value="주소저장" /></td>
              </form>



popup_link_updata.php파일의 맨 윗부분

//저장할 주소값과 다시 리턴할 주소값
if($edit_url){$now_url = $edit_url;}
if($link_url){$now_url = $link_url;}
//저장할 링크명
$list_name = $popname;
//지워져야할 파일의 고유넘버
if($dell_num){$dell_num = $dell_num;}
//파일디비의 저장위치
$file_db = "./popup_link_db.txt";
//파일을 불러들일 사이즈를 정한다. txt파일의 한출 최대 사이즈는9999byte 이다.
$data_size = 10000;



서로 맞는지 확인점 부탁드리겠습니다.

popname 값과 link_url 값을 제대로 넘겨 받지 못해서 그런듯 합니다.
제송한데 마지막으로
popup_link_updata.php 파일 하단분에 메타 테그 주석처리 하시고요


popup_link_db.txt 파일 삭제 후 다시 한번 실행 시켜 보시고 나타나는 내용을 좀 알려주셨으면 합니다.

정상적이면


파일을 생성중입니다. 기다려 주세요..^^
- 파일에 [0,주소,보조메뉴페이지] 내용이 저장을 저장중입니다.
- 파일에 [0,주소,보조메뉴페이지] 가 저장되었습니다.


0

요래 나와 야 정상입니다.
오류를 보기 위해 화면에 출력했던 오타들을 수정했습니다.
오류가 있거나 저장이 안되시는 분들은
popup_link_updata.php 파일을 아래 와 같이 고쳐주시고

맨하단부에 있는
echo "<meta http-equiv='Refresh' Content='0;url=http://".$now_url."'>";
테그를 주석처리 해수세요

그리고 popup_link_db.txt 파일 삭제후 다시 링크 등록 하시구요
화면에 나타나는 글자 드레그 하셔서 써주세요.

==================== popup_link_updata.php =================


<?
//저장할 주소값과 다시 리턴할 주소값
if($edit_url){
$now_url = $edit_url;
echo "<br>- 에디트주소를 받았습니다.";
}
if($link_url){
$now_url = $link_url;
echo "<br>- 저장주소를 받았습니다.";
}
//저장할 링크명
if($popname){
echo "<br>- 링크명은 ".$popname." 입니다.";
}
$list_name = $popname;
//지워져야할 파일의 고유넘버
if($dell_num){
$dell_num = $dell_num;
echo "<br>- 삭제되어야할 링크넘버는 ".$dell_num."번 입니다.";
}
//파일디비의 저장위치
$file_db = "./popup_link_db.txt";
echo "<br>- 파일저장 경로는 ".$file_db."입니다.";
//파일을 불러들일 사이즈를 정한다. txt파일의 한출 최대 사이즈는9999byte 이다.
$data_size = 10000;
/*
========================================
엔터값을 저장 수정하지 말아주세요
========================================
*/
$enter = "
";
$space = ",";
/*
========================================
엔터값을 저장 수정하지 말아주세요
========================================
*/




//파일이 있는지 없는지를 검사한다.
$file_search = file_exists($file_db);

//파일이 존재 한다면
if($file_search){
echo "<br>- 파일이 존재 합니다.";
//지우기 모드이면
if($edit_url){
echo "<br>- 지우기 모드입니다.";
//파일을 불러들여 저장한다.
$save_file_data = file($file_db);
echo "<br>- 파일을 읽어왔습니다.";
//데이터를 모두 지워버린다.
$r_write =  fopen($file_db, "w+");
echo "<br>- 데이타를 모두 지웁니다.";

//새로운넘버링
$j = 0;
echo "<br>- 지우기전 저장한 데이타를 다시 쓰기 시작합니다.";
//for 구문으로 다지워야할 부분만 제외 하고 다시 써나간다.
for ($i = 0; $i < sizeof($save_file_data); $i++) {

//지워야할 링크 넘버를 구하기 위해 풀어해친다.
$splint_data[$i] = explode(",",chop($save_file_data[$i]));

//데이타 넘버와 지워야할 넘버가 같지않다면 저장해라
if($dell_num != $splint_data[$i][0]){

//첫번째 줄이라면
if($j == 0){

//엔터를 제외한 데이터를 저장
$line_save_data[$i] = $j.$space.$splint_data[$i][1].$space.$splint_data[$i][2];
echo "<br>- 루프넘버 : ".$i." 데이타넘버링 : ".$line_save_data[$i]."저장중<br>";

}else{

//엔터를 포함한 데이터를 저장
$line_save_data[$i] = $enter.$j.$space.$splint_data[$i][1].$space.$splint_data[$i][2];
echo "<br>- 루프넘버 : ".$i." 데이타넘버링 : ".$line_save_data[$i]."저장중<br>";

}//첫줄구분구문닫기

//넘버링증가
$j++;

//파일저장
fwrite($r_write,$line_save_data[$i]);
echo "<br>- ".$line_save_data[$i]." 저장했습니다.";
}//데이타넘버비교구문닫기

}//for구문닫기

//파일 닫기
fclose($r_write);
echo "<br>- 수정을 완료하고 파일을 닫았습니다.";
//쓰기모드이면
}else{

//데이터를 덧붙여쓰는 형식으로 불러들인다
$link_file = fopen($file_db, "r+");
echo "<br>- r+로 파일을 불렀습니다.";
}//지우기모드 구별 구문닫기

//파일이 존재하지 않는다면
}else{

echo "파일을 생성중입니다. 기다려 주세요..^^";

//파일을 지우고 다시 쓰는 형식으로 불러들여 파일을 생성한다.
$link_file = fopen($file_db, "a+");
echo "<br>- a+로 파일을 불렀습니다.";
}//파일존재여부확인구문닫기

//지우기모드가 아닐때만 실행
if(!$edit_url){

//파일이 존재하면
if($file_search){
echo "<br>- 파일이 존재합니다.";
//파일의 데이터값을 저장한다.
while(!feof($link_file)) {

$link_list = fgets($link_file,$data_size);

//chop($str);공백을 없애어 준다
$lklist[] = explode(",",chop($link_list));

}//파일데이터구문닫기
echo "<br>- 파일의 데이타 값을 저장했습니다.";
//마지막넘버 구하기
$last_list = sizeof($lklist)-1;
echo "<br>- 마지막 넘버는 ".$last_list."번 입니다.";
//파일출력
echo "<br>--- 파일 내용 출력 ---<br>";

for ($i = 0; $i < sizeof($lklist); $i++) {

echo "<br>- 넘버[".$lklist[$i][0]."] 주소[".$lklist[$i][1]."] 링크명[".$lklist[$i][2]."]<br>";

}//파일출력구문닫기

}//파일존재값구문닫기


//데이터 초기넘버를 만든다(데이타넘버가 0과 같고 루프넘버가 2와 같다면 넘버링은 1이되고 그렇지 않다면 루프넘버와 같다.)
if($lklist[$last_list][0] == 0 && sizeof($lklist) == 2){

$list_num = 1;
echo "<br>- 데이타넘버가 0과 같고 루프넘버가 2와 같아서 링크넘버링을 1로 합니다.";
}else{

$list_num = sizeof($lklist);
echo "<br>- 링크넘버링은 루프넘버와 같습니다.";
}

//저장할 데이타 준비(첫번째 줄에는 엔터를 입력하지 않습니다.)
if(!$file_search){

$now_save_data = $list_num.$space.$now_url.$space.$list_name;
echo "<br>- 파일에 [".$now_save_data."] 내용을 저장중입니다.(첫줄입니다)";

}else{

$now_save_data = $enter.$list_num.$space.$now_url.$space.$list_name;
echo "<br>- 파일에 [".$now_save_data."] 내용을 저장중입니다.";

}//저장데이타구문닫기


if(strlen($lklist[0][0]) == 0){
echo "<br>- 파일은 생성되어 있지만 안에 데이타가 없어 리스트 넘버링이 1이되는것 을 막기 위해 0번으로 다시 지정해서 저장합니다.";
//파일 닫기
fclose($link_file);
echo "<br>- 파일을 닫았습니다.";
$link_file = fopen($file_db, "a+");
echo "<br>- 파일을 다시 열었습니다.";
fwrite($link_file,"0".$space.$now_url.$space.$list_name);
echo "<br>- 파일에 [0".$space.$now_url.$space.$list_name."] 가 저장되었습니다.";
}else{
//내용저장
fwrite($link_file,$now_save_data);
echo "<br>- 파일에 [".$now_save_data."] 가 저장되었습니다.";
}
//파일 닫기
fclose($link_file);
echo "<br>- 파일을 닫았습니다.";

}//지우기모드구문닫기

echo "<br><br><br> 링크리스트 맨처음에위치한 링크넘버링의 랭스는 ".strlen($lklist[0][0])." 입니다.";
//원래있던 페이지로 디턴합니다.
echo "<meta http-equiv='Refresh' Content='0;url=http://".$now_url."'>";

?>


==================== popup_link_updata.php =================
위에분 문제가 언어셑 문제가 아닐까요?
utf-8로 수정해서 사용하실분은
autoPOPUP.php 부분 26번째 줄을
<meta http-equiv="Content-Type" content="text/html; charset=<?=$g4['charset']?>">
로 수정해 사용하시면
팝업창이 안깨집니다.
팝업이 잘 안되는데
- 파일저장 경로는 ./popup_link_db.txt입니다.파일을 생성중입니다. 기다려 주세요..^^
- a+로 파일을 불렀습니다.
- 링크넘버링은 루프넘버와 같습니다.
- 파일에 [0,,] 내용을 저장중입니다.(첫줄입니다)
- 파일은 생성되어 있지만 안에 데이타가 없어 리스트 넘버링이 1이되는것 을 막기 위해 0번으로 다시 지정해서 저장합니다.
- 파일을 닫았습니다.
- 파일을 다시 열었습니다.
- 파일에 [0,,] 가 저장되었습니다.
- 파일을 닫았습니다.


링크리스트 맨처음에위치한 링크넘버링의 랭스는 0 입니다.
어떻게 해야 할까요?
질문입니다.
압축풀어서 5개 파일 adm 에 복사시켜줬구요. db 생성 됩니다. 관리자페이지에서 팝업생성등록 해줬구요.. 첫 index.php 파일안에 popup.php 인쿠르드 해줬습니다. 헌데 아무 반응이 없네요.

1. popup_link_db.txt 에 루트에 팝업 뜨게할려면 0,/,인사말 이런형태로 넣으면 되나요?
2. autoPOPUP.php, popup_link_updata.php  파일을 어디에 위치하라는 말씀이 없으신데.. 걍 루트에다 넣으면 되나요?
3. include 되는 형태가 연동이 안이뤄진거 같은데 설명좀 부탁드립니다.
아고 제송합니다..^^

popup_link_updata.php 파일을 아래와 같이 수정해 주세요..^^

지금 까지 안되시던분들은 아래와 같이 수정해주세요 전체 드레그 하셔서 복사 붙여 넣기 하시면됩니다.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<?
//저장할 주소값과 다시 리턴할 주소값

$edit_url = $_POST['edit_url'];


$link_url = $_POST['link_url'];


$popname = $_POST['popname'];


$dell_num = $_POST['dell_num'];



if($edit_url){
$now_url = $edit_url;
echo "<br>- 에디트주소를 받았습니다.";
echo "<br>EDIT_URL : ".$edit_url."<br>";
}
if($link_url){
$now_url = $link_url;
echo "<br>- 저장주소를 받았습니다.";
echo "<br>LINK_URL : ".$link_url."<br>";
}
//저장할 링크명
if($popname){
echo "<br>- 링크명은 ".$popname." 입니다.";
}
$list_name = $popname;
//지워져야할 파일의 고유넘버
if($dell_num){
$dell_num = $dell_num;
echo "<br>- 삭제되어야할 링크넘버는 ".$dell_num."번 입니다.";
}
//파일디비의 저장위치
$file_db = "./popup_link_db.txt";
echo "<br>- 파일저장 경로는 ".$file_db."입니다.";
//파일을 불러들일 사이즈를 정한다. txt파일의 한출 최대 사이즈는9999byte 이다.
$data_size = 10000;
/*
========================================
엔터값을 저장 수정하지 말아주세요
========================================
*/
$enter = "
";
$space = ",";
/*
========================================
엔터값을 저장 수정하지 말아주세요
========================================
*/




//파일이 있는지 없는지를 검사한다.
$file_search = file_exists($file_db);

//파일이 존재 한다면
if($file_search){
echo "<br>- 파일이 존재 합니다.";
//지우기 모드이면
if($edit_url){
echo "<br>- 지우기 모드입니다.";
//파일을 불러들여 저장한다.
$save_file_data = file($file_db);
echo "<br>- 파일을 읽어왔습니다.";
//데이터를 모두 지워버린다.
$r_write =  fopen($file_db, "w+");
echo "<br>- 데이타를 모두 지웁니다.";

//새로운넘버링
$j = 0;
echo "<br>- 지우기전 저장한 데이타를 다시 쓰기 시작합니다.";
//for 구문으로 다지워야할 부분만 제외 하고 다시 써나간다.
for ($i = 0; $i < sizeof($save_file_data); $i++) {

//지워야할 링크 넘버를 구하기 위해 풀어해친다.
$splint_data[$i] = explode(",",chop($save_file_data[$i]));

//데이타 넘버와 지워야할 넘버가 같지않다면 저장해라
if($dell_num != $splint_data[$i][0]){

//첫번째 줄이라면
if($j == 0){

//엔터를 제외한 데이터를 저장
$line_save_data[$i] = $j.$space.$splint_data[$i][1].$space.$splint_data[$i][2];
echo "<br>- 루프넘버 : ".$i." 데이타넘버링 : ".$line_save_data[$i]."저장중<br>";

}else{

//엔터를 포함한 데이터를 저장
$line_save_data[$i] = $enter.$j.$space.$splint_data[$i][1].$space.$splint_data[$i][2];
echo "<br>- 루프넘버 : ".$i." 데이타넘버링 : ".$line_save_data[$i]."저장중<br>";

}//첫줄구분구문닫기

//넘버링증가
$j++;

//파일저장
fwrite($r_write,$line_save_data[$i]);
echo "<br>- ".$line_save_data[$i]." 저장했습니다.";
}//데이타넘버비교구문닫기

}//for구문닫기

//파일 닫기
fclose($r_write);
echo "<br>- 수정을 완료하고 파일을 닫았습니다.";
//쓰기모드이면
}else{

//데이터를 덧붙여쓰는 형식으로 불러들인다
$link_file = fopen($file_db, "r+");
echo "<br>- r+로 파일을 불렀습니다.";
}//지우기모드 구별 구문닫기

//파일이 존재하지 않는다면
}else{

echo "파일을 생성중입니다. 기다려 주세요..^^";

//파일을 지우고 다시 쓰는 형식으로 불러들여 파일을 생성한다.
$link_file = fopen($file_db, "a+");
echo "<br>- a+로 파일을 불렀습니다.";
}//파일존재여부확인구문닫기

//지우기모드가 아닐때만 실행
if(!$edit_url){

//파일이 존재하면
if($file_search){
echo "<br>- 파일이 존재합니다.";
//파일의 데이터값을 저장한다.
while(!feof($link_file)) {

$link_list = fgets($link_file,$data_size);

//chop($str);공백을 없애어 준다
$lklist[] = explode(",",chop($link_list));

}//파일데이터구문닫기
echo "<br>- 파일의 데이타 값을 저장했습니다.";
//마지막넘버 구하기
$last_list = sizeof($lklist)-1;
echo "<br>- 마지막 넘버는 ".$last_list."번 입니다.";
//파일출력
echo "<br>--- 파일 내용 출력 ---<br>";

for ($i = 0; $i < sizeof($lklist); $i++) {

echo "<br>- 넘버[".$lklist[$i][0]."] 주소[".$lklist[$i][1]."] 링크명[".$lklist[$i][2]."]<br>";

}//파일출력구문닫기

}//파일존재값구문닫기


//데이터 초기넘버를 만든다(데이타넘버가 0과 같고 루프넘버가 2와 같다면 넘버링은 1이되고 그렇지 않다면 루프넘버와 같다.)
if($lklist[$last_list][0] == 0 && sizeof($lklist) == 2){

$list_num = 1;
echo "<br>- 데이타넘버가 0과 같고 루프넘버가 2와 같아서 링크넘버링을 1로 합니다.";
}else{

$list_num = sizeof($lklist);
echo "<br>- 링크넘버링은 루프넘버와 같습니다.";
}

//저장할 데이타 준비(첫번째 줄에는 엔터를 입력하지 않습니다.)
if(!$file_search){

$now_save_data = $list_num.$space.$now_url.$space.$list_name;
echo "<br>- 파일에 [".$now_save_data."] 내용을 저장중입니다.(첫줄입니다)";

}else{

$now_save_data = $enter.$list_num.$space.$now_url.$space.$list_name;
echo "<br>- 파일에 [".$now_save_data."] 내용을 저장중입니다.";

}//저장데이타구문닫기


if(strlen($lklist[0][0]) == 0){
echo "<br>- 파일은 생성되어 있지만 안에 데이타가 없어 리스트 넘버링이 1이되는것 을 막기 위해 0번으로 다시 지정해서 저장합니다.";
//파일 닫기
fclose($link_file);
echo "<br>- 파일을 닫았습니다.";
$link_file = fopen($file_db, "a+");
echo "<br>- 파일을 다시 열었습니다.";
fwrite($link_file,"0".$space.$now_url.$space.$list_name);
echo "<br>- 파일에 [0".$space.$now_url.$space.$list_name."] 가 저장되었습니다.";
}else{
//내용저장
fwrite($link_file,$now_save_data);
echo "<br>- 파일에 [".$now_save_data."] 가 저장되었습니다.";
}
//파일 닫기
fclose($link_file);
echo "<br>- 파일을 닫았습니다.";

}//지우기모드구문닫기

echo "<br><br><br> 링크리스트 맨처음에위치한 링크넘버링의 랭스는 ".strlen($lklist[0][0])." 입니다.";
//원래있던 페이지로 디턴합니다.
echo "<br><br>원래 있던 페이지로 디턴합니다.(".$now_url.")";
echo "<meta http-equiv='Refresh' Content='0;url=http://".$now_url."'>";

?>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
그럴리가 없는데요 링크 페이지를 슈퍼어디민 으로 묵으셨으면 1번과 같은 문제가 생기는데요 그걸 해제 해주세요.

2번문제의 오류는 프로그램 상에서 모두 월드 와이드 웹을 빼낸후 비교 하게 설정 했습니다. 좀더 확인 후 문제점 해결시 쪽지날려드릴께요..^^
몇가지 구동을 방해하는 버그를 올립니다.

일단 autuPOPUP.php에 <meta http-equiv="Content-Type" content="text/html; charset=euc-kr"> 이 부분이 위에분이 말씀해 주신대로
<meta http-equiv="Content-Type" content="text/html; charset=<?=$g4['charset']?>">
이렇게 바뀌어야 하며 위치또한 <title>태그 전에 놓여야 합니다. 파폭에선 아래에 있어도 페이지를 메타태그를 기준으로 디코딩하여 열지만 익스는 맨 우선적으로 찾은 문자셋을 기준으로 열어버려서 백지상태로 나옵니다.

위에 '웃자웃자'님의 문제사항
2. www가 붙냐 안붙냐에 따라서 될때도 있고 안될때도 있습니다.

이건 popup.php에
  $szlink[$i] = explode(".",$arrPOP[$i]["szLink"]);
if($szlink[$i][0] == "www"){
$szlink[$i] = $szlink[$i][1].".".$szlink[$i][2];
}
이부분에서 일어나는 문제입니다.
기존의 코드는 .을 기준으로 explode된 배열중 1번째와 두번째 열만 가져다 다시 조립합니다.
그러나 www.xxx.com/index.php 와 같은 주소를 볼때 점이 세개나 있기에 새로 조립된 링크는 xxx.com/index 까지만 나오게 됩니다.
이걸 substring이나 explode된 변수를 루프 돌리도록 하시면 되겠습니다.
흑염님의 조언에 따라 수정했습니다...^^ 이거 개을러 터져가..ㅠ.ㅠ 이제 올리네요..

우선 popup.php 페이지를 먼저 수정했습니다.


=========================================================

<?php
/**
 * 팝업관리 프로그램
**/
//현재 주소를 저장합니다. 이때 월드와이드웹이 앞에 붙어 있는지를 검사후 있다면 지워버립니다.
$world = explode(".",$_SERVER['HTTP_HOST']);
// 흑염님의 조언으로 루프로 돌려 3차 4차 도메인 까지 커버..^^
$world_c = sizeof($world);
if($world[0] == "www"){
$world = $world[1];
for($a=2; $a<$world_c; $a++){
$world += ".".$world[$a];
}
}else{
$world = $_SERVER['HTTP_HOST'];
}
$now_url = $world.$_SERVER['REQUEST_URI'];
//이번에는 실제 저장될 주소입니다.
$save_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

// 팝업 대상 목록 가져오기 - 시작 //
$nNow      = time();
$szSql      = "
            SELECT nIdx, nStartDate, nEndDate, nWidth, nHeight, nLeft, nRight , nOptions , szLink
            FROM ZOTTA_POPUP
            WHERE szView='Y' AND ($nNow BETWEEN nStartDate AND nEndDate)
            ORDER BY nIdx asc
            ";

$input = mysql_query($szSql);

$dataArray = array ();
for ($i = 0; $i < mysql_num_fields($input); $i ++) {
  array_push($dataArray, mysql_field_name($input, $i));
}
$fieldArray =$dataArray;

$returnArray = array ();
$onerowArray = array ();

while ($row = mysql_fetch_row($input)) {
  for ($j = 0; $j < sizeof($fieldArray); $j ++) {
    //$onerowArray = array_merge($onerowArray, array( $fieldArray[$j] => $row[$fieldArray[$j]] ));
    $onerowArray = array_merge($onerowArray, array ($fieldArray[$j] => $row[$j]));
  }
  array_push($returnArray, $onerowArray);
}
$onerowArray = '';
$arrPOP = $returnArray;
//print_r($arrPOP);
// 팝업 대상 목록 가져오기 - 끝 //
     

# 목록에 따라, 새창 띄우기
for ( $i=0; $i < count($arrPOP); $i++){
  if ($arrPOP[$i]["nIdx"])
  {

//위와 마찬가지로 월드와이드웹을 빼네어줍니다.
$szlink[$i] = explode(".",$arrPOP[$i]["szLink"]);
// 흑염님의 조언으로 루프로 돌려 3차 4차 도메인 까지 커버..^^
$sZ_c = sizeof($szlink[$i]);
if($szlink[$i][0] == "www"){
$szlink[$i] = $szlink[$i][1];
for($z=2; $z<$sz_c; $z++){
$szlink[$i] = $szlink[$i].".".$szlink[$i][$z];
}
}else{
$szlink[$i] = $arrPOP[$i]["szLink"];
}
if ( $now_url == $szlink[$i] )
{

$cookieName = "zotta_popup_idx".$arrPOP[$i]["nIdx"];
      if ($_COOKIE[$cookieName] != "done")
      {
          $szWidth    = $arrPOP[$i][nWidth];
          $szHeight  = $arrPOP[$i][nHeight] + 27;
          $szLeft    = $arrPOP[$i][nLeft];
          $szRight    = $arrPOP[$i][nRight];
          $options    = $arrPOP[$i][nOptions];

          $scrollbar = ($options == "Y") ? "scrollbars=yes" :  "scrollbars=no";
          $optionsS  = $scrollbar.",width=".$szWidth.",height=".$szHeight.",left=".$szLeft.",top=".$szRight.", status=no";

          echo "\r\n<script language='javascript'>\r\n\t window.open( '".$g4[path]."/autoPOPUP.php?idx=".$arrPOP[$i]["nIdx"]."', 'popup_nIdx".$arrPOP[$i]["nIdx"]."', '".$optionsS."'); \r\n</script>";
      }
}
  }
}
//어드민 계정만 볼수 있도록 설정
if ($is_admin == "super" || $is_auth) {
?>


<table width="800" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="30">
 
 <?
//파일이 있는지 없는지를 검사한다.
$file_search = file_exists($g4['path']."/popup_link_db.txt");
//파일이 존재 한다면
if($file_search){



//데이터를 읽기 형식으로 불러들인다
$link_file = file($g4['path']."/popup_link_db.txt");

//파일이 존재하면
if($file_search){

?>
  <table width="100%" border="0" cellpadding="0" cellspacing="0">
  <form name="dell" method="post" action="javascript:dell_check(document.dell);" enctype="multipart/form-data" style="margin:0px;">
  <input name="edit_url" type="hidden" value="<?=$save_url?>">
  <tr>
    <td height="21" align="right">
    <select name="dell_num" id="popuplist" style="width:660px; background-color:#f6f6f6; border:1px solid #d8d8d5; height:21px;" itemname="삭제링크" required>
     
<?
for ($i = 0; $i < sizeof($link_file); $i++) {
$lklist[] = explode(",",chop($link_file[$i]));
if($lklist[$i][1] == $save_url){
echo "<option value=".$lklist[$i][0]." selected>넘버[ ".$lklist[$i][0]." ] 주소[ ".$lklist[$i][1]." ] 링크명[ ".$lklist[$i][2]." ]</option>";
$selected_answer = "y";
$selecred_name = $lklist[$i][2];
}else{
echo "<option value=".$lklist[$i][0].">넘버[ ".$lklist[$i][0]." ] 주소[ ".$lklist[$i][1]." ] 링크명[ ".$lklist[$i][2]." ]</option>";
}
}

if($selected_answer != "y"){
if(strlen($lklist[0][0]) == 0){
echo "<option selected>현재 저장되어져 있는 팝업링크 리스트가 없습니다. 저장해주세요</option>";
}else{
echo "<option selected>현재 저장되어져 있는 팝업링크 리스트를선택후 삭제가능합니다.</option>";
}
}
?>
    </select>            </td>
    <td width="20"></td>
    <td width="100" align="center"><input type="submit" name="btn1" id="btn_submit" value="주소삭제" accesskey='s'></td>
  </tr></form>
</table> 
    <?

}

}else{
echo "현재 저장되어져 있는 파일 이 없습니다. 링크를 저장하시면 자동으로 파일이 생성됩니다.^^";
}
?></td>
  </tr>
  <tr>
    <td height="30">
   
   
   
 <?
 if($selected_answer == "y"){
 ?>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center">현재 <font color=red>[<?=$selecred_name?>]</font>라는 링크명으로 현주소<font color=red>[<?=$save_url?>]</font>가 저장되어져 있습니다.</td>
  </tr>
</table>
 
 <?
 }else{
 ?>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="22">&nbsp;</td>
          <td>현재주소 : http://
          <?=$save_url?></td>
          <td align="right"><table border="0" cellspacing="0" cellpadding="0">
            <tr>
            <form name="pop_save" method="post" action="javascript:pop_save_check(document.pop_save);" enctype="multipart/form-data" style="margin:0px;">
                <td><input type="text" name="popname" id="popname" style="width:160px; background-color:#f6f6f6; border:1px solid #d8d8d5; height:21px;" itemname="링크명" required>
                    <input name="link_url" type="hidden" value="<?=$save_url?>" /></td>
                <td width="20"></td>
                <td width="100" align="center"><input type="submit" name="btn2" id="button2" value="주소저장" /></td>
              </form>
            </tr>
          </table></td>
        </tr>
      </table>   
     
    <?
}
?>
   
     
     
     
     
     
      </td>
   
 
  </tr>
</table>


<?
}
?>


<script language="javascript">
<!--
function pop_save_check(f)
{

    f.action = "<?=$g4['path']?>/popup_link_updata.php";
f.submit();
}
function dell_check(f)
{

    f.action = "<?=$g4['path']?>/popup_link_updata.php";
f.submit();
}
//-->
</script>


========================================================
웹루트가 html/data/webroot/daejeon/docs/2007/ 이렇게 있는데 그누보드가 2007폴더에 깔려있습니다.  도메인은 docs 부터 잡힙니다. docs 폴더에 팝업을 띄울려고 하는데 안되네여..;;
2007폴더를 지정하려면 http://도메인/2007/ 이렇게됩니다.
경로가 문제 있는건가여?
부탁합니다. 도와주세용~
제송한 말씀이지만..ㅠ.ㅠ

그누보드 폴더 박으로 나가면 경로가....

설정 파일들에 경로가 깨지기 때문에 이것저것 손을 많이 보셔야 합니다.

..ㅜ.ㅠ 도아드리지 못해 제송합니다.
Warning: include_once(../lib/cheditor.lib.php) [function.include-once]: failed to open stream: No such file or directory in E:\Lihan\lihan\adm\popup_form.php on line 28

Warning: include_once() [function.include]: Failed opening '../lib/cheditor.lib.php' for inclusion (include_path='.;C:\php5\pear') in E:\Lihan\lihan\adm\popup_form.php on line 28

Fatal error: Call to undefined function cheditor1() in E:\Lihan\lihan\adm\popup_form.php on line 32

이런 오류가 ...
예천화님 /ebbs/lib/cheditor.lib.php 파일이 없어서 그럽니다.
아마  cheditor4.lib.php 파일 만 있을 겁니다.
예전 에디터가 적용된 소스에서 찾아 cheditor.lib.php 이파일만 올리시면될 것 같네요
index.php에 common.php 인클루드 바로 아래 줄에 popup.php를 인클루드 했는데
아래와 같이 메세지가..도와 주세요

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 32

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 34

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 37

Warning: Cannot modify header information - headers already sent by (output started at /home/user/schc/public_html/ddns/popup.php:212) in /home/user/schc/public_html/ddns/head.sub.php on line 38
이번에는 이렇게 뜨는데 팝업창은 안떠요.

 저장주소를 받았습니다.
- 링크명은 메인 입니다.
- 파일저장 경로는 ./popup_link_db.txt입니다.파일을 생성중입니다. 기다려 주세요..^^
- a+로 파일을 불렀습니다.
- 링크넘버링은 루프넘버와 같습니다.
- 파일에 [0,www.schc.co.kr/ddns/index.php,메인] 내용을 저장중입니다.(첫줄입니다)
- 파일은 생성되어 있지만 안에 데이타가 없어 리스트 넘버링이 1이되는것 을 막기 위해 0번으로 다시 지정해서 저장합니다.
- 파일을 닫았습니다.
- 파일을 다시 열었습니다.
- 파일에 [0,www.schc.co.kr/ddns/index.php,메인] 가 저장되었습니다.
- 파일을 닫았습니다.


링크리스트 맨처음에위치한 링크넘버링의 랭스는 0 입니다.
전체 5,850 |RSS
그누4 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT