Отправляет email-рассылки с помощью сервиса Sendsay

PHP-песочница

  Все выпуски  

PHP-песочница Ссылки и структура php-сайта. Создаём админпанель


Php-«песочница»

Выпуск 31

Здравствуйте. С вами Андрей Чернобай с новым выпуском "PHP-песочницы". Рассылка создана для самых "маленьких" - для тех, кто делает первые шаги в программировании на PHP.

Сегодня в выпуске:

1. Ссылки в PHP и структура php-сайта

2. Админпанель для управления комментариями

Ссылки в PHP и структура php-сайта

Чтобы создать полноценный php-сайт, нужно знать, как «устроены» ссылки в PHP. Потому что php-ссылка несколько отличается от ссылок в html.

Как записывается ссылка в HTML?

<a href="адрес страницы, на которую ведёт ссылка"> текст ссылки </a>

Например, так:

<a href="http://mysait.ru/articles.html"> Статьи </a>

Приведённая в примере выше ссылка ведёт на страницу со статьями, причём не разбирается, на какую тему статьи – просто «Статьи» и всё.

В PHP в ссылке можно добавить переменную:

<a href="адрес страницы, на которую ведёт ссылка?имя переменной = значение переменной"> текст ссылки </a>

Например:

<a href="http://mysait.ru/articles.php?id=..."> Статьи </a>

То есть, переменная в ссылку добавляется через вопросительный знак после названия файла и его расширения. За вопросительным знаком идёт имя переменной (в данном примере имя переменной – id; знак $ в ссылке впереди имени переменной не ставится). И через равно пишем значение данной переменной.

(На самом деле, переменная в ссылке может быть даже не одна, тогда ссылка принимает такой вид:

<a href=”адрес страницы, на которую ведёт ссылка?имя переменной 1 = значение переменной 1 & имя переменной 2 = значение переменной 2 & и т. д.”> текст ссылки </a>

То есть, переменные отделяются друг от друга знаком амперсанд (&). Но таких многоэтажных построений пока делать не будем.)

Я не случайно не указал значения переменной, поставив многоточие. Потому что это значение может быть В ОДНОЙ ССЫЛКЕ разным. Благодаря чему – как бы – одна ссылка ведёт на разные страницы. Как бы странно это ни звучало. То есть, если программа в значение переменной id поставит 1, переход по этой ссылке осуществится на страницу со статьями по одной теме, а если значение id будет 2, то переход к статьям по другой теме.

Полагаю, вы ничего не поняли, а если поняли, то… вы умней меня – потому что я долго не мог уразуметь этого момента. А именно благодаря такому устройству ссылок и можно построить полноценный php-сайт.

Любую тему лучше всего постигать на примерах. Но я всё-таки ещё немного помордую вас теорией – без неё понимание не придёт!

Что такое полноценный php-сайт? И чем он отличается от «неполноценного» или, скажем, от не-php-сайта?

Представим себе html-сайт. Сколько в нём страниц-файлов? Да столько же, сколько статей. Если на вашем html-сайте десять статей, то и десять html-файлов, которые эти статьи выводят в браузер. Если на html-сайте сто или тысяча или сто тысяч статей, то и html-файлов будет соответственно сто, тысяча или сто тысяч.

А на полноценном php-сайте? На моём тестовом сайте всего три исполняемых файла (при том, что статей триста):

- первый файл – index.php – для вывода главной страницы;

- второй файл – view_cat.php – для вывода на экран категорий сайта (то есть, если вы посмотрите в панель навигации в правой крайней колонке страницы моего сайта, то всё, что там, это категории. На какую бы ссылку мы не кликнули, обращение идёт к файлу view_cat.php и ни к какому иному, а тема открываемой страницы зависит от переменной, «присоединённой» к данному файлу);

- третий файл – view_post.php – отвечает за вывод на экран ВСЕХ текстов статей, сколько бы их там ни было.

Если бы статей было не триста, а триста тысяч, то всё равно достаточно было бы тех же самых трёх исполняемых файлов. Вот это и есть полноценный (!) php-сайт, а не то, что мы сваяли в статье «Создаём сайт на PHP». Тот сайт, конечно, легче в «обслуживании», чем html-сайт, благодаря блочному построению. Однако в нём всё равно будет столько же исполняемых файлов, сколько статей на сайте.

Здесь у вас должен был родиться закономерный вопрос: «Как такое возможно, чтобы всего три файла выводили сколь угодно много текстов?» (у меня такой вопрос рождался и долго не… того… не отходил).

А возможно это благодаря тому, что все тексты хранятся не в самих исполняемых файлах, как на html-сайте, а в базе данных!

Базы данных могут быть MySQL, а могут быть и простые текстовые файлы. Автор этих строк долгое время потратил, чтобы разобраться с тем, как построить php-сайт именно «на файлах». Потому что использовать MySQL мне казалось очень сложным.

Но оказалось, дело было не в сложности применения MySQL, а в том, что я как раз-то не понимал принципа (!) построения php-сайта, исходящего из построения php-ссылок. И вот когда до меня наконец-то этот принцип дошёл, я понял, что и на MySQL и на файлах сайт построить легко. Структура сайта там и там одинакова. Разница лишь в функциях, применяемых для работы с MySQL и для работы с файлами.

И вот когда я всё это ещё раз понял, то осознал, что могу без особого напряга сваять скрипт любого сайта: просто сайта, блога, форума, магазина, рассылки… Каждая эта «вещь» имеет свои «примочки» в связи со спецификой назначения, но, поскольку и то и другое, и третье, и четвёртое… всё это САЙТЫ (!), то принцип их построения – общий!

О чём я это так долго и нудно пытаюсь пробить? Уясните принцип построения php-сайта – и станет понятно всё остальное.

А теперь попрактикуем. Именно с ссылками. Но поскольку придумывать новое упражнение мне немного лень, то практиковать предлагаю на так нам всем надоевшем скрипте для добавления комментариев на страницах сайта. Но что поделаешь: если ни в чём не повинных собак препарировали для пользы медицины, то препарировать какой-то там скрипт тем более не грех – да он только лучше становится.

Итак, создадим админпанель для скрипта добавления комментариев на страницы сайта.

P. S. По созданию админпанели я записал несколько видеоуроков. В них о построении php-ссылок не звучит. Но выполнив предлагаемые в видео упражнения, вернитесь к данной статье, ещё раз её перечитайте, посмотрите, как строились ссылки в админке и, думаю, вам всё станет понятно. К принципу построения php-сайта там относится вывод комментариев для редактирования: сколь угодно много комментариев можно вывести всего одним исполняемым файлом (edit_comm.php). Или – любой из безконечного множества комментариев можно удалить тоже всего лишь одним исполняемым файлом (del_comm.php). Успехов.

Админпанель для управления комментариями

Настало время создать админпанель для управления комментариями – в дополнение к скрипту, создаваемому вот уже немало времени (начало здесь).

Читать полностью: Админпанель для управления комментариями


Научитесь за 22 часа и 33 минуты программированию на PHP:

"PHP + MySQL для начинающих"


P. S. Остальные уроки и статьи по PHP Вы найдёте как всегда на Вокруг Сайта в разделе Уроки PHP. Все возникающие вопросы Вы можете задать, прислав мне письмо на электроный адрес (см. подпись к выпуску) или через форму для добавления комментариев на страницах сайта.

Автор расылки: Андрей Чернобай
kapitansg@yandex.ru


В избранное