Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607

Ошибка Undefined index

26.08.2016, 19:07. Показов 3235. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Не можете подсказать, почему PHP "ругается" на эти 6 строк?
PHP
1
2
3
4
5
6
$year = $_POST ['year'];
$month = $_POST ['month'];
$daycur = $_POST ['daycur'];
$nightcur = $_POST ['nightcur'];
$dayprev = $_POST ['dayprev'];
$nightprev = $_POST ['nightprev'];
Ошибка: Notice: Undefined index: month in /home/d/test/public_html/electroel.php on line 2 и.т.д для каждой переменной (меняется только название переменной и номер строки).

Добавлено через 4 минуты
Пробовал делать как описано в статье здесь, но тогда вылезала другая ошибка:
Notice: Use of undefined constant ‘year’ - assumed '‘year’' in /home/d/test/public_html/electroel.php on line 1
Т.е. код такой:
PHP
1
2
3
if (isset($_POST[‘year’])) {
$year = $_POST[‘year’];
}
Добавлено через 2 минуты
year и month - селекторы в форме
т.е.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<select name = "month">
<option>Январь</option>
<option>Февраль</option>
<option>Март</option>
<option>Апрель</option>
<option>Май</option>
<option>Июнь</option>
<option>Июль</option>
<option>Август</option>
<option>Сентябрь</option>
<option>Октябрь</option>
<option>Ноябрь</option>
<option>Декабрь</option>
</select>
<p>Текущий год:</p>
<select name = "year">
<option>2016</option>
<option>2017</option>
<option>2018</option>
<option>2019</option>
<option>2020</option>
</select>
daycur , nightcur , dayprev и nightprev получаются из полей формы:
HTML5
1
2
3
4
<input type = "number" name = "daycur">
   <input type = "number" name = "nightcur">
<input type = "number" name = "dayprev">
<input type = "number" name = "nightprev">
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2016, 19:07
Ответы с готовыми решениями:

Ошибка Undefined index
У меня есть код php который запрашивает у глобального массив $_GET - ячейку id - но ее нету - и это нормально - но как избавиться от ошибки...

Ошибка Undefined index =(
Добрый день всем! у меня такая проблема возникла выдает ошибку! Notice: Undefined index: shpPassword in buy_result.php on line 18 bad...

Ошибка Undefined index:
Notice: Undefined index: b_tech_id in D:\OpenServer\domains\localhost\includes\app\class\queuemanager.php on line 273 Warning: Cannot...

45
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
26.08.2016, 19:18
Согласно логике сообщения
Notice: Use of undefined constant ‘year’ - assumed '‘year’' in /home/d/test/public_html/electroel.php on line 1

программа очевидно хочет чтобы вы заменили одинарные кавычки в year на двойные. Почему так? Сказать затрудняюсь.
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
26.08.2016, 19:30  [ТС]
Всё равно эта же ошибка.
PHP
1
2
3
4
5
6
$year = $_POST ["year"];
$month = $_POST ["month"];
$daycur = $_POST ["daycur"];
$nightcur = $_POST ["nightcur"];
$dayprev = $_POST ["dayprev"];
$nightprev = $_POST ["nightprev"];
Добавлено через 1 минуту
Спасибо. Вроде бы ошибка пропала.

Добавлено через 4 минуты
Но зато скрипт перестал работать.

Добавлено через 59 секунд
Цитата Сообщение от caesarnn Посмотреть сообщение
$year = $_POST ["year"];
По логике вещей это неправильно, т.к. элементы таких массивов заключаются в одинарные кавычки.

Добавлено через 47 секунд
Вот весь скрипт:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<head>
    <title>Расчёт электроэнергии </title>
</head>
<?php
error_reporting(E_ALL);
//Переменные для подключения к базе данных
$dbname = "d_zkh";
$dbpassword = "pass";
$dbuser = "d_zkh";
$dbhost = "localhost";
$dbtable = "electroel";
//задаём типы переменных
settype($normv, "float");
settype($socv, "float");
settype($daycur, "integer");
settype ($nightcur, "integer");
settype ($dayprev, "integer");
settype ($nightprev, "integer");
settype ($d1, "integer");
settype ($n1, "integer");
settype ($sum, "integer");
settype ($sum2, "integer");
$normv = 5.73; //нормальный тариф
$socv = 3.32; //социальный тариф
if (isset($_POST["year"])) {
$year = $_POST["year"];
}
if (isset($_POST["month"])) {
$year = $_POST["month"];
}
if (isset($_POST["daycur"])) {
$year = $_POST["daycur"];
}
if (isset($_POST["nightcur"])) {
$year = $_POST["nightcur"];
}
if (isset($_POST["dayprev"])) {
$year = $_POST["dayprev"];
}
if (isset($_POST["nightprev"])) {
$year = $_POST["nightprev"];
}
 
$d1 = $daycur - $dayprev;
$n1 = $nightcur - $nightprev;
$sum = $d1 + $n1;
if ($sum >=75) {
  $sum2 = $sum-75; 
  $normpay = $sum2*$normv;
  $socpay= 75*$socv; 
} else {
  $normpay = 0;
  $socpay = $sum *75;
}
if ($socpay)echo "<p style = 'color:green; font-weight:700'>Плата за электроэнергию по социальному тарифу (Невская) за $month $year года: $socpay руб</p>";
if ($normpay) echo " <p style = 'color:red; font-weight:700'>Плата за электроэнергию по обычному тарифу (Невская) за $month $year года : $normpay руб</p>";
if ($socpay and $normpay) {
    $sum3 = $socpay + $normpay;
    echo "<p style = 'color:blue; font-weight:700'>Итого :$sum3 руб</p>";
    $to = "abcde12345@abcde123.ru"; 
// емайл получателя 
 $subject = "Расчёты электроэнергия Невская за $month $year года ";
$message = "Плата за электроэнергию по социальному тарифу (Невская) за $month $year года: $socpay руб
Плата за электроэнергию по обычному тарифу (Невская) за $month $year года : $normpay руб
Итого :$sum3 руб
 Т1 текущий (день): $daycur
 Т2 текущий (ночь): $nightcur
 Т1 предыдущий (день):$dayprev
 Т2 предыдущий (ночь): $dayprev
"; 
// текст сообщения, здесь вы можете вставлять таблицы, рисунки, заголовки, оформление цветом и т.п.
// формат письма html
$mailheaders .= "From: ЖКХ <noreply@redcap52.ru>rn"; 
$mailheaders .= "Reply-To: [email]support@redcap52.ru[/email]"; 
// емайл отправителя и емайл для ответа 
 
mail($to, $subject, $message, $mailheaders);
// отправляем письмо 
    // Подключение к базе данных
    $db = mysql_connect($dbhost,$dbuser,$dbpassword) OR DIE("Не могу создать соединение ");
     
    // Выборка базы
    mysql_select_db("",$db);
     
    // Установка кодировки соединения
    mysql_query("SET NAMES 'utf8'",$db);
     
    $result = mysql_query ("INSERT INTO ".$dbtable." (daycur,dayprev,nightcur,nightprev,itog) VALUES ('$daycur','$dayprev' , '$nightcur' , '$nightprev' , '$sum3')");
     
    if ($result = 'true'){
        echo "Информация занесена в базу данных";
    }else{
        echo "Информация не занесена в базу данных";
    
}
}
?>
<form method = "post">
    <p>Текущие показания Т1 (день):</p>
    <input type = "number" name = "daycur">
    <p>Текущие показания Т2 (ночь):</p>
    <input type = "number" name = "nightcur">
    <p>Предыдущие показания Т1 (день):</p>
    <input type = "number" name = "dayprev">
     <p>Предыдущие показания Т2 (ночь):</p>
    <input type = "number" name = "nightprev">
    <p>Текущий месяц:</p>
<select name = "month">
<option>Январь</option>
<option>Февраль</option>
<option>Март</option>
<option>Апрель</option>
<option>Май</option>
<option>Июнь</option>
<option>Июль</option>
<option>Август</option>
<option>Сентябрь</option>
<option>Октябрь</option>
<option>Ноябрь</option>
<option>Декабрь</option>
</select>
<p>Текущий год:</p>
<select name = "year">
<option>2016</option>
<option>2017</option>
<option>2018</option>
<option>2019</option>
<option>2020</option>
</select>
<input type = "submit" value = "Рассчитать">
</form>
<a href = "electroel.php"><p style = "font-weight:700; color:blue">Рассчитать электроэнергию (электронный счётчик)</p></a>
<a href = "electrosimple.php"><p style = "font-weight:700; color:red">Рассчитать электроэнергию (обычный счётчик)</p></a>
<a href = "gaz.php"><p style = "font-weight:700; color:green">Рассчитать оплату за газ.</p></a>
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.08.2016, 19:32
caesarnn, Из моего рабочего сайта кусок кода, все работает
PHP
1
$id = Functions::screening( $_POST["id"] );
Вопрос только в одном, как ты отправляешь данные этому скрипту. Если через ajax то - $_POST, если через браузерную строку то $_GET
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
26.08.2016, 19:35  [ТС]
Так что делать то?
0
 Аватар для edward_freedom
1569 / 1448 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
26.08.2016, 19:37
caesarnn, Узнать, как ты отправляешь данные и подставить метод из моего предыдущего сообщения
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
26.08.2016, 19:40
Спасибо. Вроде бы ошибка пропала.
Но зато скрипт перестал работать.


Что значит перестал? Судя по первому сообщению он и не работал, так как в POST отсутствуют нужные переменные. Посмотрите в отладчике что у вас вообще есть в POST. Возможно он пустой.

Добавлено через 2 минуты
edward_freedom, Данные судя по html-Коду топик-стартер отправляет из формы, но метод указан Post в тэге Form, равно как через AJAX можно передать с помощью GET, это не вопрос способа отправки.
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
26.08.2016, 19:43  [ТС]
Он работал. Там есть 3 функции - пользователь вводит числа в 4 поля, нажимает "Рассчитать", и потом он видит результат вычислений. Эти вычисления он отправляет на заданную эл.почту. Третья функция - запись этих данных в БД.
2 функции рабочие, третья - нет.
Когда сделал замену как Вы сказали - перестали работать расчёт и, следовательно, отправка на email (без расчёта нет отправки).
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
26.08.2016, 19:45
Также чтобы быть уверенным, можно в начале файла сделать проверку

PHP
1
2
3
4
if ($_SERVER["REQUEST_METHOD"]=="POST")
{
   //Здесь уже писать код;
}
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
26.08.2016, 19:45
caesarnn, ваши "ошибки" - это отсутствующие данные
Цитата Сообщение от caesarnn Посмотреть сообщение
Notice: Undefined index: month in /home/d/test/public_html/electroel.php
это значит, что в массиве POST-данных не было переменной month (или у вас в форме отстсутствует input с именем (name) month, или в это поле ничего не было введено в тот момент, когда был нажат submit). избавиться от этой "ошибки" можно конструкцией типа
PHP
1
if(!empty($_POST['month'])) {$month = $_POST['month'];}
но как вы уже заметили, у вас появляются другие сообщения об "ошибках":
Цитата Сообщение от caesarnn Посмотреть сообщение
Notice: Use of undefined constant ‘year’ - assumed '‘year’' in /home/d/test/public_html/electroel.php
суть их в том, что сначала, как и описано для первого случая, у вас в POST-массиве не приехали данные year. в результате, благодаря добавленным вами проверкам (isset), а точнее, их "не прохождению", переменная $year у вас не назначается совсем! и скрипт ваш вам и сообщает, что вы ранее не объявили такую переменную, вот он присвоил ей значение year. "лечится" такое принудительным присвоением какого-то дефолтного значения этой переменной. Например так:
PHP
1
if(!empty($_POST['year'])) {$year = $_POST['year'];} else { $year = 0;}
0
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
26.08.2016, 19:48
caesarnn, А что значит "перестал работать расчет"? Выдает ошибку или что? Где вы разрабатываете код? У вас есть какой-нибудь отладчик? Вы можете просто двигаться по строкам и смотреть что происходит в переменных.
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
26.08.2016, 22:17  [ТС]
После того, как заменил то что было на
PHP
1
if(!empty($_POST['year'])) {$year = $_POST['year'];} else { $year = 0;}
стал некорректно работать алгоритм расчёта.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<head>
    <title></title>
</head>
<?php
error_reporting(E_ALL);
//Переменные для подключения к базе данных
$dbname = "_zkh";
$dbpassword = "pass";
$dbuser = "_zkh";
$dbhost = "localhost";
$dbtable = "electroel";
//задаём типы переменных
settype($normv, "float");
settype($socv, "float");
settype($daycur, "integer");
settype ($nightcur, "integer");
settype ($dayprev, "integer");
settype ($nightprev, "integer");
settype ($d1, "integer");
settype ($n1, "integer");
settype ($sum, "integer");
settype ($sum2, "integer");
$normv = 5.73; //нормальный тариф
$socv = 3.32; //социальный тариф
if(!empty($_POST['year'])) {$year = $_POST['year'];} else { $year = 0;} 
if(!empty($_POST['month'])) {$month = $_POST['month'];} else { $month = 0;} 
if(!empty($_POST['daycur'])) {$year = $_POST['daycur'];} else { $daycur = 0;} 
if(!empty($_POST['nightcur'])) {$year = $_POST['nightcur'];} else { $nightcur = 0;} 
if(!empty($_POST['dayprev'])) {$dayprev = $_POST['dayprev'];} else { $dayprev = 0;} 
if(!empty($_POST['nightprev'])) {$nightprev = $_POST['nightprev'];} else { $nightprev = 0;} 
$d1 = $daycur - $dayprev;
$n1 = $nightcur - $nightprev;
$sum = $d1 + $n1;
if ($sum >=75) {
  $sum2 = $sum-75; 
  $normpay = $sum2*$normv;
  $socpay= 75*$socv; 
} else {
  $normpay = 0;
  $socpay = $sum *75;
}
if ($socpay)echo "<p style = 'color:green; font-weight:700'>Плата за электроэнергию по социальному тарифу  за $month $year года: $socpay руб</p>";
if ($normpay) echo " <p style = 'color:red; font-weight:700'>Плата за электроэнергию по обычному тарифу  за $month $year года : $normpay руб</p>";
if ($socpay and $normpay) {
    $sum3 = $socpay + $normpay;
    echo "<p style = 'color:blue; font-weight:700'>Итого :$sum3 руб</p>";
    $to = "abcde12345@abcde123.ru"; 
// емайл получателя 
 $subject = "Расчёты электроэнергия Невская за $month $year года ";
$message = "Плата за электроэнергию по социальному тарифу  за $month $year года: $socpay руб
Плата за электроэнергию по обычному тарифу  за $month $year года : $normpay руб
Итого :$sum3 руб
 Т1 текущий (день): $daycur
 Т2 текущий (ночь): $nightcur
 Т1 предыдущий (день):$dayprev
 Т2 предыдущий (ночь): $dayprev
"; 
// текст сообщения, здесь вы можете вставлять таблицы, рисунки, заголовки, оформление цветом и т.п.
// формат письма html
$mailheaders .= "From: ЖКХ <noreply@redcap52.ru>rn"; 
$mailheaders .= "Reply-To: support@redcap52.ru"; 
// емайл отправителя и емайл для ответа 
 
mail($to, $subject, $message, $mailheaders);
// отправляем письмо 
    // Подключение к базе данных
    $db = mysql_connect($dbhost,$dbuser,$dbpassword) OR DIE("Не могу создать соединение ");
     
    // Выборка базы
    mysql_select_db("",$db);
     
    // Установка кодировки соединения
    mysql_query("SET NAMES 'utf8'",$db);
     
    $result = mysql_query ("INSERT INTO ".$dbtable." (daycur,dayprev,nightcur,nightprev,itog) VALUES ('$daycur','$dayprev' , '$nightcur' , '$nightprev' , '$sum3')");
     
    if ($result = 'true'){
        echo "Информация занесена в базу данных";
    }else{
        echo "Информация не занесена в базу данных";
    
}
}
?>
<form method = "post">
    <p>Текущие показания Т1 (день):</p>
    <input type = "number" name = "daycur">
    <p>Текущие показания Т2 (ночь):</p>
    <input type = "number" name = "nightcur">
    <p>Предыдущие показания Т1 (день):</p>
    <input type = "number" name = "dayprev">
     <p>Предыдущие показания Т2 (ночь):</p>
    <input type = "number" name = "nightprev">
    <p>Текущий месяц:</p>
<select name = "month">
<option>Январь</option>
<option>Февраль</option>
<option>Март</option>
<option>Апрель</option>
<option>Май</option>
<option>Июнь</option>
<option>Июль</option>
<option>Август</option>
<option>Сентябрь</option>
<option>Октябрь</option>
<option>Ноябрь</option>
<option>Декабрь</option>
</select>
<p>Текущий год:</p>
<select name = "year">
<option>2016</option>
<option>2017</option>
<option>2018</option>
<option>2019</option>
<option>2020</option>
</select>
<input type = "submit" value = "Рассчитать">
</form>
<a href = "electroel.php"><p style = "font-weight:700; color:blue">Рассчитать электроэнергию (электронный счётчик)</p></a>
<a href = "electrosimple.php"><p style = "font-weight:700; color:red">Рассчитать электроэнергию (обычный счётчик)</p></a>
<a href = "gaz.php"><p style = "font-weight:700; color:gree
Добавлено через 1 минуту
В смысле почему-то вычисляется только оплата по социальному тарифу.
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
26.08.2016, 22:29
в начале скрипта вставьте типа такого:
PHP
1
2
3
4
foreach ($_POST as $key => $value)
{
   echo $key . ' = ' . $value . "<br>\n";
}
и оно вам выведет, какие данные вы получаете в POST-запросе. а уж потом смотрите - там вообще что-то есть, из того, что вы ожидали...
0
20 / 20 / 7
Регистрация: 18.02.2015
Сообщений: 304
27.08.2016, 00:56
Выведи через print_r($_POST);

Посмотри, вообще не пустой ли у тебя ПОСТ запрос. Может в названии чуток ошибся, всякое бывает
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
27.08.2016, 10:01  [ТС]
Цитата Сообщение от Dmitry Посмотреть сообщение
и оно вам выведет, какие данные вы получаете в POST-запросе. а уж потом смотрите - там вообще что-то есть, из того, что вы ожидали...
Всё что я ожидал увидеть - всё есть
PHP
1
2
3
4
5
6
daycur = 5675
nightcur = 5321
dayprev = 5575
nightprev = 5239
month = Июль
year = 2016
Добавлено через 9 минут
Данные передаются, но, почему-то, начинает неправильно работать калькулятор.
При приведённых значениях переменных в запросе результат должен быть 862.11 а не -811050
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
27.08.2016, 10:25
PHP
1
2
3
4
5
6
if(!empty($_POST['year'])) {$year = $_POST['year'];} else { $year = 0;} 
if(!empty($_POST['month'])) {$month = $_POST['month'];} else { $month = 0;} 
if(!empty($_POST['daycur'])) {$year = $_POST['daycur'];} else { $daycur = 0;} 
if(!empty($_POST['nightcur'])) {$year = $_POST['nightcur'];} else { $nightcur = 0;} 
if(!empty($_POST['dayprev'])) {$dayprev = $_POST['dayprev'];} else { $dayprev = 0;} 
if(!empty($_POST['nightprev'])) {$nightprev = $_POST['nightprev'];} else { $nightprev = 0;}
Почему у Вас переменная $year несколько раз объявляется?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
27.08.2016, 10:26
Цитата Сообщение от caesarnn Посмотреть сообщение
почему-то вычисляется
может из-за подобных ошибок:
Цитата Сообщение от caesarnn Посмотреть сообщение
if(!empty($_POST['daycur'])) {$year = $_POST['daycur'];} else { $daycur = 0;}
if(!empty($_POST['nightcur'])) {$year = $_POST['nightcur'];} else { $nightcur = 0;}
???
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
27.08.2016, 10:28
В PHP не жёсткой типизации, поэтому это можете убрать. Строки сами в числа преобразуются при математических рассчётах.
PHP
1
2
3
4
5
6
7
8
9
10
11
//задаём типы переменных
settype($normv, "float");
settype($socv, "float");
settype($daycur, "integer");
settype ($nightcur, "integer");
settype ($dayprev, "integer");
settype ($nightprev, "integer");
settype ($d1, "integer");
settype ($n1, "integer");
settype ($sum, "integer");
settype ($sum2, "integer");
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13440 / 7534 / 829
Регистрация: 09.09.2009
Сообщений: 29,554
27.08.2016, 10:53
короче, у вас там с переменными что-то было напутано, включая nightcur...
вот кусок, с которым все хорошо:
PHP
1
2
3
4
5
6
7
8
    if(!empty($_POST['year'])) {$year = $_POST['year'];} else { $year = 0;} 
    if(!empty($_POST['month'])) {$month = $_POST['month'];} else { $month = 0;} 
    if(!empty($_POST['daycur'])) {$daycur = $_POST['daycur'];} else { $daycur = 0;} 
    if(!empty($_POST['dayprev'])) {$dayprev = $_POST['dayprev'];} else { $dayprev = 0;} 
    if(!empty($_POST['nightprev'])) {$nightprev = $_POST['nightprev'];} else { $nightprev = 0;} 
    if(!empty($_POST['nightcur'])) { $nightcur = $_POST['nightcur'];} else { $nightcur = 0;}
    $d1 = $daycur - $dayprev;
    $n1 = $nightcur - $nightprev;
и вот такой получается результат:
0
 Аватар для caesarnn
57 / 57 / 18
Регистрация: 22.05.2015
Сообщений: 607
27.08.2016, 12:21  [ТС]
Para bellum, если убрать жёсткую типизацию, то в таком случае у меня сумма не вычисляется, а выводится как "d1 +n1"

Добавлено через 5 минут
И появляются ошибки:
Notice: Undefined variable: daycur in /home/d/test/public_html/el2.php on line 25 Notice: Undefined variable: nightcur in /home/d/test/public_html/el2.php on line 26 d1= (-5575)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.08.2016, 12:21
Помогаю со студенческими работами здесь

Ошибка Undefined index: query
выпадают две такие ошибки не могу понять что не так в коде Undefined index: path = , Undefined index: query = function...

Ошибка - Notice: Undefined index
Приветствую:) есть форма для регистрации и авторизации. Регистрация работает, а вот с авторизацией проблемка небольшая, выдает ошибки,...

Ошибка Undefined index: key in
Помогите пожл убрать ошибку: PHP Notice: Undefined index: key in /zakazform/php/go.php on line 38 Перенес сайт на https...

Ошибка Undefined index: text
Добрый день, ребята. Помогите решить проблему. Скопировал сайт и базу и поставил 2 копии на одном хосте. одна копия работает, вторая вот...

Ошибка Notice: Undefined index
Здравствуйте. Возникла проблема с работой сессии. На последний сборке денвера все работает, а на nginx+php+mysql - проблемы, выдает ошибку:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru