Я теряю мой переменный $ user, как только я вызываю свою функцию ошибки и включаю файл нижнего колонтитула. Я использую функцию $ user в своем нижнем колонтитуле, чтобы отобразить некоторую информацию, но когда я пошел в var_dump, он просто говорит null. Обратите внимание: я использую структуру базы данных, которую создал кто-то, поэтому запрос может выглядеть странно, но он на 100% функциональен и защищен.PHP потерять переменную после сообщения об ошибке
Это в моем включает файл// функции:
$user_query = $db->query("SELECT * FROM `users` WHERE `id`='$_COOKIE[id]' LIMIT 1");
$user = $db->getArray($user_query);
function error($input){
echo '<div id="error_box"><h1>Ooops!</h1><br>
'.$input.'<br /><a href="javascript:history.go(-1)"><b>Back to previous page.</b></a></div>';
require_once('./layout/footer.php');
die;
}
и мой файл /layout/footer.php является:
if (!empty($user['active'])){
//info here
}
else {
//info here
var_dump($user);
}
Это не на 100% обеспечено, но те комментарии bash придут ..;) .. и что не так с этим кодом? Правильно, что функция 'error' не знает переменную' $ user', она не входит в область 'error' – dbf
Читайте в области переменных PHP. Переменные, объявленные вне функции, автоматически не видны внутри него. – DCoder
Спасибо! Я упустил часть скрипта, который сделал на нем безопасность, и немного отредактировал его :) – user1888260