336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

1. Asp 객체
Request
Response
Server
Application   클라이언트에 공통으로 적용(=DB)
Session       클라이언트에 개별적으로 적용
 
 
2. 전역변수 (파일공유 전역변수) : 모든페이지에 적용됨
 
전역변수를 적용 할 수 있는 객체는 Application / Session 객체가 있다!
Application 클라이언트에 공통으로 적용(=DB)
Application("변수명")
 
Session 클라이언트에 개별적으로 적용
Session("변수명")   // 기본20분 유지
 
session.sessionid
클라이언트 브라우저 접속시 할당되는 id값으로 브라우저가 닫힐때 소멸된다.! (장바구니 기능등...에 용이)
 
Application & Session - 전역변수 설정 유지
세션초기값 설정페이지 - global.asa 로 작성
 
이벤트로 제어
초기값 부여할때 쓰이는 global.asa 는 처음접속시 있으면 거쳐가고 없으면 그냥 무시하고 접속하게 된다.
 
 
3. global.asa
3-1. 자바스크립트
function 함수명(){
  return 값;
}
 
3-2. VB스크립트
function 함수명()    // 리턴할수 있음
end function
 
Sub 함수명()    // 리턴할수 없음
End Sub
 
 
4. global.asa 예제
<script language=VBscript runat=Server>  'runat=Server"는 서버에서 돌아가라는 뜻!
Sub Application_OnStart  '최초 클라이언트의 접속
  '어플리케이션 변수 설정시작
  '필요없으시면 빼도 됩니다.
  Application.Lock
  Application.contents("current_user") = 0
  Application.Unlock
End Sub
 
 
Sub Session_OnStart  '개인별 클라이언트의 접속
  Session.Timeout=30 '유지시간설정 (기본은 20분)
  'Session("uid")="guest" 
  'static_table = "ccssof_static"
 
  '연결개체 생성
  Set db = Server.CreateObject("ADODB.Connection")
  db.provider = "SQLOLEDB.1" 'SQL서버를 쓴다면 보통 이렇게 쓴다.
  db.Open("Persist Security Info=False;User ID=디비ID;password=디비PW;Data Source=디비IP")
  db.defaultDatabase = "디비name"
 
  '회원통계테이블에서 오늘날짜에 현재시간에 저장되어있는 레코드가 있는지 알아보는 쿼리
  SQL = "SELECT * FROM "&static_table
  SQL = SQL&" WHERE s_year= year(getdate())"
  SQL = SQL&"and s_month=month(getdate()) and s_day = day(getdate()) and s_time = datepart(hh,getdate())"
 
  Set rs= Server.CreateObject("ADODB.Recordset")
  '###레코드 셋 열기
  rs.Open SQL,db
  If rs.eof or rs.bof Then '오늘날짜와 현재시간에 해당하는 레코드가 없다면 레코드 추가
    SQL = "INSERT INTO "&static_table&" DEFAULT VALUES "
  ELSE '아니면 해당레코드에 카운드 1증가
    s_idx = rs("s_idx")
    SQL = "UPDATE "&static_table
    SQL = SQL & " SET s_count=s_count + 1 WHERE s_idx="&s_idx
  End If
  rs.close
  Set rs = nothing
 
  '#### 연결객체를 이용한 쿼리실행(빠른실행을 위해 레코드셋객체를 만들지 않음)
  db.Execute SQL
  db.close
  Set db = nothing
 
  '현재 접속자수 계산 루틴
  '필요없다면 다음 루틴 제거
  If isnull(Application.contents("current_user")) Then
    Application.Lock
    Application.contents("current_user") = 1
    Application.UnLock    
  Else
    Application.Lock    
    Application.contents("current_user") = Application.contents("current_user") + 1
    Application.Lock        
  End If
End Sub
 
 
Sub Session_OnEnd   '개인별 클라이언트의 접속종료
  '현재 접속자수 계산 루틴
  '필요없다면 다음 루틴 제거
  
  If isnull(Application.contents("current_user")) Then
    Application.Lock
    Application.contents("current_user") = 0
    Application.Unlock
  Else
    Application.Lock
    Application.contents("current_user") = Application.contents("current_user") - 1
    Application.UnLock
  End If
End Sub
 
Sub Application_OnEnd  '최종 클라이언트의 접속
End Sub
</script>

Posted by 당양부부34

블로그 이미지
주요 토렌트를 블로깅하고 있습니다. 토렌트 순위 등은 다른 사이트를 찾아보세요. 주요 웹툰 순위도 게재했어요 경제를 좋아하는 일산의 행복한 프로그래머입니다.
당양부부34
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함