Arithmetische Operatoren als POST-Variable funktionieren nicht

Logisch. Denn der Stern ist ein Text.
Würdest du selbst auch nicht verstehen wenn dir jemand schreibt:
"352A35"
oder? ;)

Das Ergebnis wäre: 3235. Drauf gekommen? ;D
 
Ich würde das ganze das mit Switch case machen.
So z.B.:

PHP:
<?php
switch($_POST['operation'])
{
case '+':
    $summe = $_POST['z1'] + $_POST['z2'];
    break;
case '-':
    $summe = $_POST['z1'] - $_POST['z2'];
    break;
case '*':
    $summe = $_POST['z1'] * $_POST['z2'];
    break;
// .. etc...
}
 
Die Alternative wäre [phpf]eval[/phpf], wobei ich eher zum [phpf]switch[/phpf] tendieren würde...
Du fragst warum es nicht geht? Weil ein String nicht einfach als Programmcode gewertet wird...

PHP:
<?php
$str = '*';

eval("echo (2 $str 2);");
?>
Das obige Beispiel stellt eine potenzielle Sicherheitslücke dar und sollte so nicht verwendet werden, allenfalls in Verbindung mit einer Whitelist!
 
Zurück