반응형
오늘은 사용자페이지에서 사용하는 공통파일과 사용자들이 회원가입을 하는 페이지를 배워보도록 하겠습니다.
[사용자 페이지 공통파일]
특별한 부분은 2번부터 입니다.
어드민에서 생성한 게시판들의 목록을 가져다 모두 동일하게 글목록을 보여주는 파일인 board_list.php 에 get 값으로 어떤 게시판인지 구분하기 위한 bc_code 값을 같이 보내게 하는 링크를 만들어 줍니다.
만들어진 index.php 파일은 다음과 같습니다.
[실행화면]
다음은 회원가입입니다.
예전에 관계형 게시판의 회워가입과 동일합니다.
단 회원정보 저장시에 m_level 을 기록해 주는것이 차이가있습니다.
그럼 다음시간에는 사용자 로그인과 정보수정을 배우겠습니다.
[사용자 페이지 공통파일]
<?
include "./inc/config.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title></title>
</head>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
<tr>
<td align="center" valign="middle" colspan="3" style="font-zise:15px;font-weight:bold;">
PHPer's Heaven 설치형게시판
</td>
</tr>
<?
// 1.로그인 여부에 따라 상단 메뉴가 다르게
if($_SESSION[user_idx]){
?>
<tr>
<?
// 로그인한 사람이 관리자면 관리자페이지 링크를, 아니면 홈 링크를
if($_SESSION[user_level] == 9){
?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./admin_index.php">관리자페이지</a></td>
<?}else{?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./index.php">홈</a></td>
<?}?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./member_modify.php">정보수정</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./logout.php">로그아웃</a></td>
</tr>
<?}else{?>
<tr>
<td align="center" valign="middle" style="font-size:12px;"><a href="./index.php">홈</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./member_join.php">회원가입</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./login.php">로그인</a></td>
</tr>
<?}?>
</table>
<br>
<table style="width:1000px;height:30px;border:5px #CCCCCC solid;">
<tr>
<?
// 2. 생성된 게시판 목록 불러와 링크 만들기
$sql = "select * from bd__board_config where 1 order by bc_idx desc";
$data = sql_list($sql);
for($i=0;$i<count($data);$i++){
// 3. 게시판 목록을 보여주는 파일에 게시판 종류를 구분하는 bc_code 를 get 으로 연결
?>
<td><a href="./board_list.php?bc_code=<?=$data[$i][bc_code]?>"><?=$data[$i][bc_name]?></a></td>
<?
}
?>
</tr>
</table>
[head.php 소스]include "./inc/config.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title></title>
</head>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
<tr>
<td align="center" valign="middle" colspan="3" style="font-zise:15px;font-weight:bold;">
PHPer's Heaven 설치형게시판
</td>
</tr>
<?
// 1.로그인 여부에 따라 상단 메뉴가 다르게
if($_SESSION[user_idx]){
?>
<tr>
<?
// 로그인한 사람이 관리자면 관리자페이지 링크를, 아니면 홈 링크를
if($_SESSION[user_level] == 9){
?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./admin_index.php">관리자페이지</a></td>
<?}else{?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./index.php">홈</a></td>
<?}?>
<td align="center" valign="middle" style="font-size:12px;"><a href="./member_modify.php">정보수정</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./logout.php">로그아웃</a></td>
</tr>
<?}else{?>
<tr>
<td align="center" valign="middle" style="font-size:12px;"><a href="./index.php">홈</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./member_join.php">회원가입</a></td>
<td align="center" valign="middle" style="font-size:12px;"><a href="./login.php">로그인</a></td>
</tr>
<?}?>
</table>
<br>
<table style="width:1000px;height:30px;border:5px #CCCCCC solid;">
<tr>
<?
// 2. 생성된 게시판 목록 불러와 링크 만들기
$sql = "select * from bd__board_config where 1 order by bc_idx desc";
$data = sql_list($sql);
for($i=0;$i<count($data);$i++){
// 3. 게시판 목록을 보여주는 파일에 게시판 종류를 구분하는 bc_code 를 get 으로 연결
?>
<td><a href="./board_list.php?bc_code=<?=$data[$i][bc_code]?>"><?=$data[$i][bc_name]?></a></td>
<?
}
?>
</tr>
</table>
특별한 부분은 2번부터 입니다.
어드민에서 생성한 게시판들의 목록을 가져다 모두 동일하게 글목록을 보여주는 파일인 board_list.php 에 get 값으로 어떤 게시판인지 구분하기 위한 bc_code 값을 같이 보내게 하는 링크를 만들어 줍니다.
만들어진 index.php 파일은 다음과 같습니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");
?>
[index.php 소스]// 1. 공통 인클루드 파일
include ("./head.php");
?>
[실행화면]
다음은 회원가입입니다.
예전에 관계형 게시판의 회워가입과 동일합니다.
단 회원정보 저장시에 m_level 을 기록해 주는것이 차이가있습니다.
<?
// 1. 공통 인클루드 파일
include ("./head.php");
// 2. 로그인한 회원은 뒤로 보내기
if($_SESSION[user_id]){
?>
<script>
alert("로그인 하신 상태입니다.");
history.back();
</script>
<?
}
// 3. 입력 HTML 출력
?>
<br/>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
<tr>
<td align="center" valign="middle" style="font-zise:15px;font-weight:bold;">회원가입</td>
</tr>
</table>
<br/>
<form name="registForm" method="post" action="./member_join_save.php" style="margin:0px;">
<table style="width:1000px;height:50px;border:0px;">
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">아이디</td& gt;
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="m_id" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">이름</td& gt;
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="m_name" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호< /td>
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="password" name="m_pass" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호 확인</td>
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="password" name="m_pass2" style="width:380px;"></td>
</tr>
<!-- 4. 회원가입 버튼 클릭시 입력필드 검사 함수 member_save 실행 -->
<tr>
<td align="center" valign="middle" colspan="2"><input type="button" value=" 회원가입 " onClick="member_save();"></td>
</tr>
</table>
</form>
<script>
// 5.입력필드 검사함수
function member_save()
{
// 6.form 을 f 에 지정
var f = document.registForm;
// 7.입력폼 검사
if(f.m_id.value == ""){
// 8.값이 없으면 경고창으로 메세지 출력 후 함수 종료
alert("아이디를 입력해 주세요.");
return false;
}
if(f.m_name.value == ""){
alert("이름을 입력해 주세요.");
return false;
}
if(f.m_pass.value == ""){
alert("비밀번호를 입력해 주세요.");
return false;
}
if(f.m_pass.value != f.m_pass2.value){
// 9.비밀번호와 확인이 서로 다르면 경고창으로 메세지 출력 후 함수 종료
alert("비밀번호를 확인해 주세요.");
return false;
}
// 10.검사가 성공이면 form 을 submit 한다
f.submit();
}
</script>
[member_join.php 소스]// 1. 공통 인클루드 파일
include ("./head.php");
// 2. 로그인한 회원은 뒤로 보내기
if($_SESSION[user_id]){
?>
<script>
alert("로그인 하신 상태입니다.");
history.back();
</script>
<?
}
// 3. 입력 HTML 출력
?>
<br/>
<table style="width:1000px;height:50px;border:5px #CCCCCC solid;">
<tr>
<td align="center" valign="middle" style="font-zise:15px;font-weight:bold;">회원가입</td>
</tr>
</table>
<br/>
<form name="registForm" method="post" action="./member_join_save.php" style="margin:0px;">
<table style="width:1000px;height:50px;border:0px;">
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">아이디</td& gt;
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="m_id" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">이름</td& gt;
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="text" name="m_name" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호< /td>
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="password" name="m_pass" style="width:380px;"></td>
</tr>
<tr>
<td align="center" valign="middle" style="width:200px;height:50px;background-color:#CCCCCC;">비밀번호 확인</td>
<td align="left" valign="middle" style="width:800px;height:50px;"><input type="password" name="m_pass2" style="width:380px;"></td>
</tr>
<!-- 4. 회원가입 버튼 클릭시 입력필드 검사 함수 member_save 실행 -->
<tr>
<td align="center" valign="middle" colspan="2"><input type="button" value=" 회원가입 " onClick="member_save();"></td>
</tr>
</table>
</form>
<script>
// 5.입력필드 검사함수
function member_save()
{
// 6.form 을 f 에 지정
var f = document.registForm;
// 7.입력폼 검사
if(f.m_id.value == ""){
// 8.값이 없으면 경고창으로 메세지 출력 후 함수 종료
alert("아이디를 입력해 주세요.");
return false;
}
if(f.m_name.value == ""){
alert("이름을 입력해 주세요.");
return false;
}
if(f.m_pass.value == ""){
alert("비밀번호를 입력해 주세요.");
return false;
}
if(f.m_pass.value != f.m_pass2.value){
// 9.비밀번호와 확인이 서로 다르면 경고창으로 메세지 출력 후 함수 종료
alert("비밀번호를 확인해 주세요.");
return false;
}
// 10.검사가 성공이면 form 을 submit 한다
f.submit();
}
</script>
<?
// 1. 공통 인클루드 파일
include ("./head.php");
// 2. 로그인한 회원은 뒤로 보내기
if($_SESSION[user_id]){
?>
<script>
alert("로그인 하신 상태입니다.");
history.back();
</script>
<?
}
// 3. 넘어온 변수 검사
if(trim($_POST[m_id]) == ""){
?>
<script>
alert("아이디를 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if(trim($_POST[m_name]) == ""){
?>
<script>
alert("이름을 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if($_POST[m_pass] == ""){
?>
<script>
alert("비밀번호를 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if($_POST[m_pass] != $_POST[m_pass2]){
?>
<script>
alert("비밀번호를 확인해 주세요.");
history.back();
</script>
<?
exit;
}
// 4. 같은 아이디가 있는지 검사
$chk_sql = "select * from bd__member where m_id = '".trim($_POST[m_id])."'";
$chk_result = sql_query($chk_sql);
$chk_data = mysql_fetch_array($chk_result);
// 5. 가입된 아이디가 있으면 되돌리기
if($chk_data[m_idx]){
?>
<script>
alert("이미 가입된 아이디 입니다.");
history.back();
</script>
<?
exit;
}
// 6. 회원정보 적기
$sql = "insert into bd__member (m_id, m_name, m_pass, m_level) values ('".trim($_POST[m_id])."', '".trim($_POST[m_name])."', '".$_POST[m_pass]."', 1)";
sql_query($sql);
// 7. 로그인 페이지로 보내기
?>
<script>
alert("회 원가입이 완료 되었습니다.");
location.replace("./index.php");
</script>
[member_join_save.php 소스]// 1. 공통 인클루드 파일
include ("./head.php");
// 2. 로그인한 회원은 뒤로 보내기
if($_SESSION[user_id]){
?>
<script>
alert("로그인 하신 상태입니다.");
history.back();
</script>
<?
}
// 3. 넘어온 변수 검사
if(trim($_POST[m_id]) == ""){
?>
<script>
alert("아이디를 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if(trim($_POST[m_name]) == ""){
?>
<script>
alert("이름을 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if($_POST[m_pass] == ""){
?>
<script>
alert("비밀번호를 입력해 주세요.");
history.back();
</script>
<?
exit;
}
if($_POST[m_pass] != $_POST[m_pass2]){
?>
<script>
alert("비밀번호를 확인해 주세요.");
history.back();
</script>
<?
exit;
}
// 4. 같은 아이디가 있는지 검사
$chk_sql = "select * from bd__member where m_id = '".trim($_POST[m_id])."'";
$chk_result = sql_query($chk_sql);
$chk_data = mysql_fetch_array($chk_result);
// 5. 가입된 아이디가 있으면 되돌리기
if($chk_data[m_idx]){
?>
<script>
alert("이미 가입된 아이디 입니다.");
history.back();
</script>
<?
exit;
}
// 6. 회원정보 적기
$sql = "insert into bd__member (m_id, m_name, m_pass, m_level) values ('".trim($_POST[m_id])."', '".trim($_POST[m_name])."', '".$_POST[m_pass]."', 1)";
sql_query($sql);
// 7. 로그인 페이지로 보내기
?>
<script>
alert("회 원가입이 완료 되었습니다.");
location.replace("./index.php");
</script>
그럼 다음시간에는 사용자 로그인과 정보수정을 배우겠습니다.
반응형
'Programming' 카테고리의 다른 글
[PHP 강좌] 45. 설치형 게시판 만들기 8 - 게시판 목록보기, 글쓰기 (0) | 2010.02.11 |
---|---|
[PHP 강좌] 44. 설치형 게시판 만들기 7 - 사용자 로그인, 로그아웃, 정보수정 (0) | 2010.02.11 |
[PHP 강좌] 42. 설치형 게시판 만들기 5 - 회원관리 (0) | 2010.02.11 |
[PHP 강좌] 41. 설치형게시판 만들기 4 - 어드민페이지 (어드민 로그인 및 게시판 생성/설정 변경) (0) | 2010.02.11 |