PHP

Сборка

Соединим все запчасти в одно целое. Код скрипта записывается между знаками <?php и ?>:

<?php
$hid=$_GET['hid'];
$vid=$_GET['vid'];
if(!$hid)$hid=0;
if(!$vid)$vid=0;
$book=file_get_contents('eugen_onegin.txt');
$chapter=explode("#",$book);

$i=0;
while($i<count($chapter)):
$page[$i]=explode("|",$chapter[$i]);
$i++;
endwhile;
$out=nl2br($page[$hid][$vid]);
?>

Скрипт готов. Чтобы он мог работать, сохраним его. В директории 'home' на флэшке, где у нас установлен Денвер, создадим папку 'first' (назвать ее можно как угодно), в ней - папку 'www' (называть эту папку по-другому нельзя) и уже в ней - наш скрипт под именем index.php (и никаким другим). Откроем обозреватель (Денвер запустить не забыли?), в адресной строке наберем www.first (или, после точки, ваше название, если назвали иначе) - и увидим пустую страницу. Чтобы что-то получилось наблюдаемое, нужно добавить HTML-часть, т.е. часть, которая будет отсылаться скриптом читателю. Итак, HTML:

<HTML>
<head>
</head>
<body>
<a href=index.php?hid=0>Часть 1</a>
<a href=index.php?hid=1>Часть 2</a>
<a href=index.php?hid=2>Часть 3</a>
<a href=index.php?hid=3>Часть 4</a><BR><BR><BR>
<a href=index.php?vid=0&hid=<?echo $hid?>>Страница 1</a><BR>
<a href=index.php?vid=1&hid=<?echo $hid?>>Страница 2</a><BR>
<a href=index.php?vid=2&hid=<?echo $hid?>>Страница 3</a><BR>
<?echo $out?>
</body>
</HTML>

Все знакомо, но есть тонкости. Первая - ссылка адресована этому же файлу. Вторая - после адреса index.php выражение ?hid=0, ?hid=1, ?hid=2. Смысл: при переходе по ссылке скрипту будет передано значение переменной $hid (т.е. номер главы):

<a href=index.php?hid=0>

Третья тонкость связана с тем, что скрипт сам по себе ничего не помнит. Поэтому если сообщить скрипту только номер страницы, номер главы будет пустым и скрипт поставит 0. Напомнить номер главы должна часть, написанная после знака & :

<a href=index.php?vid=0&hid=<?echo $hid?>

Обратим внимание: в выражение hid=<?echo $hid?> скрипт впишет уже известное ему значение переменной $hid и при переходе по ссылке к нему вернутся уже две переменные. Ну и, наконец, строка

<?echo $out?>

не нуждается в особых комментариях. Сюда скрипт вписывает затребованную читателем страницу. Весь код:

<?php
$hid=$_GET['hid'];
$vid=$_GET['vid'];
if(!$hid)$hid=0;
if(!$vid)$vid=0;
$book=file_get_contents('eugen_onegin.txt');
$chapter=explode("#",$book);

$i=0;
while($i<count($chapter)):
$page[$i]=explode("|",$chapter[$i]);
$i++;
endwhile;
$out=nl2br($page[$hid][$vid]);


?>
<HTML>
<head>
</head>
<body>
<a href=index.php?hid=0>Часть 1</a>
<a href=index.php?hid=1>Часть 2</a>
<a href=index.php?hid=2>Часть 3</a>
<a href=index.php?hid=3>Часть 4</a><BR><BR><BR>
<a href=index.php?vid=0&hid=<?echo $hid?>>Страница 1</a><BR>
<a href=index.php?vid=1&hid=<?echo $hid?>>Страница 2</a><BR>
<a href=index.php?vid=2&hid=<?echo $hid?>>Страница 3</a><BR>
<?echo $out?>
</body>
</HTML>

Запустим и проверим в работе. Здесь - как это должно работать. Обратите внимание - первое: в адресной строке обозревателя при переходам по ссылкам высвечиваются значения наших переменных. Это особенность передачи данных методом GET. Второе: откройте код страницы и сравните его с кодом скрипта. Есть разница? Вот-вот. Страница-то сформирована динамически. Вот это и есть простейший движок сайта. А сейчас - как его оформить.

Рейтинг@Mail.ru