будет ли иметь php-код перед тем, как doctype заставит браузер перейти в режим причуд? - PullRequest
4 голосов
/ 23 июня 2011

Как уже обсуждалось в одном из постов здесь;был кто-то, кто динамически прикреплял код javacript над объявлением doctype, и затем он заставлял свой браузер переходить в режим причуд ... В настоящее время я нахожусь в том же состоянии, только в моем случае я имею дело с фрагментом кода PHP ниже, который для вставки над типом документа, иначе я получу ошибку PHP "пробел".

<?php session_start();
if(!session_is_registered("reg")){
    header("location:page1.php");
}?>
<!DOCTYPE html>

Так перевести ли мой браузер в режим причуд?Если это так, есть ли обходной путь?ценим любую помощь / предложение.спасибо.

Ответы [ 4 ]

4 голосов
/ 23 июня 2011

Нет.PHP-код обрабатывается до того, как браузер его использует.Просто убедитесь, что вы не отправляете какие-либо завершающие символы после вашего PHP или что-либо другое.

2 голосов
/ 23 июня 2011

Вы можете иметь PHP до doctype, PHP не будет существовать, когда это действительно имеет значение.Если у вас появляется пробел, просто переформатируйте doctype сразу после закрытия ?>.

<?php

  $var = 'foo';

?><!DOCTYPE html>

Пока вы ничего не выводите, браузер никогда даже не узнаетДо начала DOCTYPE был PHP, и то, чего не знает браузер, не повредит;)

1 голос
/ 23 июня 2011

Нет, потому что код php никогда не печатается. Чтобы проверить это, щелкните правой кнопкой мыши на странице и проверьте фактический сгенерированный HTML-код для этой страницы. Javascript отличается тем, что на самом деле печатается.

1 голос
/ 23 июня 2011

Помещение типа документа на одной строке может помочь:

<?php session_start();
if(!session_is_registered("reg")){
    header("location:page1.php");
    die(); // presumably you want this
}?><!DOCTYPE html>
...