Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Ввод в форму выражения PHP и его вычисление (https://javascript.ru/forum/server/31958-vvod-v-formu-vyrazheniya-php-i-ego-vychislenie.html)

nemo4430 27.09.2012 17:20

Ввод в форму выражения PHP и его вычисление
 
Я хочу сделать страницу с формой и если в эту форму ввести математическое выражение PHP, то чтоб при отправке формы оно вычисляло введенное выражение. Например:
4/sqrt(4)+5
Форма обязательно должна передаваться методом GET! Я сделал так:
<!DOCTYPE html>
<html>
<head>
<title>TEST</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<form method="get" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" enctype="text/plain">
<input type="text" name="formula" />
<input type="submit" value="GO!" />
</form>
<?php
if(isset($_GET["formula"])) {
echo eval($_GET["formula"]);
}
?>
</body>
</html>

Но после отправки формы оно выдало сообщение об ошибке:
Parse error: syntax error, unexpected $end in C:\apache\htdocs\4.php(14) : eval()'d code on line 1 Call Stack: 0.0016 330952 1. {main}() C:\apache\htdocs\4.php:0
Я сделал подобную программу на js, так там все было нормально. Подскажите пожалуйста, что я неправильно делаю и как надо. Заранее благодарен!

trikadin 27.09.2012 18:40

nemo4430, так ВООБЩЕ нельзя делать. Никогда. Если вам в эту форму придёт что-то из серии exec("rm -rf"), то это обернётся неприятностями.

nemo4430 27.09.2012 20:38

Ну, я могу сделать так, чтоб можно было вводить определенные функции, а не какие попало. Но это потом. Пока мне надо с этим разобраться. Но все равно спасибо!

trikadin 28.09.2012 02:03

nemo4430, скажите, а почему у вас такой ник?

nemo4430 01.10.2012 18:31

Цитата:

Сообщение от trikadin (Сообщение 206952)
nemo4430, скажите, а почему у вас такой ник?

А почему у Вас такой ник?
Лучше помогите мне решить проблему. Буду благодарен. Я пока новичок в пхп..

trikadin 01.10.2012 20:28

Цитата:

Сообщение от nemo4430
А почему у Вас такой ник?

Забейте на это) Это не важно)

Цитата:

Сообщение от nemo4430
Лучше помогите мне решить проблему. Буду благодарен. Я пока новичок в пхп..

Я бы с радостью помог, но в php я разбираюсь, наверное, даже хуже вас)

Slavenin 10.10.2012 14:54

4/sqrt(4)+5;


Часовой пояс GMT +3, время: 23:57.