Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
mit user-eingabe rechnen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
mit user-eingabe rechnen


 
thesilencer5
27-03-2004, 15:11 
 
Hallo,

ich habe ein Eingabefeld in das der User z.B. 1+5*3 eingibt. Wie bringe ich php dazu, das ergebnis anzuzeigen? Das ganze soll auch bei sachen wie 13+((8/3)+3)-9 o.Ä. funktionieren.....

 
TobiaZ
27-03-2004, 15:59 
 
eval()

 
thesilencer5
27-03-2004, 16:25 
 
danke

 
TobiaZ
27-03-2004, 16:27 
 
bitte

 
wahsaga
27-03-2004, 19:33 
 
Original geschrieben von thesilencer5
ich habe ein Eingabefeld in das der User z.B. 1+5*3 eingibt.
wenn ich als böser user da jetzt aber nicht 4711 * 08/15 eingebe, sondern z.b. unlink("dateiaufdeinemserver"), hast du mit eval sehr schnell ein problem ...

 
TobiaZ
27-03-2004, 20:04 
 
wohl war. :D

aber das lässt sich ja schnell mit ner regex oder so ausschließen.

 
wahsaga
27-03-2004, 20:42 
 
klar - man muss sich der problematik nur erst mal grundsätzlich bewusst sein; deshalb mein hinweis.

 
TobiaZ
27-03-2004, 20:43 
 
gut so ;)

 
thesilencer5
28-03-2004, 09:54 
 
Ich mache das so, dass die eingabe nur ausgewertet wird wenn es eine reine rechenformel ist. Sobald was anderes als +-*/ und Zahlen kommt wird es nicht verarbeitet.

Allerdings habe ich noch ein problem, das ergebnis in eine Variable zu legen. Das ganze wird immer sofort ausgegeben.


$eingabe = "1+1"
$aa = "echo ".$eingabe.";"
$ausgabe = eval($aa);


Ich bräuchte lediglich das Ergebnis in $ausgabe um es später mit echo $ausgabe; anzuzeigen.

 
Coragon Rivito
28-03-2004, 12:27 
 
wenn du echo eingabe machst is das klar ..
probier mal return ;)

 
TobiaZ
28-03-2004, 12:31 
 
probier mal statt echo ne variablenzuweisung!

(manschmal frag ich mich wirklich, ob ihr überhaupt wisst, was ihr macht.


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:44 Uhr.