質問がすでに何度も出されている場合は申し訳ありませんが、私にはわかりません。
私のサイト構造は次のとおりです。
- 根
- フォーム
- フォームハウス
- フォームユーザー
- フォームハウス
- フォーム
ルート フォルダーには、classes.php ファイルがあります。
<?php
include("config.php");
include("class.mysql.php");
... code ...
?>
このファイルは、ファイル root/Forms/FormHouse/FormHouse.php に含まれています。
<?php
include('../../classes.php');
session_start();
print_r(get_included_files());
$db = new MySQL("$db_name", "$db_user", "$db_psw", "$host");
if (!$db)
die($db->Error());
?>
私も試します:
include(dirname(__FILE__) . '\..\..\classes.php');
ここでは、$db_user、$db_name、$db_psw、$host で「未定義の変数」を取得します。
含まれているファイルを見ると、classes.php が存在します。
Array
( [0] => D:\xampp\htdocs\site\Forms\FormHouse\FormHouse.php
[1] => D:\xampp\htdocs\site\classes.php
[2] => D:\xampp\php\pear\Config.php
[3] => D:\xampp\php\pear\PEAR.php
[4] => D:\xampp\php\pear\PEAR5.php
[5] => D:\xampp\php\pear\Config\Container.php
[6] => D:\xampp\htdocs\site\class.MySQL.php
)
なぜこれが起こるのですか?インクルードオーダーの問題?