Seri Kuliah ASP (15) Menggunakan Formulir HTML
Penulis:Eve Cole
Waktu Pembaruan:2009-05-30 19:58:48
Dengan menggunakan objek Permintaan ASP, Anda dapat membuat skrip sederhana namun kuat untuk mengumpulkan dan memproses data tabel HTML. Dalam topik ini, Anda tidak hanya akan mempelajari cara membuat skrip pemrosesan tabel dasar, namun Anda juga akan memperoleh beberapa teknik berguna untuk memvalidasi informasi tabel di server Web dan browser pengguna.
Tentang tabel HTML
Tabel HTML, metode paling umum untuk mengumpulkan informasi Web, adalah pengaturan khusus tag HTML yang menyediakan kontrol antarmuka pengguna pada halaman Web. Kotak teks, tombol, dan kotak centang adalah kontrol umum yang memungkinkan pengguna berinteraksi dengan halaman Web dan mengirimkan informasi ke server Web.
Contoh HTML berikut menghasilkan formulir di mana pengguna dapat memasukkan nama, usia, dan berisi tombol yang mengirimkan informasi ini ke server Web. Formulir juga berisi kontrol implisit (tidak ditampilkan oleh browser Web) yang dapat digunakan untuk meneruskan informasi tambahan ke browser Web.
<METODE BENTUK="POST" ACTION="myfile.asp">
<INPUT TYPE="teks" NAMA="nama depan">
<INPUT TYPE="teks" NAMA="nama belakang">
<INPUT TYPE="teks" NAMA="umur">
<INPUT TYPE="tersembunyi" NAME="status pengguna" VALUE= "baru">
<INPUT TYPE="kirim" NILAI="Masukkan">
</BENTUK>
Formulir yang menangani input ASP Ketika formulir mengirimkan informasi ke server Web, browser Web pengguna meminta file .asp yang ditentukan dengan atribut ACTION dari tag HTML <FORM> (dalam contoh sebelumnya, file tersebut disebut Myfile.asp ) . File .asp berisi skrip yang memanipulasi nilai tabel, seperti menampilkan tabel hasil atau menanyakan informasi dari database.
Ada tiga cara untuk mengumpulkan nilai dari tabel HTML menggunakan file .asp
File .htm statis dapat berisi tabel yang nilainya dikirim ke file .asp.
File .asp dapat membuat formulir yang mengirimkan informasinya ke file .asp lain.
File .asp dapat membuat formulir yang mengirimkan informasinya ke dirinya sendiri, file yang berisi formulir tersebut.
Dua metode pertama beroperasi dengan cara yang sama, dan ketika formulir berinteraksi dengan program gateway, selain ASP, dapat menyertakan perintah untuk membaca dan merespons pilihan pengguna.
Membuat file .asp yang berisi definisi tabel dan mengirimkan informasi ke file itu sendiri adalah cara yang lebih kompleks namun ampuh untuk bekerja dengan tabel. Proses ini ditunjukkan dalam Memvalidasi Input Formulir.
Dapatkan masukan formulir
Objek Permintaan ASP menyediakan dua koleksi yang sangat menyederhanakan tugas mengambil informasi formulir yang dilampirkan pada permintaan URL.
Koleksi QueryString
Koleksi QueryString mendapatkan nilai yang diteruskan ke server Web sebagai teks yang mengikuti tanda tanya di URL yang diminta. Nilai tabel dapat ditambahkan ke URL yang diminta dengan menggunakan metode HTTP GET atau menambahkan nilai tabel ke URL secara manual.
Misalnya, jika contoh tabel sebelumnya menggunakan metode GET (ACTION = "GET") dan pengguna mengetik Jeff, Smith, dan 30, permintaan URL berikut akan dikirim ke server:
http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=new
Myfile.asp berisi skrip pemrosesan tabel berikut:
Halo, <%= Request.QueryString("nama depan") %> <%= Request.QueryString("nama belakang") %>.
Anda berusia <%= Request.QueryString("age") %> tahun.
<%
Jika Request.QueryString("userstatus") = "pengguna baru" maka
Tanggapan.Tulis"Ini adalah kunjungan pertama Anda ke situs Web ini!"
Berakhir jika
%>
Dalam hal ini, server web akan mengembalikan teks berikut ke browser web pengguna:
Halo, Jeff Smith. Anda berusia 30 tahun. Ini adalah kunjungan pertama Anda ke situs Web ini!
Koleksi QueryString memiliki parameter opsional yang dapat digunakan untuk mengakses salah satu dari beberapa nilai yang muncul di isi permintaan. Anda juga dapat menggunakan properti Count untuk menghitung jumlah kemunculan tipe nilai tertentu.
Misalnya, formulir yang berisi kotak daftar multi-item bisa mengirimkan permintaan berikut:
http://list.asp?food=apples&food=olives&food=bread
Anda juga dapat menggunakan perintah berikut untuk menghitung beberapa nilai:
Permintaan.QueryString("makanan").Hitungan
Jika Anda ingin menampilkan beberapa tipe nilai, List.asp harus berisi skrip berikut;
<%Total = Permintaan.QueryString("makanan").Hitung%>
<%Untuk i = 1 hingga Total%>
<%= Permintaan.QueryString("makanan")(i) %> <BR>
<%Berikutnya%>
Script di atas akan menampilkan:
apel
zaitun
roti
Pengumpulan formulir Saat menggunakan metode HTTP GET untuk meneruskan nilai formulir yang panjang dan kompleks ke server Web, informasi mungkin hilang. Sebagian besar server Web cenderung mengontrol dengan ketat panjang string kueri URL sehingga nilai tabel panjang yang diteruskan menggunakan metode GET akan terpotong. Jika Anda perlu mengirim informasi dalam jumlah besar dari formulir ke server Web, Anda harus menggunakan metode HTTP POST. Metode ini digunakan untuk mengirim data tabel di badan permintaan HTTP, dan jumlah karakter yang dikirim tidak terbatas. Anda juga dapat menggunakan kumpulan Formulir objek Permintaan ASP untuk mengambil nilai yang dikirim menggunakan metode POST.
Koleksi Formulir menyimpan nilai numerik dengan cara yang sama seperti koleksi QueryString. Misalnya, jika pengguna mengisi tabel dengan daftar nama yang panjang, Anda bisa mengambil nama tersebut dengan skrip berikut:
<% Untuk i = 1 hingga Request.Form.Count %>
<% =Permintaan.Form("nama")(i) %>
<% Berikutnya %>
Memvalidasi input formulir Skrip pemrosesan formulir yang baik harus memverifikasi bahwa informasi yang dimasukkan ke dalam formulir valid sebelum memproses data. Skrip validasi dapat memverifikasi bahwa jenis informasi yang dimasukkan pengguna ke dalam formulir sudah benar. Misalnya, jika situs Web Anda berisi formulir yang memungkinkan pengguna menghitung informasi keuangan, sebelum memproses hasilnya, Anda perlu memverifikasi bahwa pengguna benar-benar memasukkan informasi numerik dan bukan teks.
Cara yang sangat mudah untuk memvalidasi masukan formulir adalah dengan membuat formulir yang meneruskan informasi ke formulir itu sendiri. Dalam hal ini, file .asp berisi tabel dari mana informasi dapat diperoleh. Misalnya, skrip berikut memverifikasi bahwa pengguna memasukkan nilai di bidang tabel "usia" dengan meneruskan informasi ke dirinya sendiri:
<% Jika Isnumerik(Request.QueryString("Umur")) maka %>
<p>Halo, usia Anda <%=Request.QueryString("age")%>
<%Lain%>
<p>Silakan masukkan usia numerik.
<%Berakhir Jika %>
<METODE BENTUK= "POST" ACTION="verify.asp" >
Nama: <INPUT TYPE="teks" NAMA="Nama" >
Usia: <INPUT TYPE="text" NAME="Umur" >
<INPUT TYPE="kirim" NILAI="Masukkan">
</BENTUK>
Dalam contoh ini, skrip juga berada dalam file Verify.asp yang sama yang berisi tabel. Formulir meneruskan informasi ke dirinya sendiri dengan menentukan Verify.asp di atribut ACTION.
Anda juga dapat membuat skrip sisi klien untuk memverifikasi bahwa pengguna telah memasukkan informasi yang valid. Memvalidasi input pengguna di browser Web dapat mengurangi lalu lintas jaringan ke server Web, selain menyebabkan kesalahan entri formulir kepada pengguna dengan lebih cepat. Skrip berikut berjalan pada browser Web pengguna dan memverifikasi informasi pengguna sebelum mengirimkannya ke server Web.
<BAHASA SKRIP="VBScript">
<!--
Sub btnEnter_OnClick
Redupkan Formulir
Atur TheForm = Document.MyForm
Jika IsNumeric(TheForm.Age.Value) Lalu
Formulir.kirim
Kalau tidak
Msgbox "Silakan masukkan angka usia."
Berakhir jika
Akhiri Sub
//-->
</SKRIP>
<METODE BENTUK= "NAMA POSTING"= MyForm ACTION="myfile.asp" >
Nama: <INPUT TYPE="teks" NAMA="Nama" >
Usia: <INPUT TYPE="text" NAME="Umur" >
<INPUT TYPE="tombol" NAMA="btnEnter" VALUE="Enter">
</BENTUK>