Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Ошибки в PHP-коде

Ответить
Настройки темы
Ошибки в PHP-коде

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Sham
Дата: 06-04-2011
Описание: формат
Вот мо програмній код:
PHP код: Выделить весь код

<?php  
// Устанавливаем соединение с базой данных  
include "db_connect.php";  
// Переменная хранит число сообщений выводимых на станице  
$num 3;  
// Извлекаем из URL текущую страницу  
$page $_GET['page'];  
// Определяем общее число сообщений в базе данных  
$result mysql_query("SELECT COUNT(*) FROM content ORDER BY id desc");  
$posts mysql_result($result0);  
// Находим общее число страниц  
$total intval(($posts 1) / $num) + 1;  
// Определяем начало сообщений для текущей страницы  
$page intval($page);  
// Если значение $page меньше единицы или отрицательно  
// переходим на первую страницу  
// А если слишком большое, то переходим на последнюю  
if(empty($page) or $page 0$page 1;  
  if(
$page $total$page $total;  
// Вычисляем начиная к какого номера  
// следует выводить сообщения  
$start $page $num $num;  
// Выбираем $num сообщений начиная с номера $start  
$result mysql_query("SELECT * FROM content LIMIT $start, $num");  
// В цикле переносим результаты запроса в массив $postrow  
while ( $postrow[] = mysql_fetch_array($result))  
?>

вывод сообщений
PHP код: Выделить весь код

<?php
                      
do
                    {  
                      
printf("<div class='blog'><a href='newtmpl.php?id=%s'>%s</a> <br>
                              %s<br>
                              <table>
                         <tr>
                             <td><a href='newtmpl.php?id=%s'>Подробнее:</a></td>
                             <td>%s</td>
                             <td>|</td>
                             <td>%s</td>
                             <td>|</td>
                             <td>Коментариев:</td>
                             <td>%s</td>
                         </td>
                    </table>
                    <hr>
                    </div>"
                    
,$postrow['id'],$postrow['title'],$postrow['introtext'],$postrow['id'],
                    
$postrow['author'],$postrow['data'],$postrow['views']);          
                 }
                 while (
$postrow mysql_fetch_array($result));
                 
                 
?>

Формируем составляющие будущей навигации
PHP код: Выделить весь код

<?php  
// Проверяем нужны ли стрелки назад  
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$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 2) .'>'. ($page 2) .'</a>';  
if(
$page <= $total$page1right ' | <a href= ./page?page='. ($page 1) .'>'. ($page 1) .'</a>'

// Вывод меню  
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;  

?>


Отправлено: 11:38, 06-04-2011

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Какая каша...
И, наверное, нам надо угадать, что за ошибки у вас возникают?
На первый просмотр сразу бросается в глаза цикл do-while вместо while во втором блоке каши.

Отправлено: 12:09, 06-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот такая ошибка Notice: Undefined index: page in C:\Apache2.2\htdocs\www\index.php on line 8,
8 строка у меня это - $page = $_GET['page']; В чем проблема?

Отправлено: 13:27, 06-04-2011 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


rar864, насколько я понимаю языки программирования, то он ругается на неопределенный индекс. Т.е. система не знает, какой элемент выбрать. В самом деле, что такое 'page'? Правильно ли использована конструкция кавычек? Определен ли этот элемент ДО вызова проблемной функции, в данном случае URL? Что "лежит" в переменной page ?

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 13:52, 06-04-2011 | #4


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Видимо, если вы не передаёте переменную page в запросе, то в скрипте нужно проверить, не является ли она пустой. Что-то вроде
Код: Выделить весь код
if (isset($_GET['page']))
   $page = $_GET['page'];
else
   $page = 1;
Notice - это не ошибка. Это всего лишь "уведомление".
Кстати, для обрамления кода используйте тэг [ code ]

Или даже вместо isset() лучше сразу использовать is_int()

Отправлено: 13:57, 06-04-2011 | #5


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сделал то что вы сказали ничего не получается, может у вас есть какой то код попроще для перехода по страницам сайта чем этот?

Отправлено: 14:12, 06-04-2011 | #6


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата Coutty:
Notice - это не ошибка. Это всего лишь "уведомление". »
То что в php называется "Notice", в других языках критическая ошибка. В любом случае стоит разобраться со всеми Notice, а то потом может возникнуть масса проблем.

Отправлено: 18:51, 06-04-2011 | #7


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Но речь-то не о других языках. PHP - более либеральный в плане допущений. "На свой страх и риск".

Отправлено: 19:03, 06-04-2011 | #8



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Ошибки в PHP-коде

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Поиск слова в исходном коде html страницы?????? klsorat2010 AutoIt 65 01-04-2013 07:34
C/C++ - [решено] Ошибка в простом коде Hector Программирование и базы данных 5 13-10-2010 07:00
установка php5.3.1 Apache2.2 Ошибки при установки php, не запускается Apache zvezda_t Вебмастеру 1 04-02-2010 13:50
[решено] Поиск нужного текста в html коде страницы ph0en1x AutoIt 8 16-02-2009 02:38
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php v0f41k Вебмастеру 4 11-05-2008 22:08




 
Переход