推奨:パラメーターを使用してストアドプロシージャを呼び出すいくつかの方法いくつかの方法パラメーターを使用してストアドプロシージャ1これは最も簡単な方法、2つの入力パラメーター、return値なし:connection = server.createobject(adodb.connection)connection.open somedsn connection.execute procname varulue1、varvalue2 'すべてのオブジェクトをクリアします、
この関数を実装するには2つの方法があります。
1。アプリケーション
アプリケーションオブジェクトの使用:大規模なコミュニティを行っている場合は、各ログインIDのアプリケーションを生成する必要がある場合があります。プログラムの設計はより簡単になりますが、ログインユーザーは多すぎてサーバーリソースを消費します。アプリケーションオブジェクトはユーザーがログインするときに簡単に生成できるが、ユーザーがシステムを終了し、まだより良い方法を見ていないという認識を実現するため、ここでは決してお勧めしません〜
以下は引用されたコンテンツです。 <% .....ユーザー名を取得しますユーザー名.... application(username)<> thenの場合 Response.Writeこのユーザーはすでにログインしています Response.End ifを終了します アプリケーション(username)= username ''はユーザーのユーザー名を保存しました %> |
オフラインの場合、セッションワンエンドイベントをグローバルファイルに追加します= false = false
さらに、ワイヤーが吊り下げられているかどうかを検出する必要があります。サーバーオブジェクトのアイテムである特別な方法があります
(参照:http://community.csdn.net/expert/faq/faq_index.asp?id=815)
2。データベースASP
それはより複雑なかもしれませんが、それは多数のログに記録されているシステムに適しています。
まず、ユーザーのデータベースを作成します - アクセスを使用して新しいonlytol8.mdbを作成します
データ表1:ユーザーはユーザー登録情報を保存します
以下のデータ表を設定します:UID(自動番号付け)ユーザー名(文字タイプ)ユーザーパス(文字タイプ)
データ表2:onlyloginがユーザーの一時的なログイン情報を保存します
次のデータテーブルが設定されています:olname(文字タイプ)oltime(日付タイプ)olip(文字タイプ)
データベースが構築されたら、ユーザーテーブルユーザー名テーブルに手動でデータを追加し、TOL8を追加し、ユーザーパステーブルに111を追加します。
以下のユーザーログインインターフェイスを実行し、次のコードをコピーしてlogin.aspファイルに保存します。
以下は引用されたコンテンツです。 <html> <head> <メタhttp-equiv = content-type content = text/html; charset = gb2312> <Title>同じアカウントの異なる領域での同時にログインを禁止</title> </head> <body> <form name = form1 method = post action = loginpost.asp> username:<input name = username type = text id = username size = 15 maxlength = 5> パスワード:<入力名= userpassタイプ=パスワードid = userpass size = 15 maxlength = 15> <入力タイプ=送信name = submit value = login> </form> </body> </html> |
完了後、新しいloginconn.aspファイルを作成し、次のコードをコピーして、データベースに接続するために保存します。
以下は引用されたコンテンツです。 <% dim conn_tol8 dim conn_t DIM MMDD mmdd = onlytol8.mdb conn_tol8 = server.createobject(adodb.connection)を設定します conn_t = provider = microsoft.jet.oledb.4.0; data source =&server.mappath(&mmdd&) エラーの再開時に次に再開します conn_tol8.open conn_t%> |
以下は、このディレクトリにも存在するloginpost.aspファイルです。これが鍵です。次のコードを注意深く見てください。
以下は引用されたコンテンツです。 <! - #include file = loginconn.asp-> <% '' Maxtime時間内にアクティブなユーザーを削除すると、maxtimeはloginconn.aspファイルで定義されています conn_tol8.execute(onlylogin Where datediff( '' s ''、oltime、now())>&maxtime&) '' ============================================================================================================== DIM RS、TS、TXT、SQL、ユーザー名、ユーザーパス request.form(submit)= login thenの場合 username = request.form(username) ''フォームユーザーログイン名を取得します userpass = request.form(userpass) ''フォームユーザーログインパスワードを取得します ''ここでセキュリティの問題について議論していないので、ユーザーのパスワードは暗号化されていません rs = server.createObject(adodb.Recordset)を設定します sql = select * fromユーザーはusername = ''&username& ''およびuserpass = ''&userpass& '' rs.open sql、conn_tol8,1,1 rs.eofではない場合 ISOK(username) ''コールユーザー名とパスワードはプロセスに対して正しく呼び出され、ISOKは次のプログラムでカスタマイズされます。 それ以外 Response.write(<a href = javascript:history.go(-1)>不明なユーザー名またはパスワード</a>) Response.End() ifを終了します rs.close rs = Nothingを設定します ifを終了します sub isok(ユーザー名) DIM OLIP ''データベースの現在のログインユーザー名によって保存されたIP DIM OLTIME ''データベースの現在のログインユーザー名によってWebページが最後に保存されるのは、ユーザーがオンラインであるかどうかを計算するための重要なデータです。 dim olip1 ''現在のユーザーログインをIPに記録します。これは、同じユーザーのラベルであるかどうかを区別するために使用されます。 olip1 = request.servervariables(remote_addr) ''ログイン情報を送信したユーザーのIPを取得します ts = conn_tol8.execute(select * from onlylogin where olname = ''&username& '') ts.eofではない場合は、このユーザーが情報を記録したかどうかをデータベースに照会します oltime = ts(oltime) olip = ts(olip) Olip1 <> olip and datediff(s、oltime、now())<maxtime thenの場合 ''前の文は、ログインしたユーザーIPがデータベースで最後に記録されたユーザーIPではないかどうかを決定し、 ''ユーザーの最後のアクティビティ時間と現在の時間間隔は、指定された秒数を超えません。ユーザーが現在オンラインであることを確認してください。 respons.write <a href = javascript:history.go(-1)>このユーザーは現在オンラインで、他の場所からこのアカウントにログインすることはできません! </a> Response.End() それ以外 ''それ以外の場合、ログインが成功し、価値がセッションに支払われると判断されます セッション(lgname)= username セッション(lgpass)= userpass Response.redirect loginok.asp Response.End ifを終了します それ以外 ''データベースにログインユーザーレコードがない場合は、次のステートメントを実行します 薄暗いls ls = server.createObject(adodb.Recordset)を設定します ls.openselect * onlylogin、conn_tol8,2,2から ls.addnew ls(olname)= username LS(OLIP)= OLIP1 ls(oltime)= now() ls.update ls.close LS =何も設定しません ''ログインが成功し、セッションに支払われる解像度 セッション(lgname)= username セッション(lgpass)= userpass Response.redirect loginok.asp Response.End ifを終了します sub%>を終了します |
ログインして正常にログインした後、葉はloginok.aspにジャンプします
以下は引用されたコンテンツです。 <style type = text/css> <! - body {background-color:#ff9900;} - > </style> <%session(lgname)<> then%> あなたは正常にログインしました! ! !以下は、指定された時間にWebページを更新するためにWebページに忍び込んで、オンラインであるかどうかにかかわらずサーバーに報告するiframeです。 区別を容易にするために、フレームWebページの背景色として白を使用します <iframe border = 0 name = new_date MarginWidth = 0フレームペーシング= 0マージンハイト= 0 src = loginframe.asp frameborder = 0 noresize width = 100スクロール= no height = 30 vspale = 0> </iframe> <%else%> |
ログインしていません
以下は引用されたコンテンツです。 <%end if> |
次に何をすべきかはloginframe.aspです
以下は引用されたコンテンツです。 <! - #include file = loginconn.asp-> <%conn_tol8.execute(updatelylogin set oltime = ''&now()& '' olname = ''&session(lgname)& '')%> <html> <head> <Meta http-equiv = reffresh content = <%=(maxtime-5)%>; url => </head> </html> |
これまでのところ、プログラムは完了しており、このプログラムの鍵は、ユーザーがオンラインであるかどうかを判断することです。
共有:ASPバッチデータ入力の実装バッチエントリはデータベースで広く使用されており、バッチエントリには多くの方法があります。次に、実際のアプリケーションに基づいてどのように達成したかについてお話します。主な用途は、フォームコレクションの概念であり、コレクション内のすべてのデータをループを介して取得します。誰もが見るのが便利であることを考えると、私はそれを1つのページに統合しました。以下は特定のコードです