这个Name元素的值, 是包含在WWW_theName环境变量中. 用一个简单的测试命令(-z), 你能查看环境变量是否是空的还是包括相应的输出值:
if [ ! -z "$WWW_theName" ]; then
echo "Hello, "
echo $WWW_theName
else
echo "You don't have a name?"
fi
最后增加一个连接"go back" . 用来返回:
echo "</P><P><A HREF="../lemay/name1.html">Go Back</A></P>"
echo "</BODY></HTML>"
问题
这里是使用CGI脚本比较普遍的问题:
脚本内容只显示不执行.
你正确配置了你的服务器运行CGI脚本? 你的脚本是放置在cgi-bin目录中吗?如果你的服务器允许带.cgi扩展名的CGI运行, 你的脚本文件名的扩展名是这样吗?
Error 500: Server doesn't support POST.
解答还是如上一条一样,然后你用命令行执行你的CGI,可以正常运行吗?是否有错误?.
Document contains no data.
确定你的头部行和数据部之间有一空行.
Error 500: Bad Script Request.
确定你的脚本是可执行的(在UNIX, 用chmod +x 你的脚本.cgi). 在从浏览器运行之前,你应当从命令行运行你的脚本,如果客户端是win95,可以用telnet登陆你的服务器,执行命令行,当然必须了解UNIX命令.
CGI变量
表2 总结那些环境变量.
表2. CGI 环境变量.
环境变量 |
意义 |
| SERVER_NAME |
CGI脚本运行时的主机名和IP地址. |
| SERVER_SOFTWARE |
你的服务器的类型如: CERN/3.0 或 NCSA/1.3. |
| GATEWAY_INTERFACE |
运行的CGI版本. 对于UNIX服务器, 这是CGI/1.1. |
| SERVER_PROTOCOL |
服务器运行的HTTP协议. 这里当是HTTP/1.0. |
| SERVER_PORT |
服务器运行的TCP口,通常Web服务器是80. |
| REQUEST_METHOD |
POST 或 GET, 取决于你的表单是怎样递交的. |
| HTTP_ACCEPT |
浏览器能直接接收的Content-types, 可以有HTTP Accept header定义. |
| HTTP_USER_AGENT |
递交表单的浏览器的名称、版本 和其他平台性的附加信息。 |
| HTTP_REFERER |
递交表单的文本的 URL,不是所有的浏览器都发出这个信息,不要依赖它 |
| PATH_INFO |
附加的路径信息, 由浏览器通过GET方法发出. |
| PATH_TRANSLATED |
在PATH_INFO中系统规定的路径信息. |
| SCRIPT_NAME |
指向这个CGI脚本的路径, 是在URL中显示的(如, /cgi-bin/thescript). |
| QUERY_STRING |
脚本参数或者表单输入项(如果是用GET递交). QUERY_STRING 包含URL中问号后面的参数. |