Новичок
Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
|
Зравствуйте, буду очень благодарен если знающий человек поможет решить небольшую проблему в гостевой книге, которую я скачал и установил на свой сайт. Все в ней меня устраивает, только один неприятный момент...
В скрипте есть постраничное разбиение сообщений от посетителей( по десять на каждой странице) внизу есть переход по этим страницам, но вот в том то и заключается проблема при любом номере страницы, точнее при нажатии, все равно выдает 10 последних, но никак не тех которые нужно. Например имеется 20 сообщений, т.е 2-е страницы. и на первой и на второй выводится 10 последних.
Пример моей ошибки здесь(попереключайте страницы постраничного разбиения):
http://onuvidelsolnce[dot]netau[dot]net/gb/
На сайте где скачал скрип в коментария нашел реплику к коду где указывается место ошибки, но решения не приводится. Вот она:
Цитата:" В видеоуроке вы небрежно так, вскользь упомянули, что переделали дизайн, в частности перенесли строку с выводом след., пред., страница вниз. Может так оно конечно и красивей, но:
1. сообщения в гостевую выводит цикл
while ($cont больше или равно $cont2)
2. Переменная $cont1 формируется предварительно в коде, который как раз и считает общее число страниц и как раз этот кусок вы перенесли вниз
3. результат: при переходе на любую страницу всегда показывается первые n сообщений
Косяк однако, и причем нехороший."
Вот.
Сам код, то место как мне кажется, где нужно исправить ошибку :
PHP:
скопировать код в буфер обмена
<? include("gb_config.php"); $page = $_REQUEST['page']; fopen($data_file,"w") or die("Can't open data file");; }else{ } $total_pages = ceil($count/$messages_per_page); echo ("<a href=\"javascript:showdiv('signform');\"><strong>$la1</strong></a> <br><br><br>"); if($newest_on_top == 1) $cont1=count($entries)-1; $cont2=0; while ($cont1>=$cont2) { $entry=$entries[$cont2]; $name = $entry[0]; $homepage = $entry[1]; $email = $entry[2]; $message = $entry[3]; //$ip $stime = $entry[5]; $browser = $entry[6]; $stime = date('m/d/y - g:i A', $stime); $message = wordwrap($message, $word_wrap, "<br>", true); //Smiley $message = ereg_replace(":p", " <img src=\"images/s1.gif\" alt=\":p\" border=\"0\"> ", $message); $message = ereg_replace(":)", " <img src=\"images/s2.gif\" alt=\":)\" border=\"0\"> ", $message); $message = ereg_replace(":a", " <img src=\"images/s3.gif\" alt=\":a\" border=\"0\"> ", $message); $message = ereg_replace(":o", " <img src=\"images/s4.gif\" alt=\":o\" border=\"0\"> ", $message); $message = ereg_replace(":s", " <img src=\"images/s5.gif\" alt=\":s\" border=\"0\"> ", $message); $message = ereg_replace(":r", " <img src=\"images/s6.gif\" alt=\":r\" border=\"0\"> ", $message); $message = ereg_replace(":v", " <img src=\"images/s7.gif\" alt=\":v\" border=\"0\"> ", $message); $message = ereg_replace(":h", " <img src=\"images/s8.gif\" alt=\":h\" border=\"0\"> ", $message); $message = ereg_replace(";)", " <img src=\"images/s9.gif\" alt=\";)\" border=\"0\"> ", $message); $message = ereg_replace(":m", " <img src=\"images/s10.gif\" alt=\":m\" border=\"0\"> ", $message); //Fix the "&" bug //URL if($convert_link == 1) $message = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $message); if($homepage != 'http://'){ $vhomepage = "<a href=\"$homepage\" target=\"_blank\"><img src=\"images/home.gif\" alt=\"$la13\" title=\"$la13\" border=\"0\"></a>"; }else{ $vhomepage = "<img src=\"images/home2.gif\" alt=\"$la13\" title=\"$la13\" border=\"0\">"; } if($email){ $vemail = "<a href=\"mailto:$email\" target=\"_blank\"><img src=\"images/email.gif\" alt=\"$la12\" border=\"0\"></a>"; }else{ $vemail = "<img src=\"images/email2.gif\" alt=\"$la12\" border=\"0\">"; } echo ("<div class=\"guestbook_top\"><img src=\"images/user.png\" alt=\"$name\" title=\"$name\"> <b>$name</b> <span style='margin-left:380px;'><font size = 1>$stime </font></span></div><div class=\"guestbook\"> <div align=\"right\" style=\"padding:2px;\"> $vhomepage $vemail <a href=\"gb_admin.php\"><img src=\"images/computer.png\" alt=\"$ip\" title=\"$la16\" border=\"0\"></a> <img src=\"images/world.png\" alt=\"$browser\" title=\"$browser\" border=\"0\"> </div> $message<br><br></div>"); $cont2++; } if($count != 0){ echo ("<div class='my11'>$la15: "); //Print out page number if (($page - 10) <= 0) $rp = ($page - 11) * -1; if (($total_pages - $page) < 10) $lp = 10 + ($total_pages - $page) * -1; if ($page != 1 && $page > 11) echo("<a href=\"JavaScript:ajax('POST','gb_view.php','page','1')\">1</a> ... "); for ($i=$page - (10 + $lp); $i < $page; $i++){ if ($i < $page && $i > 0){ echo("<a href=\"JavaScript:ajax('POST','gb_view.php','page','$i')\">$i</a> "); } } for ($i=$page; $i <= $page + 10 + $rp; $i++){ if($page==$i){ echo("<b>$i</b> "); }else if ($i >= $page && $i <= $total_pages){ echo("<a href=\"JavaScript:ajax('POST','gb_view.php','page','$i')\">$i</a> "); } } if ($page != $total_pages && $page < $total_pages - 10) echo(" ... <a href=\"JavaScript:ajax('POST','gb_view.php','page','$total_pages')\">$total_pages</a>"); } echo ("</div>"); echo ("<div class='my11'>$la45 <strong>$count</strong></div> <br>"); echo ("<div class='my11'>"); //Make pages if (isset($page) AND $page > 0 ) { if ($page > $total_pages) { $page = $total_pages; } else { $begin=$page*$messages_per_page - $messages_per_page; } } else { $page = 1; $begin = 0; } $next_page = $page + 1; $prev_page = $page - 1; if ($prev_page < 1) { $prev_page = 1; } if ($next_page > $total_pages) { $next_page = $total_pages; } if($count != 0){ if($page == 1 && $total_pages == 1){ echo ("<font color = \"#CCCCCC\">$la6</font> | <font color = \"#CCCCCC\">$la7</font>"); }else if($page == $prev_page){ echo ("<font color = \"#CCCCCC\">$la6</font> | <a href=\"JavaScript:ajax('POST','gb_view.php','page','$next_page')\">$la7</a>"); }else if($page == $next_page){ echo ("<a href=\"JavaScript:ajax('POST','gb_view.php','page','$prev_page')\">$la6</a> | <font color = \"#CCCCCC\">$la7</font>"); }else{ echo ("<a href=\"JavaScript:ajax('POST','gb_view.php','page','$prev_page')\">$la6</a> | <a href=\"JavaScript:ajax('POST','gb_view.php','page','$next_page')\">$la7</a>"); } if($total_pages == 1){ echo(" | <font color = \"#CCCCCC\">$la8</font> | <font color = \"#CCCCCC\">$la9</font> | <a href=\"$home\">$la10</a> <br><br><br>"); }else{ echo(" | <a href=\"JavaScript:ajax('POST','gb_view.php','page','1')\">$la8</a> | <a href=\"JavaScript:ajax('POST','gb_view.php','page','$total_pages')\">$la9</a> | <a href=\"$home\">$la10</a> <br><br><br>"); } } echo ("</div>"); ?>
Xотя может это и не то место, тогда вся гостевая находится здесь:
http://onuvidelsolnce[dot]netau[dot]net/gb/
Если это не сложные действия по исправления тогда помогите кто чем может. хотелось бы при исправлениях отавить все на своих местах. точнее кнопки там всяки и т.п.
Все расковырял, дизайн поменял, с кодировкой намучался, думал все устранил а тут такой фэил. неохота новую гостевую искать. да и мне нравится что без баз данных. простая и легкая не требовательная.
Спасибо.(Отредактировано автором: 15 Ноября, 2011 - 10:51:07)
|