Dynamic Pages และการสร้าง Forms : Perl
 

Blog :: Perl :: Dynamic Pages และการสร้าง Forms

แท็กฟอร์มก็เป็นแท็กหนึ่งที่มีใน function ของ CGI module ซึ่งประกอบไปด้วยแท็กเปิดและปิด form โค้ดสำหรับสร้าง text fields และ แท็ก input อื่น ๆ รวมไปถึงโค้ดสำหรับสร้างปุ่มด้วย ซึ่งการเรียกใช้งานฟังก์ชันเหล่านี้ก็เหมือนกับการเรียกใช้งานฟังก์ชัน HTML ต่าง ๆ


ตัวย่างการสร้างฟอร์มโดยใช้ CGI Module

#!/usr/bin/perl -T

use strict;
use CGI qw/:standard/;

print header,
	start_html('Hello'),
	start_form, 
		"Enter your name: ", textfield('name'),
	submit,
	end_form,
	hr,
	end_html;

exit;

ผลลัพธ์ที่ได้จากการเรียกใช้ฟังก์ชันด้านบนคือ

เมื่อเราทำการ view source ในหน้าเว็บขึ้นมาจะเห็นผลลัพธ์ของ HTML page มีลักษณะดังนี้


<!DOCTYPE html
	PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<form method="post" action="/cgi-bin/tmp.cgi" enctype="multipart/form-data">
Enter your name: <input type="text" name="name"  /><input type="submit" name=".submit" /></form><hr />
</body>
</html>

ผู้อ่านจะเห็นว่าฟังก์ชัน start_form() จะทำการเพิ่มแท็ก form ขึ้นมาใน page และมันจะทำการกำหนด method อัตโนมัติให้เป็นแบบ POST และกำหนด action เป็นไฟล์ของมันเอง ในกรณีนี้เราสามารถเปลี่ยนแปลงพารามิเตอร์ทั้งสองตัวนี้ได้ภายในฟังก์ชัน start_form() ดังนี้

start_form(-method => 'GET', -action=>"/cgi-bin/somefile.cgi");

ในการเรียกใช้ฟังก์ชันนี้จะแสดงผลลัพธ์เป็น HTML ดังนี้

<form method="GET" action="/cgi-bin/somefile.cgi" enctype="application/x-www-form-urlencoded">

ในการตรวจสอบค่าพารามิเตอร์ของหน้าเพจไม่ว่าจะเป็นแบบ GET หรือ POST ก็ตาม เราสามารถตรวจสอบได้ว่ามีพารามิเตอร์ส่งมาหรือไม่โดยใช้ฟังก์ชัน param() ดังนี้


if (param()) {
	# ถ้ามีการส่งค่ามา
}

0 Comment

  • Have no comment.

Comment Blog

 
 
 
Share This Topic Login with Facebook