Могу ли я использовать функцию eval в этом случае?

Как я мог получить следующий код для печати aaa.bbb.ccc ??
В настоящее время все, что я получаю, это ошибка разбора для каждой строки eval ().
Это абстрактная версия кода. Наконец, я хочу, чтобы пользователи могли выбирать поля таблицы базы данных для поиска. Что-то вроде комбинации
if (strpos («$ field1. $ field2. $ field3», $ search)! == false) …

$filter = "\$x=\$a.\$b.\$c";

$a = "a";
$b = "a";
$c = "a";
eval($filter);
echo $x.",";

$a = "b";
$b = "b";
$c = "b";
eval($filter);
echo $x.",";

$a = "c";
$b = "c";
$c = "c";
eval($filter);
echo $x;

0

Решение

Чтобы исправить свой текущий код, измените следующее:

$filter = "\$x=\$a.\$b.\$c";

к

$filter = '$x=$a.$b.$c;';

Но использовать eval() при вводе пользователем большая дыра в безопасности вашего кода. Попробуйте другой подход, например, проверьте, присутствует ли вход в $search с помощью регулярного выражения и preg_match_all() функция.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector