2017-12-06 44 views
0

ここでは、http://querybuilder.js.org/demo.htmlからjQueryのクエリビルダを使用しています。メインページはPHPで記述されています。私はクエリビルダを使用して、基本的に条件文で使用したい条件を指定しました。条件変数を含むPHP変数

例をあげて入力を({(A == B)& &(C!= A)} ||(D == E)の形式に変換するのはあまりありません。このため私はこのソリューションのほとんどを使ってきました。 https://stackoverflow.com/a/26607204/1724376

変数に "$"を追加してeval()を使用する可能性があるので、私は間違った道を歩いているかもしれないと思って立ち往生しましたが、これは本当にやりたくありません内部のサイトになります。

36個の変数があるので、条件文を作成するための他の解決策は考えられません。なぜなら、ユーザーが条件として使用したい(そしてできるはずの)複数の置換がある可能性があるからです。

私は、eval()が唯一の選択肢だと思っていますが、仕事の時間を捨てる前に最後の溝の努力として、私は私よりも賢く人々に尋ねると思いました。

ガイダンスをいただければ幸いです。

編集:私の最終目標は、特定の機能が実行される正確な条件をユーザーが指定できるようにするためです。その機能は変更されませんが、条件が変わることがあります。ユーザーはコードを変更する必要はありません。

答えて

0

多くの研究の後、私は実行可能なアプローチとしてeval()を見つけることができました。変数のサイズを制限し、select文の有効なオプションであることを私が知っているものと比較し、入力に文字と数字のほかに何も含まれていないことを検証することによって、入力をサニタイズします。

私はもっと良い選択肢があることを望みますが、このアプローチは今のところうまくいくようです。