내 오류 함수를 호출하고 바닥 글 파일을 포함하면 내 varible $ 사용자가 손실됩니다. 일부 바닥 글에 $ 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' 변수를 알지 못한다는 것이 맞습니다. 오류의 범위 안에 있지 않습니다. – dbf
PHP 변수 범위를 읽으십시오. 함수 밖에서 선언 된 변수는 그 안에 자동으로 표시되지 않습니다. – DCoder
감사합니다! 나는 보안을 수행하고 약간 편집 한 스크립트를 생략했습니다. – user1888260