PHP 프롬프트 정의되지 않은 인덱스에 대한 솔루션

一个新手
풀어 주다: 2023-03-15 22:44:01
원래의
2138명이 탐색했습니다.

보통 $_post[''], $_get['']을 사용하여 양식의 매개변수를 가져올 때, 주의사항: 정의되지 않은 색인: --------; 데이터는 다음과 같이 정의되지 않은 인덱스 오류를 보고합니다.

$act=$_POST['action'];
로그인 후 복사

위의 코드를 사용하면 항상 Notice: Undefine index: act in D:testpost.php on line 20

또한 때로는

Notice: 정의되지 않은 변수: 제출... .... 그런 프롬프트를 기다리세요

위는 오류가 아닌 PHP에서 나오는 프롬프트입니다. PHP 자체는 미리 변수를 선언하지 않고 바로 사용할 수 있지만, 선언되지 않은 변수에 대한 프롬프트가 있습니다. 일반적으로 공식 홈페이지라 프롬프트가 꺼지고, 오류 메시지도 꺼집니다.


해결책:


방법 1: 서버 구성 수정
php.ini의 오류 구성에서 오류 표시 모드를 수정합니다.

将error_reporting = E_ALL 修改为 
error_reporting = E_ALL & ~E_NOTICE
로그인 후 복사

수정 후 APCHE 서버를 다시 시작하여 적용합니다.

방법 2: 변수를 초기화합니다.

방법 3: 판단하기

isset($_post['']),empty($_post['']) if --else
로그인 후 복사


방법 4: 알림 코드가 나타나기 전에 @를 추가하세요. @는 이 줄에 오류가 있거나 출력하지 말라는 경고가 있음을 의미합니다. @$username=$_post['username'] ;
변수 앞에 @를 추가합니다. 예: if (@$_GET['action']=='save') { ...

방법 5: 마지막은 매우 실용적으로 작성된 함수입니다. 다른 사람이 이 값을 통과했습니다.


함수 정의:


코드는 다음과 같습니다.

function _get($str){ 
$val = !empty($_GET[$str]) ? $_GET[$str] : null; 
return $val; 
}
로그인 후 복사

그런 다음 사용할 때는 $_GET['str']~
대신 _get('str')을 사용하세요.

위 내용은 PHP 프롬프트 정의되지 않은 인덱스에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿