0

質問がすでに何度も出されている場合は申し訳ありませんが、私にはわかりません。

私のサイト構造は次のとおりです。


    • フォーム
      • フォームハウス
      • フォームユーザー

ルート フォルダーには、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 
) 

なぜこれが起こるのですか?インクルードオーダーの問題?

4

1 に答える 1

0

追加する

chdir(dirname(__FILE__));

classes.php のインクルードが問題を解決する前に。

于 2013-10-23T21:29:46.057 に答える