2011-08-17 3 views
0

이 '심지어 isset'사용하고 있어요 :PHP : Notice isset을 사용해도 정의되지 않은 색인

Notice: Undefined index 

returnifisset($_COOKIE["miceusername"], ' value="', '"'); 

쿠키를 설정했는지 여부를 확인하는 경우에도. 함수는 다음과 같습니다.

function returnifisset($variable, $first = '', $last = ''){ 
    if(isset($variable) and !empty($variable)){ return $first.$variable.$last; } 
} 

이 함수를 수정하여 오류를 발생시키지 않으면 어떻게됩니까?

+7

함수 안에있을 때까지 isset을 사용하고 있지 않습니다. PHP는 변수가 함수에 의해 처리되기 전에 쿠키와 인덱스를 봅니다. 그것은 당신의 실수가 어디에서 오는지입니다. – Jrod

+0

@ Jrod 그래서 어떻게해야합니까? – Ameer

+1

당신은'printifisset (isset ($ COOKIE [ "miceusername"], value = " '," "');)'함수를 사용하는 목적을 완전히 무효로 할 필요가 있습니다. 내 제안은 오히려 불필요한 기능을 모두 건너 뛰는 것입니다. 그리고 전혀 입력하지 않으면 절약 할 수 있습니다. – Jrod

답변

1

당신은 실제로 isset가 호출되기 전에 함수를 전달하여 변수에 액세스하고 있습니다. 이 문제를 해결할 수는 없습니다.

0

다른 기능 이름 인 printifisset 및 returnifisset을 사용합니다. 또한! empty() 문만 사용할 수 있습니다.

관련 문제