Webmasterr
29.10.2010, 21:32:04
Co robię źle?
<form action="?" method="post">
<input type="text" name="licz"/>
<?php
if (isset($_POST['licz'])) {
}
?>
Wyświetla mi błąd:
Parse error: syntax error, unexpected $end in /var/www/virtual/prezenty.c0.pl/l.php(14) : eval()'d code on line 1
markonix
29.10.2010, 21:52:59
Błąd wynika z wpisywanej treści.
Poza tym eval przy formularz naraża Twoją aplikacje na spore niebezpieczeństwo.
Mephistofeles
29.10.2010, 22:44:02
Nie używaj eval, jeśli chcesz zrobić kalkulator (tak podejrzewam?) zainteresuj się np. ONP.
Spirit86
30.10.2010, 08:18:53
eval('<?= '.$_POST['licz']. ' ?>');
a jak ktoś w zmiennej licz wpisze np echo join(file('index.php'));
?
Webmasterr
15.11.2010, 15:36:10
Filtrowanie danych.
A jak zrobić żeby było np. 5+2+5|2, gdzie 5|2 to 5 do potęgi 2?
Bo resztę mam (oczyszczanie ze spacji, filtrowanie danych, wykonywanie mnożenia, dzielenia, dodawania, odejmowania, usuwanie znaku = z samego końca).
Wicepsik
15.11.2010, 15:47:04
Webmasterr
15.11.2010, 17:21:35
Cytat(Wicepsik @ 15.11.2010, 15:47:04 )

A kolejność wykonywania działań? Będzie zachowana?
Mephistofeles
15.11.2010, 18:41:42
Potęgę się zapisuje raczej jako ^. 5|2 to bardziej, że 2 jest podzielne przez 5

.
Webmasterr
25.11.2010, 14:06:29
No dobra. Ale w takim razie według parsera 2^2^2 == 6 .
Chyba preg_replace źle działa.
Odnawiam