2012-01-29 2 views
1

이건 좀 어리석은 질문처럼 보입니다. 더 많은 연구를 통해 대답을 찾을 수는 있지만 도움을 요청할 기한이 있습니다.isset은 GET에서 작동합니까?

URL의 'ID'가 'uID'(사용자 ID) 또는 'sID'(시스템 ID)인지 확인하려고하는 codeigniter im을 사용합니다.

사용하여 코드 메신저는 다음과 같습니다

if(isset($this->input->get('uID'))) { 
     $getID = $this-input->get('uID'); 
    } else { 
     $getID = $this->input->get('sID'); 
    } 

나는 웹 사이트를 말하는 서버 오류를 얻을 사용 일시적으로 다운 또는 constrcution을 받고있다. 어떤 아이디어?

도움을 미리 감사드립니다. 보통 나는 답을 찾기 위해 더 많은 시간을 할애하지만, 오늘 밤에는 시간이 없다.

답변

3

경고는 아마도 500 오류입니다. 즉, 서버가 오류를 표시하도록 설정되지 않았거나 index.php 파일에서 오류가 표시되지 않았 음을 의미합니다.

오류는 표시되지만 보이지 않습니다. 함수에서 isset을 사용할 수 없기 때문에 "치명적인 오류 : 쓰기 컨텍스트에서 함수 반환 값을 사용할 수 없습니다"입니다.

CI의 $this->input->get('key')이 항상 값을 반환하므로 기대했던대로 작동하지 않을 수 있습니다. 키가 존재하지 않으면 false를 반환합니다. 따라서

, 당신이하려고하는 것 같다 무엇을 달성하기 위해, 당신은 쓸 것 : 아래의 의견을 바탕으로
$getID = $this->input->get('uID') ? $this->input->get('uID') : $this->input->get('sID'); 

, 나는 나 또한 의미가있는 방식으로 그것을 제공하는 줄 알았는데 당신에게 :

if($this->input->get('uID')) { 
    $getID = $this->input->get('uID'); 
} 
else { 
    $getID = $this->input->get('sID'): 
} 

두 솔루션은 기능면에서 같습니다.

+0

좋습니다. 감사. 나는 당신의 코드를 이해하지 못한다. 뭐야? '? –

+0

'조건? execute_if_the_condition_was_true : exe_if_condition_false' ... 3 진수 연산자 – Erik

+0

을 호출하면 uID가 설정되지 않은 경우 $ getID를 sID로 설정하겠습니까? –

2

isset은 변수에서만 에서만 작동합니다.
$this->input->get()함수 호출입니다. 그것은 당신에게 오류를 준다.

내가 uID이 요청에 설정되지 않은 경우, $this->input->getnull 또는 false 또는 일부 등을 돌려 보낼 생각합니다. 나는. isset이 필요하지 않은 경우 반환 값은 이미 falsey이어야합니다.

The Definitive Guide To PHP's isset And empty을 읽는 데 약간의 시간을 투자하는 것이 좋습니다.

관련 문제