처리 과정
1. 회원가입 테이블 생성
-- usert 테이블 생성
create table usert(
number int identity(1,1) primary key, -- 고유번호
username nvarchar(100) null , -- 사용자 이름
age int null, -- 나이
sex nvarchar(5) null, --성별
id1 nvarchar(50) , -- 아이디
passwd nvarchar(50), -- 비밀번호
email nvarchar(50), -- 이메일
tel nvarchar(50), -- 전화번호
address nvarchar(100), -- 주소
date1 datetime default GETDATE(), -- 가입날짜
visited int , -- 방문횟수
point int -- 포인트
)
2. 테이블 이름 정의하기
countt : 접속횟수
order_detrailt : 장바구니 및 주문 제품목록
order_sumt : 주문서 목록
prodt : 제품 정보
sortt : 제품 분류
usert : 회원정보
count : "countt"
order_detailt ="order_detailt"
order_sumt ="order_sumt"
prodt ="prodt"
sortt ="sortt"
usert ="usert"
3. DB 연결 루틴 만들기(dbcon.asp)
dbcon.asp
<%
Dim dbConnect, db '변수 선언'
' DB 연결 접속 정보 변수 저장
dbConnect = "Provider=SQLOLEDB; Data Source=NITRO-PC\SQLEXPRESS;Initial Catalog=macaronics; User id=braverokmc;password=1111"
' 연결 객체 생성
Set db = server.createObject("ADODB.Connection")
' 데이터베이스 접속
db.open dbConnect
%>
Response 객체
<% Response.Buffer = True 혹은 Fasle %>
True 로 지정하면 페이지 내용을 바로 보내지 않고 버퍼링을 한다. 이 내용은 HTML 페이지 상단에 명시한다. 이 버퍼링된 페이지를
제어하기 위해서는 Flush, Clear , End 메소드를 사용한다. 버퍼링된 페이지는 End 나 Flush 메소드의 명령을 받기 전까지는 페이지를
버퍼에 그대로 가지고 있다.
Response.Flush : Buffer 에 있는 결과를 즉시 보낸다. Response.Write 메소드를 사용한 출력 내용도 처리가 가능하다.
Response.Clear : Buffer 에 있는 모든 HTML 결과를 지운다.
Response.End : ASP 파일 처리를 멈추고 현재 결과값을 보낸다.
4. adduser.asp 전체 소스 코드
header.asp
<%@Language="VBScript" CODEPAGE="65001" %>
<%
' 한글깨짐 방지 처리
Response.CharSet="utf-8"
Session.codepage="65001"
Response.codepage="65001"
Response.ContentType="text/html;charset=utf-8"
%>
<% response.buffer=true %>
<!-- Buffer 프로퍼티를 이용한 페이지 버퍼링하기
Response.Buffer 프로퍼티를 사용하면 페이지를 버퍼링할 수 있다. 버퍼링이란 생성한 페이지를 바로
클라이언트로 전달하는 것이 아니라 서버에 보관한 다음 명령에 따라 보내거나 보내지 않게 하는 것이다.
버퍼링을 통해서 클라이언트에 보낼 페이지를 제어할 수 있다.
Response.Buffer = True 혹은 False
True 로 지정하면 페이지 내용을 바로 보내지 않고 버퍼링을 한다. 이 내용은 HTML 페이지 상단에 명시한다.
이 버퍼링된 페이지를 제어하기 위해서는 Flush, Clear , End 메소드를 사용한다. 버퍼링된 페이지는 End 나
Flush 메소드의 명령을 받기 전까지는 페이지를 버퍼에 그대로 가지고 있다.
Response.Flush : Buffer 에 있는 결과를 즉시 보낸다. Response.Write 메소드를 사용한
출력 내용도 처리가 가능하다.
Respose.Clear : Buffer 에 있는 모든 HTML 결과를 지운다.
Response.End : ASP 파일 처리를 멈추고 현재 결과값을 보내다. -->
<html lang="ko">
<head>
<title>macaronics</title>
<meta http-equiv="content-type" content="text/html"; charset="utf-8" >
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 위 3개의 메타 태그는 *반드시* head 태그의 처음에 와야합니다; 어떤 다른 콘텐츠들은 반드시 이 태그들 *다음에* 와야 합니다 -->
<title>macaronics</title>
<!-- 부트스트랩 -->
<!-- 합쳐지고 최소화된 최신 CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<!-- 부가적인 테마 -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
<!-- 합쳐지고 최소화된 최신 자바스크립트 -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<!-- IE8 에서 HTML5 요소와 미디어 쿼리를 위한 HTML5 shim 와 Respond.js -->
<!-- WARNING: Respond.js 는 당신이 file:// 을 통해 페이지를 볼 때는 동작하지 않습니다. -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<style>
#header_menu, #navbar, .navbar navbar-inverse navbar-static-top{
background:#EE7785;
color: white;
}
#header_menu .navbar-header{
color: white;
}
.navbar-inverse .navbar-brand{
background:#EE7785;
}
.navbar-inverse .navbar-nav>li>a{
color:white;
}
.navbar-inverse .navbar-nav>.active>a, .navbar-inverse .navbar-nav>.open>a{
background:#337AB7;
}
#navbar .navbar-nav>li>a:hover, #navbar .navbar-nav>li>a:hover{
background:#337AB7;
}
#footer {
position:fixed;
left:0px;
bottom:0px;
height:60px;
width:100%;
background:#EE7785;
color: white;
}
#footer p {
text-align: center;
vertical-align: middle;
}
</style>
adduser.asp
<!--#include virtual=./mall/include/header.asp -->
<script>
$(document).ready(function() {
$("#btnRegist").click(function(e){
var form =document.form1;
if(form.id1.value.length==0){
alert("ID를 입력하세요.");
form.id1.focus();
return false;
}
if(form.passwd.value.length==0){
alert("비밀번호를 입력하세요.");
form.passwd.focus();
return false;
}
if(form.username.value.length==0){
alert("이름을 입력하세요.");
form.username.focus();
return false;
}
if(form.email.value.length==0){
alert("이메일을 입력하세요.");
form.email.focus();
return false;
}
if(form.tel.value.length==0){
alert("전화번호를 입력하세요.");
form.tel.focus();
return false;
}
if(form.address.value.length==0){
alert("주소를 입력하세요.");
form.address.focus();
return false;
}
if(form.age.value.length==0){
alert("나이를 입력하세요.");
form.age.focus();
return false;
}
if(form.sex.value.length==0){
alert("성별을 입력하세요.");
form.sex.focus();
return false;
}
form.submit();
});
});
</script>
</header>
<body>
<%
Dim id1, passwd, username, email, tel, address, age, sex
id1=request("id1")
passwd=request("passwd")
username=request("username")
email=request("email")
tel=request("tel")
address=request("address")
age=request("age")
sex=request("sex")
id=request("id")
if id="error" then
%>
<script>alert("중복된 아이디 입니다.")</script>
<%
end if
%>
<!--#include virtual="./mall/include/header_menu.asp" -->
<div class="rows">
<div class="container">
<div clss="col-xs-12 col-sm-12">
<h1 class="bg-primary text-center" style="width:100%; padding-top:20px; padding-bottom:20px; text-align:center">회원등록</h1>
<div class="col-xs-3 col-sm-3"></div>
<div class="col-xs-6 col-sm-6">
<p> </p>
<p class="text-center">
<span style="color:red;">* 아래 항목을 빠짐 없이 입력해 주세요.</span>
</p>
<form method="post" action="adduserOk.asp" name="form1" >
<table class="table table-striped" >
<tr>
<th>등록할 회원 ID </th>
<td><input type="text" value="" class="form-control" name="id1"/></td>
</tr>
<tr>
<th>등록할 비빌번호 </th>
<td><input type="password" value="" class="form-control" name="passwd" /></td>
</tr>
<tr>
<th>이름 </th>
<td><input type="text" value="<%=username %>" class="form-control" name="username" /></td>
</tr>
<tr>
<th>Email </th>
<td><input type="email" value="<%=email %>" class="form-control" name="email" /></td>
</tr>
<tr>
<th>연락처 </th>
<td><input type="tel" value="<%=tel %>" class="form-control" name="tel" /></td>
</tr>
<tr>
<th>현주소 </th>
<td><input type="text" value="<%=address %>" class="form-control" name="address" /></td>
</tr>
<tr>
<th>나이 </th>
<td><input type="number" max="100" min="1" class="form-control" name="age" value="<%=age %>" /></td>
</tr>
<tr>
<th>성별 </th>
<td>
<select name="sex" class="form-control">
<option value="남" <% if sex="남" then response.write "selected" end if %> >남</option>
<option value="여" <% if sex="여" then response.write "selected" end if %> >여</option>
</select>
</td>
</tr>
<tr class="text-center">
<td colspan="2">
<button type="button" class="btn-success" id="btnRegist">신규회원 등록 </button>
<button type="button" class="btn-primary">로그인 </button>
<button type="button" class="btn-danger">닫기</button>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
</div>
<!--#include virtual=./mall/include/footer.asp -->
footer.asp
<p class="margin-top:200px"></p>
<div class="rows">
<div class="col-xs-3 col-sm-3" ></div>
<div class="col-xs-6 col-sm-6">
<!-- FOOTER -->
<footer id="footer">
<p> </p>
<p>© 2018 macaronics - Junho Choi</p>
<p> </p>
</footer>
</div><!-- /.container -->
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="http://bootstrapk.com/dist/js/bootstrap.min.js"></script>
</body>
</html>
adduserOk.asp
<!--#include virtual=./mall/include/header.asp -->
</header>
<body>
<!--#include virtual="./mall/dbcon.asp" -->
<%
Dim id1, passwd, username, email, tel, address, age, sex
id1=request.form("id1")
passwd=request.form("passwd")
username=request.form("username")
email=request.form("email")
tel=request.form("tel")
address=request.form("address")
age=request.form("age")
sex=request.form("sex")
usert="usert"
nowdate=now
nowdate=left(nowdate, 19)
visited=0
point=0
%>
<form name="form2" action="adduser.asp" method="post">
<input type="hidden" name="id" value="error" />
<input type="hidden" name="username" value="<%= username %>" />
<input type="hidden" name="email" value="<%= email %>" />
<input type="hidden" name="tel" value="<%= tel %>" />
<input type="hidden" name="address" value="<%= address %>" />
<input type="hidden" name="age" value="<%= age %>" />
<input type="hidden" name="sex" value="<%= sex%>" />
</form>
<%
'Response.Write " 결과 : " &id1&" , "& passwd &" , "& username &" , "& email &" , "& tel &" , "& address &" , "& age &" , "& sex
%>
<%
sql1="select * from " & usert & " where id1='"&id1&"'"
Set rs1=db.Execute(sql1)
if rs1.EOF then
sql2 ="insert into "& usert
sql2 =sql2 &" (id1, passwd, username, email, tel, address, age, sex, visited, point) values ('"
sql2 =sql2 & id1 &"', '"& passwd &"', '"& username &"', '"& email &"', '"& tel &"', '"& address &"', '"& age &"', '"& sex &"', '"& visited &"', '"& point &"' )"
'Response.write sql2
Set rs2 =db.execute(sql2)
'Response.write "등록되었습니다."
%>
<!--#include virtual="./mall/include/header_menu.asp" -->
<div class="rows">
<div class="container">
<div clss="col-xs-12 col-sm-12">
<h1 class="bg-primary text-center" style="width:100%; padding-top:20px; padding-bottom:20px; text-align:center">가입을 축하합니다.</h1>
<div class="col-xs-3 col-sm-3"></div>
<div class="col-xs-6 col-sm-6">
<table class="table table-striped" >
<caption class="text-center">
<h3>등록 내용</h3>
</caption>
<tr>
<th>등록할 회원 ID :</th>
<td><%= id1 %></td>
</tr>
<tr>
<th>등록할 비빌번호 :</th>
<td><%= passwd %></td>
</tr>
<tr>
<th>이름 :</th>
<td><%= username %></td>
</tr>
<tr>
<th>Email : </th>
<td><%= email %> </td>
</tr>
<tr>
<th>연락처 :</th>
<td><%= tel %> </td>
</tr>
<tr>
<th>현주소 :</th>
<td><%= address %></td>
</tr>
<tr>
<th>나이 :</th>
<td><%= age %></td>
</tr>
<tr>
<th>성별 :</th>
<td> <%= sex %>
</td>
</tr>
</table>
<%
else
'"중복된 아이디 입니다."
%>
<script>
document.form2.submit();
</script>
<%
response.end
end if
%>
</div>
</div>
</div>
</div>
</body>
</html>
제작 소스 - Junho choi - macaronics : https://github.com/braverokmc79/asp-shoppingMall














댓글 ( 4)
댓글 남기기