|
|
|
| Всем привет!
Вот столкнулся с такой проблемой, у меня на одной машине где версия PHP 5.1 работает всё нормально, а на работе, где версия PHP 5.2.0(dev) как-то криво.
Вот код скрипта:
<?php
include 'config.php';
session_start();
$login = $_SESSION['login'];
$pass = $_SESSION['pass'];
// проверяем логин и пароль из переменных сессии на наличие в базе данных
$res = mssql_query('SELECT * FROM USERS WHERE login="'.$login.'" and pass="'.$pass.'"');
$num = mssql_num_rows($res);
if ($num == 0)
{
echo "<b class=text>";
echo 'Ошибка авторизации!';
echo "</b>";
header('location: ../index.php');
exit;
}
$TITLE= $titlepage;
$titlepage='Управление БД ';
$main='../index.php';
$kiev='../kiev.php';
$dnepr='../dnepr.php';
$odessa='../odessa.php';
$lvov='../lvov.php';
include '../header.php';
?>
<table border="0" width="770">
<tr><td><br>
<?php
// Если параметр id_parent не установлен присваиваем ему значение 0
if(!isset($_GET['id_parent'])) $_GET['id_parent'] = 0;
// Формируем и выполняем SQL-запрос на извлечение информации
// о текущем каталоге.
$query = "SELECT * FROM catalog
WHERE id_catalog=".$_GET['id_parent'];
$ctgc = mssql_query($query);
// Если запрос выполнен удачно и текущий каталог не является корневым
// осуществляем вывод названия каталога ссылки на уровень выше
if ($ctgc and $_GET['id_parent'] != 0)
{
$catc = mssql_fetch_array($ctgc);
// Выводим название каталога
echo "<h1 class='z2'>Каталог: ".$catc['name']."</h1><br>";
// Возврат на уровень выше
echo "<a class=menu href=index.php?id_parent=".$catc['id_parent'].">Верхний уровень</a><br>";
}
// Выводим ссылку для добавления нового подкаталога
echo "<a href=addsiteform.php?id_catalog=".$_GET['id_parent']."&id_parent=".$_GET['id_parent'].">Добавить подкаталог</a>";
?>
<table class=bodytable width=100% border="1" cellpadding=0 cellspacing=0 bordercolorlight=gray bordercolordark=white>
<?
// Выводим таблицу подкаталогов текущего каталога
if(isset($_GET['id_parent']))
{
// Формируем и выполняем SQL-запрос на вывод содержимого каталогов
// данного уровня
$query = "SELECT * FROM CATALOG
WHERE id_parent=".$_GET['id_parent']."
ORDER BY pos";
$ctg = mssql_query($query);
if(!$ctg) puterror("Ошибка при обращении к каталогу");
// Выводим заголовок таблицы каталогов
echo "<tr class='tableheadercat'>
<td align=center><p class=help>Название</td>
<td align=center><p class=help>Описание</td>
<td width=20 align=center><p class=help>Поз.</td>
<td width=50><p class=help>Действия</td>
</tr>";
// В цикле выводим подкаталоги текущего каталога
while($cat = mssql_fetch_array($ctg))
{
// Выясняем скрыт каталог или нет, согласно этому выводим
// соответствующую управляющую ссылку
if($cat['hide'] == 'hide')
{
$strhide = "<a href=showcat.php?id_catalog=".$cat['id_catalog']."&id_parent=".$_GET['id_parent'].">Отобразить</a>";
}
else
{
$strhide = "<a href=hidecat.php?id_catalog=".$cat['id_catalog']."&id_parent=".$_GET['id_parent'].">Скрыть</a>";
}
// Выводим список каталогов
echo "<tr>
<td><p><a href=index.php?id_parent=".$cat['id_catalog'].">".$cat['name']."</a></td>
<td><p> ".$cat['description']."</td>
<td><p>".$cat['pos']."</td>
<td><p>$strhide<br>
<a href=editcatform.php?id_catalog=".$cat['id_catalog']."&id_parent=".$_GET['id_parent'].">Исправить</a><br>
<a href=delcat.php?id_catalog=".$cat['id_catalog']."&id_parent=".$_GET['id_parent'].">Удалить</a></td>
</tr>";
}
}
echo "</table>";
?>
</td></tr>
<tr><td>
<?
// Здесь заканчивается вывод подкаталогов текущего каталога.
// Выводим позиции
include "site.php";
?>
</td></tr></table>
|
Так вот после вывода этого скрипта у меня на странице отображается в таблице следующее:
Добавить подкаталог Отобразить"; } else { $strhide = "Скрыть"; } // Выводим список каталогов echo " ".$cat['name']."
".$cat['description']."
".$cat['pos']."
$strhide
Исправить
Удалить
"; } } echo " "; ?>
То есть символы, которые вообще в принципе не должны отображаться! Как такое возможно и как с этим бороться?
Заранее спасибо! | |
|
|
|
|
|
|
|
для: Vados
(14.08.2006 в 15:18)
| | Во-первых проверь разрешение скрипта, обязательно надо, что б .php был, а то у меня уже было много раз такое | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 18:38)
| | Что вы имеете ввиду разрешение скрипта? То есть в настройках Apache? | |
|
|
|
|
|
|
|
для: Vados
(14.08.2006 в 21:26)
| | нет, чтоб он назывался script.php, например, но обязательно php | |
|
|
|
|
|
|
|
для: Lelik
(14.08.2006 в 18:38)
| | НУ не обязательно =))) смотря как сервер настроить =)))))
P.S. я так же считаю, что ваш скрипт через машину php не проходит =) | |
|
|
|
|
|
|
|
для: CrazyAngel
(14.08.2006 в 21:35)
| | Господа, ну так у меня и так всё настроено! А как же по-другому!
Что может быть ещё? Предлагайте?
Заранее спасибо за помощь! | |
|
|
|
|
|
|
|
для: Vados
(14.08.2006 в 22:07)
| | проблема может быть в открывающих РНР тегах. вместо <? старася использовать <?php. | |
|
|
|
|
|
|
|
для: Vados
(14.08.2006 в 22:07)
| | short_open_tag в php.ini чему равен? | |
|
|
|
|
|
|
|
для: Trianon
(15.08.2006 в 09:14)
| | Привет!
Спасибо огромное разобрался!
Вы настоящие друзья! | |
|
|
|