Dengan popularitas Internet, survei online seringkali dapat mencapai hasil yang lebih baik. Menempatkan papan survei pertanyaan yang menarik di situs pribadi Anda benar-benar dapat menambah banyak warna pada situs web Anda; dan melalui hasil survei, Anda dapat mengetahui lebih banyak dan lebih akurat tentang pendapat netizen di situs web Anda. Sebagai Webmaster, jika situs web Anda juga perlu melakukan survei tentang topik tertentu, dan Anda benci menggunakan papan survei yang disediakan oleh orang lain secara gratis (gratis sering kali ada harganya, seperti iklan!), maka saya sarankan Anda meluangkan waktu sepuluh menit untuk membaca artikel ini memperkenalkan penggunaan ASP untuk membuat papan survei. Anda hanya perlu menyalin kode dalam artikel ke mesin Anda, melakukan sedikit modifikasi, dan Anda akan segera memiliki papan survei pribadi Anda sendiri. Oke, bergembiralah dan lihat ke bawah.
Ada tiga file di papan survei ini: menampilkan pertanyaan survei (research.html), memproses pilihan pengguna (select.asp), dan melihat hasil survei (viewresult.asp). Ide desainnya adalah: ASP memperoleh informasi yang dikirim dari formulir, dan memodifikasi database yang mencatat jumlah suara dalam survei, kemudian ASP membaca database, memperoleh jumlah suara untuk setiap pertanyaan survei, dan menyesuaikan bilah yang sesuai tampilan grafik berdasarkan jumlah suara. Hasil survei disajikan secara intuitif dan proporsional. Saya telah memberikan komentar lebih rinci mengenai poin-poin penting dari program ini, dan saya tidak akan membahas pengetahuan dasar ASP di sini. Pembaca dapat memeriksanya di kolom Taoba ASP. Tentu saja saya berharap ketika Anda men-debug program di server Anda sendiri, jika Anda tidak memahami sesuatu, Anda harus memeriksa manual teknis ASP di sekitar Anda untuk melihat detail sintaks objek, metode atau fungsi, coba modifikasi, dan lihat bagaimana hasilnya berubah—— Ini adalah cara yang bagus untuk belajar pemrograman.
1. Menampilkan pertanyaan survei (research.html)
Desain pertanyaan survei harus didasarkan pada situasi aktual, baik praktis atau menarik, dan gaya yang ditampilkan pada halaman web bisa sederhana atau hidup pertanyaan di beranda penulis. Survei menarik tentang "Apa hal terpenting di abad ke-21?" Untuk mengilustrasikan masalahnya, kode untuk modifikasi estetika dihilangkan dalam kode berikut menggunakan tabel dan teknik lain untuk mempercantik tampilan pertanyaan survei. Untuk membuat Ti mengganti naganya? Pohon maple Lai Ta melambaikan hidungnya dan memanfaatkan Gui? Kasetnya kendur?
indeks penelitian.html:
< html >
<title>Ujian Dewan Survei</title>
<kepala>
< !-- start: Tentukan jendela baru-- >
<bahasa skrip=javascript>
< !--
var jendela baru = nol
fungsiOpenWindow(htmurl)
{
jika (!Jendela baru ||Jendela baru.ditutup)
{
jendela baru =
window.open(htmurl,"newwin","toolbar=no,resiza =no,scrollbars=no,width=400,height=280");
}kalau tidak
{
jendela baru.fokus();
}
}
//-- >
</ /skrip >
<!-- end: Tentukan jendela yang baru dibuka-->
</ / kepala >
<tubuh>
< !-- mulai: pertanyaan survei, opsi ->
< p >Menurut Anda, apa hal terpenting di abad ke-21? < /p >
< form method="POST" action="vote/select.asp" name="penelitian" LANGUAGE="javascript"
onSubmit="OpenWindow()" target="newwin" >
< p align="kiri" >
<br>
< input type="radio" value="1" name="Options" >Pengetahuan (pengetahuan adalah kekuatan)< br >
< input type="radio" value="2" name="Options" >Kualifikasi akademik (masyarakat akademis tidak ada habisnya)< br >
< input type="radio" value="3" name="Options" >Uang (ekonomi adalah basisnya)< br >
< input type="radio" value="4" name="Options" >Cinta (cinta yang tidak akan pernah masuk kubur)< br >
< input type="radio" value="5" name="Options" >Ideal (wah, apa itu ideal)< br >
< input type="radio" value="6" name="Options" >Kesadaran demokrasi (kepedulian terhadap politik)< br >
< input type="radio" value="7" name="Options" >Pemikiran Ilmiah (meremajakan negara melalui sains dan pendidikan)< br >
< input type="kirim" value="kirim" nama="pemungutan suara" >
< input type="button" value="Lihat" nama="melihat" onClick="OpenWindow(vote/viewresult.asp)" >
< /bentuk>
< !-- mulai: pertanyaan survei, opsi ->
< /tubuh >
< /html >
2. Memproses pemilihan pengguna (select.asp)
Berdasarkan opsi survei di atas, kami membuat desain database risetdb.mdb (mengambil Access sebagai contoh) yang mencatat suara survei. Jika database dan tabel Anda tidak disimpan dengan nama di atas, jangan lupa untuk memodifikasinya sesuai prosedur dan operasi selanjutnya.
Tabel riset yang menyimpan nomor suara survei:
nama field tipe data nilai default
id otomatis nomor 1
pilih1 nomor 0
pilih2 nomor 0
pilih3 nomor 0
pilih4 nomor 0
pilih5 nomor 0
pilih6 nomor 0
select7 number 0
Setelah membangun database, mari kita buat sumber data di server. Pertama, jalankan "ODBC" di "Control Panel", pilih "System DSN", tekan tombol "Add", pilih "Microsoft Access Driver", tekan tombol "Finish" setelah pemilihan, lalu klik "Data Source" di pengaturan ODBC. Masukkan nama database pada kotak input "Nama", dalam hal ini risetdb, lalu tekan tombol "Pilih" untuk memilih file database (Anda tidak akan mengatakan bahwa Anda lupa di mana database yang baru saja Anda rancang. ada), dan tekan "OK" setelah memilihnya. Anda dapat melihat database penelitian sumber data yang baru dibuat. Dengan cara ini, kita bisa menyebutnya di ASP.
select.asp:
< %
Pernyataan if di bawah ini untuk menentukan apakah pengguna telah membuat pilihan dengan memverifikasi apakah yang dipilih kosong.
if request.form("options") < >Kosongkan kemudian
% >
< %
Pernyataan if berikut membandingkan nilai dari dua koleksi (ServerVariables dan Cookies) Permintaan untuk mencegah pengguna terus-menerus menekan kirim dan memengaruhi hasil penyelidikan.
jika bukan Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") maka
Tulis informasi IP pelanggan yang berkunjung ke dalam Cookie
respon.cookies("IPAddress")=Permintaan.ServerVariables("REMOTE_ADDR")
%>
<%
Buat objek Koneksi dan buka database yang mencatat hasil survei.
setel koneksi=server.buat objek("ADODB.CONNECTION")
samb.buka "researchdb"
% >
< %
Tentukan variabel
redup
dimsql
redup dipilih
dipilih=permintaan.formulir("pilihan")
Buat objek Recordset, buka objek menggunakan metode Open, dan modifikasi data terkait pada saat yang bersamaan.
set rs=server.createobject("adodb.recordset")
Memodifikasi data pada tabel data penelitian, yaitu menambah jumlah suara yang bersangkutan sebanyak 1
sql="perbarui kumpulan penelitian pilih"&dipilih&"=pilih"&dipilih&"+1 di mana id=1"
rs.open sql,sambungan,3,3
Hapus objek koleksi rekaman dari memori
atur rs=tidak ada
koneksi dekat
samb.tutup
Hapus objek koneksi dari memori
setel samb=tidak ada
Hubungkan ke halaman untuk menelusuri hasil survei
respon.redirect "lihat hasil.asp"
kalau tidak
Response.write "Pengingat kegagalan pemungutan suara: Anda baru saja memilih, terima kasih atas dukungan Anda!"
berakhir jika
kalau tidak
Response.write "Permintaan kegagalan pemungutan suara: Anda lupa memilih!"
berakhir jika
% >
3. Telusuri hasil survei (viewresult.asp)
Pada contoh ini, diagram batang digunakan untuk menampilkan hasil survei secara visual. Caranya adalah dengan mengalikan nilai persentase jumlah suara untuk opsi dengan jumlah total suara dengan 5, dan nilai yang dihasilkan digunakan sebagai batang. Lebar tampilan bar.gif (Anda dapat menggunakan alat gambar umum untuk membuat diagram batang gradien kecil, atau mengunduhnya secara online). Untuk memberikan persentase suara dengan dua tempat desimal, fungsi pembulatan Round di VBScript digunakan dalam program. Demi keindahan, hasil survei ditampilkan dalam bentuk tabel seperti terlihat pada gambar. Desain tabel telah dihilangkan dari kode yang diberikan di bawah ini.
hasil tampilan.asp
<%
setel koneksi=server.buat objek("ADODB.CONNECTION")
samb.buka "researchdb"
%>
<%
redup
dimsql
redupkan pilih1
redupkan pilih2
redupkan pilih3
redupkan pilih4
redupkan pilihan5
redupkan pilih6
redupkan pilih7
total redup
set rs=server.createobject("adodb.recordset")
sql="pilih * dari penelitian di mana id=1"
rs.open sql,sambungan,1,1
total=rs("pilih1")+rs("pilih2")+rs("pilih3")+
_ rs("pilih4")+rs("pilih5")+rs("pilih6")+rs("pilih7")
Tentukan apakah jumlah total suara adalah 0 dan pastikan pembagian berikut ini valid
jika total > 0 maka
pilih1=(rs("pilih1")/total)*100
pilih2=(rs("pilih2")/total)*100
pilih3=(rs("pilih3")/total)*100
pilih4=(rs("pilih4")/total)*100
pilih5=(rs("pilih5")/total)*100
pilih6=(rs("pilih6")/total)*100
pilih7=(rs("pilih7")/total)*100
%>
< p >Terima kasih atas partisipasi Anda. Berikut adalah hasil survei terkini.
<p>
◇ Pengetahuan:
< img src=bar.gif lebar=< %=int(pilih1*5)% > tinggi=4 >
< %=rs("select1")% >Periode: < %=putaran(select1,2)% >%< br >
◇ Pendidikan:
< img src=bar.gif lebar=< %=int(pilih2*5)% > tinggi=4 >
< %=rs("select2")% >Periode: < %=putaran(select2,2)% >%< br >
◇ Uang:
< img src=bar.gif lebar=< %=int(pilih3)*5% > tinggi=4 >
< %=rs("select3")% >Periode: < %=putaran(select3,2)% >%< br >
◇ Cinta:
< img src=bar.gif lebar=< %=int(pilih4)*5% > tinggi=4 >
< %=rs("select4")% >Periode: < %=putaran(select4,2)% >%< br >
◇Ideal:
< img src=bar.gif lebar=< %=int(select5)*5% > tinggi=4 >
< %=rs("select5")% >Periode: < %=putaran(select5,2)% >%< br >
◇ Kesadaran demokratis:
< img src=bar.gif lebar=< %=int(pilih6)%*5 > tinggi=4 >
< %=rs("select6")% >Periode: < %=putaran(select6,2)% >%< br >
◇ Pemikiran Ilmiah:
< img src=bar.gif lebar=< %=int(select7)%*5 > tinggi=4 >
< %=rs("select7")% >Orang: < %=round(select7,2)% >%< /p >
< p align="center" >Sudah: < %=total% > orang berpartisipasi dalam survei < br >< br >
【< a href="javascript:window.close()" >Tutup jendela</a>】</p>
<p>
<%
kalau tidak
respon.tulis "Belum ada yang berpartisipasi dalam survei ini"
berakhir jika
rs.tutup
atur rs=tidak ada
samb.tutup
setel samb=tidak ada
%>
Catatan:
Kode di atas di-debug pada WindowsNT4.0 Cina (Paket 6)/IIS4.0.
ASP dapat dijalankan di salah satu lingkungan berikut:
1. Windows NT Server 4.0 / IIS3.0 atau lebih tinggi 2. Windows NT WorkStation 4.0 / Microsoft Peer Web Service 3.0 atau lebih tinggi 3. Windows 95/98 / Microsoft Personal Web Server 1.0a atau lebih tinggi