Наш каталог будет не простым. Он будет иметь администрирование, причём администрирование будет защищено логином и паролем. Сначала разбёрём фнукции каталога: 1. Добавление ссылки 2. Вывод ссылок 3. Подсчёт количества ссылок в каждой категории(разделе). Функции администрирования 1. Вывод ссылок непровернных 2. Вывод проверенных ссылок 3. Редактирование любых сcылок 4. Удаление ссылок 5. Оценка ссылок Файлы Мы будем использовать вот какие файлы:
1. addlink.php В этом файле стоит форма для добавления ссылок. А именно: Название, Адрес, Категория, Описание. Эта форма ссылаеться на файл tomoder.php - action=tomoder.php.
2. tomoder.php В этом файле обрабатываеться ссылка, ей присваеться значение check=0, имееться ввиду то что она ещё непроверена, а значит не допущена к выводу.
3. файлы вывода ссылок В этих файлох будет выводиться ссылки
4. admin.php Файл администрирования защищенный паролем и логином. Использует edit.php
5. edit.php Содержит в себе форму для редактирования ссылок в admin.php 6. id.txt содержит id ссылки 6. links.txt содержит ссылки
Код addlink.php
Название:
Адрес:
Здесь сложного ничего нет - простая форма.
tomode.php $idopen = fopen('id.txt','r'); // открываем файл с id прошлой ссылки $idlink = fgets($idopen, 1000); // переменной idlink присвоем значение id прошлой ссылки $idlink++; // увеличиваем id на 1 fclose($idopen); // закрываем файлик $idopen = fopen('id.txt', 'w'); // открываем заново fputs($idopen, $idlink); // добавляем новый id fclose($idopen); // закрываем файлик
$file = fopen('links.txt', 'r'); // открываем файл со ссылками $links = unserialize(fread($file, 100000)); // расшифровыаем данный массив со ссылками fclose($file); // закрываем файлик
} // это функция для заменения некоторых символов в данных ввёденых пользователем
$moder = "0"; // ссылка не проверена $op = replace($op); // испльзуем функцию для заменения тэгов и т.д. $name = replace($name); // испльзуем функцию для заменения тэгов и т.д. $website = replace($website); // испльзуем функцию для заменения тэгов и т.д. $links[] = array ( 'url' => "$website", // адрес 'name' => "$name", // имя 'description' => "$op", // описание 'cat' => "$kat", // категория 'stars' => "$starz", // оценка модератора 'check' => "$moder", // проверена или нет 'id' => "$idlink", // id ссылки );
// создаём массив ссылки
$file = fopen('links.txt', 'w'); // открываем файлик со ссылками $text = serialize($links); // зашифровываем новую ссылку fwrite ($file,"$text"); // записываем в файлик
fclose($file); // закрываем файлик
admin.php
<? $links = open_links($filename); // открываем ссылки echo "Непроверенные: "; // говорим что щас будут непроверенные ссылки foreach ($links as $link) { // раскрадываем массив массивов if($link[check]==0) { // если не проеренно echo "$link[name] $link[url] $link[description] $link[cat] $link[id]
\n"; // вывод ссылок $idd = $id; } }
echo "Проверенные: "; // говорим что щас будут проверенные ссылки foreach ($links as $link) { // раскрадываем массив массивов if($link[check]==1) { // если проверено echo "$link[name] $link[url] $link[description] $link[cat] $link[id]
\n"; // вывод ссылок $idd = $id; } } ?>
$link) { // передаём ключ к массиву if ($link[id]==$editlink[id]) { // если совпадают id $links[$key] = $editlink; // вносим новые значения в эту ссылку save_links($filename, $links); // и записываем эту ссылку в файл break; } } }
}
if(!empty($button1)){ // если кнопка удаления не пуста (в edit.php) if (isset($editlink)) { если есть новая подредактированая ссылка foreach($links as $key=>$link) { // передаём ключ к массиву if ($link[id]==$editlink[id]) { // если совпадают id $links[$key] = $editlink; // вносим новые значения в эту ссылку unset($links[$key]); // удаляем ссылку save_links($filename, $links); // сохраняем массив break; } } }