Piszę sobie prosty system w php i chciałem zrobić plik core.php posiadający najważniejsze funkcje, między innymi łączenie z bazą danych. W tej funkcji łączącej jest kolejny odnośnik do pliku konfiguracyjnego. Skrypt po załadowaniu na stronę wypluwa mi komunikat o tym że są niezdefiniowane zmienne w pliku core.php. Gdy wywołuje tylko plik core.php wszystko działa jak powinno. Podaje tutaj kod skryptów, może ktoś lepiej zrozumie o co chodzi.
Plik index.php(połączenie nie działa):
<?php
require_once 'core/core.php';
db_connect();
$a=mysqli_query($mysqli, "select * from users");
while($r=mysqli_fetch_assoc($a))
{
echo $r['user'];
}
?>
Plik core.php (połączenie działa)
<?php
function db_connect()
{
require_once 'config/config.php';
$mysqli=mysqli_connect($CONFIG['db_host'],$CONFIG['db_user'],$CONFIG['db_pass'],$CONFIG['db_name']);
if(!$mysqli)
{
echo "Nie można połączyć z bazą danych";
exit;
}
}
?>
i plik config.php
<?php
$CONFIG['db_host']='localhost';
$CONFIG['db_user']='root';
$CONFIG['db_pass']='';
$CONFIG['db_name']='baza';
?>