웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
파일 하나로 끝내는-_- NZEO 북마크...-_-a
2003.01.13 21:15
우선 $HTTP_REFERER를 이용하므로 새창으로 띄우면 안됩니다-_-ㆀ
아..그리고 이름을 좀 바꿨어요-_- bookmark에서 clipping으로;;;
회원정보 중 $member[no]를 이용합니다..
id보단 편하지 않나요;; 중복염려 제로(id도 마찬가진가...)에....글자수도 적구...ㅡㅡ;;
NZEO사이트도 그런식인거같은데;;;
그리구 NZEO사이트와 똑같이 20개이상은 안돼게 해놨어요...
NZEO와 같은 셀렉트 박스를 이용하려면...우선 제로님의 zSelectBox.js파일받아서 페이지에 넣어주시구
아래와 같이 넣어주세요...(아웃로긴 포함된페이지에 한함...;; 안그럼 outlogin.php를 먼저 인클루드해주세요-_-)
여기에 쓰인 이미지는.....삭제시켜버려서..ㅠ_ㅜ
이상한 부분이나 안돼시는 부분 지적해주세요......-_-
제가 초보라 잘모르지만 지적해주시면 고치도록 노력해볼게요..;;
저같은 경우전 잘되기땜에 별문제는 없을거라 생각됩니다만.....ㅡㅡ;
/////////// 여기서부터 인클루드 시킬부분... //////////////////////////////////////////////////
<?
if(!$member[no]) {
?>
<td rowspan=2><img src="<?=$dir[img]?>main/clip_submit.gif" width=14 height=23></td><td rowspan=2 width=67 height=23></td>
</tr>
<tr>
<td width=101 height=19>
<script>
var selectBox = new Array();
var option = new Array();
selectBox["id"] = "BookMark";
selectBox["fontsize"] = "9";
selectBox["width"] = "101";
selectBox["height"] = "19";
selectBox["fontcolor"] = "#333333";
selectBox["bordercolor"] = "#666666";
selectBox["focusbgcolor"] = "#e4e4e4";
selectBox["bullet"] = "<img src=<?=$dir[img]?>bullet/select_bul.gif width=10 height=6>";
selectBox["padding"] = "0";
selectBox["onChange"] = true;
option[0] = "<font class=ineal>로그인 필요...</FONT>";
<?
}
else
{
?>
<td rowspan=2><a href="/bbs/clip.php"><img src="<?=$dir[img]?>main/clip_submit.gif" width=14 height=23></a></td><td rowspan=2 width=67 height=23></td>
</tr>
<tr>
<td width=101 height=19>
<script>
var selectBox = new Array();
var option = new Array();
selectBox["id"] = "BookMark";
selectBox["fontsize"] = "9";
selectBox["width"] = "101";
selectBox["height"] = "19";
selectBox["fontcolor"] = "#333333";
selectBox["bordercolor"] = "#666666";
selectBox["focusbgcolor"] = "#e4e4e4";
selectBox["bullet"] = "<img src=<?=$dir[img]?>bullet/select_bul.gif width=10 height=6>";
selectBox["padding"] = "0";
selectBox["onChange"] = true;
option[0] = "<font class=ineal>My Clipping...</FONT>";
<?
$result=mysql_query("select * from clip WHERE member_no = '$member[no]'", $connect) or die(mysql_error());
$temp=mysql_fetch_array(mysql_query("select count(*) from clip WHERE member_no = '$member[no]'", $connect));
$total=$temp["count(*)"];
$num=$total;
while($data=mysql_fetch_array($result))
{
?>
option[<?=$num?>] = "<?=$data[name]?>,<?=$data[url]?>";
<?
$num--;
}
}
?>
option["select"] = 0;
printZSelectBox(selectBox,option);
</script>
</td>
</tr>
</table>
/////////// 여기까지가 인클루드 시킬부분... //////////////////////////////////////////////////
여기서부터 소스시작~ 제로보드 설치 디렉토리에 넣어주세요...
<?
// 라이브러리 함수 파일 인크루드
include "lib.php";
// DB 연결
if(!$connect) $connect=dbConn();
// 멤버정보 구하기
$member=member_info();
if(!$member[no]) Error("로그인된 회원만이 사용할수 있습니다");
// 클립보기/등록.
if(!$exec) {
$this_page = "이 페이지(http://를 포함한...)를 적어주세요..";
if($HTTP_REFERER=='$this_page') $HTTP_REFERER="";
$result2=mysql_query("select * from clip WHERE member_no = '$member[no]'", $connect) or die(mysql_error());
$temp2=mysql_fetch_array(mysql_query("select count(*) from clip WHERE member_no = '$member[no]'", $connect));
$total_clip=$temp2["count(*)"];
?>
<HTML>
<HEAD>
<STYLE TYPE="text/css" TITLE="">
P,td,br,BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,blockquote {font-size:9pt;}
BODY {color:#333333;font-family:돋움;
scrollbar-face-color:#FFFFFF;
scrollbar-highlight-color: #aaaaaa;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-shadow-color: #aaaaaa;
scrollbar-darkshadow-color: #FFFFFF;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #aaaaaa;
}
img {border:none}
.t {line-height:140%}
.bold {font-weight:bold}
.bt_s {border:solid 1 black;font-family:verdana;font-size:7pt;font-weight:bold;color:white;background-color:#404040;}
.in_t {border:solid 1;background-color:white;border-color:#404040;line-height:120%}
a:link { text-decoration: none; color: black; font-size: 8pt; }
a:visited { text-decoration: none; color: black; font-size: 8pt; }
a:active { text-decoration: none; color: #4E87FF; font-size: 8pt; }
a:hover { text-decoration:none; color:#4E87FF; font-size: 8pt; }
.tah7 {font-family:Tahoma,Verdana,Arial;font-size:7pt}
.tah8 {font-family:Tahoma,Verdana,Arial;font-size:8pt}
.tah9 {font-family:Tahoma,Verdana,Arial;font-size:9pt}
</STYLE>
<script>
function clearField(field){ if (field.value == field.defaultValue) { field.value = ""; } }
function checkField(field){ if (field.value == "") { field.value = field.defaultValue; } }
function clip_check_submit(obj) {
if(!obj.name.value) {
alert("Clip Name을 입력하세요");
obj.name.focus();
return false;
}
if(!obj.url.value) {
alert("URL을 입력하세요");
obj.url.focus();
return false;
}
return true;
}
</script>
</HEAD>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr>
<td valign=top height=600 align=center>
<table border='1' width='500' style='border-style:solid;' cellspacing='0' bordercolordark='white' bordercolorlight='black' cellpadding=3>
<tr>
<td colspan=3 class='f_4 bold tah8'><b>What is 'My Clipping'...?</b></td>
</tr>
<tr>
<td colspan=3 class='tah8 t' height=35>
이 사이트 내의 페이지나, 다른 사이트까지 북마크를 하실수 있는 Service입니다.<br>
최고 20개까지만 북마크를 등록하실수 있기 때문에 아껴서 사용해 주세요.<br>
더 많이 지원해 드리고 싶지만, DB자원이 한정되어 있어서 어쩔수 없음을 이해해 주시면 감사하겠습니다.
</td>
</tr>
</table>
<br>
<?
if($total_clip>=20) {
}
else {
?>
<table border=0 cellspacing=0 cellpadding=3 width=500 >
<col width=80></col><col width=></col>
<form actoin="<?=$PHP_SELF?>" method=post onsubmit="return clip_check_submit(this)">
<input type=hidden name=exec value="insert">
<tr nowrap>
<td class=tah7 align=right>Clip Name</td>
<td><input type=input name=name size=20 maxlength=20 class="in_t tah7" onFocus="clearField(this)" onBlur="checkField(this)" value="Clip Name"></td>
</tr>
<tr nowrap>
<td class=tah7 align=right>URL</td>
<td><input type=input name=url value="<?=$HTTP_REFERER?>" size=65 maxlength=250 class="in_t tah7"></td>
</tr>
<tr nowrap>
<td colspan=2 align=center><input type=submit value="Add This Clip" class=bt_s></td>
</tr>
</form>
</table>
<br>
<?
}
?>
<table border=0 width=500 cellspacing=1 cellpadding=5 style=table-layout:fixed>
<col width=120></col><col width=></col><col width=50></col>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr>
<tr align=center>
<td class=tah7>Name</td>
<td class=tah7>URL</td>
<td class=tah7>Del</td>
</tr>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr><?
$num_clip=$total_clip;
while($data2=mysql_fetch_array($result2))
{echo "
<tr class=fixed>
<td nowrap class='tah8' height=35 align=center><b><!-- $num_clip -->$data2[name]</b></td>
<td nowrap><a href='$data2[url]'>$data2[url]</a></td>
<td align=center><a href='$PHP_SELF?exec=delete&no=$data2[no]' onclick="return confirm('삭제하시겠습니까?')"><font style='font:bold 10px Verdana;color:c60000;text-decoration:none'>X</font></a></td>
</tr>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr>";
$num_clip--;
}
?>
</table>
</td>
</tr>
</table>
</HTML>
<?
}
// 클립추가
if($exec=="insert") {
if($total_clip>=20) {
Error("클립은 20개까지만 저장가능합니다....^^;;");
}
else {
if(isblank($name)) Error("이름을 입력하셔야 합니다");
if(isblank($url)) Error("URL을 입력하셔야 합니다");
if($name=="Clip Name") Error("Clip Name을 제대로 입력하셔야 합니다");
mysql_query("insert into clip (member_no, name, url) values ('$member[no]','$name','$url')", $connect) or die(mysql_error());
}
header("Location: $PHP_SELF");
}
// 클립삭제
if($exec=="delete") {
mysql_query("DELETE FROM clip WHERE no = '$no' and member_no = '$member[no]'", $connect);
header("Location: $PHP_SELF");
}
?>
아..그리고 이름을 좀 바꿨어요-_- bookmark에서 clipping으로;;;
회원정보 중 $member[no]를 이용합니다..
id보단 편하지 않나요;; 중복염려 제로(id도 마찬가진가...)에....글자수도 적구...ㅡㅡ;;
NZEO사이트도 그런식인거같은데;;;
그리구 NZEO사이트와 똑같이 20개이상은 안돼게 해놨어요...
NZEO와 같은 셀렉트 박스를 이용하려면...우선 제로님의 zSelectBox.js파일받아서 페이지에 넣어주시구
아래와 같이 넣어주세요...(아웃로긴 포함된페이지에 한함...;; 안그럼 outlogin.php를 먼저 인클루드해주세요-_-)
여기에 쓰인 이미지는.....삭제시켜버려서..ㅠ_ㅜ
이상한 부분이나 안돼시는 부분 지적해주세요......-_-
제가 초보라 잘모르지만 지적해주시면 고치도록 노력해볼게요..;;
저같은 경우전 잘되기땜에 별문제는 없을거라 생각됩니다만.....ㅡㅡ;
/////////// 여기서부터 인클루드 시킬부분... //////////////////////////////////////////////////
<?
if(!$member[no]) {
?>
<td rowspan=2><img src="<?=$dir[img]?>main/clip_submit.gif" width=14 height=23></td><td rowspan=2 width=67 height=23></td>
</tr>
<tr>
<td width=101 height=19>
<script>
var selectBox = new Array();
var option = new Array();
selectBox["id"] = "BookMark";
selectBox["fontsize"] = "9";
selectBox["width"] = "101";
selectBox["height"] = "19";
selectBox["fontcolor"] = "#333333";
selectBox["bordercolor"] = "#666666";
selectBox["focusbgcolor"] = "#e4e4e4";
selectBox["bullet"] = "<img src=<?=$dir[img]?>bullet/select_bul.gif width=10 height=6>";
selectBox["padding"] = "0";
selectBox["onChange"] = true;
option[0] = "<font class=ineal>로그인 필요...</FONT>";
<?
}
else
{
?>
<td rowspan=2><a href="/bbs/clip.php"><img src="<?=$dir[img]?>main/clip_submit.gif" width=14 height=23></a></td><td rowspan=2 width=67 height=23></td>
</tr>
<tr>
<td width=101 height=19>
<script>
var selectBox = new Array();
var option = new Array();
selectBox["id"] = "BookMark";
selectBox["fontsize"] = "9";
selectBox["width"] = "101";
selectBox["height"] = "19";
selectBox["fontcolor"] = "#333333";
selectBox["bordercolor"] = "#666666";
selectBox["focusbgcolor"] = "#e4e4e4";
selectBox["bullet"] = "<img src=<?=$dir[img]?>bullet/select_bul.gif width=10 height=6>";
selectBox["padding"] = "0";
selectBox["onChange"] = true;
option[0] = "<font class=ineal>My Clipping...</FONT>";
<?
$result=mysql_query("select * from clip WHERE member_no = '$member[no]'", $connect) or die(mysql_error());
$temp=mysql_fetch_array(mysql_query("select count(*) from clip WHERE member_no = '$member[no]'", $connect));
$total=$temp["count(*)"];
$num=$total;
while($data=mysql_fetch_array($result))
{
?>
option[<?=$num?>] = "<?=$data[name]?>,<?=$data[url]?>";
<?
$num--;
}
}
?>
option["select"] = 0;
printZSelectBox(selectBox,option);
</script>
</td>
</tr>
</table>
/////////// 여기까지가 인클루드 시킬부분... //////////////////////////////////////////////////
여기서부터 소스시작~ 제로보드 설치 디렉토리에 넣어주세요...
<?
// 라이브러리 함수 파일 인크루드
include "lib.php";
// DB 연결
if(!$connect) $connect=dbConn();
// 멤버정보 구하기
$member=member_info();
if(!$member[no]) Error("로그인된 회원만이 사용할수 있습니다");
// 클립보기/등록.
if(!$exec) {
$this_page = "이 페이지(http://를 포함한...)를 적어주세요..";
if($HTTP_REFERER=='$this_page') $HTTP_REFERER="";
$result2=mysql_query("select * from clip WHERE member_no = '$member[no]'", $connect) or die(mysql_error());
$temp2=mysql_fetch_array(mysql_query("select count(*) from clip WHERE member_no = '$member[no]'", $connect));
$total_clip=$temp2["count(*)"];
?>
<HTML>
<HEAD>
<STYLE TYPE="text/css" TITLE="">
P,td,br,BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,blockquote {font-size:9pt;}
BODY {color:#333333;font-family:돋움;
scrollbar-face-color:#FFFFFF;
scrollbar-highlight-color: #aaaaaa;
scrollbar-3dlight-color: #FFFFFF;
scrollbar-shadow-color: #aaaaaa;
scrollbar-darkshadow-color: #FFFFFF;
scrollbar-track-color: #FFFFFF;
scrollbar-arrow-color: #aaaaaa;
}
img {border:none}
.t {line-height:140%}
.bold {font-weight:bold}
.bt_s {border:solid 1 black;font-family:verdana;font-size:7pt;font-weight:bold;color:white;background-color:#404040;}
.in_t {border:solid 1;background-color:white;border-color:#404040;line-height:120%}
a:link { text-decoration: none; color: black; font-size: 8pt; }
a:visited { text-decoration: none; color: black; font-size: 8pt; }
a:active { text-decoration: none; color: #4E87FF; font-size: 8pt; }
a:hover { text-decoration:none; color:#4E87FF; font-size: 8pt; }
.tah7 {font-family:Tahoma,Verdana,Arial;font-size:7pt}
.tah8 {font-family:Tahoma,Verdana,Arial;font-size:8pt}
.tah9 {font-family:Tahoma,Verdana,Arial;font-size:9pt}
</STYLE>
<script>
function clearField(field){ if (field.value == field.defaultValue) { field.value = ""; } }
function checkField(field){ if (field.value == "") { field.value = field.defaultValue; } }
function clip_check_submit(obj) {
if(!obj.name.value) {
alert("Clip Name을 입력하세요");
obj.name.focus();
return false;
}
if(!obj.url.value) {
alert("URL을 입력하세요");
obj.url.focus();
return false;
}
return true;
}
</script>
</HEAD>
<table width=100% border=0 cellpadding=0 cellspacing=0>
<tr>
<td valign=top height=600 align=center>
<table border='1' width='500' style='border-style:solid;' cellspacing='0' bordercolordark='white' bordercolorlight='black' cellpadding=3>
<tr>
<td colspan=3 class='f_4 bold tah8'><b>What is 'My Clipping'...?</b></td>
</tr>
<tr>
<td colspan=3 class='tah8 t' height=35>
이 사이트 내의 페이지나, 다른 사이트까지 북마크를 하실수 있는 Service입니다.<br>
최고 20개까지만 북마크를 등록하실수 있기 때문에 아껴서 사용해 주세요.<br>
더 많이 지원해 드리고 싶지만, DB자원이 한정되어 있어서 어쩔수 없음을 이해해 주시면 감사하겠습니다.
</td>
</tr>
</table>
<br>
<?
if($total_clip>=20) {
}
else {
?>
<table border=0 cellspacing=0 cellpadding=3 width=500 >
<col width=80></col><col width=></col>
<form actoin="<?=$PHP_SELF?>" method=post onsubmit="return clip_check_submit(this)">
<input type=hidden name=exec value="insert">
<tr nowrap>
<td class=tah7 align=right>Clip Name</td>
<td><input type=input name=name size=20 maxlength=20 class="in_t tah7" onFocus="clearField(this)" onBlur="checkField(this)" value="Clip Name"></td>
</tr>
<tr nowrap>
<td class=tah7 align=right>URL</td>
<td><input type=input name=url value="<?=$HTTP_REFERER?>" size=65 maxlength=250 class="in_t tah7"></td>
</tr>
<tr nowrap>
<td colspan=2 align=center><input type=submit value="Add This Clip" class=bt_s></td>
</tr>
</form>
</table>
<br>
<?
}
?>
<table border=0 width=500 cellspacing=1 cellpadding=5 style=table-layout:fixed>
<col width=120></col><col width=></col><col width=50></col>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr>
<tr align=center>
<td class=tah7>Name</td>
<td class=tah7>URL</td>
<td class=tah7>Del</td>
</tr>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr><?
$num_clip=$total_clip;
while($data2=mysql_fetch_array($result2))
{echo "
<tr class=fixed>
<td nowrap class='tah8' height=35 align=center><b><!-- $num_clip -->$data2[name]</b></td>
<td nowrap><a href='$data2[url]'>$data2[url]</a></td>
<td align=center><a href='$PHP_SELF?exec=delete&no=$data2[no]' onclick="return confirm('삭제하시겠습니까?')"><font style='font:bold 10px Verdana;color:c60000;text-decoration:none'>X</font></a></td>
</tr>
<tr>
<td colspan=3 height=1 align=center bgcolor=#333333></td>
</tr>";
$num_clip--;
}
?>
</table>
</td>
</tr>
</table>
</HTML>
<?
}
// 클립추가
if($exec=="insert") {
if($total_clip>=20) {
Error("클립은 20개까지만 저장가능합니다....^^;;");
}
else {
if(isblank($name)) Error("이름을 입력하셔야 합니다");
if(isblank($url)) Error("URL을 입력하셔야 합니다");
if($name=="Clip Name") Error("Clip Name을 제대로 입력하셔야 합니다");
mysql_query("insert into clip (member_no, name, url) values ('$member[no]','$name','$url')", $connect) or die(mysql_error());
}
header("Location: $PHP_SELF");
}
// 클립삭제
if($exec=="delete") {
mysql_query("DELETE FROM clip WHERE no = '$no' and member_no = '$member[no]'", $connect);
header("Location: $PHP_SELF");
}
?>
댓글 14
-
최오규
2003.01.14 10:27
-
최오규
2003.01.14 10:16
인클루드시킬 부분이랑 소스랑 같은 파일로 저장해요? -
최오규
2003.01.14 10:15
zSelectBox.js 이거 어디서 받아요? -
ineal
2003.01.13 21:21
sql구문이 빠졌군요...
CREATE TABLE clip (
no int(13) NOT NULL auto_increment,
member_no int(13) NOT NULL default '0',
name varchar(30) NOT NULL default '',
url text NOT NULL,
PRIMARY KEY (no),
UNIQUE KEY no (no)
) TYPE=MyISAM; -
ineal
2003.01.14 14:40
zSelectBox.js은 Javascript스터디에 가보시면 있을거구요;;;
소스부분은 제로보드 설치디렉에...인클루드는 위에서 말한거같이 아웃로긴 적용돼는 페이지에요;;;
아웃로긴적용안시키더라두 outlogin.php파일을 인클루드만 시켜줘보세요...
함수 넣어주지않는한 로긴폼은 안뜨니깐요;;; -
ineal
2003.01.14 14:42
말이 좀 꼬인거 같네요...설명 부실..ㅠ_ㅜ 죄송... -
ineal
2003.01.14 15:14
-_-; 제소스에는 line이 200번대를 넘어가지 않는데요;;;
그냥 저렇게 적어주시면 에러난 부분이 어느부분인지 알수가.... -
vc
2003.01.17 18:35
무슨 말씀을 하시는건지 횡설 수설; 정리 좀 해서 다시 올려주시면 감사하겠습니다.
소스부분을 clip.php로 저장해서 제로보드 폴더안에 넣고 (clip.php로 저장하란 말을 해주셔야;)
인클루드부분을 outlogin.php가 인클루드 되어 있는 페이지에 넣은뒤
http://source.phper.org/selectBox/zSelectBox.js
를 받아서 올린뒤 인클루드 부분에서 경로를 수정해줘야 합니다.
그리고 clip.php 링크 경로도 수정해주셔야 되고.. -
술도짱
2003.01.21 09:18
제로보드가 있는곳에서는 안되요...
이상하게 페이지가 출력이 안되네요..
option[0] = "<font class=ineal>My Clipping...</FONT>";
이거밑으로요 -
Senic
2003.02.10 00:12
저위에 있는 sql구문은...
php파일로 만들어서 디비생성하라는 건가요??
술도짱//인클루드 시킬부분이라 되있는 소스를 말그대로 파일에 저장해서 보여주고 싶은곳에 인클루드 해야하는것 아닌가요?? -
초보햏자
2003.02.11 15:52
Senic //
저위에 있는 sql 구분은 디비 생성하는거니. mysql들어가서 직접하셔도 되고 php문으로 만들어도 상관은 없겠지요
인클루트 부분은 어느 위치에 북마크를 찍을건지 보여주는 겁니다.
폼은 자신의 홈페이지에 맞추어서 좀 수정이 필요할듯 합니다. -
Senic
2003.02.20 10:47
저도 제로보드가 있는곳에서는 이상하게 되질 않아요.
술도짱 님과 증상이 똑같군요. -
아드레날린
2003.03.29 11:25
CREATE TABLE clip (
no int(13) NOT NULL auto_increment,
member_no int(13) NOT NULL default '0',
name varchar(30) NOT NULL default '',
url text NOT NULL,
PRIMARY KEY (no),
UNIQUE KEY no (no)
) TYPE=MyISAM;
긍께 요걸 아무이름.php로 만들어서 계정에 올린뒤에 한 번 실행시키란 말인가요?;
해도 line3이 어쩌고 하던데... -
Hanuli
2003.04.04 18:25
<?php
$host = "localhost";
$user = "test"; //mysql ID
$password = "test"; //mysql PW
$dbname = "test"; //DataBase Name
$query = "
CREATE TABLE clip (
no int(13) NOT NULL auto_increment,
member_no int(13) NOT NULL default '0',
name varchar(30) NOT NULL default '',
url text NOT NULL,
PRIMARY KEY (no),
UNIQUE KEY no (no)
) TYPE=MyISAM;";
//디비커넥션
mysql_connect($host,$user,$password);
//쿼리실행
$result = mysql_db_query($dbname,$query);
?>
$host,$user,$password,$dbname 만 환경에 맞게 하시고
임의의 파일로 만들어서 실행시키시면 만들어집니다.
등록하면 이런게 나오고...
Warning: Cannot modify header information - headers already sent by (output started at f:userssnli2001bbsbook.php:2) in f:userssnli2001bbsbook.php on line 246
삭제하면 이런게 나와여