С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 03.04.2018
Сообщений: 10

Как понять что в php скрипте нет ошибок?

20.08.2018, 10:39. Показов 1298. Ответов 19

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Меня интересует вопрос: Как через js проверить есть ли ошибки в php файле.
К примеру: у меня есть файл page.php и index.html, как из index.html через js проверить есть ли ошибки в php коде в
page.php? Разработчики jQuery AJAX как то решили эту проблему но как?
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.08.2018, 10:39
Ответы с готовыми решениями:

Обход упорядоченного дерева. Не могу понять на что ругается прогорамма... Ошибок вроде как нет...
#include "stdafx.h" #include <iostream> #include <fstream> #include <iomanip> #include <string> #include <vector> #include...

Как понять, что можно называть API, а что нет?
Уважаемые разработчики, помогите вместе разобраться, что можно назвать API, а что нельзя? Мы знаем, что API - это, грубо говоря, набор...

Как понять, что в переменной ничего нет и предупредить ошибку?
Провожу отбор строк на листе автофильтрацией Результаты отбора помещаю в переменную rng Set rng = Range("A2:A" &...

19
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
20.08.2018, 10:42
В общем случае - никак.
php выполняется на сервере, а js - на стророне клиента (в частности, в браузере).
0
0 / 0 / 0
Регистрация: 03.04.2018
Сообщений: 10
20.08.2018, 11:07  [ТС]
А как тогда jQuery AJAX видит что php выполнился успешно?
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
20.08.2018, 17:00
Цитата Сообщение от IvanProgramist Посмотреть сообщение
как из index.html через js проверить есть ли ошибки в php коде
Топорно конечно, может не совсем то что вам нужно, но как вариант попробовать можно:

index.php
Кликните здесь для просмотра всего текста
HTML5
1
2
<div id="qwerty">123456789</div>
<div id="result"></div>

script.js
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
document.getElementById('qwerty').addEventListener('click',()=>{
    ajaxRequest('handler.php','');
},false);
 
function ajaxRequest(url,value){
    let request = new XMLHttpRequest();
    request.open('POST', url, true);
    request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
    request.addEventListener('readystatechange', function() {
        if(request.readyState == 4 && request.status == 200) {
            document.getElementById('result').innerHTML = 'Ответ от сервера: '+this.responseText;
        }
    });
    request.send(value);
}

handler.php
Кликните здесь для просмотра всего текста
PHP
1
echo hello!";    // в этой строке явная ошибка синтаксиса, о чем появится сообщение на странице index.php


Добавлено через 5 минут
IvanProgramist,
Или можно отредактировать файл с отправкой запроса (добавить отлов ошибок):
script.js
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
document.getElementById('qwerty').addEventListener('click',()=>{
    ajaxRequest('noPage.php','');   // задаем несуществующую страницу
},false);
 
function ajaxRequest(url,value){
    let request = new XMLHttpRequest();
    request.open('POST', url, true);
    request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
    request.addEventListener('readystatechange', function() {
        if(request.readyState == 4 && request.status == 200) {
            document.getElementById('result').innerHTML = 'Ответ от сервера: '+this.responseText;
        }
        if(request.status != 200){
            document.getElementById('result').innerHTML = request.status + ': ' + request.statusText;   // эта строка выведет ошибку "404: Not Found" на странице index.php
        } 
    });
    request.send(value);
}
0
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
21.08.2018, 08:10
Цитата Сообщение от IvanProgramist Посмотреть сообщение
А как тогда jQuery AJAX видит что php выполнился успешно?
никак, только косвенно, если не получает данные в нужном формате
Цитата Сообщение от zlojnaxa Посмотреть сообщение
о чем появится сообщение на странице
может ничего не появиться, зависит от настройки сервера
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
21.08.2018, 13:56
Добавлю, что для вывода ошибок в PHP-коде желательно добавить в начало PHP-скрипта следующий код:
PHP
1
2
3
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
И вообще не очень понятно, для чего это нужно. Если для дебага - то можно просто обратиться к скрипту напрямую из браузера. Зачем городить велосипед через JS, привлекая AJAX?
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
22.08.2018, 08:24
Цитата Сообщение от IvanProgramist Посмотреть сообщение
А как тогда jQuery AJAX видит что php выполнился успешно?
Есть такая штука: HTTP Status. Сервер в зависимости от результаты работы серверного скрипта выдаёт правильный код статуса, по нему и определяется успешность выполнения запроса. Короче говоря: 2xx - успешный запрос, 4xx/5xx - не успешный (редиректы 3xx зависит от вашей ситуации, jQuery, например, считает их за провал).
0
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
23.08.2018, 08:40
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Сервер в зависимости от результаты работы серверного скрипта выдаёт правильный код статуса
Так это ответ сервера, он не гарантирует, что "php выполнился успешно"
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
23.08.2018, 08:54
Цитата Сообщение от svs171 Посмотреть сообщение
он не гарантирует, что "php выполнился успешно"

Не по теме:

Как бы статус коды для этого и придумали, а не эти ваши "echo json_encode(['result' => 'uspeshno']);" :pardon:


Успешность выполнения скрипта - это ваша субъективная оценка, как разработчика. Как я понял, ТС спрашивал как jQuery определяет когда на ajax запрос выполнить success, а когда error.
0
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
23.08.2018, 09:05
Цитата Сообщение от j2FunOnly Посмотреть сообщение
Как бы статус коды для этого и придумали
только этот статус сервера, а не результат выполнения скрипта
в случае ошибки php все равно будет возвращен ответ "200 OK"
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
23.08.2018, 09:19
php-скрипт может сам позаботиться о своих ошибках и при необходимости снабдить ответ соответствующим статусом. Если не доходит дело до его выполнения, за него это сделает Web-сервер.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
23.08.2018, 14:22
Цитата Сообщение от svs171 Посмотреть сообщение
в случае ошибки php все равно будет возвращен ответ "200 OK"
А разве не "500 Internal Server Error" по умолчанию?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
23.08.2018, 14:29
Balanaar, он, видимо, о синтаксических и т.п. ошибках говорит.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
23.08.2018, 15:16
Цитата Сообщение от Phantom-84 Посмотреть сообщение
он, видимо, о синтаксических и т.п. ошибках
PHP
1
2
3
//test.php
echo 1
echo 2
Миниатюры
Как понять что в php скрипте нет ошибок?  
0
119 / 116 / 63
Регистрация: 16.09.2016
Сообщений: 354
24.08.2018, 09:06
Balanaar, Ваш пример зависит от настройки конфигурации сервера, по идее должен возвращаться код 200 (с отображением ошибки или пустая страница, в случае подавления ошибок)
imho, если ошибка ситаксиса php "вешает" сервер - конфигурация неправильная.
К тому же, если ситуация смоделирована на конкретную конфигурацию - это не решает задачу в общем случае
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
24.08.2018, 09:22
Balanaar, это частный случай.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
24.08.2018, 10:15
Цитата Сообщение от svs171 Посмотреть сообщение
Ваш пример зависит от настройки конфигурации сервера
В таком случае не стоит категорично утверждать, что
Цитата Сообщение от svs171 Посмотреть сообщение
в случае ошибки php все равно будет возвращен ответ "200 OK"
Я вам привёл контрпример и всё.
Кстати конфиги апача и PHP не трогал. Это конфиг по умолчанию.
И вот по поводу этого
Цитата Сообщение от svs171 Посмотреть сообщение
по идее должен возвращаться код 200
я бы поспорил. Как правильно сказал j2FunOnly, если на сервере возникла ошибка, следует вернуть статус ошибки, а не "200 OK" ['result' => 'oshibka']. Тогда и на ajax-запрос будет корректно вызываться обработчик error без всяких дополнительных обработок ответа.
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
24.08.2018, 11:07
Balanaar, у вас более редкий частный случай по сравнению с упомянутым svs171.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
24.08.2018, 11:14
При чём здесь частные случаи? Вопрос в том, как правильно конфигурировать ответ от сервера: надо ли снабжать ответ статус-кодами 5хх в случае ошибки скрипта?
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
24.08.2018, 11:43
Balanaar, так я об этом еще в сообщении #11 написал. Проблема в том, что никаких "по умолчанию" может не быть, если не инициировать ошибку явно, например путем вызова соответствующей функции.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2018, 11:43
Помогаю со студенческими работами здесь

Постоянно перезагружается смартфон, логики нет, как понять что не так?
Постоянно ребутится Asus ZenFone Max Pro M1 ZB602KL 4/64, обычно когда держу его в руках, хотя и в кармане тоже бывает, чувствую вибрацию,...

Приложение создано, ошибок нет, устанавливается но запустить я его не могу - нет иконки. Что я сделал не так?
Код: package ru.wert1go.equation; import android.app.Activity; import android.os.Bundle; import android.text.Html; import...

Полный ДАМП ошибок. Не могу понять что делать
Приветствую форумчане. Помогите с решением ошибок. Дамп прилагается. Не знаю как читать его и как решить ошибки. Синий экран одолел...

Как выполнить php скрипт в другом php скрипте?
Всем привет. Не могу реализовать выполнение скрипта после возврата с яндекс денег. Сделал форму с данными после чего данные формы...

Студент. Хочу понять что такое ассемблер, как на нем писать, как его понять и с чего начать
Ребят, хочу понять ассемблер. Проблема в том, что я студент, пары микропроцессоров уже прошли, но я так и не понял как писать на нем. Хочу...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru