Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
1

Переход на несуществующие id

06.09.2014, 17:57. Показов 1305. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!Есть код,который выводит из БД статьи(сама страница с присвоенным id):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
                if(!isset($_GET["id"])){
                    $id = 1;
                }
                else{
                    $id = $_GET["id"];
                }
                $result = mysql_query("Select * From data WHERE id='$id'")or die(mysql_error());
                $data = mysql_fetch_array($result);
                do{
                printf("
                    <div class='right-cell'> 
                        <div style='min-width:500px;' class='right-content-up'>     
                            <div class='p5'>
                                <div class='round'>
                                    <center>
                                        <H4 class='top-denatation'><b>%s</b></H4>
                                    </center>
                                <div align='left' class='p3'>
                                        %s
                                    </div>
                                    <p align='right' class='p3'>Добавлено:<Font color=#0000CC>%s</font></p>
                                </div>  
                            </div>
                        </div>
                </div>", $data["header"],$data["desc"],$data["date"] );
                }
                while($data = mysql_fetch_array($result));
                ?>
А вот предпросмотр сатьи , в нем ссылка на страницу выше:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
                    $num = 3;
                    $page = $_GET['page'];
                    $result = mysql_query("SELECT COUNT(*) FROM data");
                    $temp = mysql_fetch_array($result);
                    $posts = $temp[0];
                    $total = (($posts - 1) / $num) + 1;
                    $total =  intval($total);
                    $page = intval($page);
                    if(empty($page) or $page < 0) $page = 1;
                    if($page > $total) $page = $total;
                    $start = $page * $num - $num;
                    $query = mysql_query("SELECT * FROM data ORDER BY id DESC LIMIT $start, $num");
                    $data = mysql_fetch_array($query);
                    do{
                        printf("
                            <div class='right-cell'> 
                                <div style='min-width:500px;' class='right-content-up'>     
                                    <div class='p5'>
                                        <div class='round'>
                                            <center>
                                                <H4 class='top-denatation'><b>%s</b></H4>
                                            </center>
                                        <div align='left' class='p3'>
                                                %s<a href='post.php?id=%s'>Подробнее...</a>
                                            </div>
                                            <p align='right' class='p3'>Добавлено:<Font color=#0000CC>%s</font></p>
                                        </div>  
                                    </div>
                                </div>
                        </div>", $data["header"],$data["m_desc"],$data["id"],$data["date"] );
                    }
                    while ($data = mysql_fetch_array($query));
                        
            ?>
Скажите пожалуйста как реализовать следующее?
Предположим,что в БД 10 статей,и соответственно в поле будет следующее: post.php?id=1 post.php?id=2 post.php?id=3 и так далее.Скажите как сделать так,если вдруг я введу post.php?id=99 я попал на страницу post.php?id=10 ? Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.09.2014, 17:57
Ответы с готовыми решениями:

Функция scandir() находит несуществующие папки
Привет всем! У меня такая проблема: имеется папка, функция scandir() помимо созданных мной папок...

В постах wordpress используются несуществующие url
В постах wordpress используются несуществующие url. Ведь в файловой системе нет папок с именами...

Несуществующие страницы
Пытаюсь добавить в аддурилку яши бред типа...

Несуществующие USB диски
После установки ХР комп вдруг стал обнаруживать 4 USB диска, в оборудовании много чего в двойном...

3
13 / 13 / 11
Регистрация: 24.04.2011
Сообщений: 109
06.09.2014, 19:43 2
Лучший ответ Сообщение было отмечено paskalnikita как решение

Решение

Можно в начале, где идет проверка и получение id от GET'a, делать запрос-проверку, например:
PHP
1
2
3
4
5
6
7
8
9
10
//Вытаскиваем из БД самый большой id-шник
  $count_query = mysql_query("SELECT MAX(id) FROM data");
  $count_row = mysql_fetch_row($count_query);
  $count = $count_row[0];  //Здесь будет номер последней записи (самого большого id)   
 
  //Проверяем, если полученный id больше последнего в БД,
  //перенаправляем на страницу с последним id
  if ($_GET['id'] > $count) {
    header("Location: post.php?id=".$count);
  }
0
86 / 86 / 30
Регистрация: 12.08.2014
Сообщений: 1,129
06.09.2014, 20:06  [ТС] 3
пишет такое
annot modify header information - headers already sent by (output started at Z:\home\paskalnikita.com\www\post.php
это попадает на строку,начинающуюся с header
0
13 / 13 / 11
Регистрация: 24.04.2011
Сообщений: 109
06.09.2014, 20:31 4
Ах да, забыл предупредить, до header, не должно быть никакого вывода в файл, тобешь эта проверка должна быть в самом начале кода. Если до него в файл что-нибудь выводилось (например echo "привет") или если перед php кодом есть какие-либо html теги, то вот такая ошибочка и вылетит.
1
06.09.2014, 20:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2014, 20:31
Помогаю со студенческими работами здесь

Несуществующие HTML теги
Хотел (купить) разместить ссылку на одном из сайтов и столкнулся вот с чем. Владелец прописывает...

Несуществующие съемные диски
Всем доброго времени суток! У моего знакомого такая проблема. ОС: Windows XP (это еще не все )) )...

Несуществующие названия страниц
Яша постоянно индексирует новые странички сайта, приписывая к ним очень странные названия. b-( ...

Как отсеять несуществующие товары?
Всем привет. Аналогичная проблема. Навыков в php мало, так что сам не справляюсь. Ссылки и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru