Я задал вопрос, похожий на этот, несколько дней назад, но никто не смог мне ответить, кроме как предложить мне обратиться в службу поддержки моего хостинг-провайдера. Они не приблизились к решению проблемы и говорят, что это проблема с моим кодом.
Факты таковы:
— HTML полностью действителен
— CSS полностью действителен
— PHP считается синтаксически правильным
— На странице нет JavaScript
— Требуемый файл находится в требовании
— Ошибки не регистрируются
— Это не проблема чувствительности к регистру
— Это работает на моем локальном хосте (Ubuntu 12.04) и Raspberry Pi, но не на серверах моего внешнего хостинг-провайдера
— При отправке из Curl файл включается и все работает идеально, но из браузера ничего не происходит
Код:
Требование небольшого внешнего файла:
if((require 'contactFunctions.php') == 'OK')
echo "Included";
else
print_r(error_get_last());
Вышеприведенные переходы к другому (проверено с простой строкой ошибок), но не выводятся и ошибки, так как ни один не сообщает. Ведение журнала ошибок работает нормально (проверяется на отсутствие точки с запятой или неправильное имя файла) и обычно выдает отчет.
Если заявление для запуска кода, если форма была отправлена
if(isset($_POST['submit']))
форма
<form id="enquiryForm" method="post" action="contact.php">
Кнопка «Отправить»
<input type="submit" name="submit" value="Submit Enquiry" />
Любые идеи относительно того, что происходит с этим, были бы чрезвычайно признательны. Я спрашивал и исследовал около трех дней, и я все еще не приблизился к решению этой проблемы. Код работал отлично в течение нескольких месяцев, вплоть до трех дней назад, когда он просто перестал работать на серверах моего хоста.
Проблема решена.
Недавно член моей команды внедрил файл .htaccess на веб-сайте, но не смог обновить атрибут действия формы с «contact.php» на «contact»
Это было причиной странного поведения сайта и того, что отправка работала только из curl, который отправлял запрос напрямую контакту.
Проверка вашего требования неверна. Пожалуйста, попробуйте следующий:
<?php
try {
if (!@include_once('contactFunctions.php'))
// @ will suppress warnings
// use include or include_once for checking
throw new Exception ('contactFunctions.php does not exist');
else
require_once('contactFunctions.php');
// you can change to require or include
} catch(Exception $e) {
// catching error
print_r($e);
// or your variant
print_r(error_get_last());
}
echo "Done";
?>
Если выписка для проверки подачи выглядит хорошо.