Hal terpenting untuk mempelajari ASP adalah menguasai enam objek bawaan ASP. Jika Anda belum pernah mempelajarinya sebelumnya, Anda cukup pintar untuk mengabaikan konsep-konsep ini dan hanya tahu cara menggunakannya bahwa kunci mempelajari ASP di awal adalah dengan menyalinnya. Yang terpenting adalah menguasai enam objek bawaan ASP. Sebenarnya pada kuliah sebelumnya kita telah mempelajari tentang objek Response dan metode Write, metode Redirect, dan properti Expires yang paling umum digunakan pada objek Respon. Ketika Anda melihat konsep objek, metode, properti, koleksi, dan peristiwa (saya tidak tahu satu pun!), Jika Anda belum pernah mengenalnya sebelumnya, Anda pintar dan tidak peduli dengan konsep-konsep ini. Ketahui saja cara menggunakannya. Menurut saya, ini baru permulaan. Mari kita lanjutkan mempelajari objek Request melalui contoh. Untuk memperdalam pemahaman kita, silahkan jalankan program ini untuk melihat hasil outputnya.
1. Gunakan Request.ServerVariables untuk mendapatkan variabel lingkungan. Bagian ini sangat sederhana, tetapi konten yang diperoleh sangat penting. Silakan lihat contoh berikut:
Copy kode kodenya sebagai berikut:
<%@ Bahasa=VBScript %>
<HTML><BODI>
<% 'wuf8.asp
Response.Write Path untuk menjalankan file ASP: &_
Permintaan.Variabel Server(Nama_Script) & <Br>
Response.Write mengembalikan panjang data konten: &_
Permintaan.Variabel Server(Panjang_Konten) & <Br>
Response.Write mengembalikan alamat IP klien: &_
Permintaan.Variabel Server(Remote_Addr) & <Br>
Respon.Tulis nama browser: &_
Permintaan.Variabel Server(HTTP_USER_AGENT) & <Br>
Response.Write mengembalikan jalur fisik sebenarnya ke halaman beranda: &_
Permintaan.ServerVariables(APPL_PHYSICAL_PATH) & <Br>
%>
<tabel colspan=8 cellpadding=5 batas=0>
<tr>
<td align=CENTER bgcolor=#800000 lebar=109> <font style=ARIAL NARROW color=#ffffff size=2>Nama variabel lingkungan</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Isi</font></td>
</tr>
<tr>
<td bgcolor=f7efde align=CENTER> <gaya font=UKURAN SEMPIT ARIAL=2>
hasil1
</font></td>
<td bgcolor=f7efde align=CENTER> <gaya font=UKURAN SEMPIT ARIAL=2>
hasil2
</font></td></tr>
</tabel>
</BODI></HTML>
Sekarang, Anda akan mengetahui betapa mudahnya rutinitas wuf2.asp pada kuliah sebelumnya!
Catatan: Markup HTML di bagian akhir program ini murni sebagai persiapan untuk contoh berikut, jadi jangan kaget. Jadi, variabel lingkungan apa lagi yang ada? Anda akan mengetahuinya dengan menjalankan contoh berikut (program ini telah menghapus beberapa kode, yang terbaik adalah mengunduh program sumber dari situs saya untuk memudahkan pemahaman).
Copy kode kodenya sebagai berikut:
<%@ Bahasa=VBScript %>
<% 'wuf9.asp
Opsi Eksplisit
Redupkan Sv
%>
<HTML><BODI>
<tabel colspan=8 cellpadding=5 batas=0>
<tr>
<td align=CENTER bgcolor=#800000 lebar=109> <font style=ARIAL NARROW color=#ffffff size=2>Nama variabel lingkungan</font></td>
<td align=CENTER width=459 bgcolor=#800000> <font style=ARIAL NARROW color=#ffffff size=2>Hasil</font></td>
</tr>
<%
untuk setiap Sv Dalam Permintaan.Variabel Server
Respon.Tulis<tr>
Respon.Tulis <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Tanggapan.Tulis Sv
Respon.Tulis </font></td>
Respon.Tulis <td bgcolor='f7efde' align=CENTER> <font style='ARIAL NARROW' size='2'>
Respons.Permintaan Tulis.Variabel Server(Sv)
Respon.Tulis </font></td></tr>
Berikutnya
%>
</tabel>
</BODI></HTML>
Perulangan For...Each digunakan di sini untuk mencantumkan semua elemen dalam koleksi. Jika Anda belum memahami bagian kedua, silakan bandingkan wuf8.asp, lihat hasil yang berjalan, dan pahami baik-baik (bagaimana sikap Anda?).
2. Mengirimkan data ke server melalui form (ini juga bisa dipahami sebagai bagaimana server membaca data yang dikirim oleh klien)
Jika Anda pernah mengerjakan halaman beranda, Anda harus tahu bahwa banyak halaman beranda biasanya menggunakan formulir Formulir untuk memungkinkan pengguna memasukkan data, dan kemudian mengirimkan data tersebut melalui tombol kirim. Ada dua metode utama dalam formulir Dari: POST dan GET. Setelah tindakan, file .cgi, .pl atau .asp biasanya ditentukan. Apa yang akan kita pelajari hari ini adalah cara menulis file .asp ini.
(1) Jika Anda menggunakan metode POST untuk mengirimkan data, gunakan Request.Form untuk membaca data.
Edit terlebih dahulu file wuf10.htm berikut agar pengguna dapat memasukkan data:
Copy kode kodenya sebagai berikut:
<html>
<tubuh bgcolor=#FFFFFF>
<metode formulir=tindakan posting=wuf11.asp>
Nama: <tipe masukan=nama teks=namaAnda><br>
Jenis Kelamin: <pilih nama=gender>
<option>Laki-laki</option>
<option>Wanita</option>
</pilih> <br>
Pesan: <textarea name=message>Halo!
Perhatikan pengolahan teks multibaris</textarea> <br>
Hobi (tahan tombol Ctrl untuk memilih beberapa):
<pilih nama=hobi berbagai ukuran=4>
<option>Komputer</option>
<option>Belanja</option>
<option>Film</option>
<option>Membaca</option>
</pilih> <br>
<tipe input=nama kirim=Kirim nilai=Kirim>
<tipe input=reset nama=Kirim2 nilai=Reset>
</bentuk>
</tubuh>
</html>
Kemudian tulis file wuf11.asp yang perlu digunakan wuf10.htm untuk mengumpulkan data:
Copy kode kodenya sebagai berikut:
<%@ Bahasa=VBScript %>
<% 'wuf11.asp
Opsi Eksplisit
Respon. Kedaluwarsa = 0
Redupkan StrName, StrGender, StrM, StrMsg
StrName = Trim(Request.Form(namaanda)) 'Fungsi Trim digunakan untuk menghilangkan spasi di depan dan di belakang
StrGender = Pangkas(Permintaan.Formulir(gender))
StrM = Trim(Permintaan.Formulir(pesan))
StrMsg = Ganti(StrM,vbcrlf,<Br> & vbcrlf)
' vbcrlf setara dengan kombinasi carriage return dan line feed. Sedangkan untuk fungsi Ganti, fungsinya untuk mengganti vbcrlf pada string StrM dengan <Br> & vbcrlf (mohon pikirkan penggunaan vbcrlf ini? Anda akan memahaminya dengan melihat kode sumber HTML dari file keluaran). ke bantuan VBScript untuk detailnya.
%>
<HTML><BODI>
Nama: <%= StrName%><Br><Br>
Jenis Kelamin: <%= StrGender%><Br><Br>
Pesan: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
Faktanya, nilai tombol kirim juga diteruskan: <Br>
<%= Permintaan.Formulir(Kirim)%><Br><Br>
<% 'Pertama pahami hal di atas, lalu lihat cara membaca beberapa opsi jika Anda tertarik
Response.Write Jumlah total hobi yang dipilih: & Request.Form(hobby).Count & <Br>
Redupkan aku
Untuk I = 1 sampai Request.Form(hobi).Count
Respon.Permintaan Tulis.Bentuk(hobi)(I) & <Br>
Berikutnya
%>
</BODI></HTML>
Dalam contoh ini, untuk memudahkan pemahaman, kami menggunakan dua program. Bahkan, Anda juga dapat menggunakan satu program saja. Jika Anda tertarik, silakan lihat rutinitas wuf12.asp berikut, yang akan membantu memperdalam pemahaman Anda tentang variabel lingkungan.
Copy kode kodenya sebagai berikut:
<%@ Bahasa=VBScript %>
<% 'wuf12.asp
Opsi Eksplisit
Respon. Kedaluwarsa = 0
Redupkan StrName, StrGender, StrM, StrMsg
Jika Permintaan.ServerVariables(Content_Length) <> 0 Lalu
'Setelah mengirimkan data, panjangnya tidak akan menjadi 0, jadi jalankan pernyataan berikut untuk menampilkan hasilnya
'Bagian berikut sebenarnya disalin dari wuf11.asp
StrName = Trim(Permintaan.Formulir(nama Anda))
StrGender = Pangkas(Permintaan.Formulir(gender))
StrM = Trim(Permintaan.Formulir(pesan))
StrMsg = Ganti(StrM,vbcrlf,<Br> & vbcrlf)
%>
<HTML><BODI>
Nama: <%= StrName%><Br><Br>
Jenis Kelamin: <%= StrGender%><Br><Br>
Pesan: <Br><Br>
<%= StrM%><Br><Br>
<%= StrMsg%><Br><Br>
<%
Response.Write Jumlah total hobi yang dipilih: & Request.Form(hobby).Count & <Br>
Redupkan aku
Untuk I = 1 sampai Request.Form(hobi).Count
Respon.Permintaan Tulis.Bentuk(hobi)(I) & <Br>
Berikutnya
%>
</BODI></HTML>
<%
Kalau tidak
'Saat halaman dimuat untuk pertama kali, tidak ada data yang dikirimkan, sehingga bagian sebelumnya tidak dijalankan, tetapi dimulai dari sini.
'Inilah sebabnya ada dua pasang <HTML></HTML>
'Cukup salin wuf10.htm di bawah ini.
'<form method=post action=wuf11.asp> telah diganti dengan variabel lingkungan, tetapi persis sama
Response.Write untuk melihat hasilnya: & Request.ServerVariables(Script_name) & <Br>
%>
<HTML><BODI>
<metode formulir=tindakan posting=<%= Permintaan.Variabel Server(Nama_Script)%>>
Nama: <tipe masukan=nama teks=namaAnda><br>
Jenis Kelamin: <pilih nama=gender>
<option>Laki-laki</option>
<option>Wanita</option>
</pilih> <br>
Pesan: <textarea name=message>Halo!
Perhatikan pengolahan teks multibaris</textarea> <br>
Hobi (tahan tombol Ctrl untuk memilih beberapa):
<pilih nama=hobi berbagai ukuran=4>
<option>Komputer</option>
<option>Belanja</option>
<option>Film</option>
<option>Membaca</option>
</pilih> <br>
<tipe input=nama kirim=Kirim nilai=Kirim>
<tipe input=reset nama=Kirim2 nilai=Reset>
</bentuk>
</BODI></HTML>
<%Berakhir Jika%>
(2) Jika Anda menggunakan metode GET untuk mengirimkan data, gunakan Request.Querystring untuk membaca data.
Edit terlebih dahulu file wuf13.htm berikut agar pengguna dapat memasukkan data:
<html>
<tubuh bgcolor=#FFFFFF>
<metode formulir=dapatkan tindakan=wuf14.asp>
Nama Inggris: <tipe input=nama teks=Ename> <br>
Nama Cina: <tipe input=nama teks=Cname><br>
Jenis Kelamin: <pilih nama=gender>
<option>Laki-laki</option>
<option>Wanita</option>
</pilih> <br>
<tipe input=nama kirim=Kirim nilai=Kirim>
<tipe input=reset nama=Kirim2 nilai=Reset>
</bentuk>
</tubuh>
</html>
Kemudian tulis file wuf14.asp yang perlu digunakan wuf13.htm untuk mengumpulkan data:
<%@ Bahasa=VBScript %>
<% 'wuf14.asp
Opsi Eksplisit
Respon. Kedaluwarsa = 0
Redupkan StrCname, StrEname, StrGender
StrEname = Trim(Request.QueryString(Ename)) 'Fungsi Trim digunakan untuk menghilangkan spasi di depan dan di belakang
StrCname = Pangkas(Permintaan.QueryString(Cname))
StrGender = Pangkas(Permintaan.QueryString(gender))
%>
<HTML><BODI>
Nama Inggris: <%= StrEname%><Br><Br>
Nama Cina: <%= StrCname%><Br><Br>
Jenis Kelamin: <%= StrGender%><Br><Br>
Lihatlah string yang dikirimkan: <Br>
<%= Permintaan.Variabel Server(Query_String)%>
</BODI></HTML>
Untuk lebih memahami program ini, sebaiknya Anda mencoba efek rutinitas wuf13.htm di browser terlebih dahulu, dan lihat hasil keluarannya. Anda akan menemukan bahwa string panjang di bilah alamat tampak familier, sama seperti sebelumnya mencari di Yahoo Dilihat hampir sama. Saat ini, Anda mencoba memasukkan http://localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女 langsung di bilah alamat, dan Anda mendapatkan hasil yang sama. Jadi bisa dilihat seperti ini, hasil dari wuf13.htm adalah mendapatkan link dengan parameter seperti ini. Request.QueryString membaca setiap data dari parameter tambahan alamat http://.
Faktanya, ketika tombol kirim ditekan, string kueri (data masukan) akan ditambahkan ke alamat URL dalam bentuk parameter (setiap parameter dipisahkan oleh &) untuk mencapai tujuan transfer data. Pada saat yang sama, harap dicatat bahwa tidak ada bahasa Mandarin dalam string kueri yang ditampilkan di browser, tetapi karakter kacau yang tidak dapat dikenali berisi tanda persen. Ini karena karakter tersebut dikodekan. Terakhir, seperti sebelumnya, kedua program ini juga bisa digabung menjadi satu program (rutin wuf15.asp, Anda perlu mendownloadnya dari situs saya).
Beberapa catatan :
1. Jika Anda menggunakan metode POST untuk mengirimkan data, Request.ServerVariables(Content_Length)>0.
Jika Anda menggunakan metode GET untuk mengirimkan data, Request.ServerVariables(Query_String) <>.
2. Setelah memahami prinsipnya, Anda dapat menggabungkan Request.Form dan Request.QueryString dalam file ASP yang sama.
3. Jika ada beberapa tombol dalam suatu Formulir, bagaimana cara menentukan tombol mana yang ditekan pengguna? Jika Anda perhatikan, Anda akan menemukan ada kalimat di rutinitas wuf11.asp yang juga mengirimkan nilai tombol kirim, dan nilai serupa dapat ditemukan di string kueri yang dihasilkan di wuf13.htm. Harap diperhatikan: Hanya nilai tombol yang ditekan yang dikirimkan, dan nilai tombol lainnya yang dikirimkan. Ini adalah dasar penilaian (situs web InfoWeb Perencanaan China memiliki artikel serupa).