2015-03-26 3 views
0

Для http://www.filmiclub.com/, я получаю эту ошибку в W3C валидатор:W3C валидатор: «голова Элемент отсутствует обязательный экземпляр дочернего элемента заголовка»

Элемент head отсутствует обязательный экземпляр дочернего элемента title

Но когда я скопирую HTML-код и выполняю проверку с помощью «Validate by direct input», HTML-код 100% без ошибок и ошибки проверки не существует.

Вы знаете, почему PHP сгенерировал HTML с этой ошибкой?

+1

Я не могу воспроизвести проблему, когда я вхожу в URI в «Validate по URI» коробка. – Dai

+0

Я проверил проверку по URI. Я получаю следующую ошибку. Я вижу 23 ошибки, 69 предупреждений. Корневым элементом является div вместо html. Mine - это код html5. но валидатор обнаруживает как HTML 4.01 Transitional. Любая идея почему? –

ответ

0

Выберите вариант «Показать источник» и нажмите «Повторить», вы увидите причину. ваш PHP-скрипт сбой при получении запроса от валидатора, поэтому PHP отправляет свой собственный ответ сообщения об ошибке вместо вашего веб-сайта.

<h4>A PHP Error was encountered</h4> 
<p>Severity: Notice</p> 
<p>Message: Undefined index: HTTP_ACCEPT</p> 
<p>Filename: helpers/common_helper.php</p> 
<p>Line Number: 7328</p> 

Видимо валидатор от W3C посылает запрос HTTP, который не иметь заголовок Accept:, но ваш PHP код ожидает заголовок HTTP_ACCEPT присутствовать и не потому, что он отсутствует.

Изменение PHP код для обнаружения присутствия (или отсутствия) Accept заголовок, например, так:

if(isset($_SERVER['HTTP_ACCEPT'])) { 
    // code here 
} 
+0

Большое спасибо Даю. Я занимаюсь этим вопросом последние 2 дня. Моя страница на 100% действительна сейчас. Большое спасибо !!!! –