HTML相对路径不起作用PHP

时间:2011-05-22 07:04:47

标签: php html relative-path

我有在IE6中调用php的HTML代码,问题是当我使用相对路径时,它只是打开php文件但是当我使用绝对路径时,则执行php代码。 html和php都在同一个目录中,并且正在运行apache。

下面有一个工作:

<form action="http://localhost/welcome.php" method="POST">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
</form> 

不工作:

<form action="welcome.php" method="POST">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />

php代码:

<html>
<body>
Welcome <?php echo $_POST["fname"]; ?>!<br /> 
</body></html>

2 个答案:

答案 0 :(得分:5)

我希望,在第二种情况下,您实际上是从file:///协议运行它。这意味着它根本没有通过您的服务器。

您永远不应双击资源管理器中的文件,因为这只会通过文件系统打开它。你的PHP都不会那样工作。


使用完整的URL,您实际上是在向服务器发出请求。您将从您所在的任何文件/协议导航到指定位置:http://localhost/welcome.php

使用相对URL,您将从基本目录(file:/// c:/ xampp / htdocs /)开始,并相对导航到welcome.php。这将生成您的最终URL文件:/// c:/xampp/htdocs/welcome.php。由于第二个不是由服务器呈现的......你不会得到任何有用的东西。

这是否意味着您不应该使用相对网址?一点都不。这意味着您应该从http服务器启动。设置书签。 :)

答案 1 :(得分:1)

让表格的文件为:C:\ xampp \ htdocs \ form.html

如果您在资源管理器中导航并单击该文件,则该文件中的任何链接也将默认为文件协议,而不是http。这意味着,浏览器将转到该位置并打开文件,并在没有服务器的情况下自行解析。

您必须导航到localhost / form.html,否则它将起作用。