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

あなたはまだコントローラーページ[1]の中にいます。名前からわかるように、コントローラーページにはモデルページが含まれています。セルゲイが言ったことは部分的に正しい。フォームのアクションパラメータに、より完全なパスを割り当てる必要があります。きっとあなたはセルゲイの答えがうまくいかないのを見るでしょう。これは、1つのディレクトリを上に移動する必要があるためです。..これは、パスの前にある2つのドットを含めることによって行われます。

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

あなたはすでに..あなたのincludeステートメントにinを含めています。同じように使ってください。

さらにサポートが必要な場合はお知らせください。:-)

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

于 2012-05-18T05:50:59.867 に答える
0

model.phpでは、あなたのニーズはactionあなたにそれを投稿するための正しいパスでフォームに設定されていますmodel.php

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

機能を求めていると思いますchdir。それを使用すると、現在のディレクトリを変更して、PHP がmodel/フォルダーにいると見なすことができます。

于 2012-05-18T05:51:52.330 に答える