Нужно вычислить значение, прописываю следующий скрипт Код (Text): <? $ur1=$_POST['ur1']; $ur2=$_POST['ur2']; $per=100; $urr=$per*($ur1/($ur1-$ur2)); echo $urr ?> При выводе на страницу пишет: Warning: Division by zero in Z:\home\parhom.local\www\urr.php on line 22 22 строка это $urr=$per*($ur1/($ur1-$ur2)); Пожалуйста, подскажите, что я делаю не так?
zero переводится как ноль, и даже я в курсе что на ноль делить нельзя, соответственно вот эта хрень у тебя равна нулю - ($ur1-$ur2). ты перед тем как использовать переменные со стороны, т.е. из массива $_POST проверяй что в них, фильтруй их.
под фразой фильтровать подразумевается не что то конкретно, а общее, т.е. фильтровать это проверять что там за значения и на сколько они сосуществуют требованиям скрипта. ну и как уже заметил многоуважаемый для этих целей отлично подходит конструкция if
Код (PHP): <?php $ur1=$_POST['ur1']; $ur2=$_POST['ur2']; if ($ur1==$ur2){ echo 'Алярма! Алярма! Одинаковые аргументы при вычитании дадут ноль, алярма! '; } else{ $per=100; $urr=$per*($ur1/($ur1-$ur2)); echo $urr; } Добавлено спустя 1 минуту 39 секунд: Ну и да, при первом выводе у тебя, разумеется, переменные пустые и трактуются как 0. Так что до выполнения этой операции нужно поставить проверку, а есть ли вообще у тебя $_POST['ur1'] и $_POST['ur2']. Считай это заданием к самостоятельной работе.