За последние 24 часа нас посетили 21384 программиста и 1022 робота. Сейчас ищут 667 программистов ...

Постраничная навигация при переносе сайта на хостинг

Тема в разделе "Прочие вопросы по PHP", создана пользователем newstarter, 14 авг 2013.

  1. newstarter

    newstarter Активный пользователь

    С нами с:
    3 сен 2012
    Сообщения:
    51
    Симпатии:
    0
    Здравствуйте, уважаемые умельцы форума!

    В блоге накопилось много заметок, которые было решено разбить при помощи постраничного вывода. Здесь http://www.softtime.ru/info/articlephp.php?id_article=33 был найден код постраничной навигации. После небольшой адаптации и прописывания тега base в <head></head> страницы, все заработало.

    Пока сайт был на локальном сервере (Денвер), постраничная навигация работала отлично - при нажатии на цифры, открывались такие же страницы, только со следующими постами (как и задумывал).

    Но после переноса файлов сайта на хостинг, при вызове следующих страниц, возникает надпись:
    .

    Пожалуйста, помогите мне разобраться. Код прилагаю. Заранее СПАСИБО!

    Код:

    Код (Text):
    1. <?php
    2. include ("blocks/bd.php"); /*Соединяемся с базой данных*/
    3.  
    4. $result = mysql_query("SELECT * FROM settings WHERE page='blog'",$db);
    5.  
    6. $myrow = mysql_fetch_array($result);
    7. ?>
    8.  
    9. <!DOCTYPE html>
    10. <html dir="ltr" lang="en">
    11. <head>
    12.     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    13.     <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width" />
    14.     <title><?php echo $myrow['title']; ?></title>
    15.     <meta name="description" content="<?php echo $myrow['meta_d']; ?>">
    16.     <meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
    17.     <base href="http://somesite.ru/">
    18.     <!-- css -->
    19.     <link rel="stylesheet" media="all" href="css/styles.css" />
    20.     <link rel="stylesheet" media="all" href="css/media-queries.css" />
    21.    
    22.     <!-- js -->
    23.     <script src="/js/html5.js" type="text/javascript"></script>
    24.     <script type="text/javascript" src="/js/jquery-1.7.min.js"></script>
    25.     <script src="/js/all.js" type="text/javascript"></script>
    26.     <script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
    27.     <script type="text/javascript" src="/js/jquery.mousewheel.js"></script>
    28.     <script type="text/javascript" src="/js/jquery.contentcarousel.js"></script>
    29.    
    30.     <!--[if IE 6]>
    31.         <style type="text/css">
    32.             img, div, p, span, { behavior: url(iepngfix.htc) }
    33.             body {behavior: url("csshover3.htc");}
    34.         </style>
    35.         <link rel="stylesheet" type="text/css" href="css/ie-6.css">
    36.         <script type="text/javascript" language="javascript" src="js/iepngfix.js"></script>
    37.     <![endif]-->
    38.    
    39.     <!--[if IE 7]>
    40.         <link rel="stylesheet" type="text/css" href="css/ie-pie.css">
    41.     <![endif]-->
    42.    
    43.     <!--[if IE 8]>
    44.         <link rel="stylesheet" type="text/css" href="css/ie-pie.css" />
    45.     <![endif]-->
    46.    
    47. </head>
    48.  
    49. <body>
    50.     <div id="container">
    51.         <!-- header -->
    52.        
    53. <? include ("blocks/header.php");?>
    54.  
    55.         <!-- /header -->
    56.        
    57.         <!-- navigation -->
    58.        
    59. <? include ("blocks/nav_blog.php");?>
    60.  
    61.         <!-- /navigation -->
    62.        
    63.         <!-- header strip -->
    64.        
    65. <? include ("blocks/slider_contacts.php");?>
    66.        
    67.         <!-- /header-strip -->
    68.        
    69.         <!-- wrapper -->
    70.         <section id="main">
    71.          <div class="inner-wrapper">
    72.          
    73. <p><a href="blog.php">Вернуться к началу блога</a></p>      
    74.  
    75. <div><h2>ЗАПИСИ В БЛОГЕ</h2></div>
    76.  
    77. <?php
    78. // Устанавливаем соединение с базой данных
    79. include "blocks/bd.php";
    80. // Переменная хранит число сообщений выводимых на станице
    81. $num = 3;
    82. // Извлекаем из URL текущую страницу
    83. $page = $_GET['page'];
    84. // Определяем общее число сообщений в базе данных
    85. $result = mysql_query("SELECT COUNT(*) FROM blogdata");
    86. $posts = mysql_result($result, 0);
    87. // Находим общее число страниц
    88. $total = intval(($posts - 1) / $num) + 1;
    89. // Определяем начало сообщений для текущей страницы
    90. $page = intval($page);
    91. // Если значение $page меньше единицы или отрицательно
    92. // переходим на первую страницу
    93. // А если слишком большое, то переходим на последнюю
    94. if(empty($page) or $page < 0) $page = 1;
    95.   if($page > $total) $page = $total;
    96. // Вычисляем начиная к какого номера
    97. // следует выводить сообщения
    98. $start = $page * $num - $num;
    99. // Выбираем $num сообщений начиная с номера $start
    100. $result = mysql_query("SELECT id, title FROM blogdata ORDER BY date DESC, id DESC LIMIT $start, $num");
    101. // В цикле переносим результаты запроса в массив $postrow
    102. $myrow = mysql_fetch_array($result);
    103.  
    104. do {
    105.  
    106. printf ("<p class='sort_cat_font'><a href='view_post.php?id=%s' class='sort_cat_font'>%s</a></p>", $myrow ["id"], $myrow ["title"]);
    107.  
    108. }
    109.  
    110. while ($myrow = mysql_fetch_array ($result));
    111.  
    112.  
    113. // Проверяем нужны ли стрелки назад
    114. if ($page != 1) $pervpage = '<a href=blog_all.php./page?page=1><<</a>
    115.                                <a href=blog_all.php./page?page='. ($page - 1) .'><</a> ';
    116. // Проверяем нужны ли стрелки вперед
    117. if ($page != $total) $nextpage = ' <a href=blog_all.php./page?page='. ($page + 1) .'>></a>
    118.                                    <a href=blog_all.php./page?page=' .$total. '>>></a>';
    119.  
    120. // Находим две ближайшие станицы с обоих краев, если они есть
    121. if($page - 2 > 0) $page2left = ' <a href=blog_all.php./page?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
    122. if($page - 1 > 0) $page1left = '<a href=blog_all.php./page?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
    123. if($page + 2 <= $total) $page2right = ' | <a href=blog_all.php./page?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
    124. if($page + 1 <= $total) $page1right = ' | <a href=blog_all.php./page?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
    125.  
    126. // Вывод меню
    127. echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
    128.  
    129. ?>
    130. <p></p>
    131.  
    132. <p><a href="blog.php">Вернуться к началу блога</a></p>
    133.          
    134.          </div>
    135.         </section><!-- /wrapper -->
    136.        
    137.         <!-- footer -->
    138.        
    139. <? include ("blocks/footer_blog.php");?>
    140.        
    141.         <!-- /footer -->
    142.     </div>
    143.    
    144.     <script type="text/javascript">
    145.         $('#ca-container').contentcarousel();
    146.     </script>
    147.    
    148. </body>
    149. </html>
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    У вас формируются ссылки вида
    Код (Text):
    1. <a href=blog_all.php./page?page=2>2</a>
    , которые ведут на несуществующие страницы, о чём и в ошибке 404 написано. Что тут удивительного? Впишите правильный адрес вместо blog_all.php./page
    У текущей страницы до перелистывания какой адрес? Такой разве
    Код (Text):
    1. сайт.ком/blog_all.php./page
    ?
     
  3. newstarter

    newstarter Активный пользователь

    С нами с:
    3 сен 2012
    Сообщения:
    51
    Симпатии:
    0
    Большое СПАСИБО за указание, все теперь как надо! Вы были правы насчет адреса страницы.