Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Неправильный вывод данных на странице!
 
 автор: Vados   (14.08.2006 в 15:18)   письмо автору
 
 

Всем привет!
Вот столкнулся с такой проблемой, у меня на одной машине где версия 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(!
$ctgputerror("Ошибка при обращении к каталогу");
    
// Выводим заголовок таблицы каталогов
      
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>&nbsp;"
.$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 " "; ?>

То есть символы, которые вообще в принципе не должны отображаться! Как такое возможно и как с этим бороться?
Заранее спасибо!

   
 
 автор: Lelik   (14.08.2006 в 18:38)   письмо автору
 
   для: Vados   (14.08.2006 в 15:18)
 

Во-первых проверь разрешение скрипта, обязательно надо, что б .php был, а то у меня уже было много раз такое

   
 
 автор: Vados   (14.08.2006 в 21:26)   письмо автору
 
   для: Lelik   (14.08.2006 в 18:38)
 

Что вы имеете ввиду разрешение скрипта? То есть в настройках Apache?

   
 
 автор: Lelik   (14.08.2006 в 21:34)   письмо автору
 
   для: Vados   (14.08.2006 в 21:26)
 

нет, чтоб он назывался script.php, например, но обязательно php

   
 
 автор: CrazyAngel   (14.08.2006 в 21:35)   письмо автору
 
   для: Lelik   (14.08.2006 в 18:38)
 

НУ не обязательно =))) смотря как сервер настроить =)))))

P.S. я так же считаю, что ваш скрипт через машину php не проходит =)

   
 
 автор: Vados   (14.08.2006 в 22:07)   письмо автору
 
   для: CrazyAngel   (14.08.2006 в 21:35)
 

Господа, ну так у меня и так всё настроено! А как же по-другому!
Что может быть ещё? Предлагайте?
Заранее спасибо за помощь!

   
 
 автор: Lelik   (14.08.2006 в 22:10)   письмо автору
 
   для: Vados   (14.08.2006 в 22:07)
 

проблема может быть в открывающих РНР тегах. вместо <? старася использовать <?php.

   
 
 автор: Trianon   (15.08.2006 в 09:14)   письмо автору
 
   для: Vados   (14.08.2006 в 22:07)
 

short_open_tag в php.ini чему равен?

   
 
 автор: Vados   (15.08.2006 в 12:05)   письмо автору
 
   для: Trianon   (15.08.2006 в 09:14)
 

Привет!
Спасибо огромное разобрался!
Вы настоящие друзья!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования