Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
1

PHP код не выполняется и не отображает ошибок

21.09.2017, 15:29. Показов 1770. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Код PHP, к которому обращаются через ajax, не выполняется.
Теперь нужно посмотреть ошибки в коде, но как их увидеть, если к нему обращаются с помощью ajax?
Где можно посмотреть ошибки кода PHP, если их нет в логе сервера?

Подскажите новичку, какие есть программы, и что может помочь?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2017, 15:29
Ответы с готовыми решениями:

Некорректно отображает php код
начал изучать php, написал простой код: <html> <head> <title>Моя первая PHP-страница</title>...

Php код не выполняется
Здравствйте, проблема такая: не выполняется php код, а именно в браузере отображается php код, как...

Не выполняется PHP-код
Добрый вечер. Только начал изучать php и сразу столкнулся с одной проблемой: почему-то все мои php...

Не выполняется PHP код
Я новенький в php. Тут не все так просто, как в JS, который требует лишь блокнота и браузера. с php...

17
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
21.09.2017, 15:41 2
log_errors (должно быть on) и error_log (путь к файлу с логами).
0
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
21.09.2017, 15:45 3
1) В браузере в консоли разработчика. f12 -> network -> XHR. Там будут ваши ajax запросы.
2) Содержимое ajax ответа можно вывести на экран. Через alert например.
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
21.09.2017, 17:08 4
Сякс запрос ничем не отличается от "обычного" запроса, поэтому можно в браузере открыть страницу с нужным адресом, можно посылать запрос из консоли исрользуя curl, и как отметили выше можно воспользоваться инструментами разработчика в браузере
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
22.09.2017, 15:29  [ТС] 5
Открывала саму страницу (имеете ввиду скрипта?), но php страница, к которой обращается ajax внутри других страниц, которые можно открыть только введя логин и пароль, необходимо подтверждение авторизации..и открывается только начальная страница сайта, то есть я не могу открыть саму php страницу кода...)

Добавлено через 4 минуты
Jewbacabra, А могу я обратиться к вам, чтобы помогли доделать скрипт?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
22.09.2017, 21:00 6
Цитата Сообщение от Olganja Посмотреть сообщение
А могу я обратиться к вам, чтобы помогли доделать скрипт?
Можно создать тему с вопросом, обратившись к всем пользователям данного форума
Цитата Сообщение от Olganja Посмотреть сообщение
Открывала саму страницу (имеете ввиду скрипта?)
Я имею ввиду сделать http-запрос, какой конкретно файл будет точкой входа не важно.
Цитата Сообщение от Olganja Посмотреть сообщение
но php страница, к которой обращается ajax внутри других страниц, которые можно открыть только введя логин и пароль, необходимо подтверждение авторизации..и открывается только начальная страница
Авторизация каким образом сделана. Но в любом случае можно отслеживать аякс запросы в инструментах разработчика брузера.
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
23.09.2017, 14:31  [ТС] 7
Jewbacabra,
Цитата Сообщение от Jewbacabra Посмотреть сообщение
Можно создать тему с вопросом, обратившись к всем пользователям данного форума
Ого, даже так можно?
Я имела ввиду лично у вас узнать, например, обменяться контактами? помочь за оплату.

Цитата Сообщение от Jewbacabra Посмотреть сообщение
Авторизация каким образом сделана. Но в любом случае можно отслеживать аякс запросы в инструментах разработчика брузера.
Еще не разобралась. Это Http запрос?
http://rubl.pro/?q=directimpex... before.php

Добавляются символы (простите за такое примитивное объяснение) ?q= и происходит репост на общий сайт. Сам скрипт по-моему не открывается.

Добавлено через 43 секунды
Jewbacabra, Могла закрасться ошибка, и я не знаю, где ее искать
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
23.09.2017, 20:00 8
Цитата Сообщение от Olganja Посмотреть сообщение
Могла закрасться ошибка, и я не знаю, где ее искать
Начать нужно с открытия инструментов разработчика (F12) и смотреть есть ли ошибки js на вкладке console и отправляется ли аякс запрос и если отправляется то какой приходит ответ во вкладке network
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
25.09.2017, 09:32  [ТС] 9
Jewbacabra, ответ не приходит, вернее, приходит ответ ввиде страницы html, с которой был отправлен запрос.
А в подобном запросе, подобного php кода, но сделанного до меня - приходит ответ с данными от аякс. Снова не могу проверить ошибки.
Но их можно вывести через alert?
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
25.09.2017, 13:02 10
Olganja, т.е ответ на аякс запрос такой же как и обратиться напрямую из браузера? Ну остается только одно - искать причину почему возвращается html вместо нужных данных http://phpfaq.ru/debug
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
25.09.2017, 18:22  [ТС] 11
Jewbacabra, нет, ответа вообще нет никакого. ответ - исходная страница, на которой размещена кнопка, с обращением по аяксу

Добавлено через 1 минуту
Jewbacabra, спасибо) попробую разобраться

Добавлено через 36 секунд
Jewbacabra, еще раз, попытка - а вас можно привлечь к непосредственной помощи?)
0
15 / 15 / 7
Регистрация: 17.12.2016
Сообщений: 172
25.09.2017, 18:41 12
Olganja, не знаю, помогу вам или нет, как я отлавливаю ошибку аякс запроса и решаю что делать, покажу на примере

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//Собираем необходимые данные
let set = {
    value1: "Какое-то значение 1",
    value2: "Какое-то значение 2"
}
//Далее я создаю переменную с url
//Если единая точка входа, то указываете адрес как в роутере
let url = host + "/адрес/из/роутера";
$.ajax({
    type: "POST",
    url: url,
    data: set,
    success: function(res) {
        console.log(res);
        //Далее открываете консоль в браузере и смотрите что вернулось в запросе
    }
});
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
26.09.2017, 13:14 13
Вариант
PHP
1
2
3
4
5
6
7
ini_set('error_reporting', E_ERROR);
register_shutdown_function("fatal_handler");
function fatal_handler() {
    $error = error_get_last();
    echo("<pre>");
    print_r($error);
}
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
03.10.2017, 10:53  [ТС] 14
serj0110,
Объясните, в этом коде выводит data?


Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
success: function (data, textStatus) {
            if (
                1 == data.intIsErr
            ) {
                $('#tdImp_'+(data.strLoginRet)+'_' + (data.idCampaignRet)).html('Ошибка.');
                alert(data.strErrTxt);
 
 
                    console.log(data);
                    //Далее открываете консоль в браузере и смотрите что вернулось в запросе
 
            } // if
            else {
                $('#tdImp_'+(data.strLoginRet)+'_' + (data.idCampaignRet)).html('<a href="./?s=administration&s2=download&fname=' + encodeURIComponent(data.strFileName) + '">обновить</a>');
            } // else
        }, // function
 
        error: function (jqXHR, textStatus, errorThrown) {
            alert('Ошибка.' + textStatus);
            // textStatus
            // jqXHR['responseText']
        }, // function
Добавлено через 15 секунд

Добавлено через 2 минуты
В json отправляются данные, можно ли добавить в эти данные ошибки php?
Сейчас я их смотрю только в среде разработки, и никаким другим образом не могу отлавливать ошибки

PHP
1
2
3
4
5
6
7
8
9
10
11
12
# возвращаем ответ javascript'у
exit (json_encode(array (
 
    'intIsErr' => $intIsErr,
    'strErrTxt' => $strErrTxt,
 
    'strFileName' => $strFileName,
 
    'strLoginRet' => $strLogin,
    'idCampaignRet' => $idCampaign,
 
)));
А ошибка появляется если:
PHP
1
2
3
4
5
6
7
8
9
if (
    ! is_file(FS_ABS_PATH_TO_DOWNLOAD . $strFileName)
) {
    $intIsErr = 1;
    $strErrTxt = 'Не удалось создать файл.';
} # if
else {
    $intIsErr = 0;
} # else
0
15 / 15 / 7
Регистрация: 17.12.2016
Сообщений: 172
03.10.2017, 17:05 15
Цитата Сообщение от Olganja Посмотреть сообщение
Объясните, в этом коде выводит data?
Для этого я и показал что сначала написать console.log(res) чтобы увидеть ошибку до выполнения условий(по другому говоря, ты сможешь определить есть ли ошибка в коде или нет).

И да, чуть не забыл, по моему надо так
PHP
1
2
3
4
5
6
7
8
9
10
11
exit (echo json_encode(array (
 
    'intIsErr' => $intIsErr,
    'strErrTxt' => $strErrTxt,
 
    'strFileName' => $strFileName,
 
    'strLoginRet' => $strLogin,
    'idCampaignRet' => $idCampaign,
 
)));
Миниатюры
PHP код не выполняется и не отображает ошибок  
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
06.10.2017, 13:00  [ТС] 16
Вопрос решился так:
в файл php добавили все связанные файлы с помощью require.
Видимо, из-за этого не подключались токены и не происходила авторизация. А после авторизации, файл стало возможно открыть в браузере и посмотреть ошибки.

И прописали абсолютную ссылку в ajax при нажатии на кнопку. До этого ссылка была вида: ./?s=administration&s2=ajxexportxls

serj0110, Правильно понимаю, что нужна последовательность. Сначала выводить console.log(res)
до условия if, и в моем случае console.log(data)?

Добавлено через 1 минуту
serj0110, в общем решили
0
15 / 15 / 7
Регистрация: 17.12.2016
Сообщений: 172
06.10.2017, 13:23 17
Цитата Сообщение от Olganja Посмотреть сообщение
Сначала выводить console.log(res)
до условия if, и в моем случае console.log(data)?
Верно, просто когда ты выведешь в консоли результат(в твоем случае data), ты сможешь проверить правильно ли выполнился запрос, и уже от полученного результата можно отталкиваться.
0
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 11
11.10.2017, 19:16  [ТС] 18
serj0110, Спасибо
0
11.10.2017, 19:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2017, 19:16
Помогаю со студенческими работами здесь

Не выполняется php код
Здравствуйте! На сервере(не локально) не выполняется php-код, вместо этого весь код выводится на...

Не выполняется PHP код
&lt;!DOCTYPE html&gt; &lt;?php error_reporting(E_ALL); ini_set('display_errors', 1); ...

PHP код не выполняется
Здравствуйте! Создал для теста файл &quot;info.php&quot; с кодом: &lt;?php phpinfo(); ?&gt; В окне...

Не выполняется PHP-код
Всем доброго времени суток, может эта тема всплывала часто на форуме но у меня времени мало а...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru