Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158

Обработка ошибок

15.03.2018, 21:06. Показов 794. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите сделать обработку ошибок,если поиск не дал результатов или поля не заполнены

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form id="form_1"  name="form_1" method="post">
                <div> <span class="left">Откуда:</span>
                   <input id="otkuda" type="text" name="otkuda" class="input"  autofocus required /> 
                    </div>
                 
                  <div> <span class="left">Куда:</span>
                    <input id="kuda" type="text" name="kuda" class="input" autofocus required  />
                  </div>
                  <div> <span class="left">Дата:</span>
                    <input id="data" type="date" name="data"  max="2020-01-01" min="2018-02-15" class="input" autofocus required  />
                 </div>
                  <div class="poz">
                  <button name="button" class="knopka2" type="button" id="button">Найти поезд</button>
                 </div>  
              </form>
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
<?php       
$dbc = mysqli_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
 
  $otkuda = $_POST['otkuda'];
  $kuda = $_POST['kuda'];
  $data = $_POST['data'];
  $nomer_poezda = $_POST['nomer_poezda'];
  $Otpravlenie = $_POST['Otpravlenie'];
  $pribitie = $_POST['pribitie'];
  $marshrut = $_POST['marshrut'];
  $id_poezda = $_GET['id_poezda'];
  if (isset($_GET['id_poezda'])) {$id_poezda = $_GET['id_poezda'];}
 
 
  echo 'По  запросу:  '; echo 'От станции: ' . $otkuda; echo '; До станции: ' . $kuda; echo '; На дату: ' . $data; echo '; ';
$query=("select * from `table1` WHERE (`otkuda`= '$otkuda') and (`kuda`= '$kuda') and (`data`='$data')");
$result = mysqli_query($dbc, $query)
    or die('Ошибка выполнения запроса.');
 
     $row_cnt = mysqli_num_rows($result);
printf("Найдено: %d запись(си).\n", $row_cnt);
 
  mysqli_close($dbc);
 
 $myrow=mysqli_fetch_array($result);
echo "<table id='table1' class='table_blur'></td> <th>Номер поезда</th> <th>Маршрут</th>
     <th>Прибытие</th> <th>Отправление</th><th>Билетов</th><th>Выбрать вагон</th></tr> ";
     do 
     {
         echo "<tr> <td>".$myrow['nomer_poezda']."</td>";
         echo "<td >".$myrow['marshrut']."</td>";
         echo "<td>".$myrow['pribitie']."</td>";
         echo "<td>".$myrow['Otpravlenie']."</td>";
         echo "<td>".$myrow['']."</td>";
         echo "<td>" . '<button type="button" id="button2" id="button'.$myrow['id_poezda']  . '" class="knopka1" data-poezd="' . $myrow['id_poezda'] . '">Выбрать вагон</button>' . "</td> </tr>";
 
         
     }
     while($myrow=mysqli_fetch_array($result));
     
     echo "</table>" 
 
?>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.03.2018, 21:06
Ответы с готовыми решениями:

Обработка ошибок
Подскажите как выводить ошибки в какой либо форме при неверном заполнении полей!Нужно чтобы ошибка выводилась в строго указанном месте, а...

Обработка ошибок try catch
Как сделать, что бы не показывало, саму ошибку? Сейчас показывает Warning: mkdir(): Not a directory try { if(!$userPath...

Set_time_limit - обработка ошибок
Друзья! Заинтересовал вот такой вопрос: Можно ли как-то вместо стандартной ошибки о превышении времени работы php скрипта, написать свою...

4
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
15.03.2018, 22:38
Например по поиску результатов можно на стороне сервера:

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
$out = ['count' => 0];
 
$outputTable = '';
 
if($row_cnt > 0){
   $myrow = mysqli_fetch_array($result);
$outputTable .= "<table id='table1' class='table_blur'></td> <th>Номер поезда</th> <th>Маршрут</th>
     <th>Прибытие</th> <th>Отправление</th><th>Билетов</th><th>Выбрать вагон</th></tr> ";
     do 
     {
         $outputTable .= "<tr> <td>".$myrow['nomer_poezda']."</td>";
         $outputTable .= "<td >".$myrow['marshrut']."</td>";
         $outputTable .= "<td>".$myrow['pribitie']."</td>";
         $outputTable .= "<td>".$myrow['Otpravlenie']."</td>";
         $outputTable .= "<td>".$myrow['']."</td>";
         $outputTable .= "<td>" . '<button type="button" id="button2" id="button'.$myrow['id_poezda']  . '" class="knopka1" data-poezd="' . $myrow['id_poezda'] . '">Выбрать вагон</button>' . "</td> </tr>";
 
         
     }
     while($myrow=mysqli_fetch_array($result));
     
     $outputTable .= "</table>" 
 
     $out = ['count' => $row_cnt, 'table' => $outputTable];
}
 
echo json_decode($out);
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$('.knopka1').click(function(){
  $.ajax({
     type: "POST",
     url: 'searchh.php',
     data: {poezd_id: $(this).data('poezd')}, //.attr('data-poezd')
     dataType: "json",
     success: function(response){
       if(response.count > 0){
           $('#tablica2').html(response.table);
       } else {
           $('#tablica2').html('<h1>Not Found!</h1>')
       }
     },
  });
});
обработка полей, либо тоже на сервере или на клиенте, а лучше и там и там
PHP
1
if(isset($_POST['otkuda']) && ...){}
JavaScript
1
if($('#identity').val().length == 0) // if($('#identity').val() == "")){
или так:
HTML5
1
2
3
4
5
6
7
8
9
10
<button id="clk">
click
</button>
 
<form id="formId">
<input id="i1" name="i1" type="text">
<input id="i2" name="i2" type="text">
<input id="i3" name="i3" type="text">
<input id="i4" name="i4" type="text">
</form>
CSS
1
2
3
.error {
  border-color: red;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
$('#clk').click(function(){
 
$('#formId *').filter(':input').each(function(index, elem) {
    if($(elem).val() == ''){
       $(elem).focus().addClass('error');
    } else {
       $(elem).removeClass('error');
    }
}); 
 
});
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
16.03.2018, 08:41  [ТС]
По поиску результатов,выдает ошибку: Parse error: syntax error, unexpected '$out' (T_VARIABLE)
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
 <?php      
$dbc = mysqli_connect('localhost', 'root', '', 'db1')
    or die('Ошибка подключения к БД');
 
  $otkuda = $_POST['otkuda'];
  $kuda = $_POST['kuda'];
  $data = $_POST['data'];
  $nomer_poezda = $_POST['nomer_poezda'];
  $Otpravlenie = $_POST['Otpravlenie'];
  $pribitie = $_POST['pribitie'];
  $marshrut = $_POST['marshrut'];
  $id_poezda = $_GET['id_poezda'];
  if (isset($_GET['id_poezda'])) {$id_poezda = $_GET['id_poezda'];}
 
 
  echo 'По  запросу:  '; echo 'От станции: ' . $otkuda; echo '; До станции: ' . $kuda; echo '; На дату: ' . $data; echo '; ';
$query=("select * from `table1` WHERE (`otkuda`= '$otkuda') and (`kuda`= '$kuda') and (`data`='$data')");
$result = mysqli_query($dbc, $query)
    or die('Ошибка выполнения запроса.');
 
     $row_cnt = mysqli_num_rows($result);
printf("Найдено: %d запись(си).\n", $row_cnt);
 
  mysqli_close($dbc);
 
 $out = ['count' => 0];
 
$outputTable = '';
 
if($row_cnt > 0){
   $myrow = mysqli_fetch_array($result);
$outputTable .= "<table id='table1' class='table_blur'></td> <th>Номер поезда</th> <th>Маршрут</th>
     <th>Прибытие</th> <th>Отправление</th><th>Билетов</th><th>Выбрать вагон</th></tr> ";
     do 
     {
         $outputTable .= "<tr> <td>".$myrow['nomer_poezda']."</td>";
         $outputTable .= "<td >".$myrow['marshrut']."</td>";
         $outputTable .= "<td>".$myrow['pribitie']."</td>";
         $outputTable .= "<td>".$myrow['Otpravlenie']."</td>";
         $outputTable .= "<td>".$myrow['']."</td>";
         $outputTable .= "<td>" . '<button type="button" id="button2" id="button'.$myrow['id_poezda']  . '" class="knopka1" data-poezd="' . $myrow['id_poezda'] . '">Выбрать вагон</button>' . "</td> </tr>";
 
         
     }
     while($myrow=mysqli_fetch_array($result));
     
     $outputTable .= "</table>" 
 
     $out = ['count' => $row_cnt, 'table' => $outputTable];
}
 
echo json_decode($out);
 
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(function() {
 $("#button").click(function() {
  $.ajax({
     type: "POST",
     url: 'search.php',
     data: $('#form_1').serialize(),
     success: function(response){
       if(response.count > 0){
           $('#tablica1').html(response.table);
       } else {
           $('#tablica1').html('<h1>Not Found!</h1>')
       }
     },
  });
});
Добавлено через 6 минут
Не хватало ";" тут
PHP
1
$outputTable .= "</table>"
Но теперь другая ошибка:Warning: json_decode() expects parameter 1 to be string, array given
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
16.03.2018, 09:03
Цитата Сообщение от kikaa Посмотреть сообщение
echo json_decode($out);
json_encode?
0
 Аватар для kikaa
0 / 0 / 0
Регистрация: 24.04.2017
Сообщений: 158
16.03.2018, 09:05  [ТС]
Тогда высвечивает ерунду
Миниатюры
Обработка ошибок  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2018, 09:05
Помогаю со студенческими работами здесь

Вывод,Обработка,Логирование Ошибок
Как сделать так что бы в случае возникновения ошибок на странице они высвечивались... Для начала желательно что бы все возникающие ошибки...

Обработка всех ошибок в одном месте
Если ли в PHP возможность сделать следующее: 1) Проверить, происходили ли какие нибудь ошибки в процессе исполнения скрипта 2) Если...

Обработка ошибок при SOAP запросе
Есть функция: function getQuerySoap ($aArray, $sURL) { $sResult = array(); $sClient = new SoapClient ($sURL); $sResult =...

Обработка ошибок при открытии файлов
Подскажите как правильно обрабатывать файлы с обработкой ошибок? Такой способ годится? $files=fopen(....) if(!$files){ } Читал...

обработка ошибок
Привет! Я реализовываю вывод сообщений пользователю через ajax, и никак не пойму, как это сделать красиво. Есть код, в общем простой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru