胶片 7: 通过环境变量向 CGI 程序传送数据
|
|
- 环境变量 QUERY_STRING 和 PATH_INFO 用于向 CGI 程序传送数据 - 有几种不同的实现方式.
- 用一个普通的 HTML 链传送数据:
- URL中第一个问号后面的所有内容被放在 QUERY_STRING 变量中:
- <a href="http://www.some.box/sign.pl?passed-argument">
Click here to run the program. </a>
- QUERY_STRING 变量的值是 "passed-argument".
- 在路径名中可执行部分以后的内容被放在 PATH_INFO 变量中:
- <a href="http://www.some.box/walk.pl/direction=north/speed=slow">
Start the program. </a>
- PATH_INFO 变量的值为 "direction=north/speed=slow".
- 有些搜索引擎(search engine)要求使用这种机制传送检索关键字, 例如
WAIS.
胶片 8: 通过环境变量传递数据的另一种方法
- 在 form 中使用 "get" 方式传送数据时, 用户键入的所有数据放在
QUERY_STRING 变量中:
- <form method=get action="http://www.some.box/name.pl">
- Type your first name <input name="First Name"><br>
- Type your last name <input name="Last Name"><br>
- <input type=submit value="submit">
- </form>
- 如果用户键入 "Winona" 和 "Ryder" 作为值, 环境变量
QUERY_STRING 将具有编码格式的值: "First+Name=Winona&Last+Name=Ryder".
- 下面的 Perl 程序将在 web 客户窗口中显示上文中的字符串 ( 不含常规的
html 标记):
- #!/usr/local/bin/perl
- print "Content-type: text/html\n\n";
- print "You typed \"$ENV{QUERY_STRING}\" in the input
boxes\n";
- 建议避免使用"Get" 方式, 因为太长的输入将丢失数据!
Copyright: NPACT |
|