imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 31.08.2005, 00:42     # 21
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Уффф... Запусти
PHP код:
 if(!isset($_GET['id'])) 

   
$id=1;
    echo 
"<br>Переменая не определена<br>";

else 

   if(!
is_int($_GET['id'])) 
   { 
      
$id=1
       echo 
"<br>Переменная - не целое число!<br>";
      
   } 
   else 
   { 
      if (
$_GET['id']<or $_GET['id']>5
      { 
         
$id=1
         echo 
"<br>Значение переменной выходит за положенные рамки<br>";

      }  else  
$id$_GET['id']; 

   } 

Это код поможет выяснить на каком этапе происходит присваивание $id=1. Пиши результаты.
Trotil вне форума  
Старый 31.08.2005, 00:46     # 22
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Переменная не определена.
mihas вне форума  
Старый 31.08.2005, 00:50     # 23
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Да, кстати, какая версия php? (нужно запустить phpinfo())

PS: Сейчас решил быстро все это проверить на своем сайте. Думаю, ошибка будет найдена окончательно и бессповоротно.

Последний раз редактировалось Trotil; 31.08.2005 в 00:55.
Trotil вне форума  
Старый 31.08.2005, 01:01     # 24
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Версия 5.0.4

в принципе если нужно, то давай я весь скрипт сброшу, может быть так проще будет
mihas вне форума  
Старый 31.08.2005, 01:12     # 25
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
PHP код:
if(!isset($_GET['id']))
{
   
$id=1;
    echo 
"<br>Переменая не определена<br>";
}
else
{
     
$id=intval($_GET['id']);

      if (
$id<or $id>4)
      {
         
$id=1;
         echo 
"<br>Значение переменной выходит за положенные рамки<br>";

      }

Вот этот код у меня работает как надо.
Trotil вне форума  
Старый 31.08.2005, 01:28     # 26
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Ничего не понимаю. Но я точно делаю все правильно. При таком раскладе я получаю сообщение переменная не определена и к этому все ссылки пропали. Нет вообще ни одной не на одной странице.

Стоп стоп, я лоханулся немного, сейчас еще попробую.

Нет, все равно все по старому. Переменная не определена, и содержимое страниц одинаково, одни и те же ссылки на всех страницах.
mihas вне форума  
Старый 31.08.2005, 01:40     # 27
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Так, если ты думаешь, это все проблемы, то ты глубоко ошибаешься. Было бы грамотно знать, сколько ссылок типа "Страница 1, Страница 2, ..."нужно генерить, чтобы получить на выборку все возможные ссылки, ведь число ссылок может измениться.
Нам поможет такой запрос к базе данных:
Цитата:
$query = 'SELECT COUNT(*) as num FROM $tb_linex;
Единственное поле "num" будет как раз и содержать количество ссылок в базе данных. Помести его в какую-нибудь переменную, например $num. А далее нужно подсчитать, сколько страниц, потребуется, чтобы выдать все ссылки из базы данных. Это достигается таким образом:
заменой
Цитата:
while ($i<=5)
на
Цитата:
$num=intval($num/20)+1;
while ($i<=$num)
Ворнемся к нашей проблеме:
Цитата:
Сообщение от mihas
Нет, все равно все по старому. Переменная не определена, и содержимое страниц одинаково, одни и те же ссылки на всех страницах.
У меня PHP версии 4.3.11, Там этот код работал нормально. В особенностях пятой версии еще не разбирался, но не думаю, что в этом дело.

Последний раз редактировалось Trotil; 31.08.2005 в 01:53.
Trotil вне форума  
Старый 31.08.2005, 01:53     # 28
SergoZD
::VIP::
 
Регистрация: 19.10.2003
Адрес: Питер
Пол: Male
Сообщения: 1 467

SergoZD Простой бог
SergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой богSergoZD Простой бог
mihas
Открой ссылку /base.php?ssilka=link&id=1
И скажи что написалось.

"Переменая не определена"?

Со ссылками потом разберемся, это одно из самых простых, просто на момент текущих изменений они не будут отображаться.
Главное сейчас разобраться, как это id передавать от страницы к странице.
SergoZD вне форума  
Старый 31.08.2005, 02:04     # 29
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Так, по порядку, код из лички запустил, получил следующее
Цитата:
Переменая не определена


Это страница 1

Страница 1 | Страница 2 | Страница 3 | Страница 4 | Страница 5
С предыдущего поста изменения внес, но показывает теперь только одну страницу. Второй нет. Например я делаю 2 ссылки на страницу. Показывает страница 1 с двумя ссылками а второй страницы просто нет.
Вот тут
Цитата:
$query = 'SELECT COUNT(*) as num FROM table_tb';
все правильно? Может нужно tb_linex в конце?

Все сделал. Теперь выходит, что есть только первая страница. Например у меня 3 ссылки, я меняю в коде 20 на 2, должно быть 2 страницы, но показывает только одну с двумя ссылками.
mihas вне форума  
Старый 31.08.2005, 02:05     # 30
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Цитата:
Переменая не определена


Это страница 1

Страница 1 | Страница 2 | Страница 3 | Страница 4 | Страница 5
Ну а если по ссылкам пощелкать? Это понятно, что она в самом начале будет неопределена, т.к. в URL мы ее не передаем. Будут страницы переключаться? Т.е появляться надписи "Это страница 2" и т.д?

Цитата:
все правильно? Может нужно tb_linex в конце?
Исправил, см. выше. Но пока не берись за этот код, пока не заставишь правильно генерить страницы с предопределенными параметрами.

Последний раз редактировалось Trotil; 31.08.2005 в 02:07.
Trotil вне форума  
Старый 31.08.2005, 02:22     # 31
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Нет. Есть только надпись Страница 1 с двумя ссылками, надписи страница 2 нет вообще. Если же в адресной строке браузера набрать ссылку на вторую страницу , т.е. в конце id=2 опять же ничего не происходит, вторая страница полностью идентична первой, одинаковое содержимое.

Ой, я тебя не понял, ты про тот код, что в личку скинул. Да, там все работает, при нажатии на страницы идет переключение.

А может быть сама ссылка сформирована не правильно
Цитата:
base.php?ssilka=link&id=1
Может как то по другому нужно?
mihas вне форума  
Старый 31.08.2005, 02:23     # 32
Trotil
Advanced Member
 
Аватар для Trotil
 
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431

Trotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собойTrotil Имеются все основания чтобы гордиться собой
Ну тогда у тебя все данные для решения поставленной задачи уже есть. Смотри:

1) Есть код, который генерит правильные ссылки (см. мой код в личке или код SergoZD)
2) Переменная $id точно проходит через нашу многострадальную проверку валидности как надо (это потверждается надписями "Эта страница 1", "Эта страница 2"...)
3) переменная $start=20*($id-1) принимает значения 0, 20, 40... (а с чего бы ей их не принимать?)

Если все это соединить воедино, то запрос
Цитата:
$sql_query="SELECT * FROM ".$tb_linex." LIMIT ".$start.", 20";
должен выдавать разные ссылки, каждый раз по 20 штук новых.

Ищи ошибку и делись своими идеями.

Цитата:
А может быть сама ссылка сформирована не правильно
base.php?ssilka=link&id=1
С точки зрения синтаксиса все правильно. А за что отвечает у тебя $ssilka? Она не может помешать правильному формированию страницы?

Последний раз редактировалось Trotil; 31.08.2005 в 02:29.
Trotil вне форума  
Старый 31.08.2005, 02:41     # 33
mihas
Junior Member
 
Регистрация: 22.10.2004
Сообщения: 50

mihas Нуль без палочки
Все. Я все понял. Ты прав на все 100. Проблема в этой ссылке. Вот только как исправить. Надо было сразу весь скрипт выкладывать. Незнаю как объяснить. Короче это система автоматического обмена ссылками. Этот файл с которым мы воевали, находится на центральном сервере. На сайтах, которые регистрируются в системе обмена линками лежит маленький php файл, который забирает информацио с центрального сервера и таким образом формирует каталог. Поэтому и ссылка такая. Незнаю понятно ли я объяснил. Давай я тебе на мыло скрипт кину, так понятнее будет.
mihas вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 10:48.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.