[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Создание динамических страниц
arkady21
Уважаемые форумчане, помогите новичку, я толбько начинаю осваивть php, в одной из книжек взял такой скрипт, вставляю его в страницу и ничего не работает, вот он :
PHP
$url=" ";
if (
$link==1){$url="raz1.php";}
if (
$link==2){$url="raz2.php";}
if (
$link==3){$url="raz3.php";}
if (
$link==""){$url="error.php";}
include (
$url);


в другое место страницы вставляю ссылки:
HTML
<li><strong><a href="nov.php?link=1">1</a>
<li><strong><a href="nov.php?link=2">2</a>
<li><strong><a href="nov.php?link=3">3</a>

nov.php - страница, куда должен вставляться текст из raz1.php и т.д.
В чём тут ошибка?? Почесу не работает???



Спустя 1 час, 1 минута, 5 секунд (29.10.2009 - 09:21) Kuliev написал(а):
arkady21
Код должен быть в одном файле!

Спустя 6 минут, 51 секунда (29.10.2009 - 09:28) sergeiss написал(а):
Kuliev - позволь не согласиться smile.gif Могут быть и в разных файлах, хотя в одном - удобнее.

Самое главное, что код в книжке подразумевает использование глобальных переменных, т.е. переменная $link формируется автоматически. А на твоём сервере не поддерживается (выключена) такая фича.

PHP
$link=isset( $_GET['link'] ) ? $_GET['link'] : 0// или не ноль, а любое число, которое будет дефолтовым

Спустя 11 секунд (29.10.2009 - 09:28) arkady21 написал(а):
дак он и расположен в одном файле: в страницу nov. php в соответствующие места вставляю <? include ("первыый скрипт.php");?> и <? include ("второй скрипт.php");?>...

Спустя 5 минут, 37 секунд (29.10.2009 - 09:33) Kuliev написал(а):
arkady21
PHP
<?php

$link 
= isset($_GET['link']) ? $_GET['link'] : null;

switch(
$link)
{
   case 
1:
   include(
"raz1.php");
   break;

   case 
2:
   include(
"raz2.php");
   break;

   case 
3:
   include(
"raz3.php");
   break;

   default:
   include(
"error.php");
}

echo 
"<li><strong><a href=nov.php?link=1>1</a>\n";
echo 
"<li><strong><a href=nov.php?link=2>2</a>\n";
echo 
"<li><strong><a href=nov.php?link=3>3</a>\n";


Пробуй

Спустя 4 минуты, 56 секунд (29.10.2009 - 09:38) arkady21 написал(а):
Спасибо, да я так пробовал - поолучается, но и вышеизложенный способ закинул на хостинг и всё пошло, но проблема- то ещё состоит в следующем: необбходимо разбить текст файла raz1.php на страницы, ставлю в требуемую страницу скрпипт, который нашёл на одном из форумов, первая страница отображается, а вот переход на другую не осуществляется может подскажите как быть??? Вот этот скрипт:
PHP
<?php

// возвращвет текст страницы $page
function get_page$page$start ){
global 
$text$len$chars_per_page;
if( 
$page || $start >= $len ) return "";
$end $start $chars_per_page;
if( 
$end >= $len $end $len;
else{
$end strpos$text' <!-- pagebreak -->'$end );
if( 
$end === false $end $len;
}
if( 
$page == ) return @substr$text$start$end-$start ); // искомая страница
return get_page$page-1$end );
}

function 
get_pages_count(){
global 
$text$len$chars_per_page;
$pages 1;
$pos 0;
while( ( 
$pos = @strpos$text' <!-- pagebreak -->'$pos+$chars_per_page ) ) !== false )
$pages++;
return 
$pages;
}

function 
paginate(){
global 
$this_url$text$len$chars_per_page;

if( 
$len <= $chars_per_page ){
echo 
$text;
return;
}

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$pages get_pages_count();
if( 
$page $page 1;
elseif( 
$page $pages $page $pages;

echo 
'<p style="text-align:center;">';
for( 
$i 1$i <= $pages$i++ ){
if( 
$i == $page ) echo ' <b>'.$i.'</b>';
else echo 
' <a href="'.$this_url.'?page='.$i.'">'.$i.'</a>';
}
echo 
'</p><hr />';
echo 
get_page$page);
}

$text file_get_contents'about.phtml' );
// отрезаем начало до <body> включительно и конец, оставляем только текст
$text preg_replace'#(^.*?<body[^>]*>)|(</body>.*$)#i'''$text );
$len strlen$text );
$this_url $_SERVER['PHP_SELF'];
$chars_per_page 1;

paginate();



 ! 

М
Используй специальные теги для оформления кода!
Kuliev


Спустя 47 секунд (29.10.2009 - 09:39) Kuliev написал(а):
Цитата (sergeiss @ 29.10.2009 - 11:28)
Kuliev - позволь не согласиться smile.gif Могут быть и в разных файлах, хотя в одном - удобнее.

Самое главное, что код в книжке подразумевает использование глобальных переменных, т.е. переменная $link формируется автоматически. А на твоём сервере не поддерживается (выключена) такая фича.

PHP
$link=isset( $_GET['link'] ) ? $_GET['link'] : 0; // или не ноль, а любое число, которое будет дефолтовым

Это понят, я не знаю как там описано в его книге поэтому написал так wink.gif

Спустя 5 минут, 11 секунд (29.10.2009 - 09:44) arkady21 написал(а):
Может, надо как-то завершить работу первого скрипта,который выводит сами файлы raz...php??? НО КАК

Спустя 2 минуты, 40 секунд (29.10.2009 - 09:47) arkady21 написал(а):
что за теги "для оформления кода"???

Спустя 8 минут, 40 секунд (29.10.2009 - 09:56) Kuliev написал(а):
arkady21
Кнопочки таки PHP, SQL, HTML

Спустя 4 минуты, 23 секунды (29.10.2009 - 10:00) arkady21 написал(а):
А какой смысл??? Мне нужно, чтобы текст, расположенный в файе (какой он есть) автоматически выводился на страницу nov.php и разбивался на страницы, причём без использования БД.

Спустя 46 минут, 18 секунд (29.10.2009 - 10:46) sergeiss написал(а):
Цитата (Kuliev @ 29.10.2009 - 10:39)
я не знаю как там описано в его книге поэтому написал так  wink.gif 

И я не знаю tongue.gif

Но у меня уже "нюх выработался" на "поповский" код и на глобальные переменные (точнее, их отсутствие). Уже по вопросу часто понятно, что проблема в этом.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.