테스트 사이트 - 개발 중인 베타 버전입니다

php 따로 설정을 해야 하는게 있나요? 왜이러는건지..ㅜㅜㅜ 채택완료

blueming 4년 전 조회 3,389

    echo $_GET['id'];

?>

이게 php 파일이구요

 



	
id : pw :

이게 html파일 form 파일이에요

 

코드에 문제가 있나요?

 

localhost로 실행만 시키면 

 

Warning: Undefined array key "id" in

 

이문구 뜨면서 오류만 나오는데 미치겠습니다

 

$_GET 을 지우고 "HELLO" 이렇게만 수정하면

 

HELLO 잘 나오는데

 

왜 $_GET만 들어가면 오류가 나오나요

 

하,,

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
4년 전

지금 소스에 큰 문제는 없어 보입니다만..

php7 에서는 조금 엄격해진 부분이 있다고 합니다.

다음과 같이 처리하면 된다고 합니다.

 

</p>

<p>if (isset($_GET['id'])) {</p>

<p>  echo $_GET['id'];</p>

<p>}</p>

<p>

 

or

 

</p>

<p>$id = isset($_GET['id']) ? $_GET['id'] : '';</p>

<p>

 

or

 

</p>

<p>$id = $_GET['id'] ?? '';</p>

<p>

 

 

warning 은 '경고'의 의미이고, 치명적인 오류는 아닙니다.

에러메시지 출력 설정에서 '경고'와 '공지'성격의 메시지는 출력하지 않을 수 있습니다.

(php.ini 설정파일에서 변경하거나, 사이트 소스 중 공통파일 등에서 사용)

 

  //error_reporting(E_ERROR | E_WARNING | E_PARSE);

  error_reporting(E_ERROR | E_PARSE);

?>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

http://test.com/input.php?id=&pw=

submit 버튼을 누르면

URL이 이런 형태가 나오나요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

진서기
4년 전

값이 넘어갔는지

print_r($_GET);

로 찍어보세요.

 

  
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
4년 전

php 7 환경에서 문법이 엄격해졌어요.

아니라면 다른 요인이 있겠지만...

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인