Войти

Показать полную графическую версию : [решено] Тэг <?php создает лишние пробелы


korableg
18-04-2012, 16:28
Объяснять не буду, просто скриншоты скину, почему так происходит объясните?

http://s019.radikal.ru/i642/1204/60/15e712ebfbcb.png

вот содержимое кода после <div class="table">


<div class="table">
<?php
include 'config.php';
$order = 'id';
if(@$_GET['order'] == 'firstname') $order = 'firstname';
if(@$_GET['order'] == 'secondname') $order = 'secondname';
if(@$_GET['order'] == 'thirdname') $order = 'thirdname';
if(@$_GET['order'] == 'birthday') $order = 'birthday';
if(@$_GET['order'] == 'adress') $order = 'adress';
if(@$_GET['order'] == 'phone') $order = 'phone';
if(@$_GET['order'] == 'category') $order = 'category';
if(@$_GET['order'] == 'id') $order = 'id';
if(@$_GET['add'] == 'desc') {
$desc = 'DESC';
$add = '';
}
else {
$desc = '';
$add = 'desc';
};
$query="SELECT * FROM pensioners ORDER BY $order $desc";
$result = mysql_query($query, $dbcnx);
if(mysql_num_rows($result) != 0) {
$key = true;
echo '
<table class="databasetables" width=100%>
<thead bgcolor="#DDDDDD">
<tr>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=id&add='.$add.'">№</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=firstname&add='.$add.'">Фамилия</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=secondname&add='.$add.'">Имя</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=thirdname&add='.$add.'">Отчество</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=birthday&add='.$add.'">Дата рождения</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=adress&add='.$add.'">Адрес</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=phone&add='.$add.'">Телефон</a></b></td>
<td valign="middle" align="center"><b><a class="linktable" href="table.php?order=category&add='.$add.'">Категория</a></b></td>
</tr>
</thead>
<tbody>';
while($rows = mysql_fetch_array($result, MYSQL_ASSOC)) {
if ($key == true) {
echo "<tr bgcolor=\"#FFFFFF\" onMouseOver=\"this.style.backgroundColor='#a2ffbc';\" onMouseOut=\"this.style.backgroundColor='#FFFFFF'\" onclick=\"location.href='card.php?id=".$rows['id']."'\">";
$key = false;
}
else {
echo "<tr bgcolor=\"#DDDDDD\" onMouseOver=\"this.style.backgroundColor='#a2ffbc';\" onMouseOut=\"this.style.backgroundColor='#DDDDDD'\" onclick=\"location.href='card.php?id=".$rows['id']."'\">";
$key = true;
};
echo ('<td valign="middle">'.$rows['id'].'</td>');
echo ('<td valign="middle">'.$rows['firstname'].'</td><td>'.$rows['secondname'].'</td><td>'.$rows['thirdname'].'</td>');
echo ('<td valign="middle">'.$rows['birthday'].'</td>');
echo ('<td valign="middle">'.$rows['adress'].'</td>');
echo ('<td valign="middle">'.$rows['phone'].'</td>');
switch ($rows['category']) {
case 0:
echo ('<td valign="middle">Категория не указана</td>');
break;
case 1:
echo ('<td valign="middle">Ветеран труда</td>');
break;
case 2:
echo ('<td valign="middle">Труженик тыла</td>');
break;
case 3:
echo ('<td valign="middle">Инвалид 2 группы</td>');
break;
case 4:
echo ('<td valign="middle">Инвалид 3 группы</td>');
break;
};
};
mysql_close();
}
else echo '<p align="center"><b>База данных пуста</b></p>';
?>


я заметил что такая ерунда везде где используется вставка <?php

korableg
18-04-2012, 17:04
нашел что создает пробелы строка include 'config.php' почему она создает понять немогу(

Sham
18-04-2012, 20:21
на скрине - отображение DOM в браузере Chrome, не сырой вывод. Проверьте через view-source:.
Все символы, что вне php-тегов, выводятся напрямую, включая пробельные символы и переносы.

korableg
19-04-2012, 06:47
Я понял в чем причина, кого заинтересует объясняю. Файл конфигурации соединения с MySQL нужно сохранять в формате UTF8 без BOM, потому что в формате UTF8 в начале файла находится шапка определяющая формат.




© OSzone.net 2001-2012