Я хочу, чтобы пользователи могли выполнять оператор if в PHP, предоставляя значения в HTML. В настоящее время я застрял здесь, как я могу обработать $expression
, если пользователь входит в форму, например. "2 + 3 = 5"?передать, если аргументы оператора IF из формы HTML в frontend?
<form method="post" action="test.php">
Evaluate <input type="text" required="required" name="expression" /><br />
True <input type="text" required="required" name="returnOnTrue" /><br />
False <input type="text" required="required" name="returnOnFalse" /><br />
<input type="submit" name="submit" value="Run" />
</form>
Тогда в PHP у меня есть что-то вроде
function if_statement($expression, $true, $false) {
try {
if ( !empty($expression)
&& !empty($true) && ctype_digit($true)
&& !empty($false) && ctype_digit($false)
) {
if ($expression) {
return $true;
} else {
return $false;
}
}
return;
} catch (Exception $e) {
return;
}
}
$expression = $POST["expression"];
$onTrue = $POST["returnOnTrue"];
$onFalse = $POST["returnOnFalse"];
echo call_user_func_array("if_statement", array($expression, $onTrue, $onFalse));
Есть другой более безопасный способ сделать IF вход заявление принять пользователь, чтобы избежать инъекции и/или фатальные ошибки.
вы можете контролировать длину «выражения» – Hann
Как упоминалось в Ханне, вам нужно будет подтвердить свой ввод, ключевое слово там;) – britter
Можете ли вы подробнее рассказать о том, как я проверил бы это, это в значительной степени мое. Должен ли я использовать переменные переменные, регулярное выражение и т. Д.? –