在php脚本位于另一个目录(相对路径)的情况下使用HTML表单操作
这是我的目录树的样子在php脚本位于另一个目录(相对路径)的情况下使用HTML表单操作,php,html,apache,Php,Html,Apache,这是我的目录树的样子 /application /lib /util /login /views /base_view 我的登录页面是 localhost:737/astuto-lena/branches/application/views/base_view/index.php 我希望我的身体动作是这样的 localhost:737/astuto-lena/branches/application/util/login/main.ph
/application
/lib
/util
/login
/views
/base_view
我的登录页面是
localhost:737/astuto-lena/branches/application/views/base_view/index.php
我希望我的身体动作是这样的
localhost:737/astuto-lena/branches/application/util/login/main.php
这是我的申报单
<form class="form_login" action="./util/login/main.php" method="POST">
...
</form>
这是错误的路径,并生成错误404
那么,我在表单声明中使用相对路径的方式有什么问题,我如何解决这个问题呢?在您的相对路径
/util/login/main.php
中,您使用的是引用当前文件夹的/
,因此它假设文件夹结构/util/login
在/base\u view
中。您应该尝试使用引用父文件夹的。/
:
<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
...
您需要将操作设置为更好的相对路径或使用绝对路径。示例:
../../util/login/main.php
或
/
仅表示此目录
(又称当前工作目录
)您必须使用../转到父目录
<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
...
我遇到了一个类似的问题,我得到的错误是找不到对象
/应用程序
/包括
connect.php
insert.php
index.php
<form action="/includes/insert.php" method="post">
//code
</form>
//代码
上面的代码不起作用,显示错误404,找不到对象。但是,
<form action="./includes/insert.php" method="post">
//code
</form>
//代码
唯一的区别是在操作路径中添加
。
奇怪的是
/include/filename
适用于require
或include
但您需要为表单操作属性添加
,谢谢!我想澄清一下:有什么理由我应该使用。/
两次吗?或者我可以只使用一个。/
?@Flayshon实际上是有区别的,基本上在您的情况下,您从localhost:737/astuto lena/branchs/application/views/base\u view/
开始,如果您使用。/
一次,您将进入本地主机:737/astuto-lena/branchs/application/views/
并使用两次,您将进入本地主机:737/astuto-lena/branchs/application/
,该文件夹也包含/util/login/
<form action="/includes/insert.php" method="post">
//code
</form>
<form action="./includes/insert.php" method="post">
//code
</form>