这是我的指向树的样子
/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>
但是当我点击提交按钮时,它会转到
localhost:737/astuto-lena/branches/application/views/base_view/util/login/main.php
哪条路径错误并生成错误404.
那么我在表单声明中使用相对路径的方式有什么问题,我该如何解决?
答案 0 :(得分:8)
在您的相对路径./util/login/main.php
中,您使用引用当前文件夹的./
,因此它假定文件夹结构/util/login
位于/base_view
内。您应该尝试使用引用父文件夹的../
:
<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
答案 1 :(得分:2)
您需要将操作设置为更好的相对路径或使用绝对路径。例子:
../../util/login/main.php
或
/astuto-lena/branches/application/util/login/main.php
./
仅表示this directory
(又名current working directory
)
答案 2 :(得分:1)
您必须使用.. /转到父目录
<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
答案 3 :(得分:0)
我遇到了类似的问题,我得到的错误是找不到对象
/application
/includes
connect.php
insert.php
index.php
<form action="/includes/insert.php" method="post">
//code
</form>
上面的代码不起作用,并显示错误404,Object Not Found。但是,
<form action="./includes/insert.php" method="post">
//code
</form>
唯一的区别是在操作路径中添加.
。
奇怪的是/include/filename
适用于require
或include
,但您需要为表单操作属性添加.