php에서 변수 선언 질문 ㅠ
본문
파라미터에서
index.php?code=999 해놓고
index.php에서
$code = $_GET['code']
echo $code
없이도 999가 호출이 되는 것 같은데...맞나요?
원래 GET값으로 받아서 호출하는 걸로 알 고 있었거든요..
!-->답변 4
맞습니다.
없이도 쓸 수 있는 경우는..
php.ini 설정에서 register_globals = on 인 경우와 (But, 비추천) https://gocoding.tistory.com/156
extract($_GET); 을 상단 또는 include 파일에서 사용한 경우 https://bbolmin.tistory.com/53
입니다.
그냥 호출이 되신다면,,,
register_globals=on 일겁니다...
보안상 좋지 않습니다... 번거러움은 필수..
그누보드 common.php를 include 하신다면
$code 변수가 생성됩니다
PHP 버전 확인해보세요. register_globals 항목은 PHP 5.4 버전부터 제거되었거든요.
- https://php-legacy-docs.zend.com/manual/php5/en/ini.core#ini.register-globals
<?php
echo phpversion(), '<br>'; // 간편한 버전 확인 - 또는 phpinfo();
PHP 5.4 이상 버전에, index.php 파일이 달랑 아래 내용인데 ~?code=999 접속 시 999 뜨면
아래 정보 확인해야 합니다. 이쪽에서 호출하는 파일에서 변수 할당하는지….
- https://www.php.net/manual/en/ini.core.php#ini.auto-prepend-file
<?php
echo $code;
다른 파일 include 후에 실행하는 코드라면, 해당 파일들 내에서 찾아보면 되겠고요.
<?php
echo '<xmp>', print_r(get_included_files(), 1), '</xmp>'; // phpinfo(); 에서도 확인 가능