팝업관리프로그램(약간에 업뎃과 오류수정)
팝업실행창을 풀다운메뉴로
링크명을 입력하여 저장가능
이미저장된 링크는 표시해주고 다시 저장 못함
========================================================================
부비컴님의 팝업관리프로그램을 약간 수정해 팝업을 실행할 페이지를 선택하도록 한걸 한번더 수정했습니다.
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였습니다..^^
부비컴님의 팝업관리프로그램을 약간 수정해 팝업을 실행할 페이지를 선택하도록 한걸 한번더 수정했습니다.
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였습니다..^^
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 47개
그런데 페이지명이 저장이 안되네요..
그리고 매번 페이지를 들어가야 저장이 되는 것인가요
그누보드를 g4에 설치했는데..어떤 수정이 있어야 하나요
있으면 좀 알려주세요
아래과 같이 저장 메세지가 뜨고
--- 파일 내용 출력 ---
- 넘버[0] 주소[] 링크명[]
- 파일에 [ 1,,] 내용이 저장을 저장중입니다.
- 파일에 [ 1,,] 가 저장되었습니다.
1
내용은..
주소등이 안나오고..
아래와 같이 숫자와 점만나오네요.
0,,
1,,
물론
팝업창을 등록하려고 해도 링크를 선택하라고 나오며 등록이 안되고요..
그리고 바로 팝업등록시 불러들이고요..
popup_link_db.txt 파일이 생성이 되었다면 FTP로 접속 하셔서 퍼미션이 644 인지 확인함 해주세요.
그리고 그 상위 폴더는 707 이구요.
아이비호스팅을 바탕으로 제작한거라...ㅠ.ㅠ
전 잘되었는데 ..ㅠ.ㅠ
그래두 이상이 없으시다면 popup_link_db.txt 파일을 한번 지워 보시구 다시 한번 해보심이..
딱히 답을 못드려서 죄송합니다..ㅜ.ㅡ
확인을 부탁드릴께요 아이템 네임들과
<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 값을 제대로 넘겨 받지 못해서 그런듯 합니다.
왼도우 2003 이거든요..
딱히 답을 못드려 죄송합니다..ㅠ.ㅠ
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."'>";
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. www가 붙냐 안붙냐에 따라서 될때도 있고 안될때도 있습니다.
저만 이런건가요..
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"> </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>
========================================================
2007폴더를 지정하려면 http://도메인/2007/ 이렇게됩니다.
경로가 문제 있는건가여?
부탁합니다. 도와주세용~
그누보드 폴더 박으로 나가면 경로가....
설정 파일들에 경로가 깨지기 때문에 이것저것 손을 많이 보셔야 합니다.
..ㅜ.ㅠ 도아드리지 못해 제송합니다.
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
이런 오류가 ...
아마 cheditor4.lib.php 파일 만 있을 겁니다.
예전 에디터가 적용된 소스에서 찾아 cheditor.lib.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 입니다.