Jika situs web pribadi memiliki modul pendaftaran anggota + Forum Dongwang, tidak akan mudah untuk mengintegrasikan situs web dengan sistem Forum Dongwang untuk mencapai pembaruan informasi pengguna, login, dan operasi lain yang tersinkronisasi antara sistem Web yang berbeda meskipun Dongwang telah menyediakan Ada panduan terperinci untuk pengembang antarmuka API sistem Forum Dongwang, tetapi pemula seperti saya tidak dapat memahaminya untuk sementara waktu, maaf. Tidak mau menyerah, setelah beberapa penelitian dan pengujian pada login, verifikasi dan fungsi lainnya, saya akhirnya mencapai beberapa keberhasilan. Pemula juga memiliki metode pemula:
Versi forum untuk pengujian ini adalah Versi 7.1.0 Sp1, dan versi lainnya belum diuji.
1. Struktur file situs web
wwwroot
┝indeks.asp
┝ PeriksaUserLogin.asp
┕bbs/
2. Prinsip Integrasi
Tidak sulit untuk menerapkan pembaruan sinkron. Masalah utama dengan integrasi adalah login sinkron, jadi fokus kita adalah membahas cara mencapai login sinkron. Metode saya adalah mengintegrasikan tabel pengguna situs utama ke dalam tabel pengguna Dongwang Dv_User (untuk menghindari masalah memperbarui dua perpustakaan di masa mendatang). Anda dapat menambahkan bidang ke Dv_User sesuai kebutuhan, dan memodifikasi bbs/login.asp dan bbs/inc. Lakukan modifikasi yang sesuai pada /Dv_ClsMain.asp; saat login, kirim formulir ke bbs/login.asp untuk verifikasi; situs utama menentukan apakah login berhasil berdasarkan informasi yang dicatat dalam Sesi setelah berhasil login ke Dongwang, dan dapatkan informasi pengguna.
3. Tambahkan file baru yang dimodifikasi
1.index.asp kode:
<html>
<kepala>
<meta http-equiv=Jenis Konten konten=teks/html; charset=gb2312 />
<title>Integrasi situs web pribadi dan jaringan dinamis (www.mzwu.com)</title>
</kepala>
<tubuh>
<!--#include file=CheckUserLogin.asp -->
<%
Jika PeriksaUserLogin Lalu
Response.write(<a href=bbs/logout.asp?back=1>Keluar</a><p></p>)
Respon.tulis(nama pengguna: & Permintaan.Cookie(nama pengguna) & <br>)
Response.write(Jenis Kelamin: & Permintaan.Cookie(jenis kelamin) & <br>)
Response.write(Waktu Pendaftaran: & Permintaan.Cookies(tanggal bergabung) & <br>)
Response.write(login terakhir: & Permintaan.Cookies(login terakhir) & <br>)
Response.write(jumlah login: & Permintaan.Cookie(login pengguna) & <br>)
Response.write(jenis browser: & Permintaan.Cookies(browser) & <br>)
Response.write(versi browser: & Permintaan.Cookies(versi) & <br>)
Response.write(sistem operasi: & Request.Cookies(platform) & <br>)
Kalau tidak
%>
<form id=form1 name=form1 method=post action=bbs/login.asp?action=chk&back=1>
nama belakang:
<masukan nama=tipe nama pengguna=teks id=ukuran nama pengguna=10 />
<br />
kata sandi:
<nama masukan=jenis kata sandi=id kata sandi=ukuran kata sandi=10 />
<tipe input=kirim nama=Kirim nilai=Login/>
</bentuk>
<%
Berakhir jika
%>
<p></p><a href=bbs/>Masuk ke forum</a>
</tubuh>
</html>
2.Periksa kode UserLogin.asp:
<!--#Sertakan File=bbs/inc/Dv_ClsMain.asp-->
<%
Fungsi PeriksaUserLogin()
Redupkan Dvbbs, Sesi Pengguna
Const Versi Msxml=.3.0
Setel Dvbbs = Cls_Forum Baru
Setel UserSession=Server.CreateObject(msxml2.FreeThreadedDOMDocument& MsxmlVersion)
Jika UserSession.loadxml(Sesi(Dvbbs.CacheName & UserID)&) Kemudian
Jika UserSession.documentElement.selectSingleNode(userinfo/@userid).text<>0 Lalu
'Berhasil masuk ke forum
PeriksaUserLogin = Benar
'Berikut ini cara memperoleh beberapa informasi pengguna. Anda dapat menyimpannya di Cookies atau Session agar mudah digunakan:
'ID Pengguna: UserSession.documentElement.selectSingleNode(userinfo/@userid).teks
'Nama Pengguna: UserSession.documentElement.selectSingleNode(userinfo/@namapengguna).teks
'Ulang tahun: UserSession.documentElement.selectSingleNode(userinfo/@userbirthday).teks
'Email: UserSession.documentElement.selectSingleNode(userinfo/@useremail).teks
'Jenis Kelamin: UserSession.documentElement.selectSingleNode(userinfo/@usersex).text '0 perempuan, 1 laki-laki
'Waktu pendaftaran: UserSession.documentElement.selectSingleNode(userinfo/@joindate).text
'Login terakhir: UserSession.documentElement.selectSingleNode(userinfo/@lastlogin).teks
'Jumlah login: UserSession.documentElement.selectSingleNode(userinfo/@userlogins).text
'Uang: UserSession.documentElement.selectSingleNode(userinfo/@userwealth).teks
'Poin: UserSession.documentElement.selectSingleNode(userinfo/@userep).teks
'Pesona: UserSession.documentElement.selectSingleNode(userinfo/@usercp).teks
'IP masuk terakhir: UserSession.documentElement.selectSingleNode(userinfo/@userlastip).text
'Jenis peramban: UserSession.documentElement.selectSingleNode(agent/@browser).teks
'Versi peramban: UserSession.documentElement.selectSingleNode(agent/@version).text
'Sistem operasi: UserSession.documentElement.selectSingleNode(agent/@platform).teks
'Mengunjungi IP: UserSession.documentElement.selectSingleNode(agent/@ip).text
'Contoh aplikasi:
Response.Cookies(nama pengguna) = UserSession.documentElement.selectSingleNode(userinfo/@nama pengguna).teks
Response.Cookies(joindate) = UserSession.documentElement.selectSingleNode(userinfo/@joindate).teks
Jika UserSession.documentElement.selectSingleNode(userinfo/@usersex).text=0 Lalu
Response.Cookies(sex) = gadis cantik
Kalau tidak
Response.Cookies(sex) = keren abang
Berakhir jika
Response.Cookies(lastlogin) = UserSession.documentElement.selectSingleNode(userinfo/@lastlogin).teks
Response.Cookies(userlogins) = UserSession.documentElement.selectSingleNode(userinfo/@userlogins).teks
Response.Cookies(browser) = UserSession.documentElement.selectSingleNode(agent/@browser).teks
Response.Cookies(versi) = UserSession.documentElement.selectSingleNode(agent/@version).teks
Response.Cookies(platform) = UserSession.documentElement.selectSingleNode(agent/@platform).teks
Kalau tidak
'Telah mengunjungi forum tetapi belum login, status tamu
PeriksaUserLogin = Salah
Berakhir jika
Kalau tidak
'Belum mengunjungi forum
PeriksaUserLogin = Salah
Berakhir jika
Setel UserSession = tidak ada
Setel Dvbbs = tidak ada
Fungsi Akhir
%>
3. Bagian merah baru ditambahkan pada bbs/login.asp agar Anda tetap dapat kembali ke beranda setelah berhasil login ke beranda situs:
Redupkan nama comeurl
Jika instr(lcase(request(comeurl)),reg.asp)>0 atau instr(lcase(request(comeurl)),login.asp)>0 atau trim(request(comeurl))= Maka
namacomurl=
comeurl=index.asp
Kalau tidak
comeurl=permintaan(comeurl)
comeurlname=<li><a href=&request(comeurl)&>&request(comeurl)&</a></li>
Akhiri Jika
Jika permintaan(kembali)=1 Maka
Respon.Redirect(../index.asp)
Akhiri Jika
Redupkan TempStr
TempStr = templat.html(2)
'Jika Dvbbs.Forum_ChanSetting(0)=1 Dan Dvbbs.Forum_ChanSetting(10)=1 Dan Dvbbs.Forum_ChanSetting(12)=1 Maka
' TempStr = Ganti(TempStr,{$ray_logininfo},template.html(3))
'Kalau tidak
' TempStr = Ganti(TempStr,{$ray_logininfo},)
'Akhiri Jika
'------------------------------------------------ - ---------------
'Integrasi sistem
'------------------------------------------------ - ---------------
Jika DvApi_Enable Lalu
Respon.Tulis DvApi_SaveCookie
Respon. Siram
Akhiri Jika
'------------------------------------------------ - ---------------
TempStr = Ganti(TempStr,{$ray_logininfo},)
TempStr = Ganti(TempStr,{$comeurl},comeurl)
TempStr = Ganti(TempStr,{$comeurlinfo},namacomeurl)
TempStr = Ganti(TempStr,{$forumname},Dvbbs.Forum_Info(0))
Respon.Tulis TempStr
SuhuStr=
Fungsi Akhir
4. Bagian merah baru telah ditambahkan ke bbs/logout.asp sehingga Anda masih dapat kembali ke halaman beranda setelah mengklik logout di halaman beranda situs:
'------------------------------------------------ - ---------------
'Integrasi sistem
'------------------------------------------------ - ---------------
Redupkan DvApi_Obj,DvApi_SaveCookie,SysKey
Jika DvApi_Enable Lalu
Md5TUA = 1
SysKey = Md5(Dvbbs.Nama Anggota&DvApi_SysKey,16)
Md5TUA = 0
Setel DvApi_Obj = DvApi Baru
DvApi_SaveCookie = DvApi_Obj.SetCookie(SysKey,Dvbbs.MemberName,,)
Setel DvApi_Obj = Tidak Ada
Respon.Tulis DvApi_SaveCookie
Respon. Siram
Akhiri Jika
Jika permintaan(kembali)=1 Maka
Respon.Redirect(../index.asp)
Akhiri Jika
'------------------------------------------------ - ---------------
'Respon.Redirect Dvbbs.Forum_Info(11)
respon.tulis<script bahasa=JavaScript>
respon.writesetTimeout(window.location='&Dvbbs.Forum_Info(11)&',1000);
respon.tulis</script>
4. Pengaturan Dongwang: Hapus kode verifikasi login, OK, integrasi selesai.
5. Ekstensi:
Bidang dalam tabel Dv_User default terkadang tidak dapat memenuhi kebutuhan kita yang sebenarnya. Kita perlu menambahkan bidang baru untuk memperluasnya.
1. Buka tabel Dv_User dan tambahkan kolom tipe teks info_1
2. Dalam fungsi ChkUserLogin bbs/login.asp
Sql=Pilih UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin,lastlogin sebagai waktu kedatangan, LastLogin sebagai waktu aktif, UserLogins, Lockuser, Userclass, UserGroupID, UserGroup, userWealth, userEP, userCP, UserPower, UserBirthday, UserLastIP, UserDel, UserIsBest, Use rHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid sebagai papan
Ubah menjadi:
Sql=Pilih UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin,lastlogin sebagai waktu kedatangan, LastLogin sebagai waktu aktif, UserLogins, Lockuser, Userclass, UserGroupID, UserGroup, userWealth, userEP, userCP, UserPower, UserBirthday, UserLastIP, UserDel, UserIsBest, Use rHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid sebagai boardid,info_1
3. Dalam fungsi TrueCheckUserLogin bbs/inc/Dv_ClsMain.asp
Sql=Pilih UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin sebagai waktu kedatangan,LastLogin,LastLogin sebagai waktu aktif, UserLogins, Lockuser, Userclass, UserGroupID, UserGroup, userWealth, userEP, userCP, UserPower, UserBirthday, UserLastIP, UserDel, UserIsBest, Use rHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid sebagai papan
Ubah menjadi:
Sql=Pilih UserID,UserName,UserPassword,UserEmail,UserPost,UserTopic,UserSex,UserFace,UserWidth,UserHeight,JoinDate,LastLogin sebagai waktu kedatangan,LastLogin,LastLogin sebagai waktu aktif, UserLogins, Lockuser, Userclass, UserGroupID, UserGroup, userWealth, userEP, userCP, UserPower, UserBirthday, UserLastIP, UserDel, UserIsBest, Use rHidden,UserMsg,IsChallenge,UserMobile,TitlePic,UserTitle,TruePassWord,UserToday,UserMoney,UserTicket,FollowMsgID,Vip_StarTime,Vip_EndTime,userid sebagai boardid,info_1
4.PeriksaLoginPengguna.asp
Response.Cookies(platform) = UserSession.documentElement.selectSingleNode(agent/@platform).teks
ditambahkan setelahnya
Response.Cookies(info_1) = UserSession.documentElement.selectSingleNode(userinfo/@info_1).teks
5.indeks.asp
Response.write(sistem operasi: & Request.Cookies(platform) & <br>)
ditambahkan setelahnya
Respon.tulis(baru: & Permintaan.Cookie(info_1) & <br>)
6.OK, berhasil diselesaikan