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

Форум PHP

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

 

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

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

тема: Постраничная навигация. Неработает скрипт
 
 автор: ODM   (04.07.2006 в 11:47)   письмо автору
 
 

Постраничная навигация. Неработает скрипт. Вылетает ошибка в строке $page=$_GET['page']

Undefined index: page in D:\WebServer\home\localhost\www\Project2\onpage\1.php on line 10

Я так понимаю, что в значение $page незаписывается номер страницы.
Оригинал скрипта:
http://www.softtime.ru/info/articlephp.php?id_article=33



<?php

@mysql_connect"localhost""root""") or die("Could not connect to MySQL server!");
@
mysql_select_db("goodslv") or die("Could not select products database!");
$query "SELECT * FROM goodlv";
$result mysql_query($query);
$num_rows mysql_num_rows($result);
$num=5;
$page $_GET['page'];
print(
"<br>".$page."<br>");
print(
$num_rows);
$total=$num_rows/$num;
$total=ceil($total);
print(
$total);
print(
$total);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page 0$page 1;
  if(
$page $total$page $total;
  
$start $page $num $num;
  
$result mysql_query("SELECT * FROM goodlv LIMIT $start$num");
 
// В цикле переносим результаты запроса в массив $postrow
 
$postrow=array();
 while ( 
$postrow[] = mysql_fetch_array($result))
echo 
"<table>";
for(
$i 0$i $num$i++)
{
echo 
"<tr>
         <td>"
.$postrow[$i]['Namelv']."</td>
         <td>"
.$postrow[$i]['Nameru']."</td></tr>
       <tr><td colspan=\"2\">"
.$postrow[$i]['Textlv']."</td></tr>";
}
echo 
"</table>";
//Теперь надо организовать навигацию. Формируем составляющие будущей навигации.
//Коды стрелки «в начало» и «назад» поместим в одну переменную, также поступим и со стрелками «в конец» и «вперед».
// Проверяем нужны ли стрелки назад
if ($page != 1$pervpage "<a href= ./page?page=1><<</a>
                                   <a href= ./page?page="
. ($page 1) ."><</a> ";
// Проверяем нужны ли стрелки вперед
if ($page != $total$nextpage " <a href= ./page?page=". ($page 1) .">></a>
                                   <a href= ./page?page=" 
.$total">>></a>";
// Находим две ближайшие станицы с обоих краев, если они есть
if($page 0$page3left " <a href= ./page?page=". ($page 3) .">". ($page 3) ."</a> | ";
if(
$page 0$page2left " <a href= ./page?page=". ($page 2) .">". ($page 2) ."</a> | ";
if(
$page 0$page1left "<a href= ./page?page=". ($page 1) .">". ($page 1) ."</a> | ";
if(
$page <= $total$page2right " | <a href= ./page?page=". ($page 3) .">". ($page 3) ."</a>";
if(
$page <= $total$page2right " | <a href= ./page?page=". ($page 2) .">". ($page 2) ."</a>";
if(
$page <= $total$page1right " | <a href= ./page?page=". ($page 1) .">". ($page 1) ."</a>";
// Вывод меню
@print($pervpage.$page3left.$page2left.$page1left."<b>".$page."</b>".$page1right.$page2right.$page3right.$nextpage);

?>




   
 
 автор: Snorri   (04.07.2006 в 12:17)   письмо автору
 
   для: ODM   (04.07.2006 в 11:47)
 

неопределенный индекс 'page' , т.е. $_GET['page'] нет.
можете проверить
if (isset($_GET['page']))
{
echo "переменная установлена ";
}
else
{
echo "такой переменной нет";
}
а вы не перепутали имя переменной которая передается, действительно 'page'?
проверьт что все правильно передается ?page=11& и т.д

   
 
 автор: ODM   (04.07.2006 в 12:29)   письмо автору
 
   для: Snorri   (04.07.2006 в 12:17)
 

да я понял, что $_GET['page'] незаписывается значение страницы. Вот я незнаю как записать в значение в $page.

   
 
 автор: ODM   (04.07.2006 в 12:40)   письмо автору
 
   для: ODM   (04.07.2006 в 12:29)
 

?page=11& значение передаётся в любую переменную $a=("./page?page=".($page + 3));
но потом незаписывается при помощи $page=$_GET['page'].

   
 
 автор: Snorri   (04.07.2006 в 12:45)   письмо автору
 
   для: ODM   (04.07.2006 в 12:29)
 

Да нет!
Оно не незаписывается, а просто самого $_GET['page'];
поэтому $page=$_GET['page'] выдает ошибку, ты присваиваешь переменной $page несуществующий элемент массива

   
 
 автор: ODM   (04.07.2006 в 12:49)   письмо автору
 
   для: Snorri   (04.07.2006 в 12:45)
 

Да именно так.

   
 
 автор: Snorri   (04.07.2006 в 12:53)   письмо автору
 
   для: ODM   (04.07.2006 в 12:49)
 

при определенных настройках к переменной можно обращаться и через гет и просто по имени т.е. $page может здесь собака порылась

   
 
 автор: ODM   (04.07.2006 в 13:00)   письмо автору
 
   для: Snorri   (04.07.2006 в 12:53)
 

А как такое возможно реализовать?

   
 
 автор: Snorri   (04.07.2006 в 13:17)   письмо автору
 
   для: ODM   (04.07.2006 в 13:00)
 

если не ошибаюсь, register_globals= on | off в php.ini
хотя я пльзуюсь денвером
причем в 4 версии можно было обращаться просто по имени, а 5 нет, только через $_GET

вобщем, я не волшебник, я еще только учусь.

   
 
 автор: ODM   (04.07.2006 в 13:22)   письмо автору
 
   для: Snorri   (04.07.2006 в 13:17)
 

Все получилось в строке

if($page + 1 <= $total) $page1right = " | <a href= onpage.php?page=". ($page + 1) .">". ($page + 1) ."</a>";


имя страницы вставил "onpage.php" . Все работает. Спасибо за советы!

   
Rambler's Top100
вверх

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