0

我有一个运行此代码的 /controller/controller.php 文件:

include('../model/model.php');
print page_load();

model/model.php 正确加载并且 page_load() 函数被加载。但是,model.php 文件仍然“认为”它位于控制器目录中。因此,如果我尝试在 model.php 中执行任何 POST 操作,它会在控制器目录而不是模型目录中查找。

我可以就如何解决这个问题提供一些建议吗?

谢谢

4

3 回答 3

0

在 model.php 中,您需要action以正确路径的形式将其发布到您的model.php

<form action="/model/model.php">
// bla-bla-input-bla-bla
</form>
于 2012-05-18T05:36:25.800 回答
0

您仍在控制器页面 [1] 内。正如名称所暗示的,控制器页面仅包含模型页面。谢尔盖所说的部分正确。您需要为表单的操作参数分配更完整的路径。我相信你会看到谢尔盖的回答不起作用。这是因为您需要上一个目录。这是通过..在路径之前包含两个点来完成的。

<form action="../model/model.php">

您已经..在包含语句中包含了。只需以相同的方式使用它。

如果您需要更多帮助,请告诉我们。:-)

[1] http://php.net/manual/en/function.include.php

于 2012-05-18T05:50:59.867 回答
0

我认为您正在寻找chdir功能。有了它,您可以更改当前目录,让 PHP 认为您在model/文件夹中。

于 2012-05-18T05:51:52.330 回答