Преобразовывать String в логического оператора php eval ()

Он им был бы благодарен за то, чтобы они дали мне способ перемещать String математического оператора, так как они увидят то, что я хочу, дело в том, что выбирать вышеупомянутую операцию, которая будет реализовывать эту, сформировалось пользователю завися знак, который выбран

здесь код, чтобы иметь лучшую идею о том, что я ищу:

<form action="operacion.php" method="post">

numero 1:
<input type="number" name="num1" required=""> <br>
numero 2:
<input type="number" name="num2" required=""> <br>
<select name="opcion">
    <option value="+" >+</option>
    <option value="-" >-</option>
    <option value="*" >*</option>
    <option value="/" >/</option>
</select>


<input type="submit" name="" value="Operar" >



</form>

Здесь код PHP

<?php 
$x = $_POST['num1'];

$y = $_POST['num2'];

$op = $_POST['opcion'];

if ($op=="+") {
    $Total = $x + $y;
    echo "El total es"." ".$Total;
}

elseif ($op=="-") {
    $Total = $x - $y;
    echo "El total es"." ".$Total;
}

elseif ($op=="*") {
    $Total = $x * $y;
    echo "El total es"." ".$Total;
}

else {
    $Total = $x / $y;
    echo "El total es"." ".$Total;
    return $Total;
}
?>

То, что я ищу, состоит, в том, чтобы поместив просто изменчивая $op уже, я осуществился операция, объясняясь по-другому, поместив например "2 3$op" и предполагая, что $op равняется одному "+", так как, что реализовал эту операцию, без необходимости санкционировать из-за if eslseif и else,

например:

Общее количество = 2 op 3;//В общем количестве его 5 предполагая, что пользователь выбрал в select "+"

Я прочитал по каким-то частям и они говорят, что он был должен использовать "eval ()", но я не могу этого добиться, надеюсь, что меня находит объясненным добро, он им был бы благодарен за ответ (Y)

0
задан 07.03.2019, 13:58
1 ответ

Я надеюсь, что тебе служу помощью я, я это сделал в одной funciГіn. В этой pГЎgina encontrГ©, как использование ее funciГіn eval () eval

<form action="" method="post">


    <?php 

    if (isset(

Я надеюсь, что тебе служу помощью я, я это сделал в одной funciГіn. В этой pГЎgina encontrГ©, как использование ее funciГіn eval () eval

[110]POST['enviar'])) { # code... $n1 =

Я надеюсь, что тебе служу помощью я, я это сделал в одной funciГіn. В этой pГЎgina encontrГ©, как использование ее funciГіn eval () eval

[110]POST['n1']; $n2 =

Я надеюсь, что тебе служу помощью я, я это сделал в одной funciГіn. В этой pГЎgina encontrГ©, как использование ее funciГіn eval () eval

[110]POST['n2']; $op =

Я надеюсь, что тебе служу помощью я, я это сделал в одной funciГіn. В этой pГЎgina encontrГ©, как использование ее funciГіn eval () eval

[110]POST['op']; function operacion($n1, $n2, $op){ $resultado = $n1.$op.$n2; eval("\$resultado2=$resultado;"); return $resultado2; } echo operacion($n1,$n2,$op); } ?> <select name="op" id=""> <option value="+">sumar</option> <option value="-">restar</option> <option value="*">multiplicar</option> <option value="/">dividir</option> </select> <input type="number" name="n1"> <input type="number" name="n2"> <input type="submit" name="enviar"> </form>
0
ответ дан 19.11.2019, 22:26
  • 1
    @pintowJD Có mo предупреждение показывать, что использование eval() в этом контексте está полностью разубежденный и это высоко опасно, так как он позволяет пользователю выполнять có я говорю произвольно. Давайте представлять, что пользователь происходит в первом pará метр следующее из-за ejenolo: rmdir(getcwd());// ¿ Qué ты веришь в то, что pasarí в? –  Xerif 08.03.2019, 03:21