2017-12-06 43 views
0

여기에서 jQuery의 쿼리 빌더 http://querybuilder.js.org/demo.html을 사용하고 있으며 내 메인 페이지는 PHP로 작성되었습니다. 쿼리 빌더를 사용하여 기본적으로 조건문에서 사용하려는 조건을 지정했습니다.조건부 구문을 포함한 PHP 변수

예를 들어 입력 형식을 ({A == B) & & (C! = A) || (D == E) 형식으로 변환하는 것이 그리 멀지 않습니다. 이를 위해이 솔루션의 대부분을 사용했습니다. https://stackoverflow.com/a/26607204/1724376

이제 변수에 "$"를 추가하고 잠재적으로 eval()을 사용할 수 있지만 잘못된 결과를 얻었을 수도 있습니다.하지만 이것이 실제로는 원하지 않는 것입니다. 내부 사이트가되어야합니다.

36 개의 변수가 있으므로 조건문을 작성하는 다른 솔루션을 생각할 수 없습니다. 사용자가 원하는대로 여러 가지 순열이있을 수 있고 조건으로 사용할 수 있어야하기 때문입니다.

나는 eval()이 유일한 선택이지만 일의 시간을 버리기 전에 마지막 도랑 노력으로, 나보다 사람들이 나보다 훨씬 똑똑해 줄 것이라고 생각했다.

안내를 받으실 수 있습니다.

편집 : 최종 목표는 jQuery 쿼리 작성기 UI를 사용하여 사용자가 특정 기능을 실행할 정확한 조건을 지정할 수 있도록하는 것입니다. 이 기능은 변경되지 않지만 조건은 변경 될 수 있습니다. 사용자는 코드를 수정할 필요가 없습니다.

답변

0

많은 연구 끝에 eval()을 가능한 접근 방식으로 만 찾을 수있었습니다. 변수의 크기를 제한하고 select 문에서 유효한 옵션으로 알고있는 것과 비교하여 입력을 살균합니다. 또한 입력에 문자와 숫자 이외의 문자가 포함되어 있지 않은지 확인합니다.

더 나은 옵션이 있었으면 좋겠습니다. 그러나이 방법은 현재 효과가있는 것 같습니다.