Почему мой комментарий с <BR>заставляет мой код странно отображаться в браузере с PHP? - PullRequest
2 голосов
/ 28 марта 2009

С каких пор это сделали:

//echo "[$sql][$result][$rows][$e]<BR>";

вызвать ошибку? Код, следующий за этим комментарием, выводится как источник в браузере! Имейте в виду, я использую php ежедневно, я никогда не видел этого раньше! Я портирую старое php-приложение из старой коробки Win2k на новый сервер Windoze 2003 - apache 2.2, mysql 5.1.32, php 5.2.9, и приложение бомбит везде, потому что везде есть закомментированный код. Есть ли какие-то переключатели, чтобы он не был так чувствителен к комментариям? Я знаю //, за которым следует ?>, тогда код сломается, когда ?> завершит работу php, но BR-теги? Конечно, нет.

Подробнее: Кодовый фрагмент -

if ($condition){
  // do stuff
} else {
  $sql="select * from person where percode='$person'";
  $result=mysql_db_query($db,$sql,$conn);
  @$rows=mysql_num_rows($result);
  $e=mysql_errno()." ".mysql_error();
  //echo "[$sql][$result][$rows][$e]<br>";
  $perfname=mysql_result($result,0,"perfname");
  $persname=mysql_result($result,0,"persname");
  $peraddr1=mysql_result($result,0,"peraddr1");
}
?>

Код до комментария работает нормально. Код после комментария до?> Вырвался в браузер. После этого HTML-дисплей в порядке. Удалите комментарий (или даже только <и> вокруг BR, чтобы код работал нормально.

1 Ответ

3 голосов
/ 28 марта 2009

Вы можете отключить параметр short open tag в файле php.ini нового сервера, на который вы перемещаетесь. Если этот параметр отключен, все ваши теги <? игнорируются и только код между полный

Теги

<?php и ?> анализируются как код PHP. Посмотрите, выключен ли этот параметр и исправляет ли его включение.

Если нет, проверьте, не ошиблись ли вы '?> где-либо перед комментариями. Также поможет совместное использование полного блока кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...