12

这是我的目录树的样子

/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。

那么我在表单声明中使用相对路径的方式有什么问题,我该如何解决呢?

4

4 回答 4

11

在您的相对路径./util/login/main.php中,您使用./的是指当前文件夹,因此它假定文件夹结构/util/login在里面/base_view。您应该尝试使用../which 指的是父文件夹:

<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
于 2013-06-06T16:39:11.113 回答
2

您需要将操作设置为更好的相对路径或使用绝对路径。例子:

../../util/login/main.php

或者

/astuto-lena/branches/application/util/login/main.php

./只是意味着this directory(又名current working directory

于 2013-06-06T16:40:42.300 回答
1

您必须使用 .. / 转到父目录

<form class="form_login" action="../../util/login/main.php" method="POST">
...
</form>
于 2013-06-06T16:42:15.530 回答
0

我遇到了类似的问题,我得到的错误是找不到对象 /application /includes 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适用于requireinclude但您需要添加.表单操作属性

于 2017-07-01T10:18:13.670 回答