Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрипт преобразования температуры, Помогите закончить этот скрипт. 
:(
    Опции темы
bogdach
Дата 14.9.2007, 08:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.3.2007

Репутация: нет
Всего: нет



В общем нужно чтобы скрипт переводил температуру из °C (цельсия) в °F (ференгейты) и наоборот, и выводил результат в пустом поле. 
Алгебраическая формула выглядит так °C=(5/9)*(°F-32) и наоборот °F=(9/5)*°C+32. Я создал форм, а вот с PHP синтаксом у меня проблема.
Не знаю как изобразить эти формулы в PHP. Помогите пожалуйста.

Код

<html>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" >
Fahrenheit: <input type="text" name="deg_f" value=<?php echo $_POST['deg_f']?>>
Celsius: <input type="text" name="deg_c" value=<?php echo $_POST['deg_c']?>>
<input type="submit" name="submit" value="Submit">
</form>

<?php


if (isset($_POST['submit']))
{
if (isset($_POST['deg_f']) && $_POST['deg_f'] != "")
{
// Do the processing
}
// then do it for degrees celsius to fahrenheit

}

?>
</html>

PM MAIL   Вверх
VeNICK
Дата 14.9.2007, 08:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 11.10.2006

Репутация: нет
Всего: нет



Код

<?php

if ( isset( $_POST['deg_f'] ) )  {
    $new_temperature = (5/9)*(floatval($_POST['deg_f'])-32);
} elseif ( isset( $_POST['deg_с'] ) ) {
    $new_temperature = (9/5)*(floatval($_POST['deg_c'])+32);
} else {
    echo 'You have not entered temperature';
    exit();
}

echo $new_temperature;
?>

PM MAIL   Вверх
BrainWorker
Дата 14.9.2007, 10:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 553
Регистрация: 9.8.2007
Где: Дубна, Россия

Репутация: 1
Всего: 2



Правильно, только лучше сначала провести проверку переданных значений, потому что просто проверка на пустую строку
Код
if (isset($_POST['deg_f']) && $_POST['deg_f'] != "") 
 недостаточна

Надо написать так
Код
if ( isset($_POST['deg_f']) && is_numeric($_POST['deg_f']) )
// приведенное выше преобразование
else if ( isset($_POST['deg_c']) && is_numeric($_POST['deg_c']) )
// приведенное выше преобразование
 


Это сообщение отредактировал(а) BrainWorker - 14.9.2007, 10:16
PM MAIL Jabber   Вверх
bogdach
Дата 14.9.2007, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 26.3.2007

Репутация: нет
Всего: нет



Спасибо большое. Теперь работает. А нельзя ли как то сделать чтоб результат показывался не снизу а в полях Fahrenheit: или Celsius:?

Это сообщение отредактировал(а) bogdach - 14.9.2007, 10:59
PM MAIL   Вверх
console
Дата 14.9.2007, 12:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: 2
Всего: 3



можно
Код

Fahrenheit: <input type="text" name="deg_f" value="<?php echo $new_temperature; ?>">



--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.