2012-12-09 204 views
1

嗨,我是丹尼斯,我是新來的PHP。我的父親是一名PHP開發人員,但我想自己做。我現在11歲了! :)未定義變量錯誤

我做了一個安裝程序爲我的PHP的事情,我得到這個錯誤:

Notice: Undefined variable: config in \path\to\core.php on line 20 

這是這部分是失敗的:

$system['home_url'] = "".$config['home']['url'].""; 

但如何,如果我包括失敗配置文件之前,這個變量不是未定義的!

我所做的:require('config.php');

config.php文件代碼:

$config['home']['url'] = "http://localhost/"; 

我使用的變量,對不對?我搜索了所有的互聯網,我只找到解決方案,使用global,但我真的不知道它是如何工作的。

再見!!!使用前LIK isset($config['home']['url'])和感謝:)))

EDIT-- core.php中

<?PHP 
/*======================================================================= 
| ####################################################################### 
| This program is free software: you can redistribute it and/or modify 
| it under the terms of the GNU General Public License as published by 
| the Free Software Foundation, either version 3 of the License, or 
| (at your option) any later version. 
| ####################################################################### 
| This program is distributed in the hope that it will be useful, 
| but WITHOUT ANY WARRANTY; without even the implied warranty of 
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
| GNU General Public License for more details. 
\======================================================================*/ 
require('config.php'); 

$system['home_url'] = "".$config['home']['url'].""; 
$system['updates_enabled'] = "".$config['updates']['enabled'].""; 
$system['update_url'] = "".$config['update']['url'].""; 
$system['language'] = $config['language']; 
$system['favicon'] = "".$config['favicon'].""; 
$system['maintenance_status'] = "".$config['maintenance']['status'].""; 
$system['version'] = "".$config['version'].""; 
$system['master_user'] = "".$config['master']['user'].""; 
$system['master_password'] = "".$config['master']['password'].""; 
$system['config_path'] = "config.php"; 

/*====================================================================*/ 

$site['name'] = "".$config['site']['name'].""; 
$site['desc'] = "".$config['site']['desc'].""; 

/*====================================================================*/ 

$cloud_panel['reload_time'] = "".$config['reload']['time'].""; 

/*====================================================================*/ 

require "".$system['home_url']."lang/lang_".$system['language'].".php"; 

/*====================================================================*/ 

$template['id'] = "".$config['template']['id'].""; 
$template['webgallery_type'] = "".$config['webgallery']['type'].""; 
$template['webgallery_url'] = "".$config['webgallery']['url'].""; 

/*====================================================================*/ 

if(isset($_GET['help'])) { header('Location: '.$system['home_url'].'help.php'); } 

/*====================================================================*/ 

if ($template['webgallery_type'] == 1) { $template['my_webgallery'] = "".$system['home_url']."cdn/web-gallery"; } else { $template['my_webgallery'] = $template['webgallery_url']; } 

/*====================================================================*/ 

?> 

的config.php

<?PHP 
/*======================================================================= 
| ####################################################################### 
| This program is free software: you can redistribute it and/or modify 
| it under the terms of the GNU General Public License as published by 
| the Free Software Foundation, either version 3 of the License, or 
| (at your option) any later version. 
| ####################################################################### 
| This program is distributed in the hope that it will be useful, 
| but WITHOUT ANY WARRANTY; without even the implied warranty of 
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
| GNU General Public License for more details. 
\======================================================================*/ 

$config['site']['name'] = "heya"; 
$config['site']['desc'] = "heya"; 
$config['home']['url'] = "http://localhost/"; 
$config['updates']['enabled'] = "1"; 
$config['update']['url'] = "http://localhost/update"; 
$config['language'] = "es"; 
$config['favicon'] = "favicon.ico"; 
$config['maintenance']['status'] = "1"; 
$config['reload']['time'] = "10"; 
$config['version'] = "1.3.4"; 
$config['master']['user'] = "heya"; 
$config['master']['password'] = "heya"; 
$config['template']['id'] = "9"; 
$config['webgallery']['type'] = "1"; 
$config['webgallery']['url'] = "heya"; 

?> 
+0

是數組?因爲你在這裏有一個多維數組 –

+0

你確定你的腳本文件與config.php在同一目錄嗎? – SaidbakR

+0

範圍界定問題?請顯示您的完整代碼(至少相關至少)。另外:'「」。$ var。「」'是毫無意義的,你將一個空字符串與一個變量連接成一個空字符串。只要做'$ var'。 – deceze

回答

2

檢查參數,你也可以使用!empty($config['home']['url'])

+0

我認爲正確的解決方案是構造代碼,使變量是可訪問的。抑制錯誤不是解決方案,它只是隱藏了試圖指出錯誤的症狀! – deceze