Direkomendasikan: Beberapa cara untuk memanggil prosedur tersimpan dengan parameter Beberapa cara panggilan ASP Prosedur tersimpan dengan parameter1 Ini juga metode termudah, dua parameter input, tidak ada nilai pengembalian: set koneksi = server.createObject (adodb.connection) koneksi. Buka semua objek Somedsn. Eksekusi Procname VarValue1, VarValue2 'Clear All Objects sebagai Tidak Ada, Free Up Resources
Ada dua cara untuk mengimplementasikan fungsi ini:
1. Aplikasi
Gunakan Objek Aplikasi: Jika Anda melakukan komunitas besar, Anda mungkin perlu menghasilkan aplikasi untuk setiap ID login. Meskipun desain program akan lebih sederhana, pengguna login terlalu banyak dan mengkonsumsi sumber daya server. Tidak pernah direkomendasikan di sini, karena objek aplikasi mudah dihasilkan ketika pengguna masuk, tetapi untuk mencapai kesadaran bahwa pengguna keluar dari sistem dan belum melihat metode yang lebih baik ~
Berikut ini adalah konten yang dikutip: <% ..... Dapatkan nama pengguna nama pengguna .... Jika aplikasi (nama pengguna) <> lalu Response.write Pengguna ini sudah masuk respons.end akhiri jika Aplikasi (nama pengguna) = nama pengguna '' menyimpan nama pengguna pengguna %> |
Tambahkan Sesi Acara Satuend ke File Global, Aplikasi (isUserLogin) = false saat offline
Selain itu, kita perlu mendeteksi apakah kawat ditangguhkan. Ada metode khusus, yang merupakan item di objek server
(Lihat: http://community.csdn.net/expert/faq/faq_index.asp?id=815)
2. Database ASP
Mungkin lebih rumit untuk dilakukan, tetapi cocok untuk sistem dengan sejumlah besar pengguna yang masuk.
Pertama, buat database untuk pengguna - gunakan akses untuk membuat OnlyTol8.mdb baru
Tabel Data 1: Pengguna menyimpan informasi pendaftaran pengguna
Atur tabel data di bawah ini: UID (penomoran otomatis) Nama pengguna (tipe karakter) userpass (tipe karakter)
Tabel Data 2: Hanya Login Menyimpan Pengguna Informasi Login Sementara
Tabel data berikut diatur: Olname (Jenis Karakter) Oltime (Tipe Tanggal) OLIP (Tipe Karakter)
Setelah database dibangun, tambahkan data secara manual ke tabel nama pengguna tabel pengguna dan tambahkan TOL8, tambahkan 111 ke tabel UserPass.
Mari kita lakukan antarmuka login pengguna di bawah ini dan salin kode berikut untuk menyimpannya ke file OnlyLogin.asp.
Berikut ini adalah konten yang dikutip: <Html> <head> <meta http-equiv = konten-tipe konten = teks/html; Charset = GB2312> <title> Forbid Login di berbagai wilayah dari akun yang sama pada saat yang sama </iteme> </head> <body> <Form Name = Metode Form1 = Posting Tindakan = LoginPost.asp> Nama pengguna: <input name = Username type = Text ID = Username size = 15 maxlength = 5> Kata Sandi: <Input Name = UserPass Type = Kata Sandi ID = UserPass Ukuran = 15 MaxLength = 15> <Input Tipe = Kirim Nama = Kirim Nilai = Login> </form> </body> </html> |
Setelah selesai, buat file Loginconn.asp baru dan salin kode berikut untuk disimpan untuk menghubungkan ke database.
Berikut ini adalah konten yang dikutip: <% DIM Conn_tol8 DIM Conn_T Redup mmdd mmdd = OnlyTol8.mdb Set Conn_tol8 = Server.CreateObject (AdodB.Connection) Conn_t = penyedia = microsoft.jet.oledb.4.0; Sumber data = & server.mappath (& mmdd &) pada kesalahan resume berikutnya Conn_tol8.open conn_t %> |
Berikut ini adalah file LoginPost.asp yang juga ada di direktori ini. Ini adalah kuncinya. Lihatlah kode berikut dengan cermat:
Berikut ini adalah konten yang dikutip: <!-#Sertakan file = loginconn.asp-> <% '' Hapus pengguna yang aktif dalam waktu maxTime, maxTime telah didefinisikan dalam file loginconn.asp Conn_tol8.execute (hapus dari hanya login di mana tanggal ('' s '', oltime, now ())> & maxTime &) '' ============================================================================================================================================================= Redup, ts, txt, sql, nama pengguna, userpass Jika request.Form (kirim) = Masuk kemudian username = request.form (username) '' Dapatkan nama login pengguna formulir userpass = request.form (userpass) '' Dapatkan kata sandi login pengguna formulir '' Karena kami tidak membahas masalah keamanan di sini, kata sandi pengguna tidak dienkripsi Set RS = Server.CreateObject (ADODB.Recordset) sql = pilih * dari pengguna di mana nama pengguna = '' & nama pengguna & '' dan userpass = '' & userpass & '' rs.open sql, conn_tol8,1,1 Jika tidak rs.eof maka Hubungi isok (nama pengguna) '' Nama pengguna dan kata sandi dipanggil dengan benar untuk proses tersebut, dan ISOK akan disesuaikan dalam program berikut. kalau tidak Response.write (<a href = javascript: history.go (-1)> nama pengguna atau kata sandi yang tidak diketahui </a>) Response.end () akhiri jika rs.close Setel RS = tidak ada akhiri jika Sub isok (nama pengguna) Redup olip '' IP yang disimpan oleh nama pengguna login saat ini di database Redup oltime '' Terakhir kali halaman web disimpan disimpan oleh nama pengguna login saat ini dalam database adalah data penting untuk menghitung apakah pengguna online. Dim olip1 '' Catat login pengguna saat ini ke IP, yang digunakan untuk membedakan apakah itu label pengguna yang sama. Olip1 = request.serverVariable (remote_addr) '' Dapatkan IP pengguna yang mengirimkan informasi login Setel ts = conn_tol8.execute (pilih * dari hanya login di mana olname = '' & username & '') Jika tidak ts.eof maka '' query database apakah pengguna ini telah masuk informasi Oltime = ts (oltime) Olip = ts (olip) Jika olip1 <> olip dan tanggal (s, oltime, sekarang ()) <maxTime maka '' Kalimat sebelumnya menentukan bahwa jika IP pengguna yang masuk bukan IP pengguna yang direkam terakhir dalam database dan '' Waktu aktivitas terakhir pengguna dan interval waktu saat ini tidak melebihi jumlah detik yang ditentukan. Konfirmasikan bahwa pengguna saat ini online. Response.write <a href = javascript: history.go (-1)> pengguna ini saat ini online, Anda tidak dapat masuk ke akun ini dari tempat lain! </a> Response.end () kalau tidak '' Jika tidak, akan ditentukan bahwa login akan berhasil dan nilainya akan dibayarkan ke sesi Sesi (lGname) = nama pengguna Sesi (lgpass) = userpass Response.redirect loginok.asp Respons.end akhiri jika kalau tidak '' Jika database tidak memiliki catatan pengguna login, jalankan pernyataan berikut Redup ls Set LS = Server.CreateObject (ADODB.Recordset) ls.openselect * dari hanya login, conn_tol8,2,2 ls.addnew ls (olname) = nama pengguna ls (olip) = olip1 ls (oltime) = sekarang () Ls.update ls Atur ls = tidak ada '' Resolusi bahwa login berhasil dan dibayar untuk sesi Sesi (lGname) = nama pengguna Sesi (lgpass) = userpass Response.redirect loginok.asp Respons.end akhiri jika Akhir Sub %> |
Setelah masuk dengan sukses, daun akan melompat ke loginok.asp
Berikut ini adalah konten yang dikutip: <Tipe Gaya = Teks/CSS> <!- body {latar belakang: #ff9900;} -> </tyle> < % Jika sesi (lGName) <> lalu %> Anda masuk dengan sukses! Lai Lai Di bawah ini adalah iframe yang menyelinap ke halaman web untuk menyegarkan halaman web pada waktu yang ditentukan untuk melaporkan ke server apakah Anda online atau tidak. Untuk memfasilitasi perbedaan, kami menggunakan putih sebagai warna latar belakang halaman web bingkai <iframe border = 0 name = new_date marginwidth = 0 framespacing = 0 marginheight = 0 src = loginframe.asp frameborder = 0 noresize width = 100 gulir = tidak ada tinggi = 30 vspale = 0> </iframe> < % else %> |
Anda tidak masuk
Berikut ini adalah konten yang dikutip: < % berakhir jika %> |
Yang harus dilakukan selanjutnya adalah loginframe.asp
Berikut ini adalah konten yang dikutip: <!-#Sertakan file = loginconn.asp-> < % Conn_tol8.execute (perbarui hanya set oltime = '' & sekarang () & '' di mana olname = '' & sesi (lGname) & '') %> %> <html> <head> <meta http-equiv = refresh content = <%= (maxTime-5)%>; url => </head> </html> |
Sejauh ini program selesai, dan kunci dari program ini adalah untuk menentukan apakah pengguna online.
Bagikan: Implementasi Entri Data Batch ASP Entri batch banyak digunakan dalam database, dan ada banyak metode untuk entri batch. Selanjutnya, saya akan berbicara tentang bagaimana saya mencapainya berdasarkan aplikasi saya yang sebenarnya. Penggunaan utama adalah konsep pengumpulan formulir, yang mengambil semua data dalam koleksi melalui loop. Mempertimbangkan bahwa lebih mudah bagi semua orang untuk melihat, saya mengintegrasikannya ke dalam satu halaman. Di bawah ini adalah kode spesifik