<!--#include file ="vb4cgi.inc"-->
<%'
'
' VB4CGI ADOlog3.asp アクセスログを残すプログラム(SQL)
'
' 実行ディレクトリにlog.mdbが必要(接続時にODBCの設定をしているのでODBCの設定はいらない)
' 記録する環境変数は好きなものを使うこと
' ダミーのgifファイルを返すときに記録するので、1*1透過gifファイルを使う。
'  画像からlogにハイパーリンクをつけても便利。読みだすためには読み込み可能のディレクトリにある必要がある。
'   /scripts/ではだめ。c:\/webshare/wwwroot/ or c:\/inetpub/wwwroot/などに作ること
'
' 原作者 古口正巳 [koguchi@sf.airnet.ne.jp]1998.07 V 0.9
'
'  このプログラムはコード改変可能なフリーフェアであり、いかなる条件でも正しく動作する事を保証してません。
'  各自のリスクで実行して下さい。このプログラムを利用していかなるトラブルが発生しても関知しません。
'
' 次のような文をHTML文に書き加えるとログファイルが更新される。
' <img src="/aspsamp/ADOlog3.asp">
' 直接/aspsamp/ADOlog3.aspと打って動作を確認してみてください。

cgi_main

%>

<SCRIPT  LANGUAGE=VBSCRIPT RUNAT=SERVER>

Sub cgi_main()
    Dim simgHex 'ダミーのgif変数16進データ
    Dim x
    Dim digit '画像データ格納用バイト配列 大きさははみ出さないように設定
    
    simgHex = "47494638376110001500910000FFFFFF4A7B9452C6FF0000002C00000000100015000002409C8FA9BBE20F931802D83BE77114666D54E0068CA27292635822A9DB6E5340D79D52E7013AEBB78A8AB156146191F83A064D9F086753BC5832124F8481CD2E0A003B"
    'simgHex = "47494638396101000100800000000000FFFFFF21F90401000000002C000000000100010000020144003B"
    '実際に使用するときは 1*1透過gifファイルに設定すると見えない。ここでは見えるように0を出力している。
    '下のSimgHexのコメントをはずす。
   For x = 1 To Len(simgHex) Step 2
        digit = digit & ChrB("&H" & Mid(simgHex, x, 2))
   Next
    Response.ContentType = "image/GIF" 'Send "Content-type: image/gif" & vbCrLf
    Response.BinaryWrite digit

    'データーベースを開く
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & CGI_AppPath & "\" & "log.mdb"
    
	sql = "INSERT INTO log ( "
	values = " VALUES ( "

	sql = sql & "[TIME]"
    values = values & "'" &  Now & "'"
    If CGI_RemoteAddr <> "" Then            'Null値を除く
		sql = sql & ", CGI_RemoteAddr"
        values = values & ", '" & CGI_RemoteAddr & "'"
    End If
    If CGI_RemoteHost <> "" Then
		sql = sql & ", CGI_RemoteHost"
        values = values & ", '" & CGI_RemoteHost & "'"
    End If
    If CGI_UserAgent <> "" Then
		sql = sql & ", CGI_UserAgent"
        values = values & ", '" & CGI_UserAgent & "'"
    End If
	sql = sql & " )"
	values = values & " )"
'sendheader "TEST" 'GIF OUTPUTではエラーが出力されない
'send sql & values & "<BR>"
'sendfooter

    'Queryでレコード更新
	cn.Execute sql & values

    'データーベースを閉じる
    cn.Close 'ADO
    Set cn = Nothing
End Sub

</SCRIPT>