EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Требуется помощь в php

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB
Требуется помощь в php
Автор Сообщение
ch1t3r
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 05.10.2007
Сообщения: 111

1223 Монеты

СообщениеДобавлено: Вт, 30 Окт, 2007 09:54    Заголовок сообщения: Требуется помощь в php Ответить с цитатой

Здраствуйте.
Есть такая CMS spaiz-nuke 1.4
Мой сайт rtfm.fsay.net
Заходишь в файлы>потом любая категория>страница номер 2 и !!! вылетаешь на новости

Дело в модуле вывода файлов. (читать ниже)

Поменял в нем News на Files и не помогает. Пытался пересобрать ручками ссылку - путаюсь в переменных...
Нужно откорректировать ссылочки. PLZ.

p.s. если ручками в браузере набираешь /modules.php?name=Files&file=show_cat&categories_i d=1&page=2
Попадаешь нормально на вторую страницу.

Есть такой файл отвечающий за вывод оформления файлов
Код:

откушен кусок для уменьшения!!!

OpenTable();
         echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
         if ($page > 1)
         {
            $prevpage = $page - 1 ;
            echo '<a href="modules.php?name=News&amp;page='.$prevpage.'">«</a>';
         }
         $right_side_num = $page+5;
         $left_side_num = $page-5;
         for ($i = 1; $i < $numpages+1; $i++)
         {
            if ($i == $page)
            {
               echo '<b>['.$i.']</b>';
            }
            else
            {
               if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
               {
                  echo ' [<a href="modules.php?name=News&amp;page='.$i.'">'.$i.'</a>] ';
               }
            }
         }
         if ($page < $numpages)
         {
            $nextpage = $page + 1 ;
            echo '<a href="modules.php?name=News&amp;page='.$nextpage.'">»</a>';
         }
         echo '</center>';
         CloseTable();
      }
   include_once 'footer.php';
}
else
{
   error($m_lang[38]);
}

?>


Пробовал делать так:

Код:

ткушен кусок для уменьшения!!!

$numpages = ceil($all_news/$on_page);

      if ($numpages > 1)
      {
         OpenTable();
         echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
         if ($page > 1)
         {
            $prevpage = $page - 1 ;
            echo '<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$files_categories_id.'&amp;page='.$prevpage.'">«</a>';
         }
         $right_side_num = $page+5;
         $left_side_num = $page-5;
         for ($i = 1; $i < $numpages+1; $i++)
         {
            if ($i == $page)
            {
               echo '<b>['.$i.']</b>';
            }
            else
            {
               if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
               {
                  echo ' [<a href="modules.php?name=Files&amp;page='.$i.'">'.$i.'</a>] ';
               }
            }
         }
         if ($page < $numpages)
         {
            $nextpage = $page + 1 ;
            echo '<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$files_categories_id.'&amp;page='.$nextpage.'">»</a>';
         }
         echo '</center>';
         CloseTable();


Не помогает... Что делаю неправильно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ch1t3r
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 05.10.2007
Сообщения: 111

1223 Монеты

СообщениеДобавлено: Вт, 30 Окт, 2007 09:58    Заголовок сообщения: Ответить с цитатой

т.е. насколько я понимаю дело в двух строках.

Код:

<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$files_categories_id.'&amp;page='.$prevpage.'">«</a>';
echo '<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$files_categories_id.'&amp;page='.$nextpage.'">»</a>';
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

432 Монеты

СообщениеДобавлено: Вт, 30 Окт, 2007 16:10    Заголовок сообщения: Ответить с цитатой

Осмелюсь предположить что проблема кроется в глобальных переменных, точнее в их отсутствии на этом сервере...

Попробуй вставить в самое начало скрипта: import_request_variables('GP');

Повторимся что глобальные переменные не безопасны, если их не фильтровать.

ИМХО мы не видим, что творится выше, поэтому проблема может быть вовсе не в этом...
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
ch1t3r
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 05.10.2007
Сообщения: 111

1223 Монеты

СообщениеДобавлено: Ср, 31 Окт, 2007 09:58    Заголовок сообщения: Ответить с цитатой

вот исходный неизмененный файл.
Здесь первое что меня смутило - в этих ссылках модуль стоит News а не Files.

Код:
<?php

defined('SPAIZ_CODE') or die('Direct Access to this location is not allowed.');

isset($_GET['categories_id']) or die ('ID not found');

$module_name = basename(dirname(__FILE__));
get_lang($module_name);
global $m_lang;
$page_title = $m_lang[1];
$r_blocks = 1;

$categories_id = intval($_GET['categories_id']);

function getparentlink($parentid, $title)
{
    global $prefix, $dbi;
    $res = sql_query("select files_categories_id, files_categories_title, files_categories_parent_id from ".$prefix."_files_categories where files_categories_id='".intval($parentid)."'", $dbi);
    list($categories_id, $categories_title, $categories_parent_id_) = sql_fetch_row($res);
    if ($categories_title != "")
    {
       $title = '<a href=modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'>'.$categories_title.'</a>&nbsp;»&nbsp;<a href=modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$_GET['categories_id'].'>'.$title;
    }
    if ($categories_parent_id_ != 0)
    {
       $title = getparentlink($categories_parent_id_, $title);
    }
    return $title;
}

function convertorderbyin($orderby)
{
    if ($orderby == "dateA")
    {
       $orderby = "a.files_date ASC";
    }
    else if ($orderby == "hitsA")
    {
       $orderby = "a.files_hits ASC";
    }
    else if ($orderby == "titleD")
    {
       $orderby = "a.files_title DESC";
    }
    else if ($orderby == "dateD")
    {
       $orderby = "a.files_date DESC";
    }
    else if ($orderby == "hitsD")
    {
       $orderby = "a.files_hits DESC";
    }
    else
    {
       $orderby = "a.files_title ASC";
    }
    return $orderby;
}

function convertorderbytrans($orderby)
{
   global $m_lang;
    if ($orderby == "a.files_hits ASC")   $orderbyTrans = $m_lang[22];
    if ($orderby == "a.files_hits DESC")   $orderbyTrans = $m_lang[23];
    if ($orderby == "a.files_title ASC")   $orderbyTrans = $m_lang[18];
    if ($orderby == "a.files_title DESC")   $orderbyTrans = $m_lang[19];
    if ($orderby == "a.files_date ASC")   $orderbyTrans = $m_lang[20];
    if ($orderby == "a.files_date DESC")   $orderbyTrans = $m_lang[21];
    return $orderbyTrans;
}

function convertorderbyout($orderby)
{
    if ($orderby == "a.files_title ASC")      $orderby = "titleA";
    if ($orderby == "a.files_date ASC")         $orderby = "dateA";
    if ($orderby == "a.files_hits ASC")         $orderby = "hitsA";
    if ($orderby == "a.files_title DESC")      $orderby = "titleD";
    if ($orderby == "a.files_date DESC")      $orderby = "dateD";
    if ($orderby == "a.files_hits DESC")      $orderby = "hitsD";
    return $orderby;
}
function CoolSize($size)
{
    $mb = 1024*1024;
    if ($size > $mb)
    {
        $mysize = sprintf ("%01.2f",$size/$mb) . " GB";
    }
    else if( $size >= 1024 )
    {
        $mysize = sprintf ("%01.2f",$size/1024) . " Mb";
    }
    else
    {
        $mysize = $size . " Kb";
    }
    return $mysize;
}

   global $prefix, $dbi, $theme;
   include_once 'header.php';
   modtitle($m_lang[6]);
   include_once('themes/'.$theme.'/ThemeFileDetails.php');
   if (!isset($_GET['orderby']))
   {
      $orderby = "a.files_title ASC";
   }
   else
   {
      $orderby = convertorderbyin($_GET['orderby']);
   }
   $categories_id = intval($_GET['categories_id']);
   $res = sql_query("select files_categories_title, files_categories_parent_id from ".$prefix."_files_categories where files_categories_id='".$categories_id."'", $dbi);
   echo '<table border="0" cellspacing="10" cellpadding="0" align="center"><tr>';
   $res2 = sql_query("select files_categories_id, files_categories_title, files_categories_description, files_categories_files_counter from ".$prefix."_files_categories where files_categories_parent_id='".$categories_id."' order by files_categories_title", $dbi);
   $count = 0;
   $dum = 0;
   while(list($files_categories_id, $files_categories_title, $categories_description, $categories_files_counter) = sql_fetch_row($res2))
   {
      echo '<td>»&nbsp;<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$files_categories_id.'"><b>'.$files_categories_title.'</b></a> ['.$categories_files_counter.']';
      if ($categories_description)
      {
          echo '<br>'.$categories_description.'<br>';
      }
      else
      {
          echo "<br>";
      }
      $res3 = sql_query("select files_categories_id, files_categories_title, files_categories_files_counter from ".$prefix."_files_categories where files_categories_parent_id='".$files_categories_id."' order by files_categories_title ASC", $dbi);
      $space = 0;
      while(list($_categories_id, $_categories_title, $_categories_files_counter) = sql_fetch_row($res3, $dbi))
      {
         if ($space > 0)
         {
            echo ",&nbsp;";
         }
          echo '<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$_categories_id.'">'.$_categories_title.'</a> ['.$_categories_files_counter.']';
         $space++;
      }
      if ($count <1)
      {
         echo "</td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
         $dum = 1;
      }
      $count++;
      if ($count == 2)
      {
         echo '</td></tr><tr>';
         $count = 0;
         $dum = 0;
      }
   }
   if ($dum == 1)
   {
   echo "</tr></table>";
   }
   else if ($dum == 0)
   {
      echo "<td></td></tr></table>";
   }
if (sql_num_rows($res) > 0)
{
      list($categories_title, $categories_parent_id) = sql_fetch_row($res);
      OpenTable();
      echo '[ <a href="modules.php?name=Files">'.$m_lang[4].'</a> ]<br>';
      echo $m_lang[7].'&nbsp;»&nbsp;'.getparentlink($categories_parent_id, $categories_title);
      CloseTable();
      $on_page = 20;
      $page = !empty($_GET['page']) ? intval($_GET['page']) : 1;
      $offset = ($page-1)*$on_page;

         $res = sql_query("select SQL_CALC_FOUND_ROWS a.files_id, a.files_title, a.files_image_url, a.files_description, DATE_FORMAT(a.files_date, '".$m_lang[8]."'), a.files_hits, a.files_comments_counter, a.files_size, a.files_version, a.files_homepage, a.files_admin_id, b.admins_login from ".$prefix."_files a, ".$prefix."_admins b where a.files_cat_id='".intval($categories_id)."' and a.files_admin_id=b.admins_id order by ".$orderby." limit ".$offset.", ".$on_page."", $dbi);
         $orderbyTrans = convertorderbytrans($orderby);
         echo '<center>'.$m_lang[9].': '.$m_lang[10].' (<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=titleA">'.$m_lang[14].'</a>\<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=titleD">'.$m_lang[15].'</a>) '
         .$m_lang[11].' (<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=dateA">'.$m_lang[16].'</a>\<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=dateD">'.$m_lang[17].'</a>) '
         .$m_lang[12].' (<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=hitsA">'.$m_lang[16].'</a>\<a href="modules.php?name=Files&amp;file=show_cat&amp;categories_id='.$categories_id.'&amp;orderby=hitsD">'.$m_lang[17].'</a>)'
         .'<br><b>'.$m_lang[13].': '.$orderbyTrans.'</b></center><br>';
            while(list($files_id, $files_title, $files_image_url, $files_description, $files_date, $files_hits, $comments_counter, $files_size, $files_version, $files_homepage, $files_admin_id, $admins_login)=sql_fetch_row($res))
            {
               $seo_title = seo_clean($files_title);
            if (!empty($files_size))
            {
               $files_size = size_from_kb($files_size);
            }
            else
            {
               $files_size = $m_lang[36];
            }
            if (!$files_version)
            {
               $files_version = $m_lang[36];
            }
            ThemeFileDetails($files_id, $files_title, $files_image_url, $files_description, $files_date, $files_hits, $comments_counter, $files_size, $files_version, $files_homepage, $files_admin_id, $admins_login, $seo_title);
            if (is_admin())
            {
               echo '[ <a href="'._ADMINFILE.'?mod=Files&op=Files_Edit&files_id='.$files_id.'">'.$L['edit'].'</a> | <a href="'._ADMINFILE.'?mod=Files&op=Files_Remove&files_id='.$files_id.'">'.$L['del'].'</a> ]<br><br>';
            }
      }
      # Pages
      $res = sql_query("select FOUND_ROWS()", $dbi);
      list($all_news) = sql_fetch_row($res);

      $numpages = ceil($all_news/$on_page);

      if ($numpages > 1)
      {
         OpenTable();
         echo '<center>[ '.$m_lang[3].': '.$all_news.' ] [ '.$m_lang[4].': '.$numpages.' ]<br>';
         if ($page > 1)
         {
            $prevpage = $page - 1 ;
            echo '<a href="modules.php?name=News&amp;page='.$prevpage.'">«</a>';
         }
         $right_side_num = $page+5;
         $left_side_num = $page-5;
         for ($i = 1; $i < $numpages+1; $i++)
         {
            if ($i == $page)
            {
               echo '<b>['.$i.']</b>';
            }
            else
            {
               if ((($i > $left_side_num) && ($i < $page)) || (($i > $page) && ($i < $right_side_num)))
               {
                  echo ' [<a href="modules.php?name=News&amp;page='.$i.'">'.$i.'</a>] ';
               }
            }
         }
         if ($page < $numpages)
         {
            $nextpage = $page + 1 ;
            echo '<a href="modules.php?name=News&amp;page='.$nextpage.'">»</a>';
         }
         echo '</center>';
         CloseTable();
      }
   include_once 'footer.php';
}
else
{
   error($m_lang[38]);
}

?>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Программирование для WEB Часовой пояс: GMT
Страница 1 из 1

 


EOMY TOP 100 Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group


Рейтинг SIMPLETOP.NET