初投稿はこちら!さて、私はこのコードを含む関数を持っています:
require_once('../strap.php');
$admin = new Member;
$admin->setName($_POST['username']);
$admin->setPassword($hash);
$admin->setEmail($_POST['email']);
$admin->updateDatabase();
必要なファイルは次のようになります。
//define constants
define('ROOTPATH', __DIR__ . '/');
define('CLASSES', __DIR__ . '/classes/');
//Lazy load any required php classes
function __autoload($class_name) {
$file = CLASSES . $class_name . '.php';
if( file_exists($file) ) {
require_once $file;
} else {
echo "Can't find ". $file;;
}
}
//does config exist?
if (!file_exists('config.php')) {
//redirect to install routine if config does not exist
header(ROOTPATH . 'admin/install.php') ;
}
require('config.php');
//connect to the database
try {
$pdo = new PDO('mysql:database='.$conf['database'].';host='.$conf['host'].';port='.$conf['port'].';',
$conf['username'], $conf['password']);
} catch(PDOException $e) {
die('ERROR: Could not connect: ' . print_r($e->getMessage()));
}
その中の必要なファイル (config.php) は次のようになります。
$conf['username'] = 'root';
$conf['password'] = '';
$conf['host'] = 'localhost';
$conf['database'] = 'dddatabase';
$conf['port'] = '3306';
$conf['prefix'] = 'cms_';
私の問題は、次のエラーが発生することです: Notice: Undefined variable: conf in D:\wamp\www\testing\scripts\CMS\classes\Member.php on line 152
そしてまた
注意: 未定義の変数: D:\wamp\www\testing\scripts\CMS\classes\Member.php の 153 行目の pdo
新しい Member オブジェクトを初期化し、$conf[] 配列と $pdo オブジェクトを使用する updateDatabase() メソッドを呼び出すとき。
ただし、strap.php を再度インクルードすると、次のエラーが表示されます。D:\wamp\www\ で __autoload() (以前は D:\wamp\www\testing\scripts\CMS\strap.php:16 で宣言されています) を再宣言できません。 23 行目の testing\scripts\CMS\strap.php
ここで何がうまくいかないのか誰にも分かりませんか?