묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
질문...- _-;;
2003.12.30 23:46
http://stub363.cafe24.com/boardss/list.php?board=freeboard
여기다가 게시판 관리 모드를 넣었는데
게시판 정보 출력까진 좋았습니다.
*아래 페이지 참고
http://stub363.cafe24.com/boardss/list.php?board=freeboard
위에서 '[관리자 모드]'눌러보세요.
그런데 입력된 수정값이 DB에 업데이트가 안되는군요.
일단 DB테이블 구조부터 적겠습니다.
게시판 코드 : freeboard
---------- 게시판 관리 테이블 ----------
테이블 이름 : bd_admin_info
***** 필드 *****
no //게시판 번호입니다. 쓰이지는 않는다만...
password //게시판 암호입니다.
name //게시판 코드부분입니다. 게시판 정보 출력을 위함입니다.
title //브라우저 상단 타이틀 부분입니다.
color[background] //배경색 부분입니다.
color[table] //표색 부분입니다.(게시판이 표로 구성됨-_-)
color[font] //폰트색 부분입니다.
head //게시판 상단 부분입니다.
foot //게시판 하단 부분입니다.
---------------------------------------
게시판 정보 출력화면과 업데이트 기능파일 소스입니다.
---------- 게시판 정보 출력 소스 ----------
파일이름 : admin_board[edit].php
<html>
<head>
<link rel=StyleSheet href=http://stub363.cafe24.com/bbs/skin/nzeo_ver3/style.css type=text/css title=style>
<form action=admin_board[edit_ok].php method=post>
<input type=hidden name=board value=<?=$board?>>
<input type=hidden name=password value=<?=$password?>>
<input type=hidden name=password_edit value=<?=$password_edit?>>
<input type=hidden name=title value=<?=$title?>>
<input type=hidden name=color_background value=<?=$color_background?>>
<input type=hidden name=color_table value=<?=$color_table?>>
<input type=hidden name=color_font value=<?=$color_font?>>
<input type=hidden name=head value=<?=$head?>>
<input type=hidden name=foot value=<?=$foot?>>
<input type=hidden name=edit[b] value="ok">
<?
include "./dbconnect.php"; //DB환경파일 인클루드
//게시판 정보를 빼내오는 부분입니다. $board은 게시판 코드입니다.
$b_info = mysql_query("select * from bd_admin_info where name='$board'");
$info = mysql_fetch_array($b_info);
$title = $info["title"];
$color[background] = $info["color[background]"];
$color[table] = $info["color[table]"];
$color[font] = $info["color[font]"];
$head = $info["head"];
$foot = $info["foot"];
?>
<title><?=$title?></title>
</head>
<body>
<br><br>
<table align="center" border="1" cellspacing="0" width="688" bordercolordark="white" bordercolorlight="black">
<tr>
<td width="682" colspan="2">
<p align="center">게시판 코드 : <a target=_blank href='list.php?board=<?=$board?>'><?=$board?></a></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>관리자 비밀번호</b></p>
</td>
<td width="538">
<p><input type="password" name="password"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>비밀번호 변경</b></p>
</td>
<td width="538">
<p><input type="password" name="password_edit"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 타이틀</b></p>
</td>
<td width="538">
<p><input type="text" name="title" value="<?=$title?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>배경 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_background" value="<?=$color[background]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>테이블 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_table" value="<?=$color[table]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>텍스트 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_font" value="<?=$color[font]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 윗부분</b></p>
</td>
<td width="538">
<p><textarea rows="13" name="head" cols="73"><?=$head?></textarea></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 아래부분</b></p>
</td>
<td width="538">
<p><textarea rows="13" name="foot" cols="73"><?=$foot?></textarea></p>
</td>
</tr>
<tr>
<td width="682" colspan="2">
<p align="right"><input type=submit value=정보 수정></p>
</td>
</tr>
</table>
</body>
</html>
------------------------------------
---------- 게시판 정보 업데이트 파일 ----------
파일이름 : admin_board[edit_ok].php
<?
//DB환경파일 인클루드
include "./dbconnect.php";
//입력하지 않았을 경우
if(!$password) echo "<script> window.alert('비밀번호를 입력하십시오.'); history.go(-1) </script>";
if(!$password_edit) echo "<script> window.alert('변경할 비밀번호를 입력하십시오.(변경하지 않을경우 기존 비밀번호 입력)'); history.go(-1) </script>";
if(!$title) echo "<script> window.alert('게시판 타이틀을 입력하십시오.'); history.go(-1) </script>";
if($edit[b]=="ok") {
//비밀번호가 일치하지 않을경우
$check_password = mysql_num_rows(mysql_query("select * from bd_admin_info where password='$password'"));
if(!$check_password) {
echo "<script> window.alert('+ '+ '비밀번호가 일치하지 않습니다.'); history.go(-1) </script>";
exit;
}
//admin_board[edit].php에서 입력한 값들 DB에 업데이트
$edit[b] = mysql_query("update bd_admin_info set no='1', password='$password_edit', name='$board', title='$title', color[background]='$color_background', color[table]='$color_table', color[font]='$color_font', head='$head', foot='$foot' where name='$board'");
if($edit[b]) {
echo "<script> window.alert('게시판이 성공적으로 수정되었습니다.');</script>";
echo "<meta http-equiv='refresh' content='3;URL=list.php?board=$board'>";
}else {
echo "<script> window.alert('게시판 수정에 실패했습니다.'); history.go(-1) </script>";
exit;
}
exit;
}
?>
=_=;;;
꼭 답변 부탁드립니다. ( __)
여기다가 게시판 관리 모드를 넣었는데
게시판 정보 출력까진 좋았습니다.
*아래 페이지 참고
http://stub363.cafe24.com/boardss/list.php?board=freeboard
위에서 '[관리자 모드]'눌러보세요.
그런데 입력된 수정값이 DB에 업데이트가 안되는군요.
일단 DB테이블 구조부터 적겠습니다.
게시판 코드 : freeboard
---------- 게시판 관리 테이블 ----------
테이블 이름 : bd_admin_info
***** 필드 *****
no //게시판 번호입니다. 쓰이지는 않는다만...
password //게시판 암호입니다.
name //게시판 코드부분입니다. 게시판 정보 출력을 위함입니다.
title //브라우저 상단 타이틀 부분입니다.
color[background] //배경색 부분입니다.
color[table] //표색 부분입니다.(게시판이 표로 구성됨-_-)
color[font] //폰트색 부분입니다.
head //게시판 상단 부분입니다.
foot //게시판 하단 부분입니다.
---------------------------------------
게시판 정보 출력화면과 업데이트 기능파일 소스입니다.
---------- 게시판 정보 출력 소스 ----------
파일이름 : admin_board[edit].php
<html>
<head>
<link rel=StyleSheet href=http://stub363.cafe24.com/bbs/skin/nzeo_ver3/style.css type=text/css title=style>
<form action=admin_board[edit_ok].php method=post>
<input type=hidden name=board value=<?=$board?>>
<input type=hidden name=password value=<?=$password?>>
<input type=hidden name=password_edit value=<?=$password_edit?>>
<input type=hidden name=title value=<?=$title?>>
<input type=hidden name=color_background value=<?=$color_background?>>
<input type=hidden name=color_table value=<?=$color_table?>>
<input type=hidden name=color_font value=<?=$color_font?>>
<input type=hidden name=head value=<?=$head?>>
<input type=hidden name=foot value=<?=$foot?>>
<input type=hidden name=edit[b] value="ok">
<?
include "./dbconnect.php"; //DB환경파일 인클루드
//게시판 정보를 빼내오는 부분입니다. $board은 게시판 코드입니다.
$b_info = mysql_query("select * from bd_admin_info where name='$board'");
$info = mysql_fetch_array($b_info);
$title = $info["title"];
$color[background] = $info["color[background]"];
$color[table] = $info["color[table]"];
$color[font] = $info["color[font]"];
$head = $info["head"];
$foot = $info["foot"];
?>
<title><?=$title?></title>
</head>
<body>
<br><br>
<table align="center" border="1" cellspacing="0" width="688" bordercolordark="white" bordercolorlight="black">
<tr>
<td width="682" colspan="2">
<p align="center">게시판 코드 : <a target=_blank href='list.php?board=<?=$board?>'><?=$board?></a></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>관리자 비밀번호</b></p>
</td>
<td width="538">
<p><input type="password" name="password"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>비밀번호 변경</b></p>
</td>
<td width="538">
<p><input type="password" name="password_edit"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 타이틀</b></p>
</td>
<td width="538">
<p><input type="text" name="title" value="<?=$title?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>배경 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_background" value="<?=$color[background]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>테이블 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_table" value="<?=$color[table]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>텍스트 색상</b></p>
</td>
<td width="538">
<p><input type="text" name="color_font" value="<?=$color[font]?>"></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 윗부분</b></p>
</td>
<td width="538">
<p><textarea rows="13" name="head" cols="73"><?=$head?></textarea></p>
</td>
</tr>
<tr>
<td width="140">
<p align="center"><b>게시판 아래부분</b></p>
</td>
<td width="538">
<p><textarea rows="13" name="foot" cols="73"><?=$foot?></textarea></p>
</td>
</tr>
<tr>
<td width="682" colspan="2">
<p align="right"><input type=submit value=정보 수정></p>
</td>
</tr>
</table>
</body>
</html>
------------------------------------
---------- 게시판 정보 업데이트 파일 ----------
파일이름 : admin_board[edit_ok].php
<?
//DB환경파일 인클루드
include "./dbconnect.php";
//입력하지 않았을 경우
if(!$password) echo "<script> window.alert('비밀번호를 입력하십시오.'); history.go(-1) </script>";
if(!$password_edit) echo "<script> window.alert('변경할 비밀번호를 입력하십시오.(변경하지 않을경우 기존 비밀번호 입력)'); history.go(-1) </script>";
if(!$title) echo "<script> window.alert('게시판 타이틀을 입력하십시오.'); history.go(-1) </script>";
if($edit[b]=="ok") {
//비밀번호가 일치하지 않을경우
$check_password = mysql_num_rows(mysql_query("select * from bd_admin_info where password='$password'"));
if(!$check_password) {
echo "<script> window.alert('+ '+ '비밀번호가 일치하지 않습니다.'); history.go(-1) </script>";
exit;
}
//admin_board[edit].php에서 입력한 값들 DB에 업데이트
$edit[b] = mysql_query("update bd_admin_info set no='1', password='$password_edit', name='$board', title='$title', color[background]='$color_background', color[table]='$color_table', color[font]='$color_font', head='$head', foot='$foot' where name='$board'");
if($edit[b]) {
echo "<script> window.alert('게시판이 성공적으로 수정되었습니다.');</script>";
echo "<meta http-equiv='refresh' content='3;URL=list.php?board=$board'>";
}else {
echo "<script> window.alert('게시판 수정에 실패했습니다.'); history.go(-1) </script>";
exit;
}
exit;
}
?>
=_=;;;
꼭 답변 부탁드립니다. ( __)
mysql_error()를 이용해서 에러를 출력시켜보면 쉽게 찾습니다.
제생각엔 no = '1' 이구문때문일지 싶은데요. no필드가 auto_increment 필드이면 수정안됩니다.