X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Не передаются данные через форму
Kuchuluk
Kuchuluk
Topic Starter сообщение 25.6.2012, 21:09; Ответить: Kuchuluk
Сообщение #1


Здравствуйте. Сделал такую форму, мини калькулятор.
<form action="calculator.php" method="post">
<p><input name="chislo1" type="text" id="chislo1" value="Введите первое число" size="20" maxlength="10"></p>
<p><input name="chislo2" type="text" id="chislo2" value="Введите второе число" size="20" maxlength="10"></p>
<p><label>Выберите математическое действие</label></p>
<p><input name="deistvie" type="radio" value="sum">Сложение</p>
<p><input name="deistvie" type="radio" value="vich">Вычитание</p>
<p><input name="schet" type="submit" value="Посчитать"></p>
</form>
<?php
if (isset($_POST['chislo1'])) {
    $chislo1 = $_POST['chislo1'];
    }
if (isset($_POST['chislo2'])) {
   $chislo2 = $_POST['chislo2'];
    }
if (!empty($_POST['shet'])) {
     if ($_POST['deistvie'] = sum) {
      $sum = $chislo1 + $chislo2;
      }
  if ($_POST['deistvie'] = vich) {
      $sum = $chislo1 - $chislo2;
   }
  echo $sum;
}

но прин нажатии на кнопку, выводится опять таже страница с формой, а результат вычислений не выводится
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 25.6.2012, 21:14; Ответить: sc2r2bey
Сообщение #2


у меня твой скрипт переходит на страницу calculator.php посмотри пути, надеюсь:

<?php
if (isset($_POST['chislo1'])) {
        $chislo1 = $_POST['chislo1'];
        }
if (isset($_POST['chislo2'])) {
   $chislo2 = $_POST['chislo2'];
    }
if (!empty($_POST['shet'])) {
         if ($_POST['deistvie'] = sum) {
          $sum = $chislo1 + $chislo2;
      }
  if ($_POST['deistvie'] = vich) {
          $sum = $chislo1 - $chislo2;
   }
  echo $sum;
}
?>


находится в calculator.php

а не считает потому что у тебя опечатки и ошибки в коде

у тебя опечатка в форме:

<input name="schet" type="submit" value="Посчитать">

а в вычислении


if (!empty($_POST['shet'])) {

а здесь

if ($_POST['deistvie'] = sum) {

и здесь
if ($_POST['deistvie'] = vich) {

необходимо использовать не оператор присваивания
=

а оператор сравнения
==


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 25.6.2012, 21:55; Ответить: matroskin8
Сообщение #3


Ну и в дополнение к предыдущему - Вы присваиваете в этих строках значение... плюс строка должна быть заключена в кавычки:
if ($_POST['deistvie'] = sum)
if ($_POST['deistvie'] = vich)

Ну а нужно, я так понимаю, сравнить значение со строкой:
if ($_POST['deistvie'] == 'sum')
if ($_POST['deistvie'] == 'vich')


Где-то так логичнее было бы:
<?php
if(isset($_POST['schet'])){
$chislo1 = $_POST['chislo1'];
$chislo2 = $_POST['chislo2'];
  
switch($_POST['deistvie']){
  case 'sum':
   $sum = $chislo1 + $chislo2;
   break;
  case 'vich':
   $sum = $chislo1 - $chislo2;
   break;
}
echo $sum;
}
?>

Ну и плюс, конечно же, не мешает добавить проверок... а то ведь можно вводить и строки, и не выбирать операцию...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 25.6.2012, 22:02; Ответить: sc2r2bey
Сообщение #4


ценные дополнения!


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Kuchuluk
Kuchuluk
Topic Starter сообщение 25.6.2012, 22:19; Ответить: Kuchuluk
Сообщение #5


[member=matroskin8], [member=surfer],
спасибо вам большое, действительно там была опечатка в названии кнопки. Я также оставил, только переделал как вы говорили, сделал sum и vich строковыми значениями.
<?php
if (isset($_POST['chislo1'])) {
    $chislo1 = $_POST['chislo1'];
}
if (isset($_POST['chislo2'])) {
    $chislo2 = $_POST['chislo2'];
}
if (!empty($_POST['schet'])) {
     if ($_POST['deistvie'] == 'sum') {
      $rez = $chislo1 + $chislo2;
   }
  if ($_POST['deistvie'] == 'vich') {
      $rez = $chislo1 - $chislo2;
   }
  echo $rez;
}


Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыBropush - Твой бро в монетизации через Push-уведомления
28 bropush 11193 Вчера, 12:52
автор: bropush
Открытая тема (нет новых ответов) Через какой браузер и как можно найти в кэшэ браузера видео
10 Room 1926 23.3.2024, 7:41
автор: Room
Открытая тема (нет новых ответов) XMLSeo - поисковая выдача Яндекс, Wordstat, Google, Bing, DuckDuckGo через API
0 Malpertu36 1533 25.12.2023, 19:34
автор: Malpertu36
Открытая тема (нет новых ответов) Продвижение сайта через краудинг с поддержкой
Полный комплекс мер по продвижению сайта
0 alexey 987 22.8.2023, 16:33
автор: alexey
Открытая тема (нет новых ответов) Спарсить данные с сайта
2 EvilGomel 1101 17.8.2023, 9:37
автор: bobmen


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:42
Дизайн