0
이상하게 들리지만 Chrome에서만 발생하는 세션에는 문제가 있습니다. $ _GET에서 키워드 3 자보다 작은 경우 - - $에 메시지를 저장Chrome에서 세션이 제대로 작동하지 않습니다.
public function search()
{
$keyWord = htmlspecialchars(strip_tags($this->get['keyword']));
if(mb_strlen($keyWord) < 3){
$this->flashMessage->warning('keyword is too short');
redirect(SITE_ADDR . '/forum');
}
......
}
평범하고 단순하게 : 나는 컨트롤러의 방법 search
이
: 여기
는 시나리오 _SESSION 및 리디렉션. 그러나 검색 페이지 (예 :site.com/forum/search/?keyword=fff
) ($ _GET에 3 자 있음)에 가서 정말 빠르게 새로 고침을 시작하면 오류 메시지가 임의로 설정되지만 리디렉션 기능은 절대로 호출되지 않습니다.
exit();
을
$this->flashMessage->warning
바로 뒤에 삽입하여 스크립트를 중지하려고 시도했지만 스크립트가 문제없이 중단되었지만 리디렉션 기능이 호출되지 않았습니다. 1 자 또는 2 자의 경우 리디렉션에 문제가 없습니다. 세션에서 오류 메시지가 설정되지 않아도 3 자 이상의 문자 만 표시됩니다.
이것은 Chrome에서만 발생합니다. 나는 파이어 폭스와 오페라를 시도했지만 그런 문제는 없었다. 시크릿 모드로 시도했지만 아무 것도 변경되지 않았습니다. 누구나 이런 일이 일어나는 이유를 알 수 있습니까?
프레임 워크 등을 사용하고 있지 않습니다.
글쎄, 나는 PHP 세션과 아무 상관이 소개 된 어떠한 코드를 확인할 수 없습니다. 또한 경고가 설정되지 않아야하는 경우 경고를 지우는 코드는 여기에 표시하지 않았습니다 (설정 한 후에는 지우거나 세션이 만료 될 때까지 설정된 상태로 유지됩니다). 더 제공하십시오. – IncredibleHat
나는 왜 내 두 번째 게시물을 참조하십시오 알아 냈습니다. – djkhalen