2014-02-28 6 views
-2

Недавно я перевел свой сайт на новый сервер. После того, как веб-сайт был перемещен, постраничная разбивка на PHP перестала работать. Ни один из кодов не изменился. Существуют ли какие-либо изменения конфигурации, которые необходимо выполнить?Проблема с разбивкой по страницам после перехода на новый сервер

Ниже приведен код:

mysql_connect("host", "username", "password") or die(mysql_error()); 
      mysql_select_db("playstat_page") or die(mysql_error()); 
      //This checks to see if there is a page number. If not, it will set it to page 1 
      if (!(isset($pagenum))) 
      { 
      $pagenum = 1; 
      } 
      //count the number of results 
      $data = mysql_query("SELECT * FROM test") or die(mysql_error()); 
      $rows = mysql_num_rows($data); 
      //number of results displayed per page 
      $page_rows = 20; 
      //page number of our last page 
      $last = ceil($rows/$page_rows); 
      //makes sure the page number isn't below one, or more than our maximum pages 
      if ($pagenum < 1) 
      { 
      $pagenum = 1; 
      } 
      elseif ($pagenum > $last) 
      { 
      $pagenum = $last; 
      } 
      //sets the range to display in our query 
      $max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows; 
      $data_p = mysql_query("SELECT * FROM test ORDER BY ID DESC $max") or die(mysql_error()); 
      while($info = mysql_fetch_array($data_p))     
      { 
      $posted = date('F j, Y g:i a', strtotime($info["Posted"])); 
       Print "<p>{$info["Head"]}</p><br></br>"; 
      } 
      if ($pagenum == 1) 
      { 
      } 
      else 
      { 
      $previous = $pagenum-1; 
      Print "<div id='pagenav'> 
        <ul style='float: left; margin-left: -25px;'> 
         <li><a href='{$_SERVER['PHP_SELF']}?pagenum=1'>First</a></li> 
         <li><a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'>Previous</a></li> 
        </ul> 
       </div>"; 
      } 
      if ($pagenum == $last) 
      { 
      } 
      else 
      { 
      $next = $pagenum+1; 
      Print "<div id='pagenav'> 
        <ul style='float:right'> 
         <li><a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Next</a></li> 
         <li><a href='{$_SERVER['PHP_SELF']}?pagenum=$last'>Last</a></li> 
        </ul> 
       </div>"; 
      } 
+0

Если код страницы находится в вашем коде, мы ничего не сможем вам сказать, так как может быть дюжина изменений, которые могут помешать любой части вашего скрипта при переходе с одной версии php на другой. – ITroubs

+0

Добавить код, Какие предупреждения вы получаете? – cmorrissey

+0

Вы используете PHP для разбивки на страницы, вы полагаетесь на htaccess? Требуется дополнительная информация. На данный момент вы говорите нам, что машина сломана, но не говорите, что сломало. – MueR

ответ

2

Это легко. В вашем php.ini для этого должна быть настройка. Проверьте phpinfo(), чтобы убедиться, что он включен, см. Снимок экрана.

enter image description here

+0

+1 для отличного! : D –

2

Скорее всего, новый сервер не имеет register_globals включен, и вы, кажется, получают запрошенную страницу из некоторых переменных.

Заменить

if (!(isset($pagenum))) 
{ 
    $pagenum = 1; 
} 

С

if (!isset($_GET['pagenum'])) 
{ 
    $pagenum = 1; 
} 
else 
{ 
    $pagenum = intval($_GET['pagenum']); 
} 

Edit: register_globals говорит, что Глобалы как определено через запрос HTTP (например, все те $ _GET, $ _ POST, ..) автоматически extract()-е изд такой, что (в качестве примера):

$_GET['pagenum'] доступен как $pagenum

Часто считается неправильной практикой и источником ошибок (не говоря уже о проблемах с безопасностью), чтобы включить эту настройку.

+0

Это исправлено. Спасибо. Я очень ценю это. Это сводило меня с ума! – user3365373

Смежные вопросы