การรับค่าผ่าน form | ||
ข้อควรทราบ |
|
เขียน homepage แบบ form ส่งค่า |
Click here for open this form sample |
<form method=post action=/perl/plinput1.pl> <input type=text name=getit1> <input type=submit value=submit> <input type=reset value="clear it"> </form> |
โปรแกรม perl ที่เขียนไว้เพื่อรับ form ข้างบนนี้ คือ plinput1.pl ซึ่งเก็บไว้ใน /perl และถูกเขียนไว้ 4 บรรทัด ใน plinput1.pl ดังนี้ #!/usr/local/bin/perl $buffer = <STDIN>; print "Content-type: text/html\n\n"; print $buffer; |
ผลที่ได้จากการกดปุ่ม submit ข้างบนนี้ มีเพียง 1 บรรทัด คือ getit1=%CA%C7%D1%CA%B4%D5tom ถ้าท่านพิมพ์คำว่า สวัสดีtom ในช่องว่าง |
การรับภาษาไทยมาเป็นภาษาไทย |
Click here for open this form sample |
<form method=post action=/perl/plinput2.pl> <input type=text name=getit1><br> <input type=text name=getit2><br> <input type=submit value=submit> <input type=reset value="clear it"> </form> |
โปรแกรม perl ที่เขียนไว้เพื่อรับ form ข้างบนนี้ คือ plinput2.pl ซึ่งเก็บไว้ใน /perl และถูกเขียนไว้ 7 บรรทัด ใน plinput2.pl ดังนี้ #!/usr/local/bin/perl $buffer = <STDIN>; $buffer =~ tr/+/ /; $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $buffer =~ s/~!/~!/g; print "Content-type: text/html\n\n"; print $buffer; |
ผลที่ได้จากการกดปุ่ม submit ข้างบนนี้ มีเพียง 1 บรรทัด คือ getit1=หล่อ&getit2=สวย ถ้าท่านพิมพ์คำว่า หล่อ และสวย ในช่องว่าง |
การรับค่าหลายแบบ |
Click here for open this form sample |
<form method=post action=/perl/plinput2.pl> <input type=radio name=getit1 value=p1 checked>ผักกาด<br> <input type=radio name=getit1 value=p2>ผักคะน้า<br> <input type=radio name=getit1 value=p3>ผักทอดยอด<br> <input type=checkbox name=numpa>น้ำปลา<br> <input type=checkbox name=numtan checked>น้ำตาล<br> <input type=checkbox name=sult checked>เกลือ<br> <SELECT NAME=fac SIZE=3> <OPTION value=busi selected>คณะบริหารธุรกิจ <OPTION value=comm>คณะนิเทศศาสตร์ <OPTION value=arts>คณะศิลปศาสตร์ <OPTION value=engr>คณะวิศวกรรมศาสตร์ </SELECT><br> <SELECT NAME=maj> <OPTION value=bcom selected>สาขาคอมพิวเตอร์ <OPTION value=mgmt>สาขาการตลาด <OPTION value=acct>สาขาการบัญชี </SELECT><br> <textarea name=txt rows=3 cols=20>abc </textarea><br> <input type=submit value=submit> <input type=reset value="clear it"> </form> |
โปรแกรม perl ที่เขียนไว้เพื่อรับ form ข้างบนนี้ คือ plinput2.pl ซึ่งเก็บไว้ใน /perl และถูกเขียนไว้ 7 บรรทัด ใน plinput2.pl ดังนี้ #!/usr/local/bin/perl $buffer = <STDIN>; $buffer =~ tr/+/ /; $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg; $buffer =~ s/~!/~!/g; print "Content-type: text/html\n\n"; print $buffer;แต่จะใช้ plinput1.pl ก็ให้ผลเหมือนกันครับ เพราะตัวอย่างนี้ไม่ได้ใช้ภาษาไทย ยกเว้น textarea ถ้าท่านไม่ป้อนภาษาไทย ผลของ 2 โปรแกรมจะเหมือนกัน |
ผลที่ได้จากการกดปุ่ม submit ข้างบนนี้ มีเพียง 1 บรรทัด คือ getit1=p1&numtan=on&sult=on&fac=busi&maj=bcom&txt=abc ถ้าท่านไม่ได้แก้ไขค่าที่กำหนดมาตอนเริ่มต้น จะเห็นว่าตัวแปร numpa ไม่ถูกส่งไปเพราะเป็นแบบ checkbox แต่ไม่ถูกทำเครื่องหมายไว้ จึงไม่ถูกส่งค่ามาด้วย |
แบบฝึกหัด |
|
+ ผู้สนับสนุน + รับผู้สนับสนุน |