За последние 24 часа нас посетили 18038 программистов и 1597 роботов. Сейчас ищут 1004 программиста ...

Пожалуйста, помогите правильно прописать формулу!

Тема в разделе "PHP для новичков", создана пользователем parhomalex, 21 апр 2015.

  1. parhomalex

    parhomalex Новичок

    С нами с:
    15 апр 2015
    Сообщения:
    8
    Симпатии:
    0
    Нужно вычислить значение, прописываю следующий скрипт
    Код (Text):
    1. <?
    2.     $ur1=$_POST['ur1'];
    3.     $ur2=$_POST['ur2'];
    4.     $per=100;
    5.     $urr=$per*($ur1/($ur1-$ur2));
    6.     echo $urr
    7.     ?>
    При выводе на страницу пишет: Warning: Division by zero in Z:\home\parhom.local\www\urr.php on line 22
    22 строка это $urr=$per*($ur1/($ur1-$ur2));
    Пожалуйста, подскажите, что я делаю не так?
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    zero переводится как ноль, и даже я в курсе что на ноль делить нельзя, соответственно вот эта хрень у тебя равна нулю - ($ur1-$ur2).

    ты перед тем как использовать переменные со стороны, т.е. из массива $_POST проверяй что в них, фильтруй их.
     
  3. parhomalex

    parhomalex Новичок

    С нами с:
    15 апр 2015
    Сообщения:
    8
    Симпатии:
    0
    А как отфильтровать переменные?
    Спасибо, что откликнулся!
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    IF.
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    под фразой фильтровать подразумевается не что то конкретно, а общее, т.е. фильтровать это проверять что там за значения и на сколько они сосуществуют требованиям скрипта.

    ну и как уже заметил многоуважаемый [​IMG] для этих целей отлично подходит конструкция if
     
  6. parhomalex

    parhomalex Новичок

    С нами с:
    15 апр 2015
    Сообщения:
    8
    Симпатии:
    0
    Мучаюсь, но никак ничего не пойму, можно пример?
    Спасибо!
     
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Код (PHP):
    1. <?php
    2. $ur1=$_POST['ur1'];
    3. $ur2=$_POST['ur2'];
    4.  
    5. if ($ur1==$ur2){
    6.     echo 'Алярма! Алярма! Одинаковые аргументы при вычитании дадут ноль, алярма! ';
    7. } else{
    8.     $per=100;
    9.     $urr=$per*($ur1/($ur1-$ur2));
    10.     echo $urr;
    11. } 
    Добавлено спустя 1 минуту 39 секунд:
    Ну и да, при первом выводе у тебя, разумеется, переменные пустые и трактуются как 0. Так что до выполнения этой операции нужно поставить проверку, а есть ли вообще у тебя $_POST['ur1'] и $_POST['ur2']. Считай это заданием к самостоятельной работе.
     
  8. parhomalex

    parhomalex Новичок

    С нами с:
    15 апр 2015
    Сообщения:
    8
    Симпатии:
    0
    Очень оргомное спасибо!