Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php脚本位于另一个目录(相对路径)的情况下使用HTML表单操作_Php_Html_Apache - Fatal编程技术网

在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>