2017-10-18 1 views
0

현재 테이블 레이아웃을 개발 중입니다. 테이블은 PHP에서 페이지 매김 기능과 필터 기능을 사용하고 있습니다.쿼리의 GET 매개 변수에 대한 HTML URL 인코딩 사용 안 함

모든 값은 GET 매개 변수로 전송됩니다.

예를 들어, 페이지 분류기는 & 제한 = 20 & 페이지 = 5를 사용합니다. 필터는 입력 필드로 thead의 테이블 행에 빌드됩니다. 각 열의 입력 필드가 각 열에 있음을 의미합니다.

제출 버튼을 클릭하면 GET을 통해 데이터가 전달되므로 다음 페이지 뷰는 데이터를 올바르게 쿼리하거나 필터링합니다. 예를 들어

, 나는 URL이 다음과 같이 될 것입니다 우편 번호 필터링하려면 : 내가 보여 %와 같이 5 % 검색을 허용하고 있습니다 때문에 = 5 & 우편 번호 & 제한 = 20 & 페이지 = 5

을 모든 우편 번호 5 여기서 결과는 5로만 제한되지 않습니다. 값의 모든 지점에서 5를 갖는 모든 데이터가 표시됩니다.

그러나 모든 결과를 보여주는 우편 번호를 58로 필터링하려면 % 58 %를 입력해야합니다. URL 인코딩에 따라 불행하게도 URL은 & postcode = % 58 %가되지 않습니다. postcode = X %이면 &이됩니다.

URL에 올바른 값을 가져 오는 것이 가능한지 여부는 질문입니다.

브라우저 수준에서 문제가 발생합니다. URL을 &에서 postcode = X %, &, postcode = % 58 %로 직접 변경하고 Enter 키를 누르면 Chrome에서 바로 X %로 변환합니다. 분명히 - - 더 간단 매기기와 통합 나는 그것이 때문에 대신 POST로 GET을 통해하고 있어요

은 아마 등 메타 태그, HTTP 헤더, 또는 자바 스크립트로 어떻게 든 가능합니다.

나쁜 영어로 죄송합니다. 어떤 도움이라도 대단히 감사 할 것입니다.

고마워요.

+1

사과하십시오, 나는 MySQL을 사용하고 있다고 말했어 야합니다. 완벽 해, 내가 지금하고있는 일이야. 답장을 보내 주셔서 감사합니다! – Dusty48

+0

다행이었습니다! 나는 대답을 – billrichards

답변

0

%% 검색에 대해 언급 했으므로 MySQL 또는 다른 SQL 백 엔드를 사용하여 데이터를 쿼리한다고 가정합니다. 이 경우 항상 쿼리 코드 형식을 postcode = 58 & 페이지 = 1로 지정하고 % 와일드 카드 % 검색 또는 정확히 일치해야하는지 여부를 나타내는 다른 매개 변수를 추가하고 와일드 카드 매개 변수가 있으면 쿼리를 수행 할 때 백엔드에서 %%.

+0

에서 내 질문에 대한 언급으로 언급 한 솔루션을 사용하고 그 솔루션은 내가 따라 왔어. 그러나 다른 답변도 올바른 해결 방법을 제공 할 수 있습니다. – Dusty48

1

"%"기호 자체를 이스케이프 처리해야합니다 ("% 25"). PHP는 자동으로 해독 할만큼 똑똑해야합니다.

그래서 은 &postcode=%2558%25이되어야하며, PHP는 $_GET['postcode']'%58%'이되도록 디코딩 할 것입니다.

+0

로 옮겼습니다. 답장을 보내 주셔서 감사합니다. 좋은 제안입니다. 그러나, 나는 billrichards에서 내 질문에 대한 언급으로 언급 된 솔루션을 사용하고 있습니다. – Dusty48

1

매개 변수에 값을 삽입하기 전에 urlencode 값을 입력해야합니다.

mysql을 사용하는 경우 billrichards에 동의합니다.

+0

답장을 보내 주셔서 감사합니다. 좋은 제안입니다. 그러나, 나는 billifulards – Dusty48

관련 문제