PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 6
Сергей2602 Отправлено: 10 Января, 2013 - 23:19:10 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
Саныч пишет:
PHP:
скопировать код в буфер обмена
  1. function speed($way, $time, $mps) {
  2.     return ($way / $time * ($mps ? 3.6 : 1)) . ($mps ? ' м/с' : ' км/час');
  3. }
  4.  
  5. if (!empty($_POST['S']) && !empty($_POST['t']) && !empty($_POST['val'])) {
  6.     if ( ($way = (int) $_POST['S']) <= 0 || ($time = (int) $_POST['t']) <= 0 )
  7.         die('Ошибка!');
  8.     echo speed($way, $time, $_POST['val'] == 2);
  9. }
А зачем это? На калькуляторе посчитать намного быстрей будет)

я не знаю я вообще практически ничего не понимаю))))))просто нашел похожую задачу на другом форуме но как сделать что бы это все работало я не знаю(((((((
Сергей2602 Отправлено: 10 Января, 2013 - 22:49:08 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
Саныч пишет:
metaller92, супер! А если я делаю действие больше двух раз, то пишу целый класс. Подмигивание

Вся задача решается в одну строчку, плюс еще строка на проверку данных (у вас этого кстате нет). Вы же завели 3 лишних переменных да еще и функцию.
metaller92 пишет:
PHP:
скопировать код в буфер обмена
  1. $v = somename($s, $t); 
  2. echo $v;
Вот таких "конструкций" вобще никогда не понимал и не пойму. Заметен стиль попова.

Сергей2602, а на каком уровне знаний вы находитесь? Что такое вобще PHP, как работает и т.д. знаете?

уровень на 0. всего 2 часа было по компьютерным технологиям а задачи как то решать надо вот и обращаюсь за помощью
Сергей2602 Отправлено: 10 Января, 2013 - 22:45:18 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
Рассчитать скорость движения машины и вывести её в удобочитаемом виде. Осуществить возможность вывода в км/ч, м/c.
Исходные данные: Пройденный путь - S; Время движения - t.
Представить решение задачи с помощью одной функции.
Решение задачи:
1) сама функция будет такой:
PHP:
скопировать код в буфер обмена
  1. function speed($s, $t, $val){
  2.         $speed[1] = $s / $t . " км/ч";
  3.         $speed[2] = $speed[1] / 3.6 . " м/с";
  4.         return $speed[$val];
  5. }

Функция имеет 3 аргумента - пройденный путь, время движения и 3-ий аргумент отвечает за пользовательский вариант вывода расчета (км/ч или м/c). В массив $speed попадает 2 варианта расчета, а возвращает ф-ция 1 вариант в зависимости от того, что выбрал пользователь.
2) осуществляем минимальную проверку полученных данных:
PHP:
скопировать код в буфер обмена
  1. if(!empty($_POST['submit'])){
  2.         if($_POST['S'] <= 0 || $_POST['t'] <= 0){
  3.                 $_SESSION['error'] = '<strong><em>Число должно быть больше нуля</em></strong>';
  4.                 header("Location: index.php");
  5.                 exit();
  6.         }else{
  7.                 $_SESSION['res'] = "<strong><em>" .speed($_POST['S'], $_POST['t'], $_POST['val']). "</em></strong>";
  8.                 header("Location: index.php");
  9.                 exit();        
  10.         }
  11. }

Если попало что-то кроме числа с плюсом (1, 2, 50.5 и т.д.) или ноль, то нам это не подходит и в сессионную переменную error мы заносим соответствующее сообщение. Если число нас устраивает, то в $_SESSION['res'] заносим результат работы ф-ции.
3) выводим результат и уничтожаем сессию:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo $_SESSION['error'];
  3. echo $_SESSION['res'];
  4. ?>

4) ну и код самой формы:
CODE (html):
скопировать код в буфер обмена
  1. <form method="post" action="">
  2. <table>
  3. <tr>
  4. <td>Пройденный путь (км):</td> <td><input type="text" name="S" /></td>
  5. </tr>
  6. <tr>
  7. <td>Время движения (ч):</td> <td><input type="text" name="t" /></td>
  8. </tr>
  9. <tr>
  10. <td><input type="radio" name="val" value="1" checked="checked" /> км/ч</td> <td><input type="radio" name="val" value="2" /> м/с</td>
  11. </tr>
  12. <tr>
  13. <td colspan="2"><input type="submit" name="submit" value="Рассчитать" /></td>
  14. </tr>
  15. </table>
  16. </form>

Вот полный код скрипта:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. function speed($s, $t, $val){
  4.        $speed[1] = $s / $t . " км/ч";
  5.        $speed[2] = $speed[1] / 3.6 . " м/с";
  6.        return $speed[$val];
  7. }
  8.  
  9. if(!empty($_POST['submit'])){
  10.        if($_POST['S'] <= 0 || $_POST['t'] <= 0){
  11.                $_SESSION['error'] = '<strong><em>Число должно быть больше нуля</em></strong>';
  12.                header("Location: index.php");
  13.                exit();
  14.        }else{
  15.                $_SESSION['res'] = "<strong><em>" .speed($_POST['S'], $_POST['t'], $_POST['val']). "</em></strong>";
  16.                header("Location: index.php");
  17.                exit();        
  18.        }
  19. }
  20. ?>
  21.  
  22. <h3><ins>Рассчет скорости</ins></h3>
  23.  
  24. <?php
  25. echo $_SESSION['error'];
  26. echo $_SESSION['res'];
  27. ?>
  28. <form method="post" action="">
  29. <table>
  30. <tr>
  31. <td>Пройденный путь (км):</td> <td><input type="text" name="S" /></td>
  32. </tr>
  33. <tr>
  34. <td>Время движения (ч):</td> <td><input type="text" name="t" /></td>
  35. </tr>
  36. <tr>
  37. <td><input type="radio" name="val" value="1" checked="checked" /> км/ч</td> <td><input type="radio" name="val" value="2" /> м/с</td>
  38. </tr>
  39. <tr>
  40. <td colspan="2"><input type="submit" name="submit" value="Рассчитать" /></td>
  41. </tr>
  42. </table>
  43. </form>

вот нашел похожую но я не знаю как сделать что бона читалась в удобном ввиде в веб страничке
(Добавление)
Саныч пишет:
metaller92, ну и на кой здесь функция...

Уже предчувствую следующий вопрос автора: "что с этим делать и куда вставлять" Ха-ха

дак куда что вставлять?)))))))))
Сергей2602 Отправлено: 10 Января, 2013 - 22:40:48 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
Саныч пишет:
metaller92, ну и на кой здесь функция...

Уже предчувствую следующий вопрос автора: "что с этим делать и куда вставлять" Ха-ха

совершенно верно))))))))
Сергей2602 Отправлено: 10 Января, 2013 - 22:32:33 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
metaller92 пишет:
Сергей2602 пишет:
Написать программу на языке PHP и встроить её в веб страницу, которая
позволила бы рассчитать скорость движения машины и вывести её в
удобочитаемом виде. Осуществить возможность вывода в км/ч
Исходные данные: Пройденный путь - S; Время движения - t
если можно расспишите все в шагах что и где создать что б все работало в страничке.
заранее спасибо


Зная формулу расчета очень легко написать действия скрипта.

Можешь написать формулу?

скорость v=s/t
Сергей2602 Отправлено: 10 Января, 2013 - 22:26:15 • Тема: помогите написать на php • Форум: Вопросы новичков

Ответов: 14
Просмотров: 1106
Написать программу на языке PHP и встроить её в веб страницу, которая
позволила бы рассчитать скорость движения машины и вывести её в
удобочитаемом виде. Осуществить возможность вывода в км/ч
Исходные данные: Пройденный путь - S; Время движения - t
если можно расспишите все в шагах что и где создать что б все работало в страничке.
заранее спасибо

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB